05 - while - C

14
Centro de Ciências Exatas e Tecnológicas CET058 - Processamento de Dados Prof. Marcos Bião Aula – 05 Estrutura de seleção Comando while

Transcript of 05 - while - C

Page 1: 05 - while - C

Centro de Ciências Exatas e TecnológicasCET058 - Processamento de Dados

Prof. Marcos Bião

Aula – 05 Estrutura de seleção

Comando while

Page 2: 05 - while - C

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!

Page 3: 05 - while - C

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.

Page 4: 05 - while - C

Estrutura básica

Page 5: 05 - while - C

Exemplo

int x=1;

while(x<=10){

printf("%d\n",x);

x++;

}

Page 6: 05 - while - C

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.

Page 7: 05 - while - C

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);

Page 8: 05 - while - C

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.

Page 9: 05 - while - C

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++; }

Page 10: 05 - while - C

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.

Page 11: 05 - while - C

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).

Page 12: 05 - while - C

Exemplo

float nota,acum=0,media=0;

int cont=0;

scanf("%f",&nota);

while(nota!=-1){

acum = acum + nota;

cont++;

scanf("%f",&nota);

}

media = acum/cont;

printf("A media da turma foi %f",media);

Page 13: 05 - while - C

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.

Page 14: 05 - while - C

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);