Sei sulla pagina 1di 8

19/05/2011

Introduo Cincia dos Computadores

Estrutura de Repetio
Prof. Miguel Paiva

Introduo Cincia dos Computadores

Estrutura de Repetio
Permite que uma seqncia de comandos seja executada repetidamente at que uma determinada condio de interrupo seja satisfeita. Nossos algoritmos precisaro ser executados mais de uma vez e, para que no tenhamos que reescrever trechos idnticos que aumentaria consideravelmente o tamanho, utilizamos trs estruturas de repetio

Miguel Paiva

19/05/2011

Introduo Cincia dos Computadores

Estrutura de Repetio
Tipos :
Enquanto repetio com teste no incio Repita repetio com teste no final Para repetio com controle de varivel

Miguel Paiva

Introduo Cincia dos Computadores

Enquanto
Permite repetir diversas vezes um mesmo trecho de cdigo, porm, sempre verificando antes de cada execuo se permitido executar o mesmo trecho; Expresso:

enquanto < condio > faa ... fim-enquanto;


Miguel Paiva

19/05/2011

Introduo Cincia dos Computadores

Enquanto
Problema:
Calcular a mdia dos 50 alunos da turma de ICC.
incio const qtdAluno: 50; inteiro : i; real: nota, media, acc; i <- 1; acc <-0 ; enquanto (i <= qtdAluno) faa escreva(Informe a nota do aluno(, i, ):); leia(nota); acc <- acc + nota; i <- i + 1; fim-enquanto; media <- acc/qtdAluno; escreva(Media da turma: , media); fim. Miguel Paiva

Introduo Cincia dos Computadores

Simples
Soluo em C:
#include<stdio.h> #include<stdlib.h> #define QTDALUNO 50 //constante int main (){ int i; float nota, media, acc; i = 1; acc = 0; while (i <= QTDALUNO ){ printf("Informe a Nota do Aluno[%d]", i); scanf("%f", &nota); acc = acc + nota; i++; } media = acc/QTDALUNO; printf("\nMedia: %.2f\n", media); system("pause"); return 0; } Miguel Paiva

19/05/2011

Introduo Cincia dos Computadores

Repita
Permite que um bloco ou ao seja repetido at que uma condio seja verdadeira. Executa o trecho pelo menos uma vez, a condio s verificada no final da operao; Expresso: repita ... at <condio>;
Miguel Paiva

Introduo Cincia dos Computadores

Repita
Cuidado: em C modificado para: Faa { ... } enquanto (condio); Importante para implementao!!!
Miguel Paiva

este

comando

19/05/2011

Introduo Cincia dos Computadores

Repita
Problema:
Ler uma nota at que ela seja vlida
incio real : nota; repita escreva(Informe a Nota [0,10]:); leia(nota); se (nota < 0) Ou (nota > 10) ento escreva(Nota Invlida!!!); fim-se; at (nota >= 0) E (nota =< 10); fim.
Miguel Paiva

Introduo Cincia dos Computadores

Repita
Soluo em C:
#include<stdio.h> #include<stdlib.h> int main (){ float nota; do { printf("\nInforme Nota [0,10]:"); scanf("%f", &nota); if ((nota<0) || (nota>10)){ printf("\nNota Invalida!!!\n"); } } while ((nota<0) || (nota>10)); system("pause"); return 0; } Miguel Paiva

19/05/2011

Introduo Cincia dos Computadores

Para
Sempre repete a execuo do bloco um nmero predeterminado de vezes, pois ela no prev uma condio, mas possui limites fixos; Usado quando o nmero de repeties for conhecido;

para V de vi at vf passo p faa ... fim-para;

Miguel Paiva

Introduo Cincia dos Computadores

Para
Problema:
Calcular a mdia dos 50 alunos da turma de PSA.
incio const qtdAluno: 50; inteiro : i; real: nota, media, acc; acc <-0 ; para i de 1 at qtdAluno passo 1 faa escreva(Informe a nota do aluno(, i, ):); leia(nota); acc <- acc + nota; fim-para; media <- acc/qtdAluno; escreva(Media da turma: , media); fim. Miguel Paiva

19/05/2011

Introduo Cincia dos Computadores

Soluo em C
#include<stdio.h> #include<stdlib.h> #define QTDALUNO 50 //constante int main (){ int i; float nota, media, acc; acc = 0; for (i=1; i<=QTDALUNO; i++) { printf("Informe a Nota do Aluno[%d]", i); scanf("%f", &nota); acc = acc + nota; } media = acc/QTDALUNO; printf("\nMedia: %.2f\n", media); system("pause"); return 0; }
Miguel Paiva

Introduo Cincia dos Computadores

Exerccios
Sendo H = 1 + + 1/3 + + ... + 1/N, descreva um algoritmo para gerar o N. H. O N. N fornecido pelo usurio. Elabore um algoritmo que calcule N! (fatorial de N), sendo que o valor inteiro de N fornecido pelo usurio. Construa um algoritmo que calcule a mdia ponderada entre 5 nmeros quaisquer, sendo que os pesos a serem aplicados so 1,2,3,4 e 5 respectivamente.
Miguel Paiva

19/05/2011

Introduo Cincia dos Computadores

Exerccios
Criar um algoritmo que imprima os nmeros pares no intervalo de 1 at 600. Criar um algoritmo que calcule e imprima o valor de bn. O valor de n dever ser maior que 1 e inteiro e o valor de b maior ou igual a 2 inteiro. Entrar com vrios N.s e imprimir o quadrado de cada nmero. Entrar com a idade de vrias pessoas e imprimir:
total de pessoas com menos de 21 anos e total de pessoas com mais de 50 anos.
Miguel Paiva

Introduo Cincia dos Computadores

Bibliografias:
FORBELLONE, Andr Luiz Vilar Lgica de Programao: a construo de algoritmos e estruturas de dados. 3.Ed So Paulo : Pearson Prentice Hall, 2005. FARRER, Harry Algoritmos Estruturados. 3.Ed Rio de Janeiro: LTC, 1999. LOPES, Anita Introduo Programao Rio de Janeiro: Campus, 2002.

Miguel Paiva

Potrebbero piacerti anche