Escreva uma função chamada estacionamento que recebe como parâmetros a hora e minuto de entrada, e hora e minuto de saída de um estacionamento e retorna o valor total devido de acordo com as seguintes regras:
Quantidade de Horas | Tarifa |
---|---|
Até duas horas |
|
Entre três e quatro horas |
|
Acima de quatro horas |
|
0 número de horas a pagar é sempre inteiro e arredondado por excesso. Por exemplo, quem estacionar por 1 minuto pagará por 1 hora. Quem estacionar durante 61 minutos pagará por 2 horas. Perceba que os momentos de entrada e saída do estacionamento são apresentados na forma de pares de inteiros, representando horas e minutos. Por exemplo, o par
representará
Observação 1: O nome da função deve ser exatamente como especificado acima e seu arquivo deve obrigatoriamente se chamar problema3.py.
Observação 2: Seu programa deve conter apenas a função descrita acima. Você não precisa realizar a entrada e saída de dados (não precisa usar as funções input() e print()).
Observação 1: O nome da função deve ser exatamente como especificado acima e seu arquivo deve obrigatoriamente se chamar problema3.py.
Observação 2: Seu programa deve conter apenas a função descrita acima. Você não precisa realizar a entrada e saída de dados (não precisa usar as funções input() e print()).
Passo 1
Então, vamos lá! O que a gente precisa fazer aqui é criar uma função chamada
estacionamento
que vai calcular quanto alguém tem que pagar ao estacionar o carro. Para isso, vamos receber as horas e minutos de entrada e saída do estacionamento. Vamos precisar calcular o tempo total que o carro ficou estacionado e, com base nesse tempo, aplicar a tarifa correta conforme as regras fornecidas. Vamos usar operações matemáticas básicas e estruturas condicionais para isso.Passo 2
Primeiro, precisamos calcular o tempo total que o carro ficou estacionado. Para facilitar, vamos converter tudo para minutos. A gente faz isso multiplicando as horas por 60 e somando os minutos. Por exemplo, se a entrada foi às 12:50 e a saída às 14:10, a gente converte para minutos:
Passo 3
Depois de ter o total de minutos, a gente precisa converter isso para horas inteiras. Mas atenção: sempre que tiver um minuto extra, a gente arredonda para cima. Isso significa que se a pessoa estacionou por 61 minutos, ela paga por 2 horas. A gente pode usar a função de teto (ceil) para isso:
Como não estamos usando bibliotecas, podemos fazer isso de uma forma simples: se houver algum resto na divisão, adicionamos 1 à parte inteira.
Passo 4
Agora que temos o total de horas, vamos determinar qual tarifa se aplica. As regras são:
- Até 2 horas: R$ 1,00 por hora
- Entre 3 e 4 horas: R$ 1,40 por hora
- Acima de 4 horas: R$ 2,00 por hora
Então, vamos usar estruturas condicionais para verificar em qual faixa o tempo se encaixa.
Passo 5
Com a tarifa certa identificada, basta multiplicar o total de horas pelo valor correspondente para obter o valor total a pagar:
Passo 6
Por fim, vamos retornar o valor total calculado pela função.
Resposta
Aqui está a função completa seguindo os passos acima:
import math
def estacionamento(hora_ent, min_ent, hora_sai, min_sai):
# Calcula o total de minutos da entrada e saída
total_minutos_entrada = hora_ent * 60 + min_ent
total_minutos_saida = hora_sai * 60 + min_sai
# Calcula a diferença em minutos
diferenca_minutos = total_minutos_saida - total_minutos_entrada
# Converte para horas, arredondando para cima
total_horas = math.ceil(diferenca_minutos / 60)
# Determina a tarifa por hora
if total_horas <= 2:
tarifa = 1.00
elif 3 <= total_horas <= 4:
tarifa = 1.40
else:
tarifa = 2.00
# Calcula o valor total
valor_total = total_horas * tarifa
return valor_total
Exercícios relacionados
Escreva uma função chamada consumo que recebe como parâmetros a distância percorrida em quilômetros e a quantidade de litros de gasolina consumidos por um veículo para percorrer tal distância. Sua função deve retornar uma mensagem de acordo com a tabela abaixo:
Consumo |
|
Mensagem |
---|---|---|
Menor que | 8 | Venda o carro! |
Entre | 8 e 12 | Econômico! |
Maior que | 12 | Super econômico! |
Observação 1: O nome da função deve ser exatamente como especificado acima e seu arquivo deve obrigatoriamente se chamar problema2.py.
Observação 2: Seu programa deve conter apenas a função descrita acima. Você não precisa realizar a entrada e saída de dados (não precisa usar as funções input() e print()).
Observação 2: Seu programa deve conter apenas a função descrita acima. Você não precisa realizar a entrada e saída de dados (não precisa usar as funções input() e print()).
Escreva uma função chamada valor_energia que recebe como parâmetros a quantidade de kWh consumida no mês e o tipo de instalação ( R para residências, C para comércios e I para indústrias). A função deve retornar o preço a pagar pelo fornecimento de energia elétrica, conforme as regras definidas na tabela a seguir:
Preço por tipo e faixa de consumo | ||
---|---|---|
Tipo | Faixa(kWh) | Preço do kWh |
Residencial | Até 500 |
|
Acima de 500 |
|
|
Comercial | Até 1000 |
|
Acima de 1000 |
|
|
Industrial | Até 5000 |
|
Acima de 5000 |
|
Observação 1: O nome da função deve ser exatamente como especificado acima e seu arquivo deve obrigatoriamente se chamar problema4.py.
Observação 2: Seu programa deve conter apenas a função descrita acima. Você não precisa realizar a entrada e saída de dados (não precisa usar as funções input() e print()).
Observação 2: Seu programa deve conter apenas a função descrita acima. Você não precisa realizar a entrada e saída de dados (não precisa usar as funções input() e print()).
Instancie uma variável homogênea unidimensional inteira em linguagem C.(2.0)
Qual estrutura de repetição na linguagem
é a mais recomendada para valores contáveis com limite definido? Justifique (2.0)