1 - Escreva um algoritmo para receber o nome de uma pessoa, o ano de nascimento e um ano para calculo. Calcule a idade da pessoa e apresente na tela a seguinte mensagem: "Fulano você tem X anos"
2 - Escreva um algoritmo para calcular o valor a ser pago pelo abastecimento de um veiculo. Sabendo que precisaremos do valor do combustível e da quantidade de litros, faça o calculo para achar o valor a ser pago e apresente o resultado.
3 - Escreva um algoritmo para receber dois valores e apresentar o resultado do quadrado da diferença do primeiro valor pelo segundo valor.
Escrever em linguagem C
Soluções para a tarefa
Resposta:
O truque aí é detectar se a pessoa já fez aniversário ou não no ano corrente
Por exemplo, quem nasceu em 1990 vai fazer 28 anos em 2018 (hoje). Só não sabemos se a pessoa já fez os 28 ou se vai fazer dependendo do mês em que ela nasceu
Em C a conta é simples
idade = ano_atual - ano_nascimento -1 + (mes_nascimento <= mes_atual)
O que acontece aqui é que a expressão booleana
(mes_nascimento <= mes_atual) vai dar 1 (verdadeiro) se o mes de nascimento já tiver passado e vai dar 0 (falso) se o mês ainda não tiver passado.
ano_atual - ano_nascimento -1 dá quantos anos completos a pessoa já viveu
então façamos um teste
Suponha uma moça que nasceu em maio de 1990 portanto ela vai informar
1990 para ano_nascimento
5 para mes_nascimento
Estamos no dia 14 de fevereiro de 2018, portanto,
ano_atual = 2018
mes_atual = 2
Façamos a avaliação da expressão
idade = ano_atual - ano_nascimento -1 + (mes_nascimento <= mes_atual)
idade = 2018 - 1990 - 1 + ( 5 <= 2)
idade = 28 - 1 + (5 <=2)
idade = 27 + (5 <= 2)
idade = 27 + (0)
Idade = 27
Quando for maio, (mes_nascimento <= mes_atual) vai ficar assim
(5 <= 5 ) que é igual a 1 e a moça bonita vai ter então 28 anos.
Espero ter ajudado.