Informática Dissertativa

Elabore um algoritmo em python que: Crie uma estrutura chamada Retângulo com os atributos ladoUm e ladoDois. Crie um vetor de Retângulos com 20 posições. Crie uma função para incluir retângulos no vetor até que ele esteja cheio. Crie uma função para calcular a área de um retângulo. Crie um procedimento para imprimir todos os retângulos e suas respectivas áreas.

Elabore um algoritmo em python que:

Crie uma estrutura chamada Retângulo com os atributos ladoUm e ladoDois.

Crie um vetor de Retângulos com 20 posições.

Crie uma função para incluir retângulos no vetor até que ele esteja cheio.

Crie uma função para calcular a área de um retângulo.

Crie um procedimento para imprimir todos os retângulos e suas respectivas áreas.

Resolução completa

Explicação passo a passo

Resumo da resposta

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

ElementoDescrição
ClasseDefine o modelo dos objetos Retângulo
AtributosladoUm e ladoDois armazenam as medidas
Métodocalcular_area() retorna ladoUm × ladoDois
VetorLista inicializada com 20 posições None
Loopwhile controla a inserção até completar
ImprimirVerifica 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:

  1. ✅ Estrutura Retângulo com atributos definidos
  2. ✅ Vetor com 20 posições inicializadas
  3. ✅ Função de inclusão com controle de preenchimento
  4. ✅ Função para cálculo da área (base \times altura)
  5. ✅ 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.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Informática

Ver mais Informática resolvidas

Tem outra questão de Informática?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.