Faça um programa que leia um valor
indicando a quantidade de valores a ler em seguida. Um número deve ser lido por vez e seu programa deve classificá-lo como positivo ou negativo. (1)
Passo 1
O enunciado pede que o programa faça o seguinte:
- Leia um valor inteiro
que indica quantos números serão lidos em seguida. - Em seguida, leia exatamente
números, um por vez. - Para cada número lido, classificar e informar se ele é positivo ou negativo.
Informações relevantes que o enunciado dá:
- Entrada inicial: um inteiro
(quantidade de valores a ler). - Depois da entrada de
: haverá números (podem ser inteiros ou reais — o enunciado não especifica, então é seguro aceitar números com casas decimais). - Saída esperada: para cada número lido, imprimir a classificação correspondente (positivo ou negativo). O enunciado não fala sobre o que fazer com o valor
; para evitar ambiguidade, o programa também tratará explicitamente (ver passos seguintes).
O enunciado não pede nenhum formato de saída específico (por ex., texto exato em maiúsculas/minúsculas), então será usado um formato claro e consistente: imprimir uma linha por número, com uma palavra indicando a classificação.
Passo 2
Escolha do método de resolução (resumido, sem detalhes de implementação):
- Fazer um loop que repete exatamente
vezes. - Em cada iteração: ler o número atual, comparar com zero e classificar em três casos possíveis:
- número
→ “POSITIVO”; - número
→ “NEGATIVO”; - número
→ “NULO” (tratamento explícito para evitar ambiguidade).
- número
- Imprimir a classificação imediatamente para cada número lido.
Por que esse método:
- É simples, direto e usa operações básicas (leitura, comparação e impressão).
- É o método mais básico e apropriado para um problema que exige processar uma sequência de entradas uma a uma.
Passo 3
Conceitos básicos que vamos usar (explicados de forma prática):
- Laço de repetição (loop): permite executar o mesmo bloco de código
vezes. Em Python, usa-se por exemplo for i in range(n):.- Aqui
né o número de vezes que o loop deve executar.
- Aqui
- Leitura de entrada: o programa lê linhas de texto da entrada padrão. Em Python,
input()lê uma linha como string. - Conversão de tipo: a entrada lida é texto; para fazer comparações numéricas converte-se para
int(se soubermos que é inteiro) oufloat(se aceitarmos reais). Usaremosfloatpara aceitar ambos.- Ex.:
x = float(input().strip()).
- Ex.:
- Comparações numéricas:
>e<para verificar se é maior ou menor que zero;==para igualdade com zero. - Impressão:
print(...)para escrever a classificação na saída.
Exemplo simples para entender a ideia:
- Se
e os números lidos são , , , as classificações seriam: -
→ “POSITIVO” -
→ “NEGATIVO” -
→ “NULO”
-
Passo 4
Detalhamento passo a passo do algoritmo (em linguagem quase-pseudocódigo, mas fácil de transformar em código real):
- Ler
e converter para inteiro. - Repetir para
de até :
a. Ler o próximo número como string e converter para número real (float).
b. Se o número for maior que zero, imprimir “POSITIVO”.
c. Senão, se o número for menor que zero, imprimir “NEGATIVO”.
d. Senão (ou seja, é exatamente zero), imprimir “NULO”. - Terminar.
Observações práticas para a prova:
- Cuidado com espaços em branco ao ler: usar
.strip()ajuda a evitar problemas com quebras de linha extras. - Se o enunciado garante que os números são inteiros, usar
int()também está ok;float()é mais geral. - Se
for igual a , o loop não será executado e o programa não imprimirá nada — isso é coerente: não há números para classificar. - Tratar números muito grandes ou entradas malformadas foge do escopo do enunciado; assumir entradas válidas é comum em provas.
Passo 5
Exemplo de execução manual (para fixar):
- Entrada:
- Primeira linha:
- Linhas seguintes:
, ,
- Primeira linha:
- Processo:
- Lê
. - Iteração 1: lê
, verifica → imprime “POSITIVO”. - Iteração 2: lê
, verifica → imprime “NEGATIVO”. - Iteração 3: lê
, verifica → imprime “NULO”.
- Lê
- Saída:
- POSITIVO
- NEGATIVO
- NULO
Passo 6
Código final explicadinho (tradução direta do passo a passo para um programa em Python):
- Linha a linha:
- Ler a primeira linha e converter para inteiro para obter
. - Fazer um
forque rodanvezes. - Em cada iteração, ler a linha, converter para
floate aplicar as comparações para imprimir a classificação adequada.
- Ler a primeira linha e converter para inteiro para obter
- Este código é curto, fácil de memorizear e prático para a prova.
Resposta
# Programa que lê n valores e classifica cada um como POSITIVO, NEGATIVO ou NULO
n = int(input().strip()) # lê a quantidade de valores a serem processados
for _ in range(n):
x = float(input().strip()) # lê o próximo número (aceita inteiro ou real)
if x > 0:
print("POSITIVO")
elif x < 0:
print("NEGATIVO")
else:
print("NULO")