Created
March 19, 2012 17:23
-
-
Save HudsonAfonso/2120071 to your computer and use it in GitHub Desktop.
Exercícios Estruturas sequenciais parte 1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*! @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; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*! @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; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*! @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; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*! @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; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*! @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; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*! @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; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*! @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; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*! @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; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*! @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; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*! @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