Informática, perguntado por joaodiele478, 10 meses atrás

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

Respondido por MaurícioNeto12
0

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

Anexos:
Perguntas interessantes