algoritmos - comandos de repetição

22
REPETIÇÃO Prof.ª Ms. Eng.ª Elaine Cecília Gatto Algoritmos e Estruturas de Dados Engenharia de Computação Universidade Sagrado Coração

Upload: elaine-cecilia-gatto

Post on 17-Jul-2015

3.350 views

Category:

Education


4 download

TRANSCRIPT

REPETIÇÃOProf.ª Ms. Eng.ª Elaine Cecília Gatto

Algoritmos e Estruturas de Dados

Engenharia de Computação

Universidade Sagrado Coração

Estrutura de Repetição sem teste• A estrutura PARA repete a execução do bloco em um número

definitivo de vezes pois ela possui limites fixos. Esta estrutura éutilizada quando sabe-se de antemão o número de vezes que o laçodeverá ser executado.

Para V de Vi até Vf passo P faça

Início

ação/ações;

Fim para;

• V = variável de controle do tipo inteiro;

• Vi = valor inicial da variável V;

• Vf = valor final da variável V;

• P = é o valor do incremento dado a variável V;

Estrutura de Repetição sem teste• Exemplo1:

algoritmo exemplo1;

início

inteiro: cont;

para cont de 1 até 3 passo 1 faça

início

escreva(‘número = ’, cont);

fim para;

fim.

PASSO 1:0 + 1 = 11 + 1 = 22 + 1 = 3......

PASSO – 13 – 1 = 22 – 1 = 11 – 1 = 0Não existe 0 – 1, portanto, noPASSO -1, pára no 1, não chegaa 0.

cont Vi Vf Passo 1 cont

1 1 3 1 + 1 = 2 2

2 1 3 2 + 1 = 3 3

3 1 3 3 + 1 = 4 4

4 1 3 ----- -----

Estrutura de Repetição sem teste• Exemplo2:

algoritmo exemplo2;

início

inteiro: cont;

para cont de 5 até 7 passo 1 faça

início

escreva(‘número = ’, cont);

fim para;

fim. cont Vi Vf Passo 1 cont

5 5 7 5 + 1 6

6 5 7 6 + 1 7

7 5 7 7 + 1 8

8 5 7 ----- -----

Estrutura de Repetição sem teste• Exemplo3:

algoritmo exemplo3;

início

inteiro: cont;

para cont de 1 até 500 passo 1 faça

início

escreva(‘número = ’, cont);

fim para;

fim. cont Vi Vf Passo 1 cont

1 1 500 1 + 1 2

.... 1 500 ..... ....

500 1 500 500 + 1 501

501 1 500 ---- ----

Estrutura de Repetição sem teste• Exemplo4:

algoritmo exemplo4;

início

inteiro: cont;

para cont de 3 até 1 passo -1 faça

início

escreva(‘número = ’, cont);

fim para;

fim. cont Vi Vf Passo -1 cont

3 3 1 3 - 1 2

2 3 1 2 - 1 1

1 3 1 1 - 1 0

0 3 1 ----- ----

Estrutura de Repetição em Pascal• Passo 1:

for variável := valorInicial to valorFinal do

Begin

Comandos;

End;

• Passo -1:

for variável := valorInicial to valorfinal do

Begin

Comandos;

End;

• A variável deve ser, obrigatoriamente do tipo integer.

Estrutura de Repetição

• Pseudocódigo

Para variável de VI até VF passo P faça

Início

Comandos;

Fim para;

• Pascal

PASSO 1

For variável := VI to VF do

Begin

Comandos;

End;

PASSO -1

For variável := VI downto VF do

Begin

Comandos;

End;

Contadores e somatórios

• Exemplo: calcular e imprimir a soma dos cinco primeirosnúmeros inteiros positivos.

0 1 2 3 4 5

1. Zerar somatório: soma 0

2. Definir valor inicial: num 1

3. Inicializar contador: cont 1

4. Realizar operação desejada: somasoma + num

5. Variar valor inicial: num num + 1

6. Incrementar/decrementar contador: cont cont + 1

Contadores e somatórios

algoritmo exemplo;

início

inteiro: soma, num, cont;

soma 0;

num 1;

para cont de 1 até 5 passo 1 faça

inicio

soma soma + num;

num num + 1;

fim para;

escreva (‘soma = ’, soma);

fim.

Estrutura de Repetição com teste de condição no início – Enquanto/FaçaWhile condição do

Begin

Comandos;

End;

• Enquanto uma condição é verdadeira, uma ação ou ações sãoexecutadas repetidamente (enquanto, faça)

Enquanto condição faça

Início

Ação/ações

Fim enquanto;

Estrutura de Repetição com teste de condição no início – Enquanto/Faça• Exemplo: imprimir os números inteiros de 0 a 3.

algoritmo exemplo;

início

inteiro: n;

n 0;

enquanto n <= 3

início

escreva (‘num = ’, n);

n n+1;

fim enquanto;

fim.

Estrutura de Repetição com teste de condição no início – Enquanto/Faça• A estrutura enquanto pode ser escrita como:

Inicialização

Enquanto condição faça

Início

.....

incremento / decremento

.....

Fim enquanto;

Lema: um comando leia, ou de atribuição, antes do enquantopara entrar na repetição e, um ocmando leia, ou deatribuição, antes de fim enquanto para sair da repetição.

Estrutura de Repetição com teste de condição no início – Enquanto/Faça• Exemplo: ler vários números e imprimí-los até que o número

digitado seja zero.

algoritmo exemplo;

início

real:n;

escreva(‘digite um número ou zero para finalizar’);

enquanto n<>0 faça

início

escreva(‘n = ’, n);

escreva(‘digite um número ou zero para final’);

leia(n);

fim enquanto;

fim.

Estruturas de Repetição –Exercícios For1. Faça um algoritmo para imprimir os números inteiros de 10

a 0, inclusive, em ordem alfabética.

2. Faça um algoritmo para imprimir o quadrado dos númerosinteiros de 1 a 20, inclusive.

3. Faça um algoritmo para imprimir os números inteirospositivos inferiores ou iguais a um número N inteiro positivolido inicialmente. Fazer o teste de mesa para N=5 e N=8.

4. Faça um algoritmo para ler um número inteiro positivomenor ou igual a 10. em seguida, calcular e imprimir arespectiva tabuada. Fazero teste de mesa para N=3 e N=7.

5. Faça um algoritmo para ler um número inteiro positivo Nmaior ou igual a 2 e imprimir todos os números parespositivos contidos no intervalo de 2 até o número lido N.Usar passo 1 no para. Testar para N=5 e N=6.

Estruturas de Repetição –Exercícios For6. Faça um algoritmo para ler 10 números quaisquer e

imprimir a raíz quadrada de cada número, quando possível.Imprimir também os números lidos.

7. Elabore um algoritmo que imprima uma tabela deconversão de polegadas para centímetros. Deseja-se que atabela conste avlores desde 1 polegada até 20 polegadasinteiras. Lembrando: 1 polegada = 2,54 cm.

8. Criar um algoritmo que calcule e imprima o valor de bn. Ovalor de n deverá ser inteiro e maior do que 1 e o de binteiro e maior ou igual a 2. Imprimir também b e n.Verificar quando é possível realizar o cálculo.

9. Elaborar um algoritmo que leia a quantidade de númerosque se deseja digitar para que possa ser impresso o maior eo menor números digitados.

Estruturas de Repetição –Exercícios For10. Faça um algortimo para calcular e imprimir a soma e a

média aritmética dos números inteiros positivos inteiros ouiguais a um número N, inteiro positivo, lido inicialmente.

11. Faça um algoritmo para imprimir as sequencias de números:

Teste de mesa:

Soma =

Num =

Cont =

15 10 5 0 -5 -10 -15

0 3 6 9 12 15 0

-9 -6 -3 0 3 6 9

Estruturas de Repetição –Exercícios For12. Faça um algoritmo para ler a idade de 10 pessoas. Calcule e

imprima a quantidade de pessoas maiores de idade(>=18anos)

13. Faça um algoritmo para ler a idade de 15 pessoas. Calcule eimprima a quantidade de pessoas em cada faixa etária e aporcentagem de cada faixa etária em relação ao total depessoas. As faixas etárias são:

1 .... 15 | 16 .... 30 | 31 .... 45 | 46 .... 60 | >= 61 anos.

14. Uma certa firma fez uma pesquisa de mercado para saber seas pessoas gostaram ou não de um novo produto lançado.Para isso forneceu o sexo do entrevistado e sua resposta(sim ou não). Sabendo que foram entrevistadas 10 pessoas,faça um algoritmo que calcule e imprima: (continua nopróximo slide)

Estruturas de Repetição –Exercícios For• O número de pessoas que responderam sim;

• O número de pessoas que responderam não;

• O número de mulheres que responderam sim;

• A % de homens que responderam não entre todos os homensanalisados;

15. Sendo H = 1 + ½ + 1/3 + ... + 1/N, elabore um algoritmo paracalcular e imprimir o valor de H. O número N deve ser lidoinicialmente.

16. Considere uma certa firma de pesquisa de mercado parasaber se as pessoas gostaram ou não de um novo produtolançado. Para isso forneceu o sexo do entrevistado e suaresposta, sim ou não. Sabendo que foram entrevistadas 10pessoas, faça um algoritmo que calcule e imprima

Estruturas de Repetição –Exercícios For• O número de pessoas que responderam sim;

• O número de pessoas que responderam sim;

• A porcentagem de homens que responderam não entre todosos homens analisados;

Estruturas de Repetição –Exercícios While1. Faça um algoritmo para ler um número N, inteiro positivo.

Em seguida, calcular a soma e a média aritmética de todosos números inteiros entre 1 e N, inclusive. Imprimir a somae a média.

2. Faça um algoritmo par aler vários números, calcular eimprimir a média aritmética destes números. O últimonúmero deve ser zero, que não entra no cálculo.

3. Faça um algoritmo para ler uma nota de zero a dez de váriosalunos. Calcular e imprimir a média da classe. Verifiquecomo deve ser o teste para finalizar os dados de entrada.

Estruturas de Repetição –Exercícios While4. Foi realizado uma pesquisa quanto à religião de uma

determinada cidade. Faça um algoritmo para ler um númeroindeterminado de dados, religião e idade, dos entrevistados,sendo o fim de dados identificado por religião = fim.Considere tres possibilidades para religião: católico,protestante ou budista. Imprimir:

5. O número de católicos com idade superior a 40 anos;

6. A porcentagem de protestantes;

7. A idade média dos budistas;