Академический Документы
Профессиональный Документы
Культура Документы
Repetio
Chamadas de estruturas iterativas, iteraes, laos ou loops; Permitem repetir a execuo de uma ao vrias vezes; Podem ser:
1. 2. 3.
Repetio com Teste no Incio Repetio com Teste no Fim Repetio com Varivel de Controle
Desenvolver um algoritmo para ler uma seqncia de nmeros inteiros, calcular e imprimir o quadrado de cada nmero lido. O ltimo valor a ser lido um FLAG = 0.
2 -3 1 4 0
4 9 1 16
4 9 1 16
10
11
0 8 -3 2 1 0 8 5 7 8 8
13
15
0 8 -3 2 1 0 1 2 3 4 4
17
NUM
MEDIA =
1
SOMA = N
19
20
3+2+1=6
23
0 374 37 3 0 4 7 3 4 11 14 14
25
Semntica: Enquanto a condio for verdadeira, a seqncia ser repetida. Quando a condio fornecer resultado falso, o controle sai da estrutura passando para o comando seguinte.
27
30
31
33
35
36
Repetio com Varivel de Controle Exemplo 1: O algoritmo abaixo utiliza o parafaa para imprimir os valores inteiros que se encontram entre um valor inicial e um valor final. principal { inteiro NUM_INICIAL, NUM_FINAL, I; leia(NUM_INICIAL); leia(NUM_FINAL); para (I NUM_INICIAL; I NUM_FINAL; I { imprima (Valor de I: ,I); } }
I+1) faa
38
39
41
43
5.
2 2 2 23 2 25 S= + + +L+ 50 48 46 2
45
Comandos de Repetio
DCC 120
46
Comandos iterativos em C
while do...while for (enquanto..faa) (faa..enquanto) (para..faa)
47
while
Sintaxe: while(condio) { <comandos>; } int main() { int i; i=0; while (i<=10) { printf("%d\n",i); i++; } return 0; }
48
do while
Sintaxe: do { <comandos>; } while(condio);
int main() { int i; i=0; do { printf("%d\n",i); i++; } while (i<=10); return 0; }
49
for
Sintaxe: for(inicializao;condio;incremento) { <comandos>; } int main() { int i; for ( i=0 ; i<=10 ; i++) { printf("%d\n",i); }
return 0; Primeira vez que executa o for: Inicializao Condio VERDADEIRO: Bloco de comandos FALSO: sai do for Demais vezes: Incremento Condio VERDADEIRO: Bloco de comandos FALSO: sai do for
50
Exerccios
1) Escrever um algoritmo que l um valor N inteiro e positivo e que calcula e escreve o valor de E. E = 1 + 1/2 + 1/3 + ... + 1/N Escreva um algoritmo que leia 10 valores (usando a mesma varivel) e encontre o maior e o menor deles. Mostre o resultado. Chico tem 1,50 metro e cresce 2 centmetros por ano, enquanto Z tem 1,40 metro e cresce 3 centmetros por ano. Construa um algoritmo que calcule e imprima quantos anos sero necessrios para que Z seja maior que Chico. Escreva um algoritmo que leia a matrcula de um aluno e suas trs notas. Calcule a mdia ponderada do aluno, considerando que o peso para a maior nota seja 4 e para as duas restantes, 3. Mostre ao final a mdia calculada e uma mensagem "APROVADO" se a mdia for maior ou igual a 5 e "REPROVADO" se a mdia for menor que 5. Repita a operao at que o cdigo lido seja negativo. Escrever um algoritmo que l um valor N inteiro e positivo e que calcula e escreve o valor de E. E = 1 + 1/1! + 1/2! + 1/3! + ... + 1/N!
51
2)
3)
4)
5)
Exerccios
6) Faa um programa que, dado um conjunto de valores inteiros e positivos (fornecidos um a um pelo usurio), determine qual o menor valor do conjunto. O final do conjunto de valores conhecido atravs do valor zero, que no deve ser considerado. A converso de graus Fahrenheit para Centgrados obtida pela frmula C = 9/5(F 32). Escreva um programa que calcule e escreva uma tabela de graus centgrados em funo de graus Fahrenheit que variem de 50 a 150 de 1 em 1. Elabore um programa que calcule N! (fatorial de N), sendo que o valor inteiro de N fornecido pelo usurio. Sabendo que: N! = N x (N-1) x (N-2) x ... x 3 x 2 x 1; 0! = 1, por definio. Fazer um programa para calcular e mostrar os N primeiros termos da srie de Fibonacci. O nmero N fornecido pelo usurio. A srie de Fibonacci gerada da seguinte forma: f1 = f2 = 1; f3 = f1 + f2 = 2; f4 = f2 + f3 = 3;.... O primeiro e segundo termos valem 1 e os seguintes so calculados somando os dois termos anteriores.
7)
8)
9)
52