Upload
marcos-biao
View
138
Download
4
Embed Size (px)
Citation preview
Centro de Ciências Exatas e TecnológicasCET058 - Processamento de Dados
Prof. Marcos Bião
Aula – 05 Estrutura de seleção
Comando while
Estrutura de repetição
• Tem-se uma repetição quando um conjunto de ações é executado repetidamente enquanto uma determinada condição permanecer válida ou até que uma condição seja válida.
•A esses trechos do algoritmo que são repetidos dá-se o nome de laços ou malhas de repetição (loops ou looping).
•OBS: O número de repetições pode ser indeterminado, porém necessariamente FINITO!
Estrutura de repetição
• Esse tipo de estrutura permite que um determinado trecho do algoritmo (conjunto de comandos) seja executado diversas vezes, porém sempre verificando ANTES de cada execução se é “permitido” executar o trecho.
•Para realizar a repetição com teste no início, utiliza-se a estrutura enquanto
•Esta estrutura executa repetidas vezes um determinado conjunto de instruções enquanto uma determinada condição for verdadeira.
Estrutura básica
Exemplo
int x=1;
while(x<=10){
printf("%d\n",x);
x++;
}
Repetição controlada por contador
• Para estabelecer um modo de contagem em um algoritmo utiliza-
se um CONTADOR, que é representado por uma variável com
um dado valor inicial, o qual é incrementado a cada repetição.
OBS: Incrementar é o mesmo que somar um valor constante
(geralmente 1).
• Um exemplo de contador é o ponteiro dos segundos de um relógio,
que sempre vai incrementar 1 unidade a cada instante de tempo
equivalente a 1 segundo. Quando atinge 60 segundos, é a vez do
ponteiro dos minutos ser incrementado de uma 1 unidade, e assim
sucessivamente.
Exemplo•Quantos números pares tem no intervalo de 1 a 10?
int x=1,con=0;
while(x<=10){
if(x%2==0){
con++;
}
x++;
}
printf(“Existe %d numeros pares”,con);
Acumulador
•Um outra estrutura bastante utilizada é o ACUMULADOR.
•O processo de acumulação é muito similar ao processo de contagem. A única diferença é que na acumulação o valor adicionado pode variar, enquanto no contador o valor adicionado é constante.
Acumulador
•Qual a soma de todos os numero entre o intervalo de 1 a 100
int x=1,acum=0; while(x<=100){ acum = acum +x; x++; }
Finalizador
•Existem situações em que o programador não sabe quantas vezes os comandos deverão ser repetidos.
•Por exemplo, um programa para calcular médias, utilizado por diferentes professores (com diferentes números de alunos).
•Faz-se necessário um outro critério de parada que possibilite que o laço seja finalizado após a última média inserida (independente de quantas sejam). Isso pode ser feito utilizando um valor predefinido como finalizador, a ser informado após a última média.
Exemplo
•Escreva um programa que, dada a média de alunos, calcule a média
final da turma. O programa deverá ser usado por diferentes
professores, ou seja, o número de alunos será variável. Use -1 como
critério de parada (finalizador).
Exemplo
float nota,acum=0,media=0;
int cont=0;
scanf("%f",¬a);
while(nota!=-1){
acum = acum + nota;
cont++;
scanf("%f",¬a);
}
media = acum/cont;
printf("A media da turma foi %f",media);
Repetição com teste no final
•Essa estrutura diferencia da anterior porque realiza o teste da
condição no final do bloco de instruções. Ou seja, o bloco será
executado pelo menos uma vez.
Exemplo
Soma de todos os números dentro do intervalo de 0 a 100
int x=0,acum=0;
do{
acum = acum +x;
printf("%d\n",x);
x++;
}
while (x<=100);
printf("A soma e: %d",acum);