Exercício 1: Cálculo de Médias
Defina um array de tamanho 5 para armazenar as notas de uma turma de alunos (os valores podem ser atribuídos livremente). Calcule a pontuação total e a média da turma.
#include <iostream>
using namespace std;
int main() {
const int TAMANHO = 5;
float notas[TAMANHO];
float soma = 0.0;
// Entrada de dados
for(int i = 0; i < TAMANHO; i++) {
cout << "Digite a nota do aluno " << i+1 << ": ";
cin >> notas[i];
soma += notas[i];
}
// Cálculo e exibição
cout << "Soma das notas: " << soma << endl;
cout << "Média da turma: " << soma/TAMANHO << endl;
return 0;
}
</iostream>
Exercício 2: Estatísticas de Desempenho
Após uma prova final, um professor precisa saber quantos alunos tiveram desempenho excelente (nota maior ou igual a 90). Desenvolva um programa para calcular essa quantidade.
#include <iostream>
using namespace std;
int main() {
const int MAX_ALUNOS = 100;
float notas[MAX_ALUNOS];
int quantidadeAlunos;
int excelentes = 0;
cout << "Digite o número de alunos: ";
cin >> quantidadeAlunos;
// Leitura das notas e verificação
for(int i = 0; i < quantidadeAlunos; i++) {
cout << "Nota do aluno " << i+1 << ": ";
cin >> notas[i];
if(notas[i] >= 90) {
excelentes++;
}
}
cout << "Número de alunos com excelente desempenho: " << excelentes << endl;
return 0;
}
</iostream>
Exercício 3: Números de Pico
Em um conjunto de inteiros, identifique os números que não são o primeior nem o último, e são maiores que ambos seus vizinhos adjacentes.
#include <iostream>
using namespace std;
int main() {
int quantidade;
cout << "Digite a quantidade de números: ";
cin >> quantidade;
if(quantidade < 3) {
cout << "É necessário pelo menos 3 números." << endl;
return 1;
}
int numeros[quantidade];
// Leitura dos números
for(int i = 0; i < quantidade; i++) {
cin >> numeros[i];
}
// Verificação de números de pico
for(int i = 1; i < quantidade-1; i++) {
if(numeros[i] > numeros[i-1] && numeros[i] > numeros[i+1]) {
cout << numeros[i] << endl;
}
}
return 0;
}
</iostream>
Exercício 4: Filtragem de Genomas
Identifique e remova genomas alienígenas de uma sequência genética. Os genomas alienígenas têm a propriedade de que o quadrado do número dividido por 7 tem resto 1.
#include <iostream>
using namespace std;
bool ehGenomaAlienigena(int numero) {
return (numero * numero) % 7 == 1;
}
int main() {
int quantidade;
cout << "Digite a quantidade de genes: ";
cin >> quantidade;
int genes[quantidade];
// Leitura dos genes
for(int i = 0; i < quantidade; i++) {
cin >> genes[i];
}
// Filtragem e exibição
cout << "Sequência genética normal: ";
for(int i = 0; i < quantidade; i++) {
if(!ehGenomaAlienigena(genes[i])) {
cout << genes[i] << " ";
}
}
cout << endl;
return 0;
}
</iostream>
Exercício 5: Cálculo de Descontos
Em uma promoção de fim de semana, compras acima de R$100 recebem 10% de desconto no valor excedente. Calcule o valor final a ser pago.
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int quantidadeItens;
cout << "Digite a quantidade de itens: ";
cin >> quantidadeItens;
float precos[quantidadeItens];
float total = 0.0;
// Leitura dos preços
for(int i = 0; i < quantidadeItens; i++) {
cin >> precos[i];
total += precos[i];
}
// Aplicação do desconto
if(total > 100) {
float desconto = (total - 100) * 0.1;
total -= desconto;
}
cout << fixed << setprecision(2);
cout << "Valor final: R$ " << total << endl;
return 0;
}
</iomanip></iostream>
Exercício 6: Coleta de Frutas
Uma criança pode alcançar maçãs em uma árvore com ou sem usar um banco de 30cm de altura. Dadas as alturas das maçãs e a altura máxima que a criança alcança, determine quantas maçãs ela pode colher.
#include <iostream>
using namespace std;
int main() {
const int NUM_MACAS = 10;
int alturasMacas[NUM_MACAS];
int alturaMaximaCrianca;
// Leitura das alturas das maçãs
for(int i = 0; i < NUM_MACAS; i++) {
cin >> alturasMacas[i];
}
// Leitura da altura máxima da criança
cin >> alturaMaximaCrianca;
// Cálculo das maçãs alcançáveis
int macasColhidas = 0;
for(int i = 0; i < NUM_MACAS; i++) {
if(alturasMacas[i] <= alturaMaximaCrianca + 30) {
macasColhidas++;
}
}
cout << "Maçãs colhidas: " << macasColhidas << endl;
return 0;
}
</iostream>
Exercício 7: Soma de Pares e Ímpares
Dada uma sequência de números, calcule a soma separada dos números pares e ímpares.
#include <iostream>
using namespace std;
int main() {
int quantidadeNumeros;
cout << "Digite a quantidade de números: ";
cin >> quantidadeNumeros;
int numeros[quantidadeNumeros];
int somaPares = 0, somaImpares = 0;
// Leitura e processamento
for(int i = 0; i < quantidadeNumeros; i++) {
cin >> numeros[i];
if(numeros[i] % 2 == 0) {
somaPares += numeros[i];
} else {
somaImpares += numeros[i];
}
}
cout << "Soma dos números ímpares: " << somaImpares << endl;
cout << "Soma dos números pares: " << somaPares << endl;
return 0;
}
</iostream>
Exercício 8: Números Perfeitos
Um número perfeito é um número par com dígitos todos pares. Identifique todos os números perfeitos em uma dada sequência.
#include <iostream>
using namespace std;
bool ehNumeroPerfeito(int numero) {
if(numero % 2 != 0) return false;
int temp = numero;
while(temp > 0) {
int digito = temp % 10;
if(digito % 2 != 0) return false;
temp /= 10;
}
return true;
}
int main() {
int quantidadeNumeros;
cout << "Digite a quantidade de números: ";
cin >> quantidadeNumeros;
int numeros[quantidadeNumeros];
// Leitura dos números
for(int i = 0; i < quantidadeNumeros; i++) {
cin >> numeros[i];
}
// Identificação e exibição de números perfeitos
cout << "Números perfeitos: ";
for(int i = 0; i < quantidadeNumeros; i++) {
if(ehNumeroPerfeito(numeros[i])) {
cout << numeros[i] << " ";
}
}
cout << endl;
return 0;
}
</iostream>
Exercício 9: Probabilidades
Calcule a probabilidade de extrair um número específico de um conjunto de bolas numeradas.
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int quantidadeBolas;
cout << "Digite a quantidade de bolas: ";
cin >> quantidadeBolas;
int numerosBolas[quantidadeBolas];
int numeroProcurado;
// Leitura dos números das bolas
for(int i = 0; i < quantidadeBolas; i++) {
cin >> numerosBolas[i];
}
// Leitura do número procurado
cout << "Digite o número procurado: ";
cin >> numeroProcurado;
// Cálculo da probabilidade
int ocorrencias = 0;
for(int i = 0; i < quantidadeBolas; i++) {
if(numerosBolas[i] == numeroProcurado) {
ocorrencias++;
}
}
float probabilidade = static_cast<float>(ocorrencias) / quantidadeBolas;
cout << fixed << setprecision(2);
cout << "Probabilidade: " << probabilidade << endl;
return 0;
}
</float></iomanip></iostream>
Exercício 10: Análise de Variância
Duas empresas produzem peças com dimensões ligeiramente diferentes. Calcule a variância das dimensões para determinar qual empresa produz peças mais consistentes.
#include <iostream>
using namespace std;
float calcularVarianca(int dados[], int tamanho) {
float soma = 0.0;
for(int i = 0; i < tamanho; i++) {
soma += dados[i];
}
float media = soma / tamanho;
float varianca = 0.0;
for(int i = 0; i < tamanho; i++) {
varianca += (dados[i] - media) * (dados[i] - media);
}
return varianca / tamanho;
}
int main() {
int quantidadeAmostras;
cout << "Digite a quantidade de amostras: ";
cin >> quantidadeAmostras;
int empresaA[quantidadeAmostras], empresaB[quantidadeAmostras];
// Leitura das amostras da empresa A
cout << "Digite as dimensões da empresa A: ";
for(int i = 0; i < quantidadeAmostras; i++) {
cin >> empresaA[i];
}
// Leitura das amostras da empresa B
cout << "Digite as dimensões da empresa B: ";
for(int i = 0; i < quantidadeAmostras; i++) {
cin >> empresaB[i];
}
// Cálculo das variâncias
float varianciaA = calcularVarianca(empresaA, quantidadeAmostras);
float varianciaB = calcularVarianca(empresaB, quantidadeAmostras);
// Determinação da empresa mais consistente
if(varianciaA < varianciaB) {
cout << "A empresa A tem peças mais consistentes." << endl;
} else {
cout << "A empresa B tem peças mais consistentes." << endl;
}
return 0;
}
</iostream>