Buscar

CMP1048-Lista de Exercicios 02.pages

Prévia do material em texto

Prof. José Olimpio Ferreira! 30/10/2013 
CMP1048 - Técnicas de Programação I
Lista de Exercícios N. 03 - STRUCT - ARRAYS - FUNÇÕES
Exercício 01 - Escreva um programa em C++ que implemente o jogo da forca. Você deve pesquisar as regras na internet 
e adotar claramente estas regras segundo uma das fontes encontras ( sites ). Indicar a fonte ( site ) das regras 
adotadas no seu programa com comentário no início do arquivo de código do seu programa. Usar necessariamente funções 
e arrays ( vetores e/ou matrizes ).
Exercício 02 - Criar um registro do tipo Estoque definido a seguir:
 struct Estoque 
 { 
 string descricao; 
 int prodNum; 
 int qde; 
 double preco; 
 void obtemEstoque(); 
 void mostraEstoque(); 
 }; 
Faça um programa ( função principal ) para usar este registro. Este programa deve:
• Criar um vetor de 10 registros do tipo Estoque.
• Solicitar do usuário o preenchimento dos 10 registros.
• Mostrar no vídeo os 10 registros.
Exercício 03 - Faça um programa em C++ para solicitar do usuário os coeficientes da equação do 30 grau e calcular o 
ponto de inflexão usando a derivada. Calcular e armazenar num vetor uma quantidade de coordenadas determinada pelo 
usuário mais um ponto de inflexão.
• Calculo do ponto de inflexão usando a derivada.
• f’(x) = 3ax2 + 2bx + c -----> f’’(x) = 6ax + 2b = 0 -----> xi = -2*b / (6*a)
• aplica-se o resultado de xi em f(x) = ax3 + bx2 + cx + d
• Tome a metade das coordenadas para o eixo X menores do que o ponto de inflexão, igualmente espaçadas de 1 em 
1 unidade, e calcule a sua correspondente no eixo Y.
• Tome a metade coordenadas para o eixo X maiores do que o ponto de inflexão, igualmente espaçadas de 1 em 1 
unidade, e calcule a sua correspondente no eixo Y.
Exercício 04 - Criar um registro do tipo Fracao que contenha dois membros de dados do tipo inteiro: numerador e 
denominador, e seis funções membro: soma(), subtrai(), divide(), multiplica(), mdc() e simplifica(). 
Faça um programa para implementar uma calculadora de frações com as operações de adicionar, multiplicar, subtrair e 
dividir, onde todas as frações devem ser armazenadas em registros do tipo Fracao.
Exercício 05 - Criar um registro do tipo Tempo que contenha três membros de dados do tipo inteiro: horas, minutos 
e segundos, e cinco funções membro: validaTempo(), converteTempoSgundos(), converteSegundosTempo(), 
obtemTempo() e mostraTempo(). A função converteSegundosTempo() deve retornar um registro do tipo Tempo. 
A função converteTempoSgundos() deve retornar um long long. O tempo deve ser obtido e mostrado no formato 
h:min:seg ( 12:43:25 ). 
Fazer um’programa para:
• Solicitar do usuário pelo menos dois tempos e armazená-los em registros do tipo Tempo.
• Mostrar os tempos no vídeo.
• Determinar o total de segundos de cada tempo e mostrá-los no vídeo.
• Determinar a diferença entre dois tempos, transformando-os em segundos e fazendo a diferença, e converte-la 
para o formato h:min:seg. Exibir na tela esta diferença convertida para h:min:seg.
Exercício 06 - Criar um registro do tipo Data que contenha três membros de dados do tipo inteiro: dia, mes e ano, e 
cinco funções membro: obtemData(), mostraData(), validaData(), determinaDiaSemana() e 
calculaDiasEntreDatas(). A data deve ser obtida e mostrada no formato dia/mês/ano ( por exemplo: 31/12/2007 ). 
Para o cálculo do número de dias entre duas datas e a determinação do dia da semana faça uma pesquisa ( biblioteca ou 
internet ). Fazer um programa para:
• Solicitar do usuário pelo menos duas datas e armazená-las em registros do tipo Data.
• Determinar o dia da semana de cada data.
• Mostrar as datas no vídeo com os respectivos dias da semana.
• Determinar e mostrar no vídeo o número de dias entre as duas datas.
Boa Sorte!

Continue navegando