fevereiro 20, 2026

Trapézio em Código

Por admin

Sobre a Matemática

Trapézio é o quadrilátero que tem um par de lados paralelos.

Sobre o Código

Na linguagem de programação Python,

import – é o comando usado para carregar bibliotecas externas ou módulos.

numpy – é a biblioteca para cálculos numéricos e científicos, muito usada em álgebra linear, estatística e integração.

matplotlib – é a biblioteca para visualização de dados e gráficos.

.pyplot – é o submódulo de matplotlib que fornece funções simples para criar gráficos (similar ao estilo do MATLAB).

class – é a palavra-chave usada para definir uma classe, que agrupa atributos e métodos relacionados.

def – é a palavra-chave usada para definir uma função ou método.

__init__(self) – é o método especial chamado automaticamente ao criar um objeto; inicializa os atributos da classe.

None – representa um valor especial que indica ausência de valor ou que algo está intencionalmente vazio. Ele é diferente de 0, False ou uma string vazia “”.

np.array([]) – é a função do NumPy que cria um vetor ou matriz a partir de uma lista de valores.

plt.figure() – cria uma nova figura (janela de gráfico) em Matplotlib.

figsize= – é o argumento de plt.figure() que define o tamanho da figura em polegadas (largura x altura).

plt.fill() – é a função que desenha e preenche uma forma poligonal com cor.

color= – é o argumento que define a cor de preenchimento da forma.

edgecolor= – é o argumento que define a cor da borda da forma.

linewidth= – é o argumento que define a espessura da linha da borda.

plt.title() – define o título do gráfico.

plt.axis() – controla a escala e proporção dos eixos do gráfico.

plt.show() – exibe o gráfico na tela.

print() – é a função nativa que imprime valores ou mensagens no console.

np.linspace() – é a função do NumPy que gera uma sequência de valores igualmente espaçados entre dois limites.

np.trapezoid() – é a função do NumPy que calcula integrais numéricas usando a regra do trapézio.

""" – é o delimitador de string multilinha, usado para docstrings ou comentários longos. Docstrings (abreviação de documentation string), por sua vez, é uma string especial usada para documentar módulos, classes, funções ou métodos. Ela é escrita logo abaixo da definição e serve para explicar o que aquele bloco de código faz. Diferente de comentários comuns (#), as docstrings podem ser acessadas em tempo de execução com help() ou pelo atributo __doc__.

# – é usado para criar comentários ao código, que são notas para se entender melhor o que o código faz.

Vamos ao código…

import numpy as np
import matplotlib.pyplot as plt

class Trapezio:
    def __init__(self, base_maior, base_menor, altura, lado1=None, lado2=None):
        self.base_maior = base_maior
        self.base_menor = base_menor
        self.altura = altura
        self.lado1 = lado1
        self.lado2 = lado2

    def area(self):
        """Calcula a área do trapézio"""
        return (self.base_maior + self.base_menor) * self.altura / 2

    def perimetro(self):
        """Calcula o perímetro do trapézio (se os lados forem fornecidos)"""
        if self.lado1 and self.lado2:
            return self.base_maior + self.base_menor + self.lado1 + self.lado2
        else:
            return None

    def desenhar(self):
        """Desenha o trapézio usando matplotlib"""
        # Coordenadas do trapézio (simétrico)
        x_base_maior = np.array([0, self.base_maior])
        y_base_maior = np.array([0, 0])

        deslocamento = (self.base_maior - self.base_menor) / 2
        x_base_menor = np.array([deslocamento, deslocamento + self.base_menor])
        y_base_menor = np.array([self.altura, self.altura])

        # Pontos do trapézio
        x = [0, self.base_maior, deslocamento + self.base_menor, deslocamento]
        y = [0, 0, self.altura, self.altura]

        plt.figure(figsize=(6,4))
        plt.fill(x, y, color="skyblue", edgecolor="black", linewidth=2)
        plt.title("Trapézio")
        plt.axis("equal")
        plt.show()
Código Python (.py)O que faz
import numpy as npImporta a biblioteca NumPy, usada para cálculos numéricos e integração pela regra do trapézio.
import matplotlib.pyplot as pltImporta o módulo pyplot da biblioteca Matplotlib, usado para criar gráficos e desenhar o trapézio.
class Trapezio:Define uma classe chamada Trapezio, que representa um trapézio com métodos para cálculos e desenho.
def __init__(self, base_maior, base_menor, altura, lado1=None, lado2=None):Construtor da classe. Recebe as dimensões do trapézio: bases, altura e (opcionalmente) os lados não paralelos.
self.base_maior = base_maiorArmazena o valor da base maior como atributo do objeto.
self.base_menor = base_menorArmazena o valor da base menor.
self.altura = alturaArmazena a altura do trapézio.
self.lado1 = lado1Armazena o lado não paralelo 1 (se fornecido).
self.lado2 = lado2Armazena o lado não paralelo 2 (se fornecido).
def area(self):Define o método para calcular a área do trapézio.
return (self.base_maior + self.base_menor) * self.altura / 2Fórmula da área: soma das bases vezes altura dividido por 2.
def perimetro(self):Define o método para calcular o perímetro.
if self.lado1 and self.lado2:Verifica se os lados foram fornecidos.
return self.base_maior + self.base_menor + self.lado1 + self.lado2Calcula o perímetro somando todos os lados.
else: return NoneCaso os lados não sejam fornecidos, retorna None.
def desenhar(self):Define o método para desenhar o trapézio.
x_base_maior = np.array([0, self.base_maior])Cria coordenadas da base maior no eixo x.
y_base_maior = np.array([0, 0])Define coordenadas y da base maior (linha no eixo horizontal).
deslocamento = (self.base_maior – self.base_menor) / 2Calcula o deslocamento lateral para centralizar a base menor.
x_base_menor = np.array([deslocamento, deslocamento + self.base_menor])Coordenadas x da base menor.
y_base_menor = np.array([self.altura, self.altura])Coordenadas y da base menor (linha superior).
x = [0, self.base_maior, deslocamento + self.base_menor, deslocamento]Lista com os pontos x dos vértices do trapézio.
y = [0, 0, self.altura, self.altura]Lista com os pontos y correspondentes.
plt.figure(figsize=(6,4))Cria uma figura de tamanho 6×4.
plt.fill(x, y, color=”skyblue”, edgecolor=”black”, linewidth=2)Desenha o trapézio preenchido com cor azul clara e borda preta.
plt.title(“Trapézio”)Adiciona título ao gráfico.
plt.axis(“equal”)Ajusta os eixos para proporções iguais (não distorcer a figura).
plt.show()Exibe o gráfico na tela.
# Exemplo de uso
trap = Trapezio(base_maior=10, base_menor=6, altura=4, lado1=5, lado2=5)
print("Área do trapézio:", trap.area())
print("Perímetro do trapézio:", trap.perimetro())

trap.desenhar()

# Exemplo com NumPy: integração pela regra do trapézio
x = np.linspace(0, 5, 100)
y = x**2
integral = np.trapezoid(y, x)
print("Integral de x^2 de 0 a 5 (regra do trapézio):", integral)
Código Python (.py)O que faz
trap = Trapezio(base_maior=10, base_menor=6, altura=4, lado1=5, lado2=5)Cria um objeto trap da classe Trapezio com valores específicos.
print(“Área do trapézio:”, trap.area())Calcula e imprime a área.
print(“Perímetro do trapézio:”, trap.perimetro())Calcula e imprime o perímetro.
trap.desenhar()Chama o método para desenhar o trapézio.
x = np.linspace(0, 5, 100)Cria 100 pontos igualmente espaçados entre 0 e 5.
y = x**2Calcula 𝑦=x2 para cada ponto.
integral = np.trapezoid(y, x)Calcula a integral de x2 no intervalo [0,5] usando a regra do trapézio.
print(“Integral de x^2 de 0 a 5 (regra do trapézio):”, integral)Imprime o resultado da integral.

Saída do código (valor de retorno)…

Área do trapézio: 32.0
Perímetro do trapézio: 26
Integral de x^2 de 0 a 5 (regra do trapézio): 41.66879230010543

Fonte:
– Editora Didática Paulista. Ensino Didático 2000: Ensino Fundamental e Ensino Médio. Sorocaba: Editora Didática Paulista, [s.d.].
– Códigos e comentários gerados por Microsoft Copilot com revisão nossa.
– https://docs.python.org/pt-br/3/ [Documentação Oficial do Python]