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