Lógica de Programação e Algoritmos

Preview:

Citation preview

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.

Recommended