Implemente um programa em C++ que receba um número indefinido de valores (o usuário deverá decidir quando asua entrada de dados deverá ser finalizada) e calcule a média aritmética entre os valores que forem ímpares e maioresdo que 100
Soluções para a tarefa
Antes de partir para o código do programa, é importante entendermos como iremos realizar cada etapa. Torna-se mais fácil desenvolver o algoritmo tendo em mente o processo de desenvolvimento dele, independente da linguagem utilizada, seja C++, Java, etc.
Procedimentos:
- Inicialmente, vamos observar que será recebida uma quantidade indefinida de valores. Sendo assim, não é possível definirmos uma variável de controle, para que o programa execute determinar ação um certo número de vezes;
- Para contornarmos o problema anterior, vamos definir três variáveis, soma, num e cont, do tipo inteiro, e inicializá-las com o valor 0, exceto a variável num, que não precisamos atribuir nenhum valor.
- Agora, precisamos definir um controle: "O que o usuário deve fazer caso ele não queira mais digitar números?". Para isso, vamos definir outra variável, chamada escolha, do tipo char. O procedimento de parada, será o usuário digitar "N" ou "n".
- O programa já deverá iniciar pedindo um valor ao usuário, dessa forma, iremos utilizar o laço de repetição do-while, que executará a ação dentro dele, para depois testar a condição.
- Após abrir o laço de repetição, precisamos pedir ao usuário que informe um número. Vamos imprimir uma mensagem dizendo "Informe um número: ".
- O programa armazenará o número informado pelo usuário na variável num.
- Agora é que entra a grande sacada, nós só iremos armazenar os valores que forem ímpares e maiores que 100. Para isso, vamos criar um bloco if e definir que a condição de execução será caso num seja maior que 100 e caso o resto da sua divisão por 2 seja 1, o que caracteriza um número ímpar.
- Dentro do bloco if, iremos definir dois comandos. O primeiro, é incrementa a variável cont em uma unidade. O segundo, é fazer a variável soma receber ela mesma, mais a variável num.
- Fechamos o bloco if. Em seguida, dentro do laço de repetição, devemos perguntar ao usuário se ele quer continuar ou não informando números. Imprimiremos a mensagem "Caso não queira mais digitar valores, digite 'n'".
- Armazenamos o que o usuário digitou na variável escolha.
- Por fim, é hora de fechar o bloco do e incluir a condição while, que será enquanto a variável escolha for diferente de "n".
- Depois que o laço se encerrar, a variável soma estará com a soma de todos os números ímpares maiores que 100. E cont terá a quantidade de números que foram somados.
- Uma vez que a média aritmética é obtida através da soma de n elementos, dividido por n, para encontrarmos a solução do problema é só imprimirmos o valor da variável soma dividido pela variável cont.
- Encerramos o algoritmo.
Veja agora, na prática, como ficou o programa.
Código:
#include<iostream>
using namespace std;
main(){
int soma = 0, cont = 0, num;
char escolha;
do{
cout << "Informe um número: ";
cin >> num;
if(num > 100 && num % 2 == 1){
cont++; //Somando 1 a variável
soma = soma + num;
}
cout << "Caso não queira mais digitar valores, digite 'n': ";
cin >> escolha;
}while(escolha != 'n');
cout << "A média dos números ímpares maiores que 100 é: " << soma/cont;
}
Ah, lembrando, o arquivo .cpp com o código estará disponível para download, ok? Nele é possível verificar melhor a indentação e entender melhor.
Veja outro programa em C++: https://brainly.com.br/tarefa/28403120