Você está na página 1de 2

Disciplina: Programação I (INF1025)

TÓPICOS: funções e decisão

Exercícios

1. Faça um programa que leia dois valores inteiros DIFERENTES e imprima o maior deles. Considere que o usuário
NÃO digitará valores iguais.
2. Altere o programa anterior para também tratar valores iguais. Caso isso aconteça, deverá ser impressa uma
mensagem avisando o usuário sobre tal fato.
3. Faça uma função chamada imprime_maior que receba três valores inteiros e imprima o maior deles. Não utilize
operadores lógicos. Considere que os três valores são diferentes. Não se esqueça de testar a sua função.
4. Altere a função do item anterior para utilizar operadores lógicos.
5. Altere a função do item anterior para que retorne o maior valor ao invés de imprimi-lo.
6. Sem utilizar operadores lógicos, faça um programa que leia a idade do usuário (inteiro) e informe a sua classe
eleitoral:
 não eleitor: abaixo de 16 anos;
 eleitor facultativo: entre 16 e 18 anos e acima de 65 anos;
 eleitor obrigatório: entre 18 e 65 anos (incluindo os extremos).

7. Altere o programa anterior para utilizar operadores lógicos.


8. Considere o polígono irregular abaixo, formado por três retângulos e um triângulo.

a) Crie a função areaRetangulo que recebe o tamanho dos lados de um retângulo e retorna a sua área;
b) Crie a função calcula_hipotenusa que recebe o tamanho dos dois catetos de um triângulo retângulo e
retorna o valor da hipotenusa;
c) Crie a função areaTotal que recebe os valores dos lados a, b, c, d e e e retorne a área total do polígono;
utilize, obrigatoriamente, as funções dos itens anteriores; dica: a área de um triângulo retângulo de catetos
c1 e c2 é igual à metade da área de um retângulo de lados c1 e c2;
d) Faça um programa que, utilizando todas as funções dos itens anteriores, solicite ao usuário os valores de a,
b, c, d e e e exiba a área de cada figura e a área total.

9. Faça um programa que calcule e exiba a quantidade de latas de tinta necessárias e o custo total para pintar um
tanque cilíndrico de combustível. A altura e o raio do cilindro serão fornecidos pelo usuário (em metros). Uma lata
contém 5 litros de tinta e custa R$20,00 e cada litro de tinta pinta 3 metros quadrados.
a) Faça uma função para calcular a área do retângulo. Esta função recebe a altura e o comprimento
(circunferência do cilindro);
b) Faça uma função para calcular a área do círculo (recebe o raio);
c) Faça uma função para calcular a área do cilindro (recebe o raio e altura); esta função deve chamar as
funções do item anteriores;
d) Faça uma função para calcular a quantidade de latas de tinta necessárias para pintar o tanque.
Disciplina: Programação I (INF1025)

10. Faça um programa, utilizando adequadamente as funções abaixo (feitas nos itens a, b e c), que leia o ano
(número inteiro de 4 dígitos), descubra os valores A, B, C, D, E, X e Y, calcule e exiba o dia e o mês da Páscoa
do ano lido, caso possa ser calculado, ou a mensagem 'Impossível de determinar', caso contrário. Os valores A,
B, C, D e E são calculados pelas fórmulas abaixo. Os valores X e Y são calculados pelas funções dos itens a e b.
A = ano % 19 D = (19 * A + X) % 30
B = ano % 4 E = (2 * B + 4 * C + 6 * D + Y) % 7
C = ano % 7
Tabela para utilização nos itens a e b:

Ano X Y a) Faça a função descobre_x que recebe como parâmetro o ano e


de 1900 a 1999 24 5 retorna o valor de X de acordo com a tabela acima;
de 2000 a 2099 24 5 b) Faça a função descobre_y que recebe como parâmetro o ano e
de 2100 a 2199 24 6 retorna o valor de Y de acordo com a tabela acima;
de 2200 a 2299 25 7 c) Faça a função exibe_dia_mes que recebe como parâmetros os
valores A, D e E e exibe o dia e o mês da Páscoa, calculados da
seguinte forma:
o Caso (D + E) > 9  DIA = (D + E - 9) e MES = 4 (Abril);
o Caso (D + E) ≤ 9  DIA = (D + E + 22) e MES = 3 (Março).
Há dois casos particulares que ocorrem duas vezes por século:
 Quando o domingo de Páscoa cair no mês 4 (Abril) e o dia for 26, corrige-se para uma semana antes, ou
seja, vai para dia 19;
 Quando o domingo de Páscoa cair no mês 4 (Abril), o dia for 25, D for igual a 28 e A for maior que 10, então
o dia é corrigido para 18.

11. Uma empresa aérea está fornecendo um desconto padrão para todos os seus clientes na compra de passa
passagens do tipo inteira. Para os clientes que possuem cartão fidelidade, a empresa oferece desconto também
extra, dependendo do número de tarifas do tipo meia e inteiras.

a) Faça a função desconto_padrao que recebe como parâmetros o preço da tarifa normal e a quantidade de
passagens do tipo inteira e retorna o valor total do desconto padrão (não é o percentual de desconto). Cálculo
do valor do desconto padrão:
 Até 2 passagens inteiras  10% de desconto no preço da tarifa normal inteira
 De 3 até 5 passagens inteiras  15% de desconto no preço da tarifa normal inteira
 Acima de 5 passagens inteiras  20% de desconto no preço da tarifa normal inteira
b) Faça a função desconto_fidelidade que recebe como parâmetros a quantidade de passagens do tipo meia e a
quantidade de tarifas inteiras e retorna o valor total do desconto fidelidade. Cálculo do valor do desconto
fidelidade:
 R$100,00 de desconto caso o número de inteiras seja menor que o número de meias;
 R$200,00 de desconto caso o número de inteiras seja o dobro do número de meias;
 R$100,00 de desconto caso o número de inteiras seja maior que o número de meias;
 R$100,00 de desconto caso o número de inteiras seja igual ao número de meias.
c) Faça um programa, utilizando adequadamente as funções acima (feitas nos itens a e b), que leia o preço da
tarifa normal inteira, o tipo do cliente (‘f’ – possui cartão fidelidade, ‘n’ – não possui cartão fidelidade), a
quantidade de passagens do tipo inteira e a quantidade de passagens do tipo meia e exiba o valor total do
desconto e o valor total a ser pago pelo cliente na compra das passagens.
Observação: sabe-se que o valor da passagem do tipo meia é 50% da tarifa normal inteira.
12. Faça uma função resultado_aluno que receba as duas notas de um aluno (reais) e imprima uma mensagem
informando se o aluno está aprovado, reprovado ou deve fazer prova final. Critério:
 o aluno será aprovado se sua média aritmética for maior ou igual a 5.0 e se as duas notas forem maiores
ou iguais a 3.0;
 o aluno será reprovado se a sua média for inferior a 3.0;
 em qualquer outra situação, o aluno estará em final e a função deverá exibir qual a nota mínima exigida
na prova final para que o aluno seja aprovado:
 a prova final deve substituir a menor das duas notas anteriores;
 a nova média deve ser maior ou igual a 5.0 para que o aluno seja aprovado.
Observação: não se esqueça de testar a sua função!

Você também pode gostar