Você está na página 1de 24

Algoritmos e Programao Aula 4b: Estruturas de Repetio

Prof. Waldir Ribeiro 2011.09.10

Estruturas de Repetio Introduo


Necessidade de repetio de um trecho de programa em um nmero de vezes
Lao de processamento: loops ou malhas de repetio
Incio do programa Operao 1 Lao de repetio Operao 2a Operao 2b Operao 2c Operao 3 Fim do programa Operaes do lao Estrutura de um lao Estado inicial Condio de continuidade ou parada (teste lgico) Incremento

Estruturas de Repetio Introduo: Tipos de Estruturas


Enquanto (condio) faa . . . Fim faa
Executa zero ou N vezes Ex: Enquanto o usurio solicitar, imprimir uma frase na tela

Repita . . . At que (condio)


Executa uma ou N vezes Ex: Imprimir uma frase na tela at que o usurio solicite a parada

Para . . . De . . . At . . . Faa
Executa exatamente N vezes Ex: Imprimir N frases na tela

Estruturas de Repetio Introduo: Enquanto (condio) Faa


Portugus estruturado
<Operao antes do incio do lao> Enquanto (condio) faa <operao dentro do lao de repetio> Fim enquanto <Operao aps o fim do lao>

Diagrama de blocos

Condio

S Instrues executadas enquanto a condio verdadeira

Estruturas de Repetio Exemplo: Problema 1


Entrada: Cinco nmeros inteiros (N1 a N5) informados pelo usurio Sada: Imprimir cada um dos cinco nmeros multiplicado por dois (Ni x 2), um de cada vez Soluo: portugus estruturado ou diagrama de blocos

Estruturas de Repetio Exemplo: Problema 1


Algoritmo ImprimirNx2 Entrada: cinco nmeros inteiros N Sada: Imprimir cada um dos 5 nmeros multiplicado por 2 Var N: inteiro R: inteiro Incio Ler N1 R N1 x 2 Escrever R Ler N2 R N2 x 2 Escrever R Ler N3 R N3 x 2 Escrever R Ler N4 R N4 x 2 Escrever R Ler N5 R N5 x 2 Escrever R

Ler N1 R N1 x 2 Escrever R Ler N2 R N2 x 2 Escrever R

...
Ler N5 R N5 x 2 Escrever R

Estruturas de Repetio Exemplo: Problema 1


Algoritmo ImprimirNx2 Entrada: cinco nmeros inteiros N Sada: Imprimir cada um dos 5 nmeros multiplicado por 2 Incio Inicializar o contador com 1 Enquanto (contador <= 5) faa Ler N Multiplicar N por dois Escrever R Incrementar contador Fim enquanto Fim Algoritmo ImprimirNx2 Entrada: cinco nmeros inteiros N Sada: Imprimir cada um dos 5 nmeros multiplicado por 2 Var N: inteiro R: inteiro C: inteiro Incio C1 Enquanto (C <=5) faa Ler N RNx2 Escrever R CC+1 Fim enquanto Fim

C1

C <= 5? S
Ler N RNx2 Escrever R CC+1

Estruturas de Repetio Exemplo: Problema 2


Entrada: Uma quantidade de nmeros inteiros (N 1 a Nn) informados pelo usurio Sada: Imprimir cada um dos nmeros multiplicado por dois (Ni x 2), um de cada vez, enquanto o usurio desejar Soluo: portugus estruturado ou diagrama de blocos

Estruturas de Repetio Exemplo: Problema 2


Algoritmo ImprimirNx2 Entrada: cinco nmeros inteiros N Sada: Imprimir cada um dos 5 nmeros multiplicado por 2 Incio Inicializar a resposta Enquanto (resposta for sim) faa Ler N Multiplicar N por 2 Escrever resultado Deseja continuar? Ler resposta Fim enquanto Fim Algoritmo ImprimirNx2 Entrada: cinco nmeros inteiros N Sada: Imprimir cada um dos 5 nmeros multiplicado por 2 Var N: inteiro R: inteiro Resp: char Incio Resp S Enquanto (Resp == S) faa Ler N RNx2 Escrever R Deseja continuar? Ler Resp Fim enquanto Fim

Resp S

Resp == S S
Ler N RNx2 Escrever R Imprimir Deseja continuar? Ler Resp

Estruturas de Repetio Introduo: Repita . . . At que (Condio)


Portugus estruturado
<Operao antes do incio do lao> Repita <operao dentro do lao de repetio> At que (condio) <Operao aps o fim do lao> Instrues executadas

Diagrama de blocos

S Condio

Estruturas de Repetio Exemplo: Problema 1


Alterar a soluo abaixo para utilizar o tipo de lao Repita . . . At que (condio)
Algoritmo ImprimirNx2 Entrada: cinco nmeros inteiros N Sada: Imprimir cada um dos 5 nmeros multiplicado por 2 Var N: inteiro R: inteiro C: inteiro Incio C1 Enquanto (C <=5) faa Ler N RNx2 Escrever R CC+1 Fim enquanto Fim

C1

C <= 5? S
Ler N RNx2 Escrever R CC+1

Estruturas de Repetio Exemplo: Problema 1


Repita . . . At que (condio)
Algoritmo ImprimirNx2 Entrada: cinco nmeros inteiros N Sada: Imprimir cada um dos 5 nmeros multiplicado por 2 Var N: inteiro R: inteiro C: inteiro Incio C1 Repita Ler N RNx2 Escrever R CC+1 At que (C > 5) Fim

C1 Ler N RNx2 Escrever R CC+1

C > 5? S

Estruturas de Repetio Introduo: Para . . . De . . . At . . . Faa


Portugus estruturado
<Operao antes do incio do lao> Para (varivel) De (incio) At (Fim) Passo (passo) Faa <operao dentro do lao de repetio> Fim para <Operao aps o fim do lao> V i; f; p S Instrues executadas N

Diagrama de blocos

Estruturas de Repetio Exemplo: Problema 3


Entrada: Um nmero inteiro N Sada: A soma acumulada dos nmeros de 1 a N Soluo: portugus estruturado e diagrama de blocos Observaes importantes: Sabemos o nmero de vezes que o lao ser executado Tipos de estruturas de repetio
Enquanto (condio) faa . . . Repita . . . At que Para . . . De . . . At . . . Faa

Estruturas de Repetio Exemplo: Problema 3


C1
Algoritmo ImprimirNSoma Entrada: Um nmero inteiro N Sada: A soma acumulada dos nmeros de 1 a N Var N: inteiro S: inteiro C: inteiro Incio Ler N Para C de 1 at N Passo 1 Faa SS+C Fim para Escrever S Fim

Ler N

C 1, 5, 1

SS+C

Escrever S

Estruturas de Repetio Exemplo: Problema 4


Entrada: Um nmero inteiro N Sada: Fatorial de N Soluo: portugus estruturado e diagrama de blocos Ex: Fat. 1 = 1 Fat. 2 = 2 * 1 = 2 Fat. 3 = 3 * 2 * 1 = 6 Fat. 5 = 5 * 4 * 3 * 2 * 1 = 120

Estruturas de Repetio Exemplo: Problema 4

Algoritmo ImprimirNSoma Entrada: Um nmero inteiro N Sada: Fatorial de N Var N: inteiro C: inteiro F: inteiro Incio F1 C1 Ler N Enquanto (C <= N) faa FFxC CC+1 Fim enquanto Escrever F Fim

F1 C1 Ler N

N C <= N? S
FF*C CC+1 Escrever F

Estruturas de Repetio Exemplo: Problema 4


F1
Algoritmo ImprimirNSoma Entrada: Um nmero inteiro N Sada: Fatorial de N Incio Inicializar fatorial para 1 Ler numero Para C de 1 at N Passo 1 Faa Calcular o fatorial no passo C Fim para Escrever fatorial Fim Algoritmo ImprimirNSoma Entrada: Um nmero inteiro N Sada: Fatorial de N Var N: inteiro C: inteiro F: inteiro Incio F1 Ler N Para C de 1 at N Passo 1 Faa F=F*C Fim para Escrever F Fim

Ler N

C 1, N, 1

FF*C

Escrever F

Estruturas de Repetio Resumo: Tipos de Estruturas


Enquanto (condio) faa . . . Fim faa
Executa zero ou N vezes Ex: Enquanto o usurio solicitar, imprimir uma frase na tela

Repita . . . At que (condio)


Executa uma ou N vezes Ex: Imprimir uma frase na tela at que o usurio solicite a parada

Para . . . De . . . At . . . Faa
Executa exatamente N vezes Ex: Imprimir N frases na tela

Estruturas de Repetio Resumo: Tipos de Estruturas em C


Enquanto (condio) faa . . . Fim faa
Executa zero ou N vezes
while (condio) { // operaes a serem repetidas }

// inicio do lao while (c <= 5) // condio de repetio { // operaes a serem repetidas }

Estruturas de Repetio Resumo: Tipos de Estruturas em C


Repita . . . At que (condio de parada)
Executa uma ou N vezes
do { // operaes a serem repetidas }while (condio) // condio de repetio

// inicio do lao do { // operaes a serem repetidas }while (c <= 5) // condio de repetio


Condio de repetio Condio de repetio

Repita ... At que (C > 5)


Condio de parada

NO

Condio de parada

Estruturas de Repetio Resumo: Tipos de Estruturas em C


Para . . . De . . . At . . . Faa
Executa exatamente N vezes
for (inicio; condio; passo) { // operaes a serem repetidas } // inicializao int i = 0; for (i = 0; i < 5; i++) { // operaes a serem repetidas }

Estruturas de Repetio Exerccios para Fixao


Apresentar os quadrados dos nmeros de 15 a 200 Apresentar os resultados de uma tabuada de um nmero inteiro N qualquer (de 1 a 10) Apresentar a soma total dos cem primeiros nmeros inteiros Apresentar o somatrio dos pares entre 1 at 500 Apresentar todos os mpares entre 0 e 50 Apresentar todos os nmeros divisveis por 4 at 200 Apresentar a srie de Fibonacci (1, 1, 2, 3, 5, 8, 13 . . .) at 100

Estruturas de Repetio Exerccios para Fixao


Leitura sucessiva de notas de alunos e apresentar a soma total, a mdia e o nmero de valores lidos Apresentar os valores de temperaturas celsius e fahrenheit entre 0 e 100 graus celsius de 10 em 10

Você também pode gostar