Você está na página 1de 24

Algoritmos e Programao

Estruturas de Repetio
Prof Elizabeth B. Llamosas Gomes
1

Estruturas de Repetio
1. Enquanto While
Portugol: enquanto (<condio>) faa <instrues para condio verdadeira> fim_enquanto <instrues para condio falsa> Linguagem C: while (<condio>) { <instrues para condio verdadeira>; } <instrues para condio falsa>
2

Prof Elizabeth B. Llamosas Gomes

Estrutura de Repetio: While


/* Exemplo do Looping_While */ #include <stdio.h> #include <stdlib.h> int main(void) { Executa o Looping int X, CONT = 1; 5 vezes. while (CONT <= 5) { printf(\nDigite um valor: ); scanf(%d,&X); X=X*3 X *= 3; printf(\nSeu triplo : %d\n\n, X); CONT++; CONT = CONT + 1 } system(pause); return(0); }

Prof Elizabeth B. Llamosas Gomes

Estrutura de Repetio: While


E quando no se sabe quantas vezes repetir o Looping?

Prof Elizabeth B. Llamosas Gomes

Estrutura de Repetio: While


/* Exemplo do Looping_While */ #include <stdio.h> Executa o Looping int main(void) at o Usurio desejar { parar. int X; char RESP = S; while (RESP == S || RESP == s) { printf(\nDigite um valor: ); scanf(%d,&X); X *= 3; printf(\nSeu triplo : %d, X); printf(\n\nDeseja continuar? (S/N): ); fflush(stdin); RESP=getchar(); } return(0); } 5

Prof Elizabeth B. Llamosas Gomes

Estruturas de Repetio
2. Para For
Portugol: para <varivel> de <incio> at <fim> passo <inc> faa <instrues> fim_para onde <inc> incremento Linguagem C: for (<var = incio>; <var <= fim>; <incremento>) <instruo>; Linguagem C: for (<var = incio>; <var >= fim>; <decremento>) <instruo>;
6

Prof Elizabeth B. Llamosas Gomes

Estrutura de Repetio: For


Linguagem C: for (<var = incio>; <var <= fim>; <incremento>) { <instruo 1>; <instruo 2>; <instruo n>; } Linguagem C: for (<var = incio>; <var >= fim>; <decremento>) { <instruo 1>; <instruo 2>; <instruo n>; }
7

Prof Elizabeth B. Llamosas Gomes

Estrutura de Repetio: For


/* Exemplo do Looping_For */ #include <stdio.h> #include <stdlib.h> int main(void) { int X, CONT; for (CONT= 1; CONT <= 5; CONT++) { printf(\nDigite um valor: ); scanf(%d,&X); X *= 3; printf(\nSeu triplo : %d\n, X); } system(pause); return(0); }

Prof Elizabeth B. Llamosas Gomes

Estrutura de Repetio: For


Exemplo 1:
Faa um programa que escreva na tela os valores 10, 9, 8, 7, 6, 5, 4, 3, 2 e 1. /* For decrescente de 1 em 1 */ #include <stdio.h> #include <stdlib.h> int main(void) { int I; for (I = 10; I >= 1; I--) printf(I = %2d\n, I); system(pause); return(0); }
9

Prof Elizabeth B. Llamosas Gomes

Estrutura de Repetio: For


Exemplo 2:
Faa um programa que escreva na tela os valores 1, 3, 5, 7 e 9. /* For crescente de 2 em 2 */ #include <stdio.h> #include <stdlib.h> int main(void) { int I; for (I = 1; I <= 10; I+=2) printf(I = %2d\n, I); system(pause); return(0); }
10

Prof Elizabeth B. Llamosas Gomes

Estrutura de Repetio: For


Exemplo 3: Faa um programa que escreva na tela os
valores 2, 5, 8, 11 e 14, utilizando 2 variveis de controle. +2 A=1 A=3 A=5 A=7 A=9 +1 B=1 B=2 B=3 B=4 B=5 A+B A+B A+B A+B A+B =2 =5 =8 = 11 = 14

Prof Elizabeth B. Llamosas Gomes

Aulas 11 e 12

11

Estrutura de Repetio: For


Exemplo 3: Faa um programa que escreva na tela os
valores 2, 5, 8, 11 e 14, utilizando 2 variveis de controle.
/* For utilizando 2 contadores */ #include <stdio.h> #include <stdlib.h> int main(void) { int A, B, R; for (A = 1, B = 1; A + B <= 15; A+=2, B++) { R = A + B; printf(Resultado = %3d\n, R); } system(pause); return(0); }

Prof Elizabeth B. Llamosas Gomes

12

Estruturas de Repetio
Exemplo 4:
Faa um programa que calcule o fatorial de um nmero qualquer lido pelo teclado e o apresente na tela. O programa deve continuar calculando outros fatoriais at que o usurio deseje parar.
Prof Elizabeth B. Llamosas Gomes

Obs: 5! = 5 . 4 . 3 . 2 . 1 = 120
ou 5! = 1 . 2 . 3 . 4 . 5 = 120

Logo: Fatorial de um n inteiro n a multiplicao dos


nmeros desde 1 at o n.

13

Exemplo 4 Linguagem C
# include <stdio.h> int main(void) { int I, FAT, N; char RESP = S; while (RESP == S || RESP == s) { FAT = 1; printf (\nDigite o nmero: ); scanf (%d, &N); for (I= 1; I<= N; I++) FAT *= I; printf (\nFatorial de %d = %d, N, FAT); printf (\n\nDeseja continuar? (S/N): ); fflush(stdin); RESP = getchar(); } return(0); }

Prof Elizabeth B. Llamosas Gomes

14

Exerccios
1 Apresentar os resultados de uma tabuada de um nmero qualquer, a qual dever ser impressa no seguinte formato (considerando o fornecimento do nmero 2): 2x1=2 2x2=4 2x3= 6 2x4= 8 2 x 5 = 10 2 x 6 = 12 2 x 7 = 14 2 x 8 = 16 2 x 9 = 18 2 x 10 = 20

Prof Elizabeth B. Llamosas Gomes

Exerccios
2 Apresentar os quadrados dos nmeros inteiros de 15 a 200. 3 Apresentar o total da soma obtida dos cem primeiros nmeros inteiros (1 + 2 + 3 + 4 + 5 + 6 + 7 + ... + 97 + 98 + 99 + 100) 4 Elaborar um programa que apresente no final o somatrio dos valores pares existente na faixa de 1 at 500. 5 Apresentar todos os valores numricos inteiros mpares situados na faixa de 0 a 20. Para verificar se o nmero mpar, efetuar dentro da malha a verificao lgica desta condio com a instruo se, perguntando se o nmero mpar; sendo, mostre-o, no sendo, passe para o prximo passo.
Prof Elizabeth B. Llamosas Gomes

Exerccios
6 Apresentar as potncias de 3, variando de 0 a 15. Deve ser considerado que qualquer nmero elevado a zero 1, e elevado a 1 ele prprio. Dever ser apresentado, observado a seguinte definio: 30 = 1 31 = 3 32 = 9 (...) 315 = 14348907

Prof Elizabeth B. Llamosas Gomes

Exerccios
7 Apresentar todos os nmeros divisveis por 4 que sejam menores que 200. Para verificar se o nmero divisvel por 4, efetuar dentro da malha a verificao lgica desta condio com a instruo se, perguntando se o nmero divisvel; sendo, mostre-o, no sendo, passe para o prximo passo. A varivel que controlar o contador dever ser iniciada com valor 1. 8 Escrever um programa que apresente a srie de Fibonacci at o dcimo quinto termo. A srie de Fibonacci formada pela seqncia: 1, 1, 2, 3, 5, 8, 13, 21, 34... Etc. (o primeiro nmero da srie 1; o segundo, tambm 1; a partir da cada nmero igual soma dos dois nmeros anteriores).

Prof Elizabeth B. Llamosas Gomes

Exerccios
9 Elaborar um programa que apresente os valores de converso de graus Celsius em Fahrenheit, de 10 em 10 graus, iniciando a contagem em 10 graus Celsius e finalizando em 100 graus Celsius. O programa dever apresentar os valores das duas temperaturas. 10 Elaborar um programa que efetue a leitura de 15 valores numricos inteiros e no final apresente o total do somatrio da fatorial de cada valor lido. 11 - Elaborar um programa que efetue a leitura de 10 valores numricos e apresente no final o total do somatrio e a mdia dos valores lidos.
Prof Elizabeth B. Llamosas Gomes

Exerccios
12 Elaborar um programa que efetue o clculo e no final apresente o somatrio do nmero de gros de trigo que se pode obter num tabuleiro de xadrez, obedecendo seguinte regra: colocar um gro de trigo no primeiro quadro e nos quadros seguintes o dobro do quadro anterior. Ou seja, no primeiro quadro coloca-se 1 gro, no segundo quadro colocam-se 2 gros (neste momento tm-se 3 gros), no terceiro quadro colocamse 4 gros (tendo neste momento 7 gros), no quarto colocam-se 8 gros (tendo-se ento 15 gros) at atingir o sexagsimo quarto quadro.

Prof Elizabeth B. Llamosas Gomes

Exerccios
13 Elaborar um programa que efetue a leitura sucessiva de valores numricos e apresente no final o total do somatrio, a mdia e o total de valores lidos. O programa dever fazer as leituras dos valores enquanto o usurio estiver fornecendo valores positivos. Ou seja, o programa dever parar quando o usurio fornecer um valor negativo (menor que zero). 14 Elaborar um programa que apresente como resultado o valor fatorial dos valores mpares situados na faixa numrica de 1 a 10.

Prof Elizabeth B. Llamosas Gomes

15 Elaborar um programa que apresente os resultados da soma e da mdia aritmtica dos valores pares situados na faixa numrica de 50 a 70.

Exerccio
16 Elaborar um programa que possibilite calcular a rea total de uma residncia (sala, cozinha, banheiro, quartos, rea de servio, quintal, garagem, etc). O programa dever solicitar a entrada do nome, da largura e o comprimento de um determinado cmodo. Em seguida, dever apresentar a rea do cmodo lido e tambm uma mensagem solicitando do usurio a confirmao de continuar calculando novos cmodos. Caso o usurio responda NO, o programa dever apresentar o valor total acumulado da rea residencial. 17 Elaborar um programa que efetue a leitura de valores positivos inteiros at que um valor negativo seja informado. Ao final devero ser apresentados o maior e o menor valores informados pelo usurio.

Prof Elizabeth B. Llamosas Gomes

Exerccio
18 Apresentar todos os nmeros divisveis por 7 entre 200 e 400. Para verificar se o nmero divisvel por 7, efetuar dentro da malha a verificao lgica desta condio com a instruo se, perguntando se o nmero divisvel; sendo, mostre-o, no sendo, passe para o prximo passo. 19 Elaborar um programa que efetue a leitura de 10 nmeros inteiros que sejam mltiplos de 3. Caso o nmero no seja mltiplo, avisar com mensagem e ler novamente o nmero. Ao final devero ser apresentados o maior e o menor nmero digitado. 20 Faa um programa que calcule o valor de S, sendo que ele determinado pela srie:

Prof Elizabeth B. Llamosas Gomes

1 2 3 4 50 S 1 3 1 3 3

Exerccio
21 Uma fbrica produz peas de computador. Faa um programa que: leia o nmero da pea; leia o estado da pea (A de aprovado ou R de reprovado); imprima uma mensagem informando os nmeros das peas reprovadas; imprima o total de peas aprovadas; imprima o total de peas reprovadas. O programa finaliza quando o usurio no desejar mais continuar. 22 Faa um programa que calcule e imprima o valor da srie S, at o 15 termo :

Prof Elizabeth B. Llamosas Gomes

2 3 4 5 6 7 S 5 4 5 4 5 4