Resumo da Resposta
Esta questão apresenta uma inconsistência entre o enunciado inicial (média escolar) e os detalhes da Etapa 01 (operações com números inteiros). O algoritmo solicitado deve trabalhar com verificação de sinais numéricos (positivo/negativo/zero), não com cálculos de média. Abaixo está a solução completa conforme os requisitos detalhados.
Alternativa: Questão Aberta - Desenvolvimento de Algoritmo
Análise do Problema
O exercício solicita um programa com as seguintes características principais:
| Requisito | Descrição |
|---|
| Entrada | Número inteiro do usuário |
| Processamento | Verificar se é positivo, negativo ou zero |
| Saída | Quadrado (se > 0), valor absoluto (se < 0), mensagem (se = 0) |
| Controle | Loop para repetir até decisão do usuário |
Conceitos-chave:
- Estruturas condicionais (
SE, SENÃO) - Estrutura de repetição (
ENQUANTO, REPETIR) - Funções matemáticas básicas (quadrado, valor absoluto)
Fluxograma (Descrição Textual)
┌─────────────────────────────────────┐
│ INÍCIO DO PROGRAMA │
└──────────────┬──────────────────────┘
│
▼
┌─────────────────────┐
│ Deseja continuar? │
│ (S/N ou Sim/Não) │
└──────────┬──────────┘
│
┌─────┴─────┐
│ │
SIM NÃO
│ │
▼ ▼
┌─────────┐ ┌─────────┐
│ Ler N │ │ FIM │
│ número │ │ PROGRAM│
└────┬────┘ └─────────┘
│
▼
┌─────────────────────┐
│ N > 0 ? │
└────┬────────────────┘
│
┌────┴────┐
│ │
SIM NÃO
│ │
▼ ▼
┌─────────┐ ┌─────────────────────┐
│ Calcular│ │ N < 0 ? │
│ N² │ └────┬────────────────┘
│ Imprimir│ │
└─────────┘ ┌────┴────┐
│ │
SIM NÃO
│ │
▼ ▼
┌─────────┐ ┌─────────┐
│ Valor │ │ Imprimir│
│ Abs(N) │ │ "É ZERO"│
└─────────┘ └─────────┘
│
▼
Voltar ao início do loop
Código em Portugol
PROGRAMA Calculadora_Numeros
VAR
numero : INTEIRO
opcao : CARACTERE
continua : LOGICO
INICIO
continua <- VERDADEIRO
ENQUANTO continua FAÇA
// Solicitar número ao usuário
ESCREVA("Digite um número inteiro: ")
LEIA(numero)
// Verificar condição do número
SE numero > 0 ENTÃO
ESCREVA("O quadrado de ", numero, " é: ", numero * numero)
SENÃO SE numero < 0 ENTÃO
ESCREVA("O valor absoluto de ", numero, " é: ", ABS(numero))
SENÃO
ESCREVA("O número digitado é zero.")
FIM_SE
// Perguntar se deseja continuar
ESCREVA("Deseja continuar? (S/N): ")
LEIA(opcao)
SE opcao = 'N' OU opcao = 'n' ENTÃO
continua <- FALSO
FIM_SE
FIM_ENQUANTO
ESCREVA("Programa finalizado!")
FIM_PROGRAMA
Explicação Didática
Estrutura Condicional
O programa utiliza três caminhos possíveis baseados no valor do número:
\begin{cases}
\text{Se } n > 0 & \Rightarrow \text{Calcular } n^2 \\
\text{Se } n < 0 & \Rightarrow \text{Calcular } |n| \\
\text{Se } n = 0 & \Rightarrow \text{Mensagem especial}
\end{cases}
Estrutura de Repetição
O comando ENQUANTO permite que o processo se repita indefinidamente até que o usuário decida parar:
ENQUANTO continua FAÇA
// corpo do loop
FIM_ENQUANTO
Pontos Importantes
- Variável booleana: Controla se o loop continua ou termina
- Função ABS(): Retorna o valor absoluto (remove o sinal negativo)
- Entrada/Saída: Comandos
LEIA() e ESCREVA() para interação com usuário
Conclusão
O algoritmo desenvolvido atende aos requisitos solicitados na Etapa 01, utilizando estruturas condicionais para verificar o sinal do número e uma estrutura de repetição para permitir múltiplas entradas.
Nota: Caso a intenção original fosse calcular média escolar (como mencionado no primeiro parágrafo), seria necessário ajustar o algoritmo para ler múltiplas notas, somá-las e dividir pela quantidade de avaliações.