Lógica de ProgramaçãoAULA - 1
Qual a cor dos Vestidos?D. Branca, D. Rosa e D. Violeta passeiam pelo parque quando, de repente, D. Rosa disse:
- “Não é curioso que estejamos usando vestidos de cores branca, rosa e violeta, embora nenhuma de nós esteja usando um vestido de cor igual ao seu próprio nome?"
Então, a senhora com vestido violeta respondeu:
- “Uma simples coincidência"
A partir do texto acima, informe a cor do vestido de cada senhora.
FCC - 2004 - Analista Judiciário - TRT Em um determinado dia de trabalho no escritório, em relação aos funcionários Ana, Cláudia, Luis, Paula e João, sabe-se as seguintes informações:
1 Ana chegou antes de Paula e Luís.
2 Paula chegou antes de João.
3 Cláudia chegou antes de Ana.
4 João não foi o último a chegar.
Nesse dia, qual o(a) terceiro(a) funcionário(a) a chegar no escritório para o trabalho?
Lógica
• A lógica de programação é necessária para pessoas que desejam trabalhar com desenvolvimento de sistemas e programas, ela permite definir a sequencia lógica para o desenvolvimento.
• Então o que é lógica?
Lógica de programação é a técnica de encadear pensamentos para atingir determinado objetivo.
Seqüência Lógica
• Estes pensamentos, podem ser descritos como uma seqüência de instruções, que devem ser seguidas para se cumprir uma determinada tarefa.
Seqüência Lógica são passos executados até atingir um objetivo ou solução de um problema.
Instruções
• Comumente entendemos instruções como "um conjunto de regras ou normas definidas para a realização ou emprego de algo”.
• Em informática instrução é a informação que indica a um computador uma ação a executar.
• Para um processo é necessário um conjunto de instruções colocadas em ordem seqüencial lógica.
Algoritmo - Somar dois números • Escreva o primeiro número no retângulo A
• Escreva o segundo número no retângulo B
• Some o número do retângulo A com número do retângulo B e coloque o resultado no retângulo C
Retângulo A Retângulo B Retângulo C
+ =
Programas• Os programas de computadores nada mais são do que algoritmos
escritos numa linguagem de computador
• Java, Pascal, C, Cobol, Fortran, Visual Basic entre outras
• Os Algoritmos são interpretados e executados por uma máquina, no caso um computador.
• Esta interpretação é muito rigorosa
Exercício
• Crie uma sequencia lógica para escovar os dentes?
• Faça um algoritmo para somar dois números e multiplicar o resultado pelo primeiro número?
Atividade
https://studio.code.org/s/20-hour/stage/2/puzzle/1
https://blockly-games.appspot.com/maze
Algoritmo• Um algoritmo é uma sequencia finita de passos que levam a
execução de uma tarefa.
• É o procedimento computacional que toma algum valor ou conjunto de valores como entrada e produz algum valor ou conjunto de valores como saída.
• O algoritmo deve ser fácil de se interpretar e fácil de codificar. Ou seja, ele deve ser o intermediário entre a linguagem falada e a linguagem de programação.
ALGORITMO = SEQUENCIA LÓGICA FINITA DE INSTRUÇÕES
Regras para construção do Algoritmo • Usar somente um verbo por frase
• Imaginar que você está desenvolvendo um algoritmo para pessoas que não trabalham com informática
• Usar frases curtas e simples
• Ser objetivo
• Procurar usar palavras que não tenham sentido dúbio
Fases para elaboração de um algoritmo
• ENTRADA: São os dados de entrada do algoritmo
• PROCESSAMENTO: São os procedimentos utilizados para chegar ao resultado final
• SAÍDA: São os dados já processados
Exemplo de Algoritmo
• Imagine o seguinte problema: Calcular a média final de um aluno que realizou quatro provas.
Média Final = P1 + P2 + P3 + P44
Montando o Algoritmo
• Quais são os dados de entrada?
• Qual será o processamento a ser utilizado?
• Quais serão os dados de saída?
Algoritmo1. Receba a nota da prova1
2. Receba a nota de prova2
3. Receba a nota de prova3
4. Receba a nota da prova4
5. Some todas as notas e divida o resultado por 4
6. Mostre o resultado da divisão
Teste de Mesa
• Após desenvolver um algoritmo ele deverá sempre ser testado.
• Para testar devemos seguir as instruções do algoritmo de maneira precisa para verificar se o procedimento utilizado está correto ou não.
Teste de Mesa • Receba a nota da prova1
• Receba a nota de prova2
• Receba a nota de prova3
• Receba a nota da prova4
• Some todas as notas e divida o resultado por 4
• Mostre o resultado da divisão
P1 P2 P3 P4 Resultado
Atividade• Identifique os dados de entrada, processamento, saída e use o Teste
de Mesa:
• Receba código da peça
• Receba valor da peça
• Receba Quantidade de peças
• Calcule o valor total da peça (Quantidade * Valor da peça)
• Mostre o código da peça e seu valor total
Técnicas utilizadas para construção de um algoritmo
• Descrição Narrativa
• Diagrama de Chapin -ou Diagrama Nassi-Shneiderman
• Fluxograma ou Diagrama de Blocos
• Pseudocódigo
Descrição Narrativa• Descrição Narrativa é usar a linguagem natural para especificar os
passos usados na realização de tarefas.
• Um exemplo é a construção de um algoritmo para o cálculo do quadrado de um número
• Receba um número;
• Calcular o resultado multiplicando o número pelo número;
• Mostrar o resultado;
Diagrama de Chapin
O Diagrama de Chapin utiliza símbolos gráficos para representar ações ou instruções a serem seguidas.
Diagrama de Chapin
Fluxograma
Fluxograma ou Diagrama de Blocos utiliza símbolos gráficos para representar ações ou instruções a serem seguidas.
Fluxograma• Recebe nome e idade
• Mostra “Nome:”+nome
• Mostra “Nome:"+idade
Fluxograma• Recebe n1
• Recebe n2
• Recebe n3
• Recebe n4
• Calcular: media = (n1+n2+n3+n4) / 4
• Mostrar media
AtividadeConstrua um diagrama de blocos que :
• Leia a cotação do dólar
• Leia um valor em dólares
• Converta esse valor para Real
• Mostre o resultado
AtividadeDesenvolva um diagrama que:
• Leia 4 (quatro) números
• Calcule o quadrado para cada um
• Somem todos e
• Mostre o resultado
Pseudocódigo
• Corresponde a uma linguagem intermediária entre a linguagem natural (falada) e a linguagem de programação.
• A ideia do pseudocódigo é construir algoritmos sem a preocupação dos detalhes da sintaxe de uma linguagem de programação.
• Uma questão importante ao construir um algoritmo, é que ele deve ser fácil de se interpretar e fácil de manter.
IDENTIFICAÇÃO
DECLARAÇÃO
CORPO
PseudocódigoAlgoritmo Soma; Var a,b,c : inteiro; Inicio; Escrever(“Digite o primeiro numero”); Ler(a); Escrever(“Digite o segundo numero”); Ler(b); c <— a + b; Escrever(“Resultado "+c); Fim;
AtividadeConstrua um algoritmo com pseudocódigo para pagamento de comissão de vendedores de peças, levando-se em consideração que sua comissão será de 5% do total da venda e que você tem os seguintes dados:
• Identificação do vendedor
• Código da peça
• Preço unitário da peça
• Quantidade vendida
E depois construa o diagrama de blocos do algoritmo desenvolvido, e por fim faça um teste de mesa.
Torre de Hanoi• Suponha que você possui 3 pinos, 1, 2 e 3 e que no pino 1 estão dispostos
3 discos de tamanhos diferentes em ordem crescente de cima para baixo (menor em cima) (Fig. A).
• Elabore um conjunto de instruções com o objetivo de levar os 3 discos do pino 1 para o pino 3 (Fig. B), usando o pino 2 como auxiliar e obedecendo as seguintes restrições:
Atividade• Pode-se mover apenas 1 pino de cada vez
• Não se pode colocar um pino maior sobre um menor.Faça um algoritmo que calcule a nota final do aluno.
Constantes• Constante é um determinado valor fixo que não se modifica ao longo do
tempo, durante a execução de um programa.
• Conforme o seu tipo, a constante é classificada como sendo numérica, lógica e literal.
• EXEMPLOS:
• N1 + N2 / 2 -> CONSTANTE NUMÉRICA
• “SENHOR” -> CONSTANTE LITERAL
• VERDADE -> CONSTANTE LÓGICA
Variáveis• Uma variável é um espaço reservado na memória do computador
para armazenar um tipo de dado determinado.
• Variáveis devem receber nomes para poderem ser referenciadas e modificadas quando necessário.
• Um programa deve conter declarações que especificam de que tipo são as variáveis que ele utilizará e as vezes um valor inicial.
• Tipos podem ser por exemplo: inteiros, reais, caracteres, etc.
Variáveis• Cada variável corresponde a uma posição de memória, cujo conteúdo
pode se alterado ao longo do tempo durante a execução de um programa.
• Embora uma variável possa assumir diferentes valores, ela só pode armazenar um valor a cada instante
• EXEMPLOS:
• idade = 10;
• total = valor * quantidade;
• nome = "José"
Tipos de Variáveis • As variáveis e as constantes podem ser basicamente de três tipos: Numéricas,,
literais ou lógicas.
• Numéricas para armazenamento de números, que posteriormente poderão ser utilizados para cálculos. Podem ser ainda classificadas como Inteiras ou Reais. As variáveis do tipo inteiro são para armazenamento de números inteiros e as Reais são para o armazenamento de números que possuam casas decimais.
• Literais para dados que contenham letras e/ou números. Pode em determinados momentos conter somente dados numéricos ou somente literais. Se usado somente para armazenamento de números, não poderá ser utilizada para operações matemáticas.
• Lógicas: Armazenam somente dados lógicos que podem ser Verdadeiro ou Falso.
DECLARAÇÃO
Declaração de Variáveis • As variáveis só podem armazenar valores de um mesmo tipo
Var nome : alfanumérica; idade : inteiro; valor : real; achou : logica; sexo : caracter; x,y,z : inteiro;
IDENTIFICAÇÃO
CORPO
Atividade• Para calcular a nota final de um aluno o professor deve levar em
conta o peso aplicado a cada um das 3 avaliações, a primeira avaliação é o teste e tem peso 8, a segunda é um trabalho com peso 2 e a ultima é uma prova com peso 10.
• Faça um algoritmo que calcule a nota final do aluno.
• Quais são as variáveis e seus tipos?
• Existem constantes? Identifique as constantes?
Atividade
• Faça um algoritmo para calcular o índice de massa corpórea (IMC) de uma pessoa.
• O IMC é calculado dividindo o peso em quilos pela altura em metros elevada ao quadrado
Algoritmo;Var IMC : real; altura,peso : inteiro; Escreva(Digite o Peso:); Ler(peso); Escreva(“Digite a altura:”); Ler(a); IMC <-‐ p * a + a / 2; Fim;
Jogo dos 7 erros
Algoritmo IMC;Var IMC, altura : real; peso : inteiro;Inicio; Escreva(“Digite o Peso:”); Ler(peso); Escreva(“Digite a altura:”); Ler(altura); IMC <-‐ p / (a * a ); Escreva(IMC); Fim;
Jogo dos 7 erros
Operadores• Os operadores são meios pelo qual incrementamos,
decrementamos, comparamos e avaliamos dados dentro do computador.
• Operadores Aritméticos
• Operadores Relacionais
• Operadores Lógicos
Operadores Aritméticos
• Os operadores aritméticos são os utilizados para obter resultados numéricos. Adição, subtração, multiplicação, divisão, etc.
Operação Símbolo
Adição +
Subtração -
Multiplicação *
Divisão /
Modulo %
Operadores Aritméticos • Precedência dos operadores matemáticos:
1. ( ) Parênteses 2. * ou / 3. + ou –
Exemplos: 10 + 5 / 5 (10 + 5) / 5 4 -‐ 2 * 2 + 2
Operadores Relacionais
• Os operadores relacionais são utilizados para comparar variáveis.
• Estes operadores sempre retornam valores lógicos (verdadeiro ou falso/ True ou False)
Operação Símbolo
Igual = ou ==
Diferente <> ou != ou #
Maior que >
Menor que <
Maior igual >=
Menor igual <=
Operadores Relacionais
• Exemplo:
• Supondo 2 variáveis A = 3 e B = 5
Operação Resultado
A == B FALSO
A != B VERDADEIRO
A > B FALSO
A < B VERDADEIRO
A >= B FALSO
A <= B VERDADEIRO
(A + A) > B VERDADEIRO
Atividade• Sabendo que A=3, B=7 e C=4, informe se as expressões abaixo são
verdadeiras ou falsas.
• a) (A+C) > B
• b) B>=(A+2)
• c) C=(B–A)
• d) (B+A)<=C
• e) (C+A) > B
Operadores Lógicos • Os operadores lógicos servem para combinar resultados de
expressões, retornando se o resultado final é verdadeiro ou falso.
Operador
E AND && verdadeira se todas as condições forem verdadeiras
OU OR || verdadeira se pelo menos uma condição for verdadeira
NÃO NOT ! inverte o valor da expressão ou condição, se verdadeira inverte para falsa e vice-versa.
Operadores Lógicos Valor 1 Operador Valor 2 Resultado
VERDADEIRO E VERDADEIRO VERDADEIRO
VERDADEIRO E FALSO FALSO
FALSO E VERDADEIRO FALSO
FALSO E FALSO FALSO
VERDADEIRO OU VERDADEIRO VERDADEIRO
VERDADEIRO OU FALSO VERDADEIRO
FALSO OU VERDADEIRO VERDADEIRO
FALSO OU FALSO FALSO
NÃO VERDADEIRO FALSO
NÃO FALSO VERDADEIRO
Exemplo• Vamos supor que temos as idades de 3 irmãos e criamos variáveis
para representar essas idades joao = 8, jose = 5, maria = 3. Criamos expressões com essas informações
Expressões Resultado
joao > jose E jose > maria VERDADEIRO
joao > maria OU maria > jose VERDADEIRO
NÃO maria +jose < joao VERDADEIRO
joao !=maria E jose == joao FALSO
joao - maria >= jose E jose * maria <= joao FALSO
joao + maria < jose OU maria > joao - jose FALSO
Atividade• Sabendo que A=5, B=4 e C=3 e D=6, informe se as expressões
abaixo são verdadeiras ou falsas.
• (A>C) AND (C<=D)
• (A+B)>10 OR (A+B)=(C+D)
• (A>=C) AND (D>=C)
Atividade• Com base na ilustração faça uma expressão lógica que represente a situação
em que apenas com os disjuntores nas posições A e B ligados (VERDADEIRO) e C na posição desligado (FALSO) a luz acende
Operações Lógicas
• Operações Lógicas são utilizadas quando se torna necessário tomar decisões em um diagrama de bloco.
• Num diagrama de bloco, toda decisão terá sempre como resposta o resultado VERDADEIRO ou FALSO.
Operações LógicasExemplo do algoritmo “CHUPAR BALA”. 1. PEGAR A BALA 2. A BALA É DE CAFÉ?
1. SE SIM, NÃO CHUPE A BALA 2. SE NÃO, continue com o algoritmo
1. RETIRAR O PAPEL 2. CHUPAR A BALA 3. JOGAR O PAPEL NO LIXO
PEGAR A BALA
INICIO
A BALA É DE CAFÉ ?
JOGAR O PAPEL NO LIXO
FIM
CHUPAR A BALA
RETIRAR O PAPEL NÃO CHUPE A BALA
ATIVIDADE1. Elabore um diagrama de blocos que leia um número. Se positivo
armazene-o em A, se for negativo, em B. No final mostrar o resultado. 2. Ler um número e verificar se ele é par ou ímpar. Quando for par
armazenar esse valor em P e quando for ímpar armazená-lo em I. Exibir P e I no final do processamento.
3. Construa um diagrama de blocos para ler uma variável numérica N e imprimi-la somente se a mesma for maior que 100, caso contrário imprimi-la com o valor zero
4. Tendo como dados de entrada a altura e o sexo de uma pessoa, construa um algoritmo que calcule seu peso ideal, utilizando as seguintes fórmulas: Para homens: (72.7*h) - 58Para mulheres: (62.1*h) - 44.7 (h = altura)
Estrutura de Decisão e Repetição • Utilizamos Operações Lógicas sempre que necessitamos tomar
decisões no andamento do algoritmo.
• Essas decisões interferem diretamente no andamento do programa.
• Trabalharemos com dois tipos de estrutura:
• Estrutura de Decisão
• Estrutura de Repetição
Comandos de Decisão• Os comandos de decisão ou desvio fazem parte das técnicas de programação
que conduzem a estruturas de programas que não são totalmente seqüenciais.
• Com as instruções de SALTO ou DESVIO pode-se fazer com que o programa proceda de uma ou outra maneira, de acordo com as decisões lógicas tomadas em função dos dados ou resultados anteriores.
• As principais estruturas de decisão são:
• “Se Então”,
• “Se então Senão”
• “Caso Selecione”
SE ENTÃO / IF
• A estrutura de decisão “SE/IF” normalmente vem acompanhada de um comando
• Se determinada condição for satisfeita pelo comando SE/IF então execute determinado comando.
• Imagine um algoritmo que determinado aluno somente estará aprovado se sua média for maior ou igual a 5.0
SE ENTÃO / IF Algoritmo:
SE MEDIA >= 5.0 ENTÃO ESCREVE "ALUNO APROVADO"
Diagrama de blocos:
MEDIA >= 5.0
ALUNO APROVADO
Sim
NãoJava:
if (media >= 5.0) { System.out.println("ALUNO APROVADO");}
SE ENTÃO SENÃO / IF ... ELSE …
• A estrutura de decisão “SE/ENTÃO/SENÃO” sempre um comando será executado independente da condição
• Caso a condição seja “verdadeira” o comando da condição será executado
• Caso contrário o comando da condição “falsa” será executado
SE ENTÃO SENÃO / IF ... ELSE … Algoritmo:
SE MEDIA >= 5.0 ENTÃO ESCREVE "ALUNO APROVADO”SENÃO ESCREVE "ALUNO REPROVADO”
Diagrama de blocos:
MEDIA >= 5.0
ALUNO APROVADO
SimNão
Java:
if (media >= 5.0) { System.out.println("ALUNO APROVADO");}else{ System.out.println("ALUNO REPROVADO");}
ALUNO REPROVADO
SE ENTÃO SENÃO / IF ... ELSE … ANINHADOS
• Podemos combinar estruturas de condição, testando condições dentro de outra condição testada
Algoritmo:
SE MEDIA >= 5.0 ENTÃO SE MEDIA >= 7.0 ENTÃO ESCREVE "APROVADO" SENÃO ESCREVE "PROVA FINAL"SENÃO ESCREVE "REPROVADO”
Java:
if (media >= 5.0) { if (media >= 7.0) { System.out.println("APROVADO"); } else { System.out.println("PROVA FINAL"); } } else { System.out.println("REPROVADO");}
SE ENTÃO SENÃO / IF ... ELSE … ANINHADOS
Diagrama de blocos:
MEDIA >= 5.0
APROVADO
SimNão
REPROVADO MEDIA >= 7.0Sim
PROVA FINAL
ATIVIDADE
• Faça um diagrama de blocos e um pseudocódigo que leia um número inteiro e mostre uma mensagem indicando se este número é par ou ímpar, e se é positivo ou negativo.
CASO SELECIONE / SELECT ... CASE • A estrutura de decisão CASO/SELECIONE é utilizada para testar, na
condição, uma única expressão, que produz um resultado, ou, então, o valor de uma variável, em que está armazenado um determinado conteúdo.
• Compara-se, então, o resultado obtido no teste com os valores fornecidos em cada cláusula “Caso”.
• No exemplo é recebido uma variável “Numero” e testado seu conteúdo, caso uma das condições seja satisfeita, é exibido o nome do Sanduíche, caso contrário é exibido “Opção Errada”
CASO SELECIONE / SELECT ... CASE Diagrama: LEIA NUM
NUM=1
NUM=2
NUM=3
NUM=4
Não
Não
Não
Não
BIG MAC
QUARTEIRÃO
McCHICKEN
CBO
OPÇÃO ERRADA
Sim
Sim
Sim
Sim
CASO SELECIONE / SELECT ... CASE
Algoritmo:
SELECIONE NUMERO CASO 1: ESCREVE "BIG MAC”; CASO 2: ESCREVE "QUARTEIRÃO"; CASO 3: ESCREVE "McCHICKEN"; CASO 4: ESCREVE "CBO”; SENÃO: ESCREVE "OPCAO ERRADA"
CASO SELECIONE / SELECT ... CASE Java:
switch (numero) { case 1: System.out.println("BIG MAC"); break; case 2: System.out.println("QUARTEIRÃO"); break; case 3: System.out.println("McCHICKEN"); break; case 4: System.out.println("CBO"); break; default: System.out.println("OPCAO ERRADA"); break;}
ATIVIDADE• Uma companhia aérea cobra pelo peso excedente das bagagens.
O valor cobrado é R$ 5,00 por kg, se a bagagem tiver peso superior a 23 Kg .
• Faça um diagrama de blocos e um pseudocódigo leia a variável P (peso em kg) e verifique se há excesso. Se houver, gravar na variável E (Excesso) o peso que passou e na variável M o valor que vai ser cobrado.
• Exiba o valor de todas as variáveis, caso não haja excesso, mostrar as variáveis com o conteúdo ZERO.
ATIVIDADE• Elabore diagrama de blocos e um pseudocódigo que leia as
variáveis C e N, respectivamente código e número de horas trabalhadas de um operário.
• Calcule o salário, sabendo que ele ganha R$ 10,00 por hora. Quando o número de horas exceder a 200 calcule as horas extra, armazenando na variável E, caso contrário zerar tal variável. A hora extra de trabalho vale R$ 20,00.
• No final do processamento exibir o salário total e o valor das horas extra.
ATIVIDADE• Faça um diagrama de blocos e um pseudocódigo em que sejam informadas as variáveis NUM1,
NUM2 e OP.
• NUM1 e NUM2 serão números quaisquer.
• OP será a variável que permite escolher a operação a ser utilizada nas variáveis NUM1 e NUM2, da seguinte forma:
1 - EXIBE A SOMA DE NUM1 e NUM2
2 - EXIBE A SUBTRAÇÃO DE NUM1 e NUM2
3 - EXIBE A MULTIPLICAÇÃO DE NUM1 e NUM2
4 - EXIBE A DIVISÃO DE NUM1 e NUM2
QUALQUER OUTRO VALOR EXIBE "OPERAÇÃO NÃO EXISTE"
ATIVIDADE• Faça um diagrama de blocos e um pseudocódigo que leia 3 valores e:
• Exiba o maior valor
• Exiba o menor valor
• Calcule e exiba a média deles
ATIVIDADE
• Faça um diagrama de blocos e um pseudocódigo que leia 3 valores que representam os tamanhos dos lados de um triângulo.
• Verifique se é possível formar um triângulo.
• Exiba o Tipo de triângulo (Equilátero, Isósceles ou Escaleno)
Comandos de Repetição • Utilizamos os comandos de repetição quando desejamos que uma
instrução ou um conjunto de instruções seja executado mais de uma vez (CONDIÇÃO DE PARADA)
• "Enquanto faça”
• Faça Enquanto”
• "Para x de ate faça”
• Vamos então escrever na tela os números de 0 a 100, Como seria?
Comandos de Repetição ESCREVA (1); ESCREVA (2); ESCREVA (3); ESCREVA (4); ESCREVA (5); ESCREVA (6); ESCREVA (7); ESCREVA (8); ESCREVA (9); ESCREVA (10); ESCREVA (11); ESCREVA (12); ESCREVA (13); ESCREVA (14); ESCREVA (15);
ESCREVA (16); ESCREVA (17); ESCREVA (18); ESCREVA (19); ESCREVA (20); ESCREVA (21); ESCREVA (22); ESCREVA (23); ESCREVA (24); ESCREVA (25); ESCREVA (26); ESCREVA (27); ESCREVA (28); ESCREVA (29); ESCREVA (30); ESCREVA (31); ESCREVA (32); ESCREVA (33); ESCREVA (34); ESCREVA (35); ESCREVA (36); ESCREVA (37); ESCREVA (38); ESCREVA (39); ...
ENQUANTO FAÇA / WHILE
Algoritmo: Num = 0; ENQUANTO Num <= 100 FAÇA ESCREVE Num; Num = Num + 1; FIM ENQUANTO
Diagrama de blocos:
Num <= 100Não
Sim
Java: int num = 0; while (num <= 100) { System.out.println(num); num = num + 1;}
Num
Num = 0;
Num = Num+1;
ENQUANTO FAÇA / WHILE
Algoritmo: 1. Num = 0; 2. ENQUANTO Num <= 100 FAÇA 3. ESCREVE Num; 4. Num = Num + 1; 5. FIM ENQUANTO
Teste de Mesa
Tempo Linha Num TelaT1 L1 0 -
ENQUANTO FAÇA / WHILE
Algoritmo: 1. Num = 0; 2. ENQUANTO Num <= 100 FAÇA 3. ESCREVE Num; 4. Num = Num + 1; 5. FIM ENQUANTO
Teste de Mesa
Tempo Linha Num TelaT1 L1 0 -T2 L2 0 -
ENQUANTO FAÇA / WHILE
Algoritmo: 1. Num = 0; 2. ENQUANTO Num <= 100 FAÇA 3. ESCREVE Num; 4. Num = Num + 1; 5. FIM ENQUANTO
Teste de Mesa
Tempo Linha Num TelaT1 L1 0 -T2 L2 0 -T3 L3 0 0
ENQUANTO FAÇA / WHILE
Algoritmo: 1. Num = 0; 2. ENQUANTO Num <= 100 FAÇA 3. ESCREVE Num; 4. Num = Num + 1; 5. FIM ENQUANTO
Teste de Mesa
Tempo Linha Num TelaT1 L1 0 -T2 L2 0 -T3 L3 0 0T4 L4 1 0
ENQUANTO FAÇA / WHILE
Algoritmo: 1. Num = 0; 2. ENQUANTO Num <= 100 FAÇA 3. ESCREVE Num; 4. Num = Num + 1; 5. FIM ENQUANTO
Teste de Mesa
Tempo Linha Num TelaT1 L1 0 -T2 L2 0 -T3 L3 0 0T4 L4 1 0T5 L2 1 0
ENQUANTO FAÇA / WHILE
Algoritmo: 1. Num = 0; 2. ENQUANTO Num <= 100 FAÇA 3. ESCREVE Num; 4. Num = Num + 1; 5. FIM ENQUANTO
Teste de Mesa
Tempo Linha Num TelaT1 L1 0 -T2 L2 0 -T3 L3 0 0T4 L4 1 0T5 L2 1 0T6 L3 1 0 1T7 L4 2 0 1T8 L2 2 0 1T9 L3 2 0 1 2
T10 L4 3 0 1 2
ENQUANTO FAÇA / WHILE
Algoritmo: 1. Num = 0; 2. ENQUANTO Num <= 100 FAÇA 3. ESCREVE Num; 4. Num = Num + 1; 5. FIM ENQUANTO
Teste de Mesa
Tempo Linha Num TelaT (n-9) L3 98 0..97 98T (n-8) L4 99 0..97 98T (n-7) L2 99 0..97 98T (n-6) L3 99 0..98 99T (n-5) L4 100 0..98 99T (n-4) L2 100 0..98 99T (n-3) L3 100 0..99 100T (n-2) L4 101 0..99 100T (n-1) L2 101 0..99 100T (n) L5 101 0..99 100
FAÇA ENQUANTO / DO WHILE
Algoritmo: Num = 0; FAÇA ESCREVE Num; Num = Num + 1; ENQUANTO Num <= 100
Diagrama de blocos:
Num <= 100
Não
SimJava: int num = 0; do { System.out.println(num); num = num + 1;} while (num <= 100)
Num
Num = 0;
Num = Num+1;
FAÇA ENQUANTO / DO WHILE
Algoritmo: PARA Num = 0 DE 0 ATE 100 FAÇA ESCREVE Num; FIM PARA
Diagrama de blocos:
Para Num = 0
DE 0 ATE 100
Java: for(int num = 0;num <= 100;num++) { System.out.println(num); }
Num
ATIVIDADE
1. Faça um algoritmo que conte de 1 a 100
2. Faça um algoritmo que conte de 1 a 100 e a cada múltiplo de 10 emita uma mensagem: “Múltiplo de 10”.
3. Faça um algoritmo que leia números entre 1 e 10, se for digitado um numero maior que 10 ou menor que 1 saia encerre o algoritimo
ATIVIDADE
1. Faça um algoritmo que determine o maior entre N números. A condição de parada é a entrada de um valor 0, ou seja, o algoritmo deve ficar calculando o maior até que a entrada seja igual a 0 (ZERO).
ATIVIDADE1. Uma rainha requisitou os serviços de um monge e disse-lhe que
pagaria qualquer preço. O monge, necessitando de alimentos, indagou à rainha sobre o pagamento, se poderia ser feito com grãos de trigo dispostos em um tabuleiro de xadrez, de tal forma que o primeiro quadro deveria conter apenas um grão e os quadros subseqüentes, o dobro do quadro anterior. A rainha achou o trabalho barato e pediu que o serviço fosse executado, sem se dar conta de que seria impossível efetuar o pagamento. Faça um algoritmo para calcular o número de grãos que o monge esperava receber.
Top Related