CI208 – Programação de Computadores
1o semestre 2014
Exercícios ♯01
Expressões



Os exercícios desta lista são compilações de materiais gerados por professores do DINF/UFPR para a disciplina de CI208 - Programação de Computadores.

Nos exercícios abaixo, os nomes entre parênteses no início do enunciado são sugestões para os nomes dos programas solicitados.

1.

Dadas as declarações e atribuições em linguagem C++ 

  • char s;         s = 30;
  • int i;         i = 65000;
  • float f;         f = 0.5;
  • double d;         d = 1.7;

Qual seria o valor e tipo de cada uma das expressões abaixo:

  1. i / s * f
  2. f + s * i - 1
  3. s / i
  4. i / f + s * d
  5. i / s
2.

(progarit)  Dados o primeiro termo e a razão de uma progressão aritmética, determinar a soma dos seus primeiros cinco termos.

  

As fórmulas que definem os termos e soma de uma progressão aritmética (PA) são:

a  = a +  (n − 1)×  r
 n    1

     a1 + an
S =  --2----× n

3.

(casal)  Afrânio tem um peso inicial Pa (e.g., 80 kg) e está engordando a uma média de Ta quilos por ano (e.g. 2 kg/ano). Enquanto isto, Ermengarda, sua amada esposa, tem um peso inicial Pe (e.g. 45kg) e está engordando a uma média de Te quilos por ano (e.g., 3kg/ano). Faça um programa que solicite de um usuário os valores para Pa, Pe, Ta e Te, e calcule e imprima quantos anos serão necessários para que Ermengarda ultrapasse o peso de Afrânio. O programa também deve mostrar os pesos de cada membro do casal ternura neste momento importante de suas vidas. Considere que os valores fornecidos pelo usuário serão consistentes, tal que Ermengarda incialmente é mais magra que Afrânio, mas que Ermengarda engorda mais rápido que seu marido.

  

Observe que a evolução do peso de cada um dos pombinhos é uma PA. Tomando-se n como o número de anos que demora para os pesos serem iguais, use uma das fórmulas da A (exercício 2) para calcular n.

4.

(distpontos)  Construa um programa que, tendo como dados de entrada dois pontos quaisquer no plano, P(x1,y1) e P(x2,y2), escreva a distância entre eles. A fórmula que efetua tal cálculo é:
d = ∘ ----------------------
  (x2 − x1)2 + (y2 − y1)2

5.

(calcfrac)  Escreva um programa que leia três números inteiros e positivos (A,B,C) e calcule a seguinte expressão:

D = R+S2- , onde R = (A + B)2
S = (B + C)2

  

Solução

6.

(iddias)  Faça um programa que leia a idade de uma pessoa expressa em anos, meses e dias e mostre-a expressa apenas em dias.

  

Solução

7.

(idanos)  Faça um programa que leia a idade de uma pessoa expressa em dias e mostre-a expressa em anos, meses e dias.

  

Solução

8.

(mediapond)  Faça um programa que leia as 3 notas de um aluno e calcule a média final deste aluno. Considerar que a média é ponderada e que o peso das notas é: 2, 3 e 5, respectivamente.

9.

(convtempo)  Faça um programa que leia o tempo de fabricação de um carro em uma fábrica de automóveis expressa em segundos e mostre-o expresso em horas, minutos e segundos.

  

Solução

10.

(custocarro)  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 28% e os impostos de 45%, escrever um programa que leia o custo de fábrica de um carro e escreva o custo ao consumidor.

11.

(siseqlinear)  Um sistema de equações lineares do tipo
ax + by = c
dx + ey = f
pode ser resolvido segundo mostrado abaixo :
x = ce−bf
ae−bd- , y = af−cd
ae−bd
Escreva um programa que lê os coeficientes a,b,c,d,e,f e calcula e mostra os valores de x e y.

12.

(troco)  Escrever um programa 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.

13.

(compra)  Uma fábrica produz dois tipos de peças de automóveis para venda no varejo. Escrever um programa que ajuda um cliente de loja de auto-peças a comprar estes tipos de peças. O programa deve ler:

  • a percentagem do IPI a ser acrescido no valor das peças
  • o código da peça 1, valor unitário da peça 1, quantidade de peças 1
  • o código da peça 2, valor unitário da peça 2, quantidade de peças 2

O programa deve calcular o valor total a ser pago e apresentar o resultado. 
Fórmula : (valor1 quant1 + valor2 quant2) (IPI∕100 + 1)

14.

(convsegs)  Dado um numero inteiro que representa uma quantidade de segundos, determinar o seu valor equivalente em horas, minutos e segundos. Se a quantidade de segundos for insuficiente para dar um valor em horas, o valor em horas deve ser 0 (zero). A mesma observação vale em relação aos minutos e segundos. Por exemplo: 3.600 segundos = 1 hora, 0 minutos, 0 segundos. ; 3.500 segundos = 0 horas, 58 minutos e 20 segundos.

15.

(trocadig)  Dado um número inteiro não nulo de três dígitos, imprimir este número ao contrario, isto e, se a entrada for 123 (cento e vinte e tres), imprimir 321 (trezentos e vinte e um). Usar operações sobre inteiros, por exemplo, divisões sucessivas por 10.

  

Solução

16.

(novonum)  Dado um número de três dígitos, construir outro número de quatro dígitos com a seguinte regra: a) os três primeiros dígitos, contados da esquerda para a direita, são iguais aos do número dado; b) o quarto dígito é um dígito de controle calculado da seguinte forma: primeiro dígito + 3*segundo dígito + 5*terceiro dígito; o dígito de controle é igual ao resto da divisão dessa soma por 7.

17.

(divint)  Dados dois números inteiros positivos determinar quantas vezes o primeiro divide exatamente o segundo. Se o primeiro não divide o segundo o número de vezes é zero.

18.

(divpot)  Dados dois números inteiros positivos determinar o valor da maior potência do primeiro que divide exatamente o segundo. Se o primeiro não divide o segundo, a maior potência é definida igual a 1.

19.

(divreal)  Dados dois números reais positivos determinar o quociente inteiro do primeiro pelo segundo usando apenas os operadores aritméticos reais.

20.

(intfrac)  Dado um número real positivo determinar sua parte inteira e sua parte fracionária usando apenas os operadores aritméticos reais.

21.

(calote)  João recebeu seu salário e precisa pagar duas contas atrasadas. Por causa do atraso, ele deverá pagar multa de 2% sobre cada conta. Faça um programa que calcule e mostre quanto restará do salário de João após pagar as contas. O programa deve ler o valor do salário recebido por João e do valor de cada conta que ele deveria ter pago.

22.

(ilumina)  Sabe-se que,para iluminar de maneira correta os cômodos de uma casa, para cada m2 deve-se usar 18W de potência. Faça um programa que recebe as duas dimensões de um cômodo (em metros), calcule e mostre a sua área (em m2) e a potência de iluminação que deverá ser usada.