Crie um programa que:
  • pergunte ao usuário seu nome (texto), idade (inteiro) e altura (real);
  • armazene cada valor em uma variável;
  • exiba na tela a seguinte mensagem:
    Olá, <nome>! Você tem <idade> anos e mede <altura> metros.

Passo 1

O que o problema pede e os dados que ele dá:
  • Pedir ao usuário três informações: nome (texto), idade (inteiro) e altura (número real).
  • Armazenar cada valor em uma variável separada.
  • Exibir na tela a mensagem exatamente no formato:
    Olá, <nome>! Você tem <idade> anos e mede <altura> metros.
Informações relevantes extraídas do enunciado:
  • O nome é uma sequência de caracteres (string).
  • A idade deve ser um inteiro.
  • A altura deve ser um número real (pode ter vírgula ou ponto como separador decimal).
  • A saída deve juntar os valores nas posições indicadas dentro da frase.

Passo 2

Escolha da linguagem e método
  • Vou usar Python porque é simples, muito usado em provas/listas iniciais e permite ler texto e números facilmente com poucas linhas.
  • Método básico: usar a função built-in input() para ler do usuário; converter para os tipos desejados com int() e float(); guardar em variáveis; montar a string final e imprimir com print().
  • Esse é o método mais direto e seguro para o que o enunciado pede.

Passo 3

Conceitos essenciais (variáveis e tipos) — explicação tipo-aula
  • Variável: um nome que guarda um valor na memória. Ex.: nome = “Ana”.
  • Tipo string (texto): em Python, valores lidos por input(…) já vêm como string.
  • Tipo inteiro: representa números sem parte decimal. Em Python converte-se uma string usando int(s).
    • Exemplo: s = “21”; idade = int(s) → idade agora vale 21 (tipo int).
    • Se a string não for um número inteiro válido, int(…) gera um erro.
  • Tipo float (real): representa números com parte decimal. Converte-se com float(s).
    • Exemplo: s = “1.75”; altura = float(s) → altura = 1.75 (tipo float).
    • Em português, o usuário pode digitar “1,75” com vírgula. Antes de chamar float(), substitui-se vírgula por ponto: s = s.replace(’,’, ‘.’).
  • Boa prática: validar entradas (perguntar de novo se a conversão falhar), para evitar que o programa quebre se o usuário digitar algo errado.

Passo 4

Como ler o nome (passo a passo)
  • Usar input() fornece uma string; armazenar direto em uma variável.
  • Recomendo “limpar” espaços extras com .strip().
  • Exemplo de código:
    nome = input("Digite seu nome: ").strip()
Explicação: input(…) mostra a mensagem e retorna tudo que o usuário digitou como string. strip() remove espaços no começo e fim.

Passo 5

Como ler a idade (validação)
  • Ler com input(), tentar converter com int(). Se der erro, pedir novamente.
  • Estrutura: laço while True com try/except para capturar ValueError.
  • Exemplo de lógica (explicado):
    1. Ler texto.
    2. Tentar int(texto).
    3. Se ok, guardar em idade e sair do laço.
    4. Se der erro, avisar e pedir de novo.
Isso evita que o programa caia caso o usuário digite letras por engano.

Passo 6

Como ler a altura (tratar vírgula e validar)
  • Ler com input(). Permitir que usuário use vírgula (ex: “1,75”) ou ponto (“1.75”).
  • Converter vírgula para ponto antes de float(): s = s.replace(’,’, ‘.’).
  • Usar try/except para validar float; em caso de erro, pedir de novo.
  • Decidir quantas casas decimais mostrar na saída: normalmente duas casas são boas para altura (ex: 1,75). Vou formatar para duas casas no output.

Passo 7

Como montar e exibir a mensagem final (formatação)
  • Em Python, f-strings são uma forma simples e legível: f"Olá, {nome}! Você tem {idade} anos e mede {altura} metros."
  • Para mostrar a altura com duas casas decimais e usando vírgula decimal (formato comum em PT-BR):
    1. criar uma string formatada com ponto: s = f"{altura:.2f}" → exemplo “1.75”
    2. trocar ponto por vírgula para exibição: s_display = s.replace(’.’, ‘,’) → “1,75”
  • Finalmente, usar print(…) para mostrar a frase completa.

Passo 8

Exemplo de execução (para você ver como fica na prática)
  • Usuário digita:
    • nome: Maria
    • idade: 20
    • altura: 1,68
  • Saída exibida:
    Olá, Maria! Você tem 20 anos e mede 1,68 metros.

Passo 9

Programa completo (descrição)
  • O programa que vou colocar na seção de resposta faz tudo que pedimos:
    • pede nome, idade e altura;
    • valida idade como inteiro e altura como real (aceitando vírgula ou ponto);
    • formata a altura com duas casas decimais e usa vírgula decimal para exibir;
    • imprime exatamente a frase solicitada.

Resposta

# Programa: ler nome, idade e altura e mostrar a mensagem pedida

# Leitura do nome
nome = input("Digite seu nome: ").strip()

# Leitura da idade com validação (inteiro)
while True:
    s_idade = input("Digite sua idade (inteiro): ").strip()
    try:
        idade = int(s_idade)
        break
    except ValueError:
        print("Entrada inválida. Digite um número inteiro para a idade.")

# Leitura da altura com validação (real). Aceita vírgula ou ponto.
while True:
    s_altura = input("Digite sua altura em metros (ex: 1,75 ou 1.75): ").strip()
    s_altura = s_altura.replace(',', '.')  # permite vírgula
    try:
        altura = float(s_altura)
        break
    except ValueError:
        print("Entrada inválida. Use números, por exemplo 1,75 ou 1.75.")

# Formatar a altura para exibição com duas casas decimais e vírgula decimal
altura_str = f"{altura:.2f}".replace('.', ',')

# Exibir a mensagem final
print(f"Olá, {nome}! Você tem {idade} anos e mede {altura_str} metros.")

Exercícios relacionados