Exercícios Resolvidos de Comando while

Ver Teoria

Enunciado

Desenvolver um programa que leia um número não determinado de valores, calcule e escreva a média aritmética deles, a quantidade de valores positivos, a quantidade de valores negativos e o percentual de valores negativos e positivos.

Passo 1

Para começar, vamos definir o escopo desse programa.

Passo 2

Com o escopo definido, nós podemos agora declarar e inicializar as variáveis que serão úteis para o desenvolvimento e execução.

Informações sobre as variáveis:

  • total armazenará a quantidade de números digitados pelo usuário;
  • positivos armazenará a quantidade de números positivos digitados pelo usuário;
  • negativos armazenará a quantidade de números negativos digitados pelo usuário;
  • n armazenará o número digitado pelo usuário após cada requisição de entrada;
  • somatorio, media armazenarão a soma de todos os números digitados pelo usuário e a média aritmética deles, respectivamente.

Passo 3

Com as variáveis devidamente declaradas e inicializadas, podemos utilizar o comando de repetição while para realizar todas as instruções de requisição de dados e os cálculos necessários.

O primeiro conceito que devemos analisar para entender a lógica do programa, é a condição do comando while, sendo ela 1. Ao colocar uma constante positiva como condição de um laço de repetição, estamos garantindo que o programa sempre entrará nessa estrutura, pois 1 sempre será verdadeiro.

Mas isso não vai causar um loop infinito, Guga? Calma, jovem Padawan.

Assim que o programa começar a executar a estrutura de repetição, será requisitada a entrada de um dado para o usuário. Após isso, o programa irá verificar se o número digitado é 0, caso seja, a instrução break será computada e fará com que a execução saia imediatamente da estrutura de repetição, porém, se for um número diferente de 0, o programa verificará se esse número é positivo ou negativo aumentando o valor armazenado pela variável positivo ou negativo, respectivamente, em uma unidade. Seguindo com a execução, a variável somatorio receberá o incremento do número e a variável total a adição de mais uma unidade em seu valor.

Dessa forma, nunca teremos loops infinitos, pois quem determinará a saída do laço de repetição é o próprio usuário através da entrada do número 0.

Passo 4

Por fim, basta realizarmos o cálculo da média e imprimirmos na tela todas as informações que o enunciado pede, são elas: média, quantidade de números positivos e sua porcentagem e quantidade de números negativos e sua porcentagem.

Vale lembrar que no cálculo da porcentagem, por queremos um valor real através da divisão de duas variáveis inteiras, devemos realizar o cast (conversão) para float, pois a linguagem C ao realizar divisões inteiras considera apenas o valor inteiro gerado (por se tratar de porcentagem, teríamos sempre o valor 0). Além disso, as impressões foram feitas com duas casas decimais e com quebra de linha em cada uma delas.

Resposta

Ei, a resposta está no passo a passo :)