Vous êtes sur la page 1sur 39

Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA

Estruturas de Repetic ao
Ivanovitch Medeiros Dantas da Silva
Universidade Federal do Rio Grande do Norte
Departamento de Engenharia de Computac ao e Automac ao
DCA0800 - Algoritmos e L ogica de Programac ao
Natal, 04 de outubro de 2011
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
Sum ario
1
Introduc ao
2
Estrutura PARA
3
Exerccios I
4
Estrutura ENQUANTO
5
Estrutura REPITA
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
Sum ario
1
Introduc ao
2
Estrutura PARA
3
Exerccios I
4
Estrutura ENQUANTO
5
Estrutura REPITA
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
Estruturas de Repetic ao
Todos os programas vistos at e agora resolviam os
problemas onde as instruc oes eram executadas uma unica
vez.
Lembrar do algoritmo para calcular a m edia de 1 aluno
(...). Se quis essemos calcular a nota de todos os alunos ?
Surgi a ideia das estruturas de repetic ao
As estruturas de repetic ao s ao muitas vezes chamadas de
Lac os ou, tamb em, de Loops
Classicac ao: para...fac a, repita...at e, enquanto...fac a.
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
Estruturas de Repetic ao
Todos os programas vistos at e agora resolviam os
problemas onde as instruc oes eram executadas uma unica
vez.
Lembrar do algoritmo para calcular a m edia de 1 aluno
(...). Se quis essemos calcular a nota de todos os alunos ?
Surgi a ideia das estruturas de repetic ao
As estruturas de repetic ao s ao muitas vezes chamadas de
Lac os ou, tamb em, de Loops
Classicac ao: para...fac a, repita...at e, enquanto...fac a.
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
Estruturas de Repetic ao
Todos os programas vistos at e agora resolviam os
problemas onde as instruc oes eram executadas uma unica
vez.
Lembrar do algoritmo para calcular a m edia de 1 aluno
(...). Se quis essemos calcular a nota de todos os alunos ?
Surgi a ideia das estruturas de repetic ao
As estruturas de repetic ao s ao muitas vezes chamadas de
Lac os ou, tamb em, de Loops
Classicac ao: para...fac a, repita...at e, enquanto...fac a.
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
Estruturas de Repetic ao
Todos os programas vistos at e agora resolviam os
problemas onde as instruc oes eram executadas uma unica
vez.
Lembrar do algoritmo para calcular a m edia de 1 aluno
(...). Se quis essemos calcular a nota de todos os alunos ?
Surgi a ideia das estruturas de repetic ao
As estruturas de repetic ao s ao muitas vezes chamadas de
Lac os ou, tamb em, de Loops
Classicac ao: para...fac a, repita...at e, enquanto...fac a.
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
Estruturas de Repetic ao
Todos os programas vistos at e agora resolviam os
problemas onde as instruc oes eram executadas uma unica
vez.
Lembrar do algoritmo para calcular a m edia de 1 aluno
(...). Se quis essemos calcular a nota de todos os alunos ?
Surgi a ideia das estruturas de repetic ao
As estruturas de repetic ao s ao muitas vezes chamadas de
Lac os ou, tamb em, de Loops
Classicac ao: para...fac a, repita...at e, enquanto...fac a.
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
Sum ario
1
Introduc ao
2
Estrutura PARA
3
Exerccios I
4
Estrutura ENQUANTO
5
Estrutura REPITA
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
Estrutura PARA - Sintaxe
para <vari avel de controle> de <valor inicial> ate <valor nal> passo <incremento>
faca
<comando(s)>
mpara
para <vari avel de controle> de <valor inicial> ate <valor nal> faca
<comando(s)>
mpara
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
Estrutura PARA - Exemplo 2
Exemplo I
1 algoritmo Exemplo 1
2 // Func ao : Teste Para
3 // Autor : Ivanovitch Silva
4 // Data : 04/10/2011
5 // Sec ao de Declarac oes
6 var
7 i : inteiro
8 inicio
9 // Sec ao de Comandos
10 para i de 1 ate 3 passo 1 faca
11 escreval( i )
12 fimpara
13 fimalgoritmo
Exemplo II
1 algoritmo Exemplo 2
2 // Func ao : Teste Para
3 // Autor : Ivanovitch Silva
4 // Data : 04/10/2011
5 // Sec ao de Declarac oes
6 var
7 i : inteiro
8 inicio
9 // Sec ao de Comandos
10 para i de 1 ate 3 faca
11 escreval( i )
12 fimpara
13 fimalgoritmo
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
Estrutura PARA - Exemplo 3
Exemplo III
1 algoritmo Exemplo 3
2 // Func ao : Teste Para
3 // Autor : Ivanovitch Silva
4 // Data : 04/10/2011
5 // Sec ao de Declarac oes
6 var
7 i , j : inteiro
8 inicio
9 // Sec ao de Comandos
10 para i de 1 ate 4 faca
11 para j de 1 ate 3 faca
12 escreval( i , j )
13 fimpara
14 fimpara
15 fimalgoritmo
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
Estrutura PARA - Exemplo 4
Exemplo IV
1 algoritmo Exemplo 3
2 // Func ao : Par ou

Impar
3 // Autor : Ivanovitch Silva
4 // Data : 04/10/2011
5 // Sec ao de Declarac oes
6 var
7 i , num: inteiro
8 inicio
9 // Sec ao de Comandos
10 para i de 1 ate 4 faca
11 escreval( Escreva um n umero )
12 leia(num)
13 se (num%2 = 0) entao
14 escreval ( N umero e par )
15 senao
16 escreval ( N umero e mpar )
17 fimse
18 fimpara
19 fimalgoritmo
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
Estrutura PARA - Exemplo 5
1 algoritmo Exemplo 1
2 var
3 i , num: inteiro
4 cont Par , cont I mpar : inteiro
5 somaPar , somaImpar : inteiro
6 inicio
7 // Sec ao de Comandos
8 cont Par < 0
9 cont I mpar < 0
10 somaPar < 0
11 somaImpar < 0
12 para i de 1 ate 6 faca
13 escreval( Escreva um n umero )
14 leia(num)
15 se (num%2 = 0) entao
16 cont Par < cont Par + 1
17 somaPar < somaPar + num
18 senao
19 cont I mpar < cont I mpar + 1
20 somaImpar < somaImpar + num
21 fimse
22 fimpara
23 se ( cont Par >= cont I mpar ) entao
24 escreval ( Somat ori o dos n umeros pares : , somaPar )
25 senao
26 escreval ( Somat ori o dos n umeros mpares : , somaImpar )
27 fimse
28 fimalgoritmo
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
Sum ario
1
Introduc ao
2
Estrutura PARA
3
Exerccios I
4
Estrutura ENQUANTO
5
Estrutura REPITA
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
Exerccios I
Faca um programa que receba as notas (n1,n2,n3) de 10
alunos e calcule a m edia de cada aluno.
Melhore o programa anterior, calcule tamb em a maior e
menor m edia da turma.
Assumindo que a m edia de aprovac ao e 7.0, calcule
quantos alunos passaram e quantos alunos foram
reprovados.
Faca um algoritmo que mostre os elementos de uma PA
at e o n- esimo termo.
Faca um programa que calcule o fatorial de um n umero
Faca um programa que imprima os n termos da sequ encia
Fibonacci (0,1,1,2,3,5,8,13,21,...)
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
Exerccios I
Faca um programa que receba as notas (n1,n2,n3) de 10
alunos e calcule a m edia de cada aluno.
Melhore o programa anterior, calcule tamb em a maior e
menor m edia da turma.
Assumindo que a m edia de aprovac ao e 7.0, calcule
quantos alunos passaram e quantos alunos foram
reprovados.
Faca um algoritmo que mostre os elementos de uma PA
at e o n- esimo termo.
Faca um programa que calcule o fatorial de um n umero
Faca um programa que imprima os n termos da sequ encia
Fibonacci (0,1,1,2,3,5,8,13,21,...)
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
Exerccios I
Faca um programa que receba as notas (n1,n2,n3) de 10
alunos e calcule a m edia de cada aluno.
Melhore o programa anterior, calcule tamb em a maior e
menor m edia da turma.
Assumindo que a m edia de aprovac ao e 7.0, calcule
quantos alunos passaram e quantos alunos foram
reprovados.
Faca um algoritmo que mostre os elementos de uma PA
at e o n- esimo termo.
Faca um programa que calcule o fatorial de um n umero
Faca um programa que imprima os n termos da sequ encia
Fibonacci (0,1,1,2,3,5,8,13,21,...)
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
Exerccios I
Faca um programa que receba as notas (n1,n2,n3) de 10
alunos e calcule a m edia de cada aluno.
Melhore o programa anterior, calcule tamb em a maior e
menor m edia da turma.
Assumindo que a m edia de aprovac ao e 7.0, calcule
quantos alunos passaram e quantos alunos foram
reprovados.
Faca um algoritmo que mostre os elementos de uma PA
at e o n- esimo termo.
Faca um programa que calcule o fatorial de um n umero
Faca um programa que imprima os n termos da sequ encia
Fibonacci (0,1,1,2,3,5,8,13,21,...)
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
Exerccios I
Faca um programa que receba as notas (n1,n2,n3) de 10
alunos e calcule a m edia de cada aluno.
Melhore o programa anterior, calcule tamb em a maior e
menor m edia da turma.
Assumindo que a m edia de aprovac ao e 7.0, calcule
quantos alunos passaram e quantos alunos foram
reprovados.
Faca um algoritmo que mostre os elementos de uma PA
at e o n- esimo termo.
Faca um programa que calcule o fatorial de um n umero
Faca um programa que imprima os n termos da sequ encia
Fibonacci (0,1,1,2,3,5,8,13,21,...)
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
Exerccios I
Faca um programa que receba as notas (n1,n2,n3) de 10
alunos e calcule a m edia de cada aluno.
Melhore o programa anterior, calcule tamb em a maior e
menor m edia da turma.
Assumindo que a m edia de aprovac ao e 7.0, calcule
quantos alunos passaram e quantos alunos foram
reprovados.
Faca um algoritmo que mostre os elementos de uma PA
at e o n- esimo termo.
Faca um programa que calcule o fatorial de um n umero
Faca um programa que imprima os n termos da sequ encia
Fibonacci (0,1,1,2,3,5,8,13,21,...)
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
Estrutura PARA - Exemplo
M edia de 10 alunos
1 algoritmo M edia
2
3 var
4 i : inteiro
5 n1 , n2 , n3 , media : real
6 inicio
7 para i de 1 ate 10 faca
8 leia( n1 , n2 , n3)
9 media < ( n1 + n2 + n3 ) / 3
10 escreval( A media do al uno , i , e i gual a , media )
11 fimpara
12 fimalgoritmo
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
M edia melhorada
1 algoritmo M edia Mel horada
2 var
3 i , alunoMenor , al unoMai or : inteiro
4 n1 , n2 , n3 , media : real
5 maiorMedia , menorMedia : real
6 inicio
7 mai orMedi a < 0
8 menorMedia < 10
9 para i de 1 ate 10 faca
10 leia( n1 , n2 , n3)
11 media < ( n1 + n2 + n3 ) / 3
12 //

E o menor?
13 se ( media <= menorMedia ) entao
14 menorMedia < media
15 alunoMenor < i
16 fimse
17 //

E o maior?
18 se ( media >= mai orMedi a ) entao
19 mai orMedi a < media
20 al unoMai or < i
21 fimse
22 escreval( A m edia do Al uno , i , f o i , media )
23 fimpara
24 escreval( A mai or m edia f o i do Al uno , al unoMai or , cuj o val or f o i , mai orMedi a )
25 escreval( A menor m edia f o i do Al uno , alunoMenor , cuj o val or f o i , menorMedia )
26 fimalgoritmo
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
Quantos alunos foram aprovados? E reprovados?
1 algoritmo Aprovado / Reprovado
2 var
3 i : inteiro
4 n1 , n2 , n3 , media : real
5 aprovado , reprovado : inteiro
6 inicio
7 aprovado < 0
8 reprovado < 0
9 para i de 1 ate 10 faca
10 leia( n1 , n2 , n3)
11 media < ( n1 + n2 + n3 ) / 3
12 se ( media >= 7) entao
13 aprovado < aprovado + 1
14 senao
15 reprovado < reprovado + 1
16 fimse
17 escreval( M edia do Al uno , i , f o i , media )
18 fimpara
19 escreval( Quanti dade de al unos aprovados : , aprovado )
20 escreval( Quanti dade de al unos reprovados : , reprovado )
21 fimalgoritmo
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
Elementos de uma PA
1 algoritmo PA
2 var
3 i , n : inteiro
4 a1 , razao , val or : real
5 inicio
6 leia( a1 , razao , n)
7 val or < a1
8 para i de 1 ate n faca
9 escreval( a , i , = , val or )
10 val or < val or + razao
11 fimpara
12 fimalgoritmo
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
Fatorial de um n umero
1 algoritmo Fat or i al
2 var
3 i , n : inteiro
4 f a t : real
5 inicio
6 leia( n)
7 f a t < 1
8 se ( n = 0) ou ( n = 1) entao
9 escreval ( Fat or i al de , n , e i gual a , 1)
10 senao
11 para i de n ate 1 passo 1 faca
12 f a t < f a t i
13 fimpara
14 escreval ( Fat or i al de , n , e i gual a , f a t )
15 fimse
16 fimalgoritmo
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
Sequencia Fibonacci
1 algoritmo Fi bonacci
2 var
3 i , n : inteiro
4 n1 , n2 , novo : inteiro
5 inicio
6 leia( n)
7 n1 < 0
8 n2 < 1
9 se ( n >= 3) entao
10 escreval( n1)
11 escreval( n2)
12 para i de 3 ate n faca
13 novo < n1 + n2
14 n1 < n2
15 n2 < novo
16 escreval( novo )
17 fimpara
18 fimse
19 fimalgoritmo
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
Sum ario
1
Introduc ao
2
Estrutura PARA
3
Exerccios I
4
Estrutura ENQUANTO
5
Estrutura REPITA
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
Estrutura ENQUANTO
Na estrutura ENQUANTO, a condic ao l ogica e avaliada, se
ela for verdadeira, a lista de comandos e executada. Isso
se repete at e que a condic ao seja falsa.
enquanto <condic ao> faca
<comando(s)>
menquanto
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
Estrutura ENQUANTO
Enquanto - Exemplo I
1 algoritmo Enquanto
2 var
3 i : inteiro
4 inicio
5 i < 0
6 enquanto ( i < 10) faca
7 escreval( i )
8 i < i +1
9 fimenquanto
10 fimalgoritmo
Enquanto - Exemplo II
1 algoritmo Enquanto
2 var
3 i : inteiro
4 inicio
5 i < 0
6 escreval( Di gi t e 10 para s ai r )
7 enquanto ( i <> 10) faca
8 escreval( Lei a um n umero )
9 leia( i )
10 fimenquanto
11 fimalgoritmo
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
O que faz esse programa?
1 algoritmo Qual a minha sa da?
2 var
3 i , num, j : inteiro
4 inicio
5 i < 1
6 j < 0
7 escreval( Lei a um n umero di f er ent e de zero )
8 leia(num)
9 se (num > 0) entao
10 enquanto ( i <= num) faca
11 se (num%i = 0) entao
12 j < j +1
13 fimse
14 i < i +1
15 fimenquanto
16 se ( j = 2) entao
17 escreval( Sim )
18 senao
19 escreval( N ao )
20 fimse
21 fimse
22 fimalgoritmo
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
Estrutura ENQUANTO
Cada espectador de um cinema respondeu a um
question ario no qual constava sua idade e sua opini ao em
relac ao ao lme: otimo - 3, bom - 2, regular - 1. Faca um
programa que receba a idade e a opini ao de 15
espectadores, calcule e mostre:
1
A m edia das idades das pessoas que responderam otimo
2
A quantidade de pessoas que responderam regular
3
A percentagem de pessoas que responderam bom, entre
todos os espectadores analisados.
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
Sum ario
1
Introduc ao
2
Estrutura PARA
3
Exerccios I
4
Estrutura ENQUANTO
5
Estrutura REPITA
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
Estrutura REPITA
A estrutura REPITA e usada para criar lacos no programa.
Sua estrutura e semelhante ` a estrutura ENQUANTO,
por em a condic ao l ogica s o e avaliada ap os a primeira
iterac ao.
repita
<comando(s)>
ate <condic ao>
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
Estrutura REPITA
REPITA
1 algoritmo r epi t a
2
3 var
4 i : inteiro
5 inicio
6 i <0
7 repita
8 escreval( i )
9 i < i +1
10 ate i > 5
11 fimalgoritmo
ENQUANTO
1 algoritmo enquanto
2
3 var
4 i : inteiro
5 inicio
6 i <0
7 enquanto i < 5 faca
8 escreval( i )
9 i < i +1
10 fimenquanto
11 fimalgoritmo
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
Estrutura REPITA
Exemplo
Multiplicar n termos
1 algoritmo mul t i pl i cac ao de n termos
2 var
3 i , n : inteiro
4 mul t i pl i cacao : real
5 num: real
6 inicio
7 i <0
8 mul t i pl i cacao < 1
9 escreval ( N umero de termos a serem l i dos )
10 leia ( n)
11 repita
12 escreval( Lei a um n umero )
13 leia (num)
14 mul t i pl i cacao < mul t i pl i cacaonum
15 i < i +1
16 ate i >= n
17 escreval( A mul t i pl i cac ao dos n termos f o i , mul t i pl i cacao )
18 fimalgoritmo
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
Estrutura REPITA
Exemplo
O n umero 3025 possui uma caracterstica interessante,
sendo a seguinte: 30 +25 = 55 e 55
2
= 3025. Elaborar
um algoritmo que verique todos os n umero de quatro
algoritmos que apresentem essa propriedade.
Escreva um algoritmo que gere os N primeiros n umeros
perfeitos. Um n umero perfeito e aquele que e igual ` a soma
dos seus divisores, por exemplo, 6 = 1 + 2 + 3.
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
Estrutura REPITA
Exemplo
O n umero 3025 possui uma caracterstica interessante,
sendo a seguinte: 30 +25 = 55 e 55
2
= 3025. Elaborar
um algoritmo que verique todos os n umero de quatro
algoritmos que apresentem essa propriedade.
Escreva um algoritmo que gere os N primeiros n umeros
perfeitos. Um n umero perfeito e aquele que e igual ` a soma
dos seus divisores, por exemplo, 6 = 1 + 2 + 3.
Ivanovitch Silva Estruturas de Repetic ao
Introduc ao Estrutura PARA Exerccios I Estrutura ENQUANTO Estrutura REPITA
Estrutura REPITA
Exemplo
O n umero 3025 possui uma caracterstica interessante,
sendo a seguinte: 30 +25 = 55 e 55
2
= 3025. Elaborar
um algoritmo que verique todos os n umero de quatro
algoritmos que apresentem essa propriedade.
Escreva um algoritmo que gere os N primeiros n umeros
perfeitos. Um n umero perfeito e aquele que e igual ` a soma
dos seus divisores, por exemplo, 6 = 1 + 2 + 3.
Ivanovitch Silva Estruturas de Repetic ao

Vous aimerez peut-être aussi