Baixe o app para aproveitar ainda mais
Prévia do material em texto
#include <stdio.h> main() { float n1, n2, media, maiorMedia; int numeroDeAlunos, contador=1; printf ("Digite o numero de alunos na turma: "); scanf ("%d", &numeroDeAlunos); while (numeroDeAlunos) 217 while (numeroDeAlunos) { printf ("Forneca a 1ª nota do %dº aluno entre 0 e 10: ", contador); scanf ("%f",&n1); printf ("Forneca a 2ª nota do %dº aluno entre 0 e 10: ", contador++); scanf ("%f",&n2); if (contador==2) maiorMedia = media = (n1 + n2)/2; else { media = (n1 + n2)/2; if (maiorMedia < media) maiorMedia = media; } numeroDeAlunos--; 218 numeroDeAlunos--; } printf("A maior nota final obtida foi %.2f",maiorMedia); } Estruturas de Controle de Fluxo 3. Laços de repetição (continuação) do { <instrução1> . 219 . . <instruçãon> } while (<expressão_lógica>); /*faça enquanto o resultado da avaliação da expressão lógica for verdadeiro*/ Estruturas de Controle de Fluxo 3. Laços de repetição (continuação) Veremos novamente o exemplo trabalhado anteriormente com o laço de repetição while. Porém, agora utilizando-se do laço de repetição do while: 220 #include <stdio.h> main() { float n1, n2, media, maiorMedia; int contador=1; do { printf ("Digite a 1ª nota do %dº aluno entre 0 e 10: ", contador); scanf ("%f",&n1); printf ("Digite a 2ª nota do %dº aluno entre 0 e 10: ", contador); scanf ("%f",&n2); if (contador==1) maiorMedia = media = (n1 + n2)/2; else 221 else { media = (n1 + n2)/2; if (maiorMedia < media) maiorMedia = media; } contador++; } while (contator<=4); printf("A maior nota final obtida foi %.2f",maiorMedia); } 222 Estruturas de Controle de Fluxo 3. Laços de repetição (continuação) Um aluno atento já deve ter se perguntado, sobre a possibilidade de mesmo sendo solicitado um valor ao usuário, explicitando o intervalo ao qual o mesmo deve pertencer, o usuário venha a 223 qual o mesmo deve pertencer, o usuário venha a fornecer um valor fora do intervalo especificado. Os laços de repetição podem nos ajudar nesta questão. Por exemplo, no trecho: ... printf ("Digite a 1ª nota do 1º aluno entre 0 e 10: "); scanf ("%f",&n1); ... Estruturas de Controle de Fluxo o usuário pode digitar um valor inferior a zero ou superior a dez. Pois, a variável n1 foi declarada com do tipo primitivo float, o qual comporta valores fora do intervalo [0, 10]. Com a utilização de laços de repetição podemos reescrever o trecho anterior da seguinte forma 224 ... do { printf ("Digite a 1ª nota do 1º aluno entre 0 e 10: "); scanf ("%f",&n1); } while (n1>10 || n1<0); ... Estruturas de Controle de Fluxo 3. Laços de repetição (continuação) Exercício 6: Faça um programa que receba números naturais fornecidos pelo usuário, quando o usuário quiser 225 fornecidos pelo usuário, quando o usuário quiser parar a execução do programa, o mesmo fornecerá um numero negativo. O programa deve retornar ao final a média dos números naturais fornecidos pelo usuário (fazer dois programas utilizando em cada um uma das estruturas de repetição vistas). Estruturas de Controle de Fluxo 3. Laços de repetição (continuação) Exercício 7: Faça um programa que receba um número 228 Faça um programa que receba um número natural fornecido pelo usuário e retorne seus divisores em ordem decrescente na saída padrão. (fazer dois programas distintos utilizando em cada um uma das estruturas de repetição vistas).
Compartilhar