Resumo da Resposta
Alternativa N/A - Questão Aberta de Programação
A solução envolve criar uma classe Retângulo, um vetor de 20 posições, funções para inserir e calcular áreas, e um procedimento para imprimir os dados.
Desenvolvimento
Conceitos Fundamentais
Para resolver este problema em Python, precisamos entender:
- Classes: Estruturas que definem objetos com atributos e métodos
- Listas/Vetores: Sequências ordenadas de elementos
- Funções: Blocos de código reutilizáveis
- Laços de repetição: Para preencher o vetor até o limite
Solução Completa
# 1. Classe Retângulo com atributos ladoUm e ladoDois
class Retangulo:
def __init__(self, ladoUm=0, ladoDois=0):
self.ladoUm = ladoUm
self.ladoDois = ladoDois
def calcular_area(self):
return self.ladoUm * self.ladoDois
# 2. Criar vetor de 20 posições
vetor_retangulos = [None] * 20
# 3. Função para incluir retângulos no vetor
def incluir_retangulos(vetor, quantidade):
i = 0
while i < len(vetor) and i < quantidade:
lado1 = float(input(f"Digite ladoUm do retângulo {i+1}: "))
lado2 = float(input(f"Digite ladoDois do retângulo {i+1}: "))
vetor[i] = Retangulo(lado1, lado2)
i += 1
return vetor
# 4. Função para calcular área (já incluída na classe)
# Método: base × altura
# 5. Procedimento para imprimir todos os retângulos
def imprimir_todos_retangulos(vetor):
print("\n=== LISTA DE RETÂNGULOS ===")
for i, ret in enumerate(vetor):
if ret is not None:
area = ret.calcular_area()
print(f"Retângulo {i+1}:")
print(f" Lado Um: {ret.ladoUm}")
print(f" Lado Dois: {ret.ladoDois}")
print(f" Área: {area}")
else:
print(f"Posição {i+1}: Vazia")
# Execução do programa
vetor_retangulos = incluir_retangulos(vetor_retangulos, 20)
imprimir_todos_retangulos(vetor_retangulos)
Análise
| Elemento | Descrição |
|---|
| Classe | Define o modelo dos objetos Retângulo |
| Atributos | ladoUm e ladoDois armazenam as medidas |
| Método | calcular_area() retorna ladoUm × ladoDois |
| Vetor | Lista inicializada com 20 posições None |
| Loop | while controla a inserção até completar |
| Imprimir | Verifica se posição não é None antes de acessar |
Explicação Passo a Passo
- Inicialização do vetor:
[None] * 20 cria lista com 20 espaços vazios - Validação: O loop verifica se o vetor está cheio (
len(vetor)) - Cálculo da área: Fórmula Área = ladoUm \times ladoDois
- Tratamento de null: Verifica
if ret is not None para evitar erros
Conclusão
O algoritmo atende todos os requisitos solicitados:
- ✅ Estrutura
Retângulo com atributos definidos - ✅ Vetor com 20 posições inicializadas
- ✅ Função de inclusão com controle de preenchimento
- ✅ Função para cálculo da área (base \times altura)
- ✅ Procedimento de impressão com validação
Dica de estudo: Em concursos de programação, sempre valide entradas nulas e considere o uso de exceções para maior robustez do código.