Estruturas de Repeticao

Propaganda
foi teoricamente
impossível trabalhar
essa semana.
tudo que eu precisava
para realizar uma
tarefa precisa de outra
coisa que precisava
de outra, em um loop infinito
como um Möbius Strip.
talvez você
pudesse
como se
fazer uma eu tivesse
lista de
uma
tarefas.
caneta…
Algoritmos
Estruturas de Repetição
Thiago Leite <[email protected]>
Francisco Barretto <[email protected]>
Estruturas de Repetição
•
Quando há a necessidade de repetir a mesma
estrutura é possível fazer uso de mecanismos
diferentes para auxiliar na codificação
Exemplo em Português
Estruturado
1. programa PEDE_NUMERO 12. 2. var 13. 3. X: inteiro 14. 4. R: inteiro 15. 5. início 16. 6. leia X 17. 7. R <-­‐ X * 3 18. 8. escreva R 19. 9. leia X 20. 10. R <-­‐ X * 3 21.fim
11. escreva R
leia X R <-­‐ X * 3 escreva R leia X R <-­‐ X * 3 escreva R leia X R <-­‐ X * 3 escreva R Estruturas de Repetição
•
Com o uso de estruturas de repetição, é possível
realizar inúmeras repetições de um código sem
que seja necessário escrever todo o algoritmo
•
A repetição também é chamada de um “loop”
dentro do código
Estruturas de Repetição
•
Repetição com teste lógico no início do loop
•
enquanto… faça… fim_enquanto
•
realiza um teste lógico antes do início do loop
•
no momento que a operação lógica se tornar
falsa o loop será encerrado
•
se a operação lógica for falsa desde o início o
código contido dentro do loop será ignorado
Teste de Repetição no Início
Estrutura de Repetição
Exemplo em Português
Estruturado
programa LOOPING_1A var X, R: inteiro CONT: inteiro início CONT <-­‐ 1 enquanto (CONT <= 5) faça leia X R <-­‐ X * 3 escreva R CONT <-­‐ CONT +1 fim_equanto fim
Exemplo em Linguagem C
Estruturas de Repetição
Estruturas de Repetição
•
Exercício:
1. Criar uma variável para ser utilizada como resposta
2. Enquanto a resposta for “s”, executar os passos 3, 4 e 5
3. Ler um valor para a variável “x”
4. Efetuar a multiplicação do valor de “x” por 3, armazenando
o resultado em “r”
5. Apresentar o valor calculado contido em “r”
6. Quando a resposta for diferente de “s”, finalizar o programa
Diagrama de
Repetição e
Teste no Início
Estruturas de Repetição
“Enquanto” em Português
Estruturado
programa LOOPING_1B var x, r: inteiro resp: caracter início resp <-­‐ “s” enquanto (resp == “s”) faça leia x r <-­‐ x * 3 escreva r escreva “Deseja continuar?” leia resp fim_enquanto fim
“While” em Linguagem C
Estruturas de Repetição
Estruturas de Repetição
•
Repetição com teste lógico ao final do loop
•
repita… até que
•
realiza um teste lógico ao final do loop
•
no momento que a operação lógica se tornar falsa o
loop será encerrado
•
se a operação lógica for falsa desde o início o
código contido dentro do loop será executado pelo
menos uma vez
Diagrama de
Repetição com
Teste ao Final
Estruturas de Repetição
“Repita" em Português
Estruturado
programa LOOPING_2A var X, R: inteiro CONT: inteiro início CONT <-­‐ 1 repita leia X R <-­‐ X * 3 escreva R CONT <-­‐ CONT + 1 até_que (CONT > 5) fim
“Do-While” em Linguagem C
Estruturas de Repetição
Estruturas de Repetição
•
Repetição com variável de controle
•
para… de… até… passo… faça… fim_para •
loop controlado por uma variável de controle (contador)
•
no momento que a expressão lógica for falsa, o loop é
finalizado
•
se a condição lógica sempre for falsa, não executa o loop
•
estrutura mais compacta para realizar loops com o uso de
um contador incremental
Diagrama de
Repetição com
Variável de
Controle
Estruturas de Repetição
Repetição com Variável de Controle
Estruturas de Repetição
Exemplo de
“para” com
Diagrama de
Blocos
Estruturas de Repetição
Exemplo de “para” em Português
Estruturado
Estruturas de Repetição
Exemplo de “for” em Linguagem C
Estruturas de Repetição
Estruturas de Repetição
•
Exercício: elaborar algoritmo em Português
Estruturado e em Linguagem C que efetue o
cálculo de fatorial do número 5.
•
Exemplo: o fatorial de 5! é igual a 1 * 2 * 3 * 4 * 5
= 120.
Estruturas de Repetição
•
Algoritmo
1. inicializar as variáveis FATORIAL e CONTADOR
com 1
2. multiplicar sucessivamente (5 vezes) a variável
FATORIAL pela variável CONTADOR
3. incrementar 1 a variável CONTADOR, efetuando o
controle até 5
4. apresentar o valor final obtido.
Português Estruturado utilizando
“enquanto"
Estruturas de Repetição
Código em Linguagem C
utilizando “while"
Estruturas de Repetição
Português Estruturado utilizando “repita"
Estruturas de Repetição
Código em Linguagem C
utilizando “do-while”
Estruturas de Repetição
Português Estruturado utilizando “para"
Estruturas de Repetição
Código em Linguagem C
utilizando “for”
Estruturas de Repetição
Estruturas de Repetição
•
Exercício: Elaborar código em Português
Estruturado e em Linguagem C para o cálculo
de toda a tabuada
•
Exemplo: dado como entrada o número 2
Português estruturado
programa Cap05_Ex1b_Pg131
var
N, I, R : inteiro
início
leia N
I ← 1
enquanto (I <= 10) faça
R ← N * I
escreva N, " X ", I, " = ", R
I ← I + 1
fim_enquanto
fim
Tabuada em Português Estruturado
Estruturas de Repetição
Tabuada em Linguagem C
Estruturas de Repetição
Estruturas de Repetição
•
Exercício: Elaborar algoritmo em Português
Estruturado e em Linguagem C para o cálculo de
todas as tabuadas de 1 até 10 e exibi-las na tela.
•
será necessário o uso de uma estrutura de
repetição dentro de outra estrutura de repetição
Tabuada Completa em
Português Estruturado
programa TABUADA_COMPLETA var num, mult: inteiro início repita para mult de 1 até 10 passo 1 faça escreva num, “ x “, mult,” = “, num*mult fim_para num = num + 1 até_que (num > 10) fim
Tabuada Completa em Linguagem C
Estruturas de Repetição
Exercício de Fixação
•
Elaborar algoritmo em Português Estruturado e em
Linguagem C para o cálculo do fatorial de
qualquer número dado de entrada
Exercício de Fixação
•
Elaborar algoritmo em Linguagem C para o cálculo
dos números primos existentes até 500
•
em Linguagem C poderá ser utilizada a função
aritmética % para obter o resto de uma divisão
Número Primo em Linguagem C
Estruturas de Repetição
Exercício de Fixação
•
Codifique todos os exercícios realizados até o
momento utilizando outras estruturas de repetição
•
Exemplo: se o exercício fez uso da estrutura
“enquanto”, crie novamente o algoritmo
utilizando “repita” e “para”.
Download