Universidade Federal de Pernambuco
Cin-Centro de Informática
Professor: Adriano Sarmento
Data: 18/12/2012
Data de entrega: 15/01/2013
Primeira Lista- IP/Engenharia da Computação – 2012.2
Questão 1)
Um cientista, preocupado com a qualidade da água nas vizinhanças de seu laboratório,
decidiu realizar experimentos para determinar se ela era própria para o consumo humano.
Ele então, obteve três amostras de água, e após medir seu resíduo de evaropação, anotou os
dados em sua planilha. Ele tomou a média aritmética entre os três valores, que foi usada
para comparação com uma tabela de referência.
Entretanto, ele percebeu que seria mais fácil criar um programa que facilitasse análises
futuras. É aí que você entra.
Faça um programa que dado o volume de uma amostra e seu resíduo de evaporação,
determine se aquela concentração é segura para o consumo humano, faça isso para as 3
amostras.
A concentração é calculada como:
(massa do resíduo de evaporação)/(volume da amostra).
Imprima também o valor da média entre as concentrações, em gramas/litro.
Os valores de concentração para uma amostra ser considerada segura são os seguintes,em
gramas/litro:
Concentração | Efeito
<5
Segura para consumo.
5 a 15
Insegura, pode causar complicações de saúde.
> 15
Concentração fatal para humanos.
Observação: Sendo o cientista americano, ele mediu os valores do resíduo de evaporação
em onças (uma onça equivale a 28 gramas) e o volume em onças líquidas (uma onça líquida
equivale a 29.7 mL).
Será necessário realizar a adequada conversão das unidades.
Exemplo:
Entrada:
Massa 1: 0.36 onças
Volume 1: 66 onças fluidas
Massa 2: 0.35 onças
Volume 2: 68 onças fluidas
Massa 3: 0.32 onças
Volume 3: 68 onças fluidas
Saída:
Concentração: 4,81 gramas/litros
Níveis seguros para consumo
Questão 2)
O jogo pedra,papel,tesoura,lagarto e spock é uma variação do famoso jogo pedra,papel e
tesoura. Faça um programa que receba do usuário dois chars, representando a opção de dois
jogadores ,faça a comparação para saber quem é o vencedor e imprima o resultado na tela.
As regras do jogo são as seguintes:
- Tesoura corta papel
- Papel cobre pedra
- Pedra esmaga lagarto
- Lagarto envenena spock
- Spock dobra tesoura
- Tesoura decapita lagarto
- Lagarto come papel
- Papel desqualifica spock
- Spock vaporiza pedra
- Pedra esmaga tesoura
As letras que representam cada uma das opções são:
- Pedra (R)
- Papel (P)
- Tesoura(T)
- Lagarto (L)
- Spock(S)
Obs: O uso de switch é obrigatório nessa questão.
Questão 3)
João deseja pintar as paredes do seu quarto, porém ele só tem R$ 100,00 e não sabe quanto
custa cada litro de tinta. Ele quer pintar o quarto dele de Verde e Azul e quer um programa
que calcule se o dinheiro que ele tem é suficiente para pintar os 90 m². Faça um programa
que receba a quantidade de litros que será usada de tinta verde a quantidade de tinta azul e
o preço por litro de cada uma das tintas.
Obs: - 1 litro de tinta pinta 1,5 m²
- João sempre compra no máximo R$ 50,00 de tinta azul e R$ 50,00 de tinta verde, se
não der pra comprar a quantidade de litros de cada tinta com esses valores imprima “Não
foi possível comprar todos os litros de tinta”.
- Caso sobre tinta diga quanto sobrou.
- Caso a quantidade de tinta não seja suficiente imprima a quantidade de m² que foram
pintados.
- Imprima o troco.
- A quantidade de litros é inteiro e o preço é float.
Ex1:
Entrada:
Preço do litro de tinta verde – 2,50
Preço do litro de tinta azul – 1,50
Quantidade de litros de tinta Verde - 10
Quantidade de litros de tinta Azul – 5
Saída: “Quantidade de tinta insuficiente, foram pintados 22,5m2. Troco: RS 67,50”
Ex2:
Entrada:
Preço do litro de tinta verde – 5,00
Preço do litro de tinta azul – 3,50
Quantidade de litros de tinta Verde - 11
Quantidade de litros de tinta Azul – 12
Saída: “Não foi possível comprar todos os litros de tinta. Troco RS 100,00”.
Ex3:
Entrada:
Preço do litro de tinta verde – 1,00
Preço do litro de tinta azul – 0,50
Quantidade de litros de tinta Verde - 45
Quantidade de litros de tinta Azul – 30
Saída: “Sobrou 15 litros de tinta, Troco: RS 40,00”.
Questão 4)
Escreva um programa que receba a data de validade de um produto e a data atual, e
verfique se o produto ainda está dentro da data de validade. Se ele estiver, diga quantos
tempo falta (em dias), para o produto vencer.
Lembre-se das seguintes verificações:
- A data atual deve estar em um formato válido.
Note que datas como 31/02/2012 ou 04/13/2012 são inválidas. Neste caso, o programa deve
imprimir uma mensagem de erro e sair.
Observe também que alguns meses tem 31 dias, outros 30 e fevereiro é um caso especial.
Lembre de levar em consideração se o ano é bissexto. Um ano bissexto é aquele que é
divisível por 4, mas não por 100, ou que é divisível por 400.
Obs: Considere que o ano de fabricação será 2000 <= ano <= 2100.
Obs 2: Apesar de ser necessário considerar se o mês tem 31 dias ou se o ano é bissexto na
entrada das datas, para realizar o cálculo dos dias restantes considere que 1 ano = 12 meses
e que 1 mês = 30 dias.
Exemplo 1:
Entrada:
Data de Validade: 01/02/2013
Data atual: 29/10/2012
Saída:
Faltam 92 dias para o produto vencer.
Exemplo 2:
Entrada
Data de validade: 26/12/2012
Data atual: 10/01/2013
Saída:
O produto está vencido!
Questão 5)
Um empresário, assíduo viajante, costuma ter dificuldades em encontrar vôos que se
encaixem bem com seus horários. Você ficou encarregado de escrever um programa que irá
funcionar da seguinte maneira:
O programa receberá os dados de três vôos, cada uma partindo da mesma cidade A e
chegando na mesma cidade B, que serão os seguintes:
A hora da partida do vôo, no fuso horário da cidade A.
O tempo do vôo, que será dividido da seguinte forma:
- O tempo que o avião passa no ar, em minutos.
- O tempo que ele fica parado no chão. O programa receberá o número de paradas, e o
tempo MÉDIO das paradas, em minutos (um único valor, que pode ser tomado como o
tempo de cada parada).
O programa irá receber também a hora em que o empresário precisará estar na cidade B, no
fuso horário da cidade B.
Os fuso-horários serão representados como inteiros entre -12 e + 12, inclusive.
O programa então deverá dizer se o(s) vôos chegará(ão) a tempo no seu destino, e informar
seu horário de chegada, no horário da cidade B. Ele deve dizer ainda qual vôo é o mais
rápido.
As horas de partida e chegada deverão estar no formato hh:mm. Os tempos de vôo e
paradas devem ser tratados em minutos.
Nota: Considere que partida e chegada sempre serão no mesmo dia.
Exemplo:
Entrada:
Hora de chegada: 19:00
Fuso da cidade B: GMT + 2
Fuso da cidade A: GMT - 1
Voo 1:
Hora de partida: 15:00
Tempo no ar: 120 minutos
Numero de Paradas:2
Tempo médio das paradas: 30 minutos
Voo 2:
Hora de partida: 13:00
Tempo no ar: 120 minutos
Numero de paradas: 1
Tempo médio das paradas: 30 minutos
Voo 3:
Hora de partida: 10:00
Tempo no ar: 120 minutos
Número de paradas: 2
Tempo médio das paradas: 45 minutos
Saída:
O vôo 1 não chega a tempo.
O vôo 1 chega às 21:00.
O vôo 2 chega a tempo.
O vôo 2 chega às 18:30.
O vôo 3 chega a tempo.
O vôo 3 chega às 16:30.
O vôo 3 é o mais rápido.
Download

Adriano Sarmento Data: 18/12/2012 Data de entrega: 15/0