20
Algoritmos Professora: Maely Moraes Código: DCC 105 Carga-horária: 60 horas-aula Estrutura de Repetição

Apresentacao 06 algoritmos estrutura de repetição

Embed Size (px)

DESCRIPTION

Apresentacao_06 Algoritmos - Estrutura de Repetição

Citation preview

Page 1: Apresentacao 06  algoritmos   estrutura de repetição

Algoritmos

Professora: Maely Moraes

Código: DCC 105

Carga-horária: 60 horas-aula

Estrutura de Repetição

Page 2: Apresentacao 06  algoritmos   estrutura de repetição

Roteiro

�Estrutura de Repetição � Conceito� Com verificação no início� Com verificação no fim� Com contagem

Page 3: Apresentacao 06  algoritmos   estrutura de repetição

Estrutura de Repetição

�Permitem que uma seqüência de comandos seja executada repetidamente, até que determinada condição de interrupção seja satisfeita.

�São também conhecidas como laços ou malhas.

�Cada repetição do conjunto de comandos é chamada iteração.

Page 4: Apresentacao 06  algoritmos   estrutura de repetição

Estrutura de Repetição

�A repetição de comandos em um laço pode seguir um dos seguintes critérios:� Por Condição (Verificação no início)� Por Condição (Verificação no fim)� Por Contagem

Page 5: Apresentacao 06  algoritmos   estrutura de repetição

�Com verificação no início

� Permite que comandos sejam repetidos enquanto uma condição não é atendida.

� Sintaxe:

enquanto <expressão-lógica> faca

<seqüência-de-comandos>

fimenquanto

Estrutura de Repetição

Page 6: Apresentacao 06  algoritmos   estrutura de repetição

Estrutura de Repetição

�Exemplo: Exibe os números de 1 a 10 em ordem crescente.

algoritmo “com_enquanto_faca”

var j: inteiro

inicio

j <- 1

enquanto j <= 10 faca

escreva (j:3) //escreve o valor de j em 3 espaços

j <- j + 1

fimenquanto

fimalgoritmo

Page 7: Apresentacao 06  algoritmos   estrutura de repetição

�Com verificação no fim

� Permite que comandos sejam repetidos até que uma condição seja atendida.

� Sintaxe:repita

<seqüência-de-comandos>

ate <expressão-lógica>

Estrutura de Repetição

Page 8: Apresentacao 06  algoritmos   estrutura de repetição

�Exemplo: Exibe os números de 1 a 10 em ordem crescente.

algoritmo “com_repita”var j: inteiro

inicio

j <- 1

repita

escreva (j:3)

j <- j + 1

ate j > 10

fimalgoritmo

Estrutura de Repetição

Page 9: Apresentacao 06  algoritmos   estrutura de repetição

�Com contagem

� Permite que comandos sejam repetidos um determinado número de vezes.

� Sintaxe: para <variável> de <valor-inicial> ate

<valor-limite> [passo <incremento>] faca

<seqüência-de-comandos>

fimpara

Estrutura de Repetição

Page 10: Apresentacao 06  algoritmos   estrutura de repetição

� Exemplo: Exibir os números de 1 a 10 em ordem crescente.

Estrutura de Repetição

algoritmo “com_para"

var j: inteiro

inicio

para j de 1 ate 10 faca

escreva (j:3)

fimpara

fimalgoritmo

algoritmo “com_para_passo"

var j: inteiro

inicio

para j de 10 ate 1 passo -1 faca

escreva (j:3)

fimpara

fimalgoritmo

Page 11: Apresentacao 06  algoritmos   estrutura de repetição

�Observações da estrutura para� O identificador tem de ser do tipo inteiro;� Os valores inicial e final poderão ser constantes

numéricas inteiras, funções que retornem números inteiros ou expressões que retornem números inteiros;

� O valor que é incrementado ou decrementado da variável poderá ser constante ou uma outra variável;

� Esta estrutura é a própria expressão de uma PA.

Estrutura de Repetição

Page 12: Apresentacao 06  algoritmos   estrutura de repetição

�Observações da estrutura para� O número de repetições do bloco de comandos será

igual ao NÚMEROS DE TERMOS DA SÉRIE, portanto, na maioria das vezes, não importam os valores que a variável que controla a repetição assumirá.

� A variável que controla a repetição deverá ser declarada e poderá ser impressa se precisarmos dela para numerar uma lista, posicionar etc.

� A variável que controla a repetição JAMAIS aparecerá num comando de leitura dentro do bloco de repetição.

Estrutura de Repetição

Page 13: Apresentacao 06  algoritmos   estrutura de repetição

�Para dentro de Para� Imagine você dando uma volta no Parque Anauá: passa uma vez

pela lagoa principal, uma vez pela entrada do parque, uma vez pelo Palco, uma pela ponte; esse trajeto representa seus algoritmos feitos até agora com os comandos apresentados.

� Imagine que seu preparo físico melhorou e agora você consegue dar três ou cinco voltas ou, quem sabe, até dez voltas no parque; isso significa que você passará dez vezes pelos mesmos lugares. Esse exemplo representa a estrutura do para.

� Imagine agora que você passou a dar três voltas no parque mas em frente ao Palco você fará cinco abdominais. Se, em cada volta você faz cinco abdominais, ao final, você terá feito 15 abdominais e terá dado três voltas no parque. Isso representa um Para dentro de um Para.

Estrutura de Repetição

Page 14: Apresentacao 06  algoritmos   estrutura de repetição

�Para dentro de Para

Estrutura de Repetição

Page 15: Apresentacao 06  algoritmos   estrutura de repetição

�Para dentro de Para

Estrutura de Repetição

Page 16: Apresentacao 06  algoritmos   estrutura de repetição

�Considerações Finais� Número de repetições pode ser

indeterminado, mas não deve ser infinito (loop).

� As formas de laços de repetição são equivalentes entre si.

� A escolha entre uma e outra é arbitrária.

Estrutura de Repetição

Page 17: Apresentacao 06  algoritmos   estrutura de repetição

�Dicas� Não use enquanto no lugar do para, só se

não tiver alternativa� Na dúvida entre enquanto e repita até (faça

enquanto), use enquanto

� Para simular a estrutura do repita até (faça enquanto), usando a estrutura do enquanto, basta iniciar a variável da condição com qualquer valor válido

Estrutura de Repetição

Page 18: Apresentacao 06  algoritmos   estrutura de repetição

� Elabore um algoritmo que leia N números, calcule a soma e mostre-a no final. Ex: Lista de números: 3,5,7,4,3,2,1,9,12,15,9

Soma dos números = 70

� Elabore um algoritmo que leia N números, calcule a soma e a média dos números lidos, mostrando no final. Ex: Lista de números: 3,5,7,4,3,2,1,9,12,15,9

Soma dos números = 70Média = 70 / 11 = 6,3636

� Faça um algoritmo que leia um número inteiro e imprima o seu fatorial .

� Faça um algoritmo que imprima os 50 primeiros termos da seqüência de Fibonacci: 1,1,2,3,5,8,13,21,...

Exercícios

Page 19: Apresentacao 06  algoritmos   estrutura de repetição

Exercícios

� Calcular a soma dos 30 primeiros termos das seqüências:

1 – 1 / 2 + 1 / 4 – 1 / 6 + 1 / 8 . . .

63 + 61 + 59 / 2 + 57 / 3 + . . .

480/10 – 475 / 11 + 470 / 12 ....

� Leia m e n e calcule a soma de todos os números ímpares entre n e m

� Leia duas datas no formato DD/MM/AAAA e calcule a diferença entre elas em anos, meses e dias

� Leia n números e imprima o maior, o menor e média dos pares entre 4 e 20.

� Faça um algoritmo que imprima os 50 primeiros termos da seqüência: 4/1, – 12/5 , 36/9, -108/13, .

Page 20: Apresentacao 06  algoritmos   estrutura de repetição

Referências Bibliográficas

� LOPES, A.: Introdução à Programação: 500 algoritmos resolvidos, Campus, 2002.

� Manual do VisuAlg