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.