Você está na página 1de 6

LISTA 5 – LINGUAGEM DE PROGRAMAÇÃO

Questões do Cap. 6: 6.4, 6.5, 6.12, 6.15, 6.19, 6.25, 6.27

6.3 Veja o seguinte programa:


6.4
a) double hypotenuse( double side1, double side2 )
b) int smallest( int x, int y, int z )
c) void instructions( void ) // em C++ (void) pode ser escrito ()
d) double intToDouble( int number )

6.5
a) double hypotenuse( double, double );
b) int smallest( int, int, int );
c) void instructions( void ); // em C++ (void) pode ser escrito ()
d) double intToDouble( int );

6.12
Um estacionamento cobra uma taxa mínima de $ 2,00 para estacionar por até três horas. Um adicional de $ 0,50 por
hora não necessariamente inteira é cobrado após as três primeiras horas. A carga máxima para qualquer dado
período de 24 horas é $ 10,00. Suponha que nenhum carro fique estacionado por mais de 24 horas por vez. Escreva
um programa que calcula e imprime os custos de estacionamento de cada um dos três clientes que estacionou o
carro nessa garagem ontem. Você deve inserir as horas de estacionamento para cada cliente.
Seu programa deve imprimir os resultados em um formato tabular elegante e deve calcular e imprimir o total dos
recibos de ontem. O programa deve utilizar a função calculateCharges para determinar a tarifa para cada cliente.
Suas saídas devem aparecer no seguinte formato testado e aprovado

#include <iostream>

#include <cmath>

#include <iomanip>

using std ::cout;

using std ::cin;

using std ::endl;

using std ::fixed;

using namespace std;

//using std ::setpreciosion;

double calculateCharges( double h){

double total;

double t = h;

if(t <= 3){

total = 2;

else if ((t > 3 )&& (t < 24)){

total = 2 + ((t - 3) * 0.5);


}

else{

total = 10;

return total;

int main(){

double t1, t2, t3;

cout <<"Informe o primeiro tempo: ";

cin>>t1;

cout <<"\nInforme o segundo tempo: ";

cin>>t2;

cout <<"\nInforme o terceiro tempo: ";

cin>>t3;

cout<<"Carro | "<<"Horas | "<<" Total a pagar";

cout<<"\n A--------"<<t1<<"----------"<< calculateCharges(t1);

cout<<"\n B--------"<<t2<<"----------"<< calculateCharges(t2);

cout<<"\n C--------"<<t3<<"----------"<< calculateCharges(t3);

cout<<"\n Total----"<<t1+t2+t3<<"---------"<<calculateCharges(t1)+calculateCharges(t2)+calculateCharges(t3);

6.15
Responda a cada uma das seguintes perguntas:

a) O que significa escolher números ‘aleatoriamente’?


R= É gerar valores rondômicos que não se sabe a lógica da fórmula que produz os valores aleatórios. São valores
gerados que não possui sequência lógica, não dispõe de previsibilidade e possui uma boa distribuição.
b) Por que a função rand é útil para simular jogos de azar?
R= Afunção RAND é a abreviação de randômico, ou seja, o mesmo que aleatório, ela gera números imprevisíveis.
c) Por que você poderia querer aleatorizar um programa utilizando srand? Sob quais circunstâncias é desejável não
aleatorizar?
d) Por que freqüentemente é necessário escalonar ou deslocar os valores produzidos por rand?
e) Por que a simulação computadorizada de situações do mundo real é uma técnica útil?

6.19
(Hipotenusa) Defina uma função hypotenuse que calcula o comprimento da hipotenusa de um triângulo reto quando
os outros dois lados são dados. Utilize essa função em um programa para determinar o comprimento da hipotenusa
para cada um dos triângulos mostrados abaixo. A função deve aceitar dois argumentos double e retornar a
hipotenusa como um double.
#include <iostream>
#include <cmath>
#include <iomanip>
using std ::cout;
using std ::cin;
using std ::endl;
using std ::fixed;
using namespace std;
//using std ::setpreciosion;

double hypotenuse( double a, double b){


double h = sqrt(a*a+b*b);
return h;
}
int main(){
double ta1, ta2, tb1, tb2, tc1, tc2;
cout <<"Informe o lado triangulo A: ";
cin>>ta1;
cout <<"\nInforme outro do triangulo A: ";
cin>>ta2;
cout <<"Informe o lado triangulo B: ";
cin>>tb1;
cout <<"\nInforme outro do triangulo B: ";
cin>>tb2;
cout <<"Informe o lado triangulo C: ";
cin>>tc1;
cout <<"\nInforme outro do triangulo C: ";
cin>>tc2;
cout<<"Triangulo "<<"Lado 1 "<<" Lado 2 "<<" Hipotenusa";
cout<<"\n A----------"<<ta1<<"-------"<<ta2<<"-------"<< hypotenuse(ta1,ta2);
cout<<"\n A----------"<<ta1<<"-------"<<ta2<<"-------"<< hypotenuse(tb1,tb2);
cout<<"\n A----------"<<ta1<<"-------"<<ta2<<"-------"<< hypotenuse(tc1,tc2);

6.25

Escreva segmentos de programa que realizam cada uma das seguintes instruções:

a) Calcule a parte inteira do quociente quando o inteiro a é dividido pelo inteiro b. testado e aprovado
#include <iostream>
#include <cmath>
#include <iomanip>
using std ::cout;
using std ::cin;
using std ::endl;
using std ::fixed;
using namespace std;
int calcula( double n1, double n2){
int div = n1/n2;
return div;
}
int main(){
double n1,n2;
cout <<"Informe o primeiro numero: ";
cin>>n1;
cout <<"\nInforme o segundo numero: ";
cin>>n2;
cout<<calcula(n1, n2);
}
b) Calcule o resto inteiro quando o inteiro a é dividido pelo inteiro b.testado e aprovado
#include <iostream>
#include <cmath>
#include <iomanip>
using std ::cout;
using std ::cin;
using std ::endl;
using std ::fixed;
using namespace std;
int calcula( int n1, int n2){
int div = n1 % n2;
return div;
}
int main(){
double n1,n2;
cout <<"Informe o primeiro numero: ";
cin>>n1;
cout <<"\nInforme o segundo numero: ";
cin>>n2;
cout<<calcula(n1, n2);
}

c) Utilize as partes do programa desenvolvido em (a) e (b) para escrever uma função que insere um inteiro entre 1 e
32767 e o imprime como uma série de dígitos, do qual cada par é separado por dois espaços. Por exemplo, o inteiro
4562 deve ser impresso da seguinte maneira:

6.27

(Temperaturas Celsius e Fahrenheit) Implemente as seguintes funções para trabalhar com inteiros:

a) A função celsius retorna o equivalente em Celsius de uma temperatura em Fahrenheit. testado e aprovado
#include <iostream>
using std ::cout;
using std ::cin;
using std ::endl;

fahrenheit(){
float c, f;
cout<<"Valor em fahrenheit: ";
cin>>f;
f = (f - 32) * 5/9;
cout<<"\n Fahrenheit: " << f;
cout<<"\n Celcius: " <<c;
}
int main(){
fahrenheit();
}

b) A função fahrenheit retorna o equivalente em Fahrenheit de uma temperatura em Celsius. testado e aprovado
#include <iostream>
using std ::cout;
using std ::cin;
using std ::endl;

celcius(){
float c, f;
cout<<"Valor em Celcius: ";
cin>>c;
f = (c * 9/5)+32;
cout<<"Celcius: " <<c;
cout<<"\n Fahrenheit: " << f;
}
int main(){
celcius();
}

c) Utilize essas funções para escrever um programa que imprime gráficos para mostrar os equivalentes em
Fahrenheit de todas as temperaturas
em Celsius de 0 a 100 graus e os equivalentes em Celsius de todas as temperaturas em Fahrenheit de 32 a 212
graus. Imprima
as saídas em um formato tabular elegante que minimiza o número de linhas de saída mas permanece legível.testado
e aprovado
#include <iostream>
using std ::cout;
using std ::cin;
using std ::endl;

float fahrenheit(float c){


float f = (c * 9/5)+32;
return f;
}
float celcius(float f){
float c = (f-32) * 5 /9;
return c;
}

int main(){
float c;

cout<<"C - F";
for(int c=0; c<=100; c++){
cout<<"\n"<<c<<" - "<< fahrenheit(c);
}

cout<<"\nF - C";
for(float f=32; f<=212; f=f+1.8){
cout<<"\n" <<f<< " - " <<celcius(f);
}
}

Você também pode gostar