Skip to content

Instantly share code, notes, and snippets.

@HudsonAfonso
Created March 19, 2012 17:23
Show Gist options
  • Save HudsonAfonso/2120071 to your computer and use it in GitHub Desktop.
Save HudsonAfonso/2120071 to your computer and use it in GitHub Desktop.
Exercícios Estruturas sequenciais parte 1
/*! @file e02.cpp
@brief Exercício 2 - Estruturas sequenciais
@author Hudson Afonso
@version 1.0.0-alpha - http://semver.org
@note Enviar para alexandrebrrib@gmail.com
@link https://gist.github.com/2120071#file_e02.cpp
Um fabricante de latas deseja desenvolver um algoritmo para calcular o custo
de uma lata cilíndrica de alumínio, sabendo-se que o custo do alumínio por
m^2 é R$ 100,00. Dados de Entrada: raio e altura da lata (em metros).\n
Area_lata = area_base(π ∗ r^2 ∗ 2) + area_lado(2 ∗ π ∗ r ∗ h)
*/
#include <iostream>
#include <math.h>
using namespace std;
float r; //!< @brief Raio da lata em metros.
float h; //!< @brief Altura da lata em metros.
float area_base; //!< @brief Area da base da lata;
float area_lado; //!< @brief Area do lado da lata;
float area_lata; //!< @brief Area da lata;
int main()
{
//Configura o cout para fixar em 2 casas decimais quando for float
cout.setf(std::ios::fixed);
cout.precision(2);
cout << "Entre com o raio: ";
cin >> r;
cout << "Entre com a altura: ";
cin >> h;
area_base = M_PI * pow(r, 2) * 2;
area_lado = 2 * M_PI * r * h;
area_lata = area_base + area_lado;
cout << "Custo de R$ " << area_lata * 100 << endl;
return 0;
}
/*! @file e04.cpp
@brief Exercício 4 - Estruturas sequenciais
@author Hudson Afonso
@version 1.0.0-alpha - http://semver.org
@note Enviar para alexandrebrrib@gmail.com
@link https://gist.github.com/2120071#file_e04.cpp
Muitos países estão passando a utilizar o sistema métrico. Fazer um algoritmo
para executar as seguintes conversões:\n
• Ler uma temperatura dada em graus Fahrenheit e imprimir o equivalente em
Celsius (F = 9/5 ∗ C + 32).\n
• Ler uma quantidade de chuva dada em polegadas e imprimir o equivalente em
milímetros (1 polegada = 25,4mm).
*/
#include <iostream>
using namespace std;
float f_temp; //!< @brief Temperatura em Fahrenheit
int c_temp; //!< @brief Temperatura em Celsius
float polegada; //!< @brief Quantidade de chuva em Polegadas
float milimetros; //!< @brief Quantidade de chuva em Milímetros
int main()
{
//Configura o cout para fixar em 2 casas decimais quando for float
cout.setf(std::ios::fixed);
cout.precision(2);
//conversao 1: Fahrenheit => Celsius
cout << "Fahrenheit para Celsius" << endl;
cout << "Entre com a temperatura em Fahrenheit: ";
cin >> f_temp;
c_temp = (f_temp - 32) * 5 / 9;
cout << f_temp << " Fahrenheit = " << c_temp << " Celsius" << endl << endl;
//conversao 2: Polegadas => Milimetros
cout << "Polegadas para Milímetros" << endl;
cout << "Entre com a quantidade de chuva em Polegadas: ";
cin >> polegada;
milimetros = polegada * 25.4;
cout << polegada << " Polegadas = " << milimetros << " Milímetros" << endl;
return 0;
}
/*! @file e06.cpp
@brief Exercício 6 - Estruturas sequenciais
@author Hudson Afonso
@version 1.0.0-alpha - http://semver.org
@note Enviar para alexandrebrrib@gmail.com
@link https://gist.github.com/2120071#file_e06.cpp
O custo ao consumidor de um carro novo é a soma do custo de fábrica com a
percentagem do distribuidor e dos impostos (aplicados ao custo de fábrica).
Supondo que a percentagem do distribuidor seja de 12% do preço de fábrica e
os impostos de 30% do preço de fábrica, fazer um programa para ler o custo
de fábrica de um carro e imprimir o custo ao consumidor.
*/
#include <iostream>
using namespace std;
float f_custo; //!< @brief Custo de Fábrica.
float c_custo; //!< @brief Custo ao Consumidor.
int main()
{
// Configura o cout para fixar em 2 casas decimais quando for float
cout.setf(std::ios::fixed);
cout.precision(2);
cout << "Entre com o Custo de Fábrica: ";
cin >> f_custo;
c_custo = (f_custo * .12) + (f_custo * .3) + f_custo;
cout << "Custo ao consumidor é " << c_custo << endl;
return 0;
}
/*! @file e08.cpp
@brief Exercício 8 - Estruturas sequenciais
@author Hudson Afonso
@version 1.0.0-alpha - http://semver.org
@note Enviar para alexandrebrrib@gmail.com
@link https://gist.github.com/2120071#file_e08.cpp
Desenvolver um algoritmo para ler o nome, idade e peso de três pessoas.
Calcular e imprimir idade e o peso médio das três pessoas.
*/
#include <iostream>
using namespace std;
string nome1; //!< @brief Nome da Primeira pessoa
float idade1; //!< @brief Idade da Primeira pessoa
float peso1; //!< @brief Peso da Primeira pessoa
string nome2; //!< @brief Nome da Segunda pessoa
float idade2; //!< @brief Idade da Segunda pessoa
float peso2; //!< @brief Peso da Segunda pessoa
string nome3; //!< @brief Nome da Terceira pessoa
float idade3; //!< @brief Idade da Terceira pessoa
float peso3; //!< @brief Peso da Terceira pessoa
float idade_m; //!< @brief Idade média
float peso_m; //!< @brief Peso médio
int main()
{
//Configura o cout para fixar em 2 casas decimais quando for float
cout.setf(std::ios::fixed);
cout.precision(2);
cout << "Entre com o Nome, Idade e Peso de três pessoas" << endl;
// 1 pessoa
cout << "Entre com o Nome da primeira pessoa: ";
getline(cin, nome1);
cout << "Entre com a Idade da primeira pessoa: ";
cin >> idade1;
cout << "Entre com o Peso da primeira pessoa: ";
cin >> peso1;
// 2 pessoa
cout << endl << "Entre com o Nome da segunda pessoa: ";
cin.ignore();
getline(cin, nome2);
cout << "Entre com a Idade da segunda pessoa: ";
cin >> idade2;
cout << "Entre com o Peso da segunda pessoa: ";
cin >> peso2;
// 3 pessoa
cout << endl << "Entre com o Nome da terceira pessoa: ";
cin.ignore();
getline(cin, nome3);
cout << "Entre com a Idade da terceira pessoa: ";
cin >> idade3;
cout << "Entre com o Peso da terceira pessoa: ";
cin >> peso3;
idade_m = (idade1 + idade2 + idade3) / 3;
peso_m = (peso1 + peso2 + peso3) / 3;
cout << endl << "Idade média: " << idade_m << endl;
cout << "Peso médio: " << peso_m << endl;
return 0;
}
/*! @file e10.cpp
@brief Exercício 10 - Estruturas sequenciais
@author Hudson Afonso
@version 1.0.0-alpha - http://semver.org
@note Enviar para alexandrebrrib@gmail.com
@link https://gist.github.com/2120071#file_e10.cpp
Dado um número de 3 algarismos construir outro número de quatro algarismos de
acordo com a seguinte regra:\n
• Os três primeiros algarismo, contados da esquerda para direita são iguais
aos do número dado;\n
• o quarto algarismo é um digito de controle calculado da seguinte forma:
primeiro algarismo + segundo algarismo * 3 + terceiro algarismo * 5; o digito
de controle é igual ao resto da divisão dessa soma por 7.
*/
#include <iostream>
using namespace std;
int num; //!< @brief Número de 3 algarismos
int resultado; //!< @brief Número de 4 algarismos
int dc; //!< @brief Digito de controle
int a1; //!< @brief Primeiro algarismo
int a2; //!< @brief Segundo algarismo
int a3; //!< @brief Terceiro algarismo
int main()
{
cout << "Entre com o Número de 3 algarismos: ";
cin >> num;
resultado = num;
a3 = num % 10;
num = num / 10;
a2 = num % 10;
num = num / 10;
a1 = num;
dc = (a1 + a2 * 3 + a3 * 5) % 7;
resultado = resultado * 10 + dc;
cout << "Número de 4 algarismos: " << resultado << endl;
return 0;
}
/*! @file e12.cpp
@brief Exercício 12 - Estruturas sequenciais
@author Hudson Afonso
@version 1.0.0-alpha - http://semver.org
@note Enviar para alexandrebrrib@gmail.com
@link https://gist.github.com/2120071#file_e12.cpp
Dada a base e a altura de uma pirâmide. Fazer um algoritmo que calcule e
escreva o volume desta.\n
Volume = 1/3 * Base * Altura
*/
#include <iostream>
using namespace std;
float base; //!< @brief Base da Pirâmide
float altura; //!< @brief Altura da Pirâmide
float volume; //!< @brief Volume da Pirâmide
int main()
{
//Configura o cout para fixar em 2 casas decimais quando for float
cout.setf(std::ios::fixed);
cout.precision(2);
cout << "Entre com a Base: ";
cin >> base;
cout << "Entre com a Altura: ";
cin >> altura;
volume = base * altura / 3;
cout << "Volume da Pirâmide: " << volume << endl;
return 0;
}
/*! @file e14.cpp
@brief Exercício 14 - Estruturas sequenciais
@author Hudson Afonso
@version 1.0.0-alpha - http://semver.org
@note Enviar para alexandrebrrib@gmail.com
@link https://gist.github.com/2120071#file_e14.cpp
Uma locadora de charretes cobra R$10,00 de taxa para cada 3 horas de uso
destas e R$5,00 para cada 1 hora abaixo destas 3 horas. Fazer um algoritmo
que dado a quantidade de horas que a charrete foi usada calcular e escrever
quanto o cliente tem de pagar.
*/
#include <iostream>
using namespace std;
int horas; //!< @brief Horas que a charrete foi usada.
float total; //!< @brief Total que o cliente tem que pagar.
int main()
{
//Configura o cout para fixar em 2 casas decimais quando for float
cout.setf(std::ios::fixed);
cout.precision(2);
cout << "Entre com a quantidade de horas: ";
cin >> horas;
total = horas / 3 * 10;
total += horas % 3 * 5;
cout << "Por " << horas << " horas o cliente deve pagar R$" << total
<< endl;
return 0;
}
/*! @file e16.cpp
@brief Exercício 16 - Estruturas sequenciais
@author Hudson Afonso
@version 1.0.0-alpha - http://semver.org
@note Enviar para alexandrebrrib@gmail.com
@link https://gist.github.com/2120071#file_e16.cpp
Fazer um algoritmo que leia a idade de uma pessoa expressa em anos, meses e
dias e mostre-a expressa apenas em dias.
*/
#include <iostream>
using namespace std;
int anos; //!< @brief Anos de idade.
int meses; //!< @brief Meses de idade.
float dias; //!< @brief Dias de idade.
int main()
{
//Configura o cout para fixar em 2 casas decimais quando for float
cout.setf(std::ios::fixed);
cout.precision(2);
cout << "Entre com os Anos: ";
cin >> anos;
cout << "Entre com os Meses: ";
cin >> meses;
cout << "Entre com os Dias: ";
cin >> dias;
dias += anos * 365.25;
dias += meses * (365.25 / 12);
cout << dias << " dias" << endl;
return 0;
}
/*! @file e18.cpp
@brief Exercício 18 - Estruturas sequenciais
@author Hudson Afonso
@version 1.0.0-alpha - http://semver.org
@note Enviar para alexandrebrrib@gmail.com
@link https://gist.github.com/2120071#file_e18.cpp
Fazer um algoritmo que leia o tempo de duração de um evento expresso em
segundos e mostre-o expresso em horas, minutos e segundos.
*/
#include <iostream>
using namespace std;
int horas; //!< @brief Horas do evento.
int minutos; //!< @brief Minutos do evento.
int segundos; //!< @brief Segundos do evento.
int main()
{
cout << "Entre com os Segundos: ";
cin >> segundos;
minutos = segundos / 60;
horas = minutos / 60;
minutos = minutos % 60;
segundos = segundos % 60;
cout << horas << " Horas; ";
cout << minutos << " Minutos; ";
cout << segundos << " Segundos" << endl;
return 0;
}
/*! @file e20.cpp
@brief Exercício 20 - Estruturas sequenciais
@author Hudson Afonso
@version 1.0.0-alpha - http://semver.org
@note Enviar para alexandrebrrib@gmail.com
@link https://gist.github.com/2120071#file_e20.cpp
Escrever um algoritmo que lê um valor em reais e calcula qual o menor número
possível de notas de 100, 50, 10, 5 e 1 em que o valor lido pode ser
decomposto. Escrever o valor lido e a relação de notas necessárias.
*/
#include <iostream>
using namespace std;
int reais; //!< @brief Valor em reais.
int n100; //!< @brief Notas de 100 reais.
int n50; //!< @brief Notas de 50 reais.
int n10; //!< @brief Notas de 10 reais.
int n5; //!< @brief Notas de 5 reais.
int n1; //!< @brief Notas de 1 real.
int main()
{
cout << "Entre com o valor em Reais: ";
cin >> reais;
n100 = reais / 100;
reais -= n100 * 100;
n50 = reais / 50;
reais -= n50 * 50;
n10 = reais / 10;
reais -= n10 * 10;
n5 = reais / 5;
reais -= n5 * 5;
n1 = reais;
cout << "O valor pode ser decomposto em:" << endl;
cout << n100 << " notas de 100 reais" << endl;
cout << n50 << " notas de 50 reais" << endl;
cout << n10 << " notas de 10 reais" << endl;
cout << n5 << " notas de 5 reais" << endl;
cout << n1 << " notas de 1 real" << endl;
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment