Crie variáveis para armazenar:
Estado do tempo (chuvoso ou não).
Estado do tempo (chuvoso ou não).
Passo 1
O que o enunciado pede: criar variáveis para armazenar o estado do tempo com duas possibilidades: “chuvoso” ou “não chuvoso”. Não foi especificada linguagem, então vou usar Python (é simples, comum em provas/EPs e fácil de entender). Vou listar opções práticas para armazenar essa informação, explicar cada uma passo a passo e mostrar exemplos de uso na prova.
Passo 2
Quais são as necessidades implícitas e decisões a tomar:
- Precisamos representar apenas duas condições: chuvoso / não chuvoso.
- É útil escolher uma representação que:
- Seja clara para leitura humana (quem for corrigir ou usar o código entenda rápido).
- Seja fácil de testar em condições (if/else).
- Evite ambiguidades (ex.: “chuva fraca” vs “chuva” se não requerido).
- Opções simples: booleano, string, inteiro com constantes, enum. Vou explicar cada uma e quando usar.
Passo 3
Opção 1 — Usar um booleano (mais direto).
- Ideia: variáveis booleanas só aceitam dois valores:
TrueouFalse. Perfeito para “chuvoso ou não”. - Vantagens: simples, rápido para testar em
if, pouco espaço de memória. - Código (Python):
chuvoso = True # significa que está chovendo
# ou
chuvoso = False # significa que não está chovendo
- Uso típico:
if chuvoso:
print("Levar guarda-chuva")
else:
print("Não precisa de guarda-chuva")
- Observação: como a variável é genérica (
chuvoso), o nome já indica o queTruerepresenta — isso evita confusão.
Passo 4
Opção 2 — Usar uma string (mais explícito / legível).
- Ideia: guardar
"chuvoso"ou"nao_chuvoso"(ou"ensolarado"etc.). - Vantagens: legível ao inspecionar; facilita expandir para mais estados depois.
- Desvantagens: comparações podem ser sensíveis a maiúsculas/minúsculas; ocupa mais memória que booleano.
- Código (Python):
estado_tempo = "chuvoso" # ou "nao_chuvoso"
# exemplo de teste (normalizar para evitar erros de case):
if estado_tempo.lower() == "chuvoso":
print("Está chovendo")
Passo 5
Opção 3 — Usar inteiros com constantes (bom para performance/compatibilidade).
- Ideia: definir constantes numéricas para cada estado, por exemplo
1= chuvoso,0= não chuvoso. - Vantagens: eficiente, útil se for transmitir por rede ou salvar em banco que usa inteiros.
- Desvantagens: menos legível sem as constantes nomeadas.
- Código (Python):
CHUVOSO = 1
NAO_CHUVOSO = 0
estado = CHUVOSO
if estado == CHUVOSO:
print("Levar capa")
- Dica: sempre usar nomes de constantes em maiúsculas para ficar claro o significado.
Passo 6
Opção 4 — Usar Enum (mais formal/seguro para múltiplos estados).
- Ideia: criar um tipo enumerado com os possíveis estados; evita erros de digitação e é claro.
- Vantagens: seguro, legível, extensível para mais estados (nublado, chuva forte, etc.).
- Código (Python):
from enum import Enum
class EstadoTempo(Enum):
CHUVOSO = 1
NAO_CHUVOSO = 0
estado = EstadoTempo.CHUVOSO
if estado is EstadoTempo.CHUVOSO:
print("Chuva detectada")
- Observação: usar
isou comparar com a enum direta é a prática recomendada.
Passo 7
Como escolher entre as opções — recomendações práticas:
- Se só precisa de um teste simples e quer código enxuto: use booleano (
chuvoso = True/False). - Se precisa de legibilidade e possivelmente expandir os estados: use string ou Enum.
- Se for parte de um protocolo/BD que exige números: use inteiros com constantes.
- Para provas de programação/algoritmos, o booleano costuma ser a escolha esperada por ser direta.
Passo 8
Exemplos adicionais úteis para a prova (leitura e conversão de entrada):
- Ler uma entrada textual e converter para booleano de forma robusta:
entrada = input("Está chovendo? (s/n): ").strip().lower()
chuvoso = (entrada == "s" or entrada == "sim")
- Manter o estado para várias cidades (dicionário):
tempo_cidades = {"SP": True, "RJ": False} # True = chuvoso
Passo 9
Boas práticas finais:
- Nomeie a variável para deixar claro o que
Truerepresenta (ex.:esta_chovendoouchuvoso). - Quando for usar em condições, prefira testes explícitos se houver ambiguidade (ex.:
if estado == EstadoTempo.CHUVOSO:). - Comente quando usar inteiros (para que
1significa chuvoso). - Teste os casos na prova mentalmente:
True→ execute ação A;False→ ação B.
Resposta
Opção simples (booleano)
chuvoso = True # ou False
Opção legível (string)
estado_tempo = “chuvoso” # ou “nao_chuvoso”
Opção com constantes (inteiro)
CHUVOSO = 1
NAO_CHUVOSO = 0
estado = CHUVOSO
NAO_CHUVOSO = 0
estado = CHUVOSO
Opção robusta (Enum)
from enum import Enum
class EstadoTempo(Enum):
CHUVOSO = 1
NAO_CHUVOSO = 0
estado = EstadoTempo.CHUVOSO
class EstadoTempo(Enum):
CHUVOSO = 1
NAO_CHUVOSO = 0
estado = EstadoTempo.CHUVOSO