fevereiro 22, 2026

Triângulo em Código

Por admin

Sobre a Matemática

Triângulo acutângulo tem três ângulos agudos.

Triângulo é um polígono de três lados.

Triângulo equilátero tem três lados iguais.

Triângulo escaleno tem os três lados com comprimentos diferentes.

Triângulo isósceles tem dois lados iguais.

Triângulo obtusângulo tem um ângulo obtuso.

Triângulo retângulo tem um ângulo reto.

Sobre o Código

Na linguagem de programação Python,

import – é o comando usado para trazer bibliotecas externas ou módulos para dentro do programa.

matplotlib – é a biblioteca usada para criar gráficos e visualizações.

.pyplot – é o submódulo do matplotlib que fornece funções simples para criar gráficos.

as plt – cria um apelido (alias) para matplotlib.pyplot, facilitando o uso.

math – é a biblioteca padrão para funções matemáticas.

class – é a palavra-chave usada para definir uma classe (estrutura que agrupa dados e funções).

def – define uma função ou método dentro do código.

__init__() – é o método especial chamado automaticamente ao criar um objeto da classe (construtor).

self – é a referência ao próprio objeto da classe; permite acessar atributos e métodos internos.

. (ponto) – é o operador de acesso; usado para acessar métodos ou atributos de um objeto/módulo.

return – indica o valor que uma função ou método deve devolver.

if – é a estrutura condicional: executa um bloco de código se a condição for verdadeira.

== – é o operador de comparação: verifica se dois valores são iguais.

elif: (Else if) – executa outro bloco se a condição anterior for falsa e esta for verdadeira.

else: – executa um bloco de código caso nenhuma condição anterior seja satisfeita.

sorted([]) – é a função que ordena uma lista em ordem crescente.

math.isclose() – é a função que verifica se dois números são aproximadamente iguais (útil para cálculos com ponto flutuante).

> – é o operador de comparação: verifica se um valor é maior que outro.

** – é o operador de potência (exemplo: 2**3 = 8).

/ – é o operador de divisão.

math.sqrt() – é a função que calcula a raiz quadrada de um número.

abs() – é a função que retorna o valor absoluto (sem sinal) de um número.

plt.figure() – cria uma nova figura (área de desenho) para o gráfico.

figsize= – define o tamanho da figura em polegadas (largura, altura).

plt.plot() – desenha linhas ou curvas no gráfico.

plt.scatter() – desenha pontos individuais no gráfico.

plt.text() – adiciona texto em uma posição específica do gráfico.

fontsize= – define o tamanho da fonte do texto.

ha= – define o alinhamento horizontal do texto (left, center, right).

plt.title() – adiciona um título ao gráfico.

plt.axis() – configura os eixos do gráfico (ex.: equal para proporções corretas).

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

print() – é a função que imprime informações no console.

# – é 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 matplotlib.pyplot as plt
import math

class Triangulo:
    def __init__(self, a, b, c):
        self.a = a
        self.b = b
        self.c = c

    def tipo_lados(self):
        if self.a == self.b == self.c:
            return "Equilátero"
        elif self.a == self.b or self.b == self.c or self.a == self.c:
            return "Isósceles"
        else:
            return "Escaleno"

    def tipo_angulos(self):
        lados = sorted([self.a, self.b, self.c])
        menor1, menor2, maior = lados

        if math.isclose(maior**2, menor1**2 + menor2**2):
            return "Retângulo"
        elif maior**2 > menor1**2 + menor2**2:
            return "Obtusângulo"
        else:
            return "Acutângulo"

    def classificar(self):
        return f"Triângulo {self.tipo_lados()} e {self.tipo_angulos()}"

    def desenhar(self):
        # Usando coordenadas para desenhar o triângulo
        # Colocamos um lado na base (entre (0,0) e (c,0))
        A = (0, 0)
        B = (self.c, 0)

        # Usando a lei dos cossenos para encontrar coordenadas de C
        # Fórmula: x = (b^2 + c^2 - a^2) / (2c)
        x = (self.b**2 + self.c**2 - self.a**2) / (2 * self.c)
        y = math.sqrt(abs(self.b**2 - x**2))  # altura

        C = (x, y)

        # Plotando
        plt.figure(figsize=(6,6))
        plt.plot([A[0], B[0]], [A[1], B[1]], 'b-')  # lado c
        plt.plot([A[0], C[0]], [A[1], C[1]], 'b-')  # lado b
        plt.plot([B[0], C[0]], [B[1], C[1]], 'b-')  # lado a

        # Pontos
        plt.scatter([A[0], B[0], C[0]], [A[1], B[1], C[1]], color='red')
        plt.text(A[0], A[1], 'A', fontsize=12, ha='right')
        plt.text(B[0], B[1], 'B', fontsize=12, ha='left')
        plt.text(C[0], C[1], 'C', fontsize=12, ha='center')

        plt.title(self.classificar())
        plt.axis('equal')
        plt.show()
Código Python (.py)O que faz
import matplotlib.pyplot as pltImporta a biblioteca matplotlib para desenhar gráficos e figuras.
import mathImporta a biblioteca math para cálculos matemáticos (raízes quadradas, potências, etc.).
class Triangulo:Define uma classe chamada Triangulo, que representa um triângulo.
def __init__(self, a, b, c):Método construtor: inicializa o triângulo com os lados a, b e c.
self.a = aArmazena o valor do lado a no objeto.
self.b = bArmazena o valor do lado b no objeto.
self.c = cArmazena o valor do lado c no objeto.
def tipo_lados(self):Método que classifica o triângulo pelo comprimento dos lados.
if self.a == self.b == self.c:Verifica se todos os lados são iguais → triângulo equilátero.
return “Equilátero”Retorna a classificação “Equilátero”.
elif self.a == self.b or self.b == self.c or self.a == self.c:Verifica se apenas dois lados são iguais → triângulo isósceles.
return “Isósceles”Retorna a classificação “Isósceles”.
else:Caso contrário, todos os lados são diferentes.
return “Escaleno”Retorna a classificação “Escaleno”.
def tipo_angulos(self):Método que classifica o triângulo pelos ângulos internos.
lados = sorted([self.a, self.b, self.c])Ordena os lados em ordem crescente para facilitar os cálculos.
menor1, menor2, maior = ladosAtribui os dois menores lados e o maior lado.
if math.isclose(maior2, menor12 + menor2**2):Verifica se vale o Teorema de Pitágoras → triângulo retângulo.
return “Retângulo”Retorna “Retângulo”.
elif maior2 > menor12 + menor2**2:Se o quadrado do maior lado for maior → triângulo obtusângulo.
return “Obtusângulo”Retorna “Obtusângulo”.
else:Caso contrário → triângulo acutângulo.
return “Acutângulo”Retorna “Acutângulo”.
def classificar(self):Método que combina os dois tipos de classificação.
return f”Triângulo {self.tipo_lados()} e {self.tipo_angulos()}”Retorna uma frase com a classificação completa.
def desenhar(self):Método que desenha o triângulo.
A = (0, 0)Define o ponto A na origem (0,0).
B = (self.c, 0)Define o ponto B no eixo x, distância c da origem.
x = (self.b2 + self.c2 – self.a**2) / (2 * self.c)Calcula a coordenada x do ponto C usando a lei dos cossenos.
y = math.sqrt(abs(self.b2 – x2))Calcula a coordenada y (altura) do ponto C.
C = (x, y)Define o ponto C com coordenadas (x,y).
plt.figure(figsize=(6,6))Cria uma figura quadrada para desenhar.
plt.plot([A[0], B[0]], [A[1], B[1]], ‘b-‘)Desenha o lado AB em azul.
plt.plot([A[0], C[0]], [A[1], C[1]], ‘b-‘)Desenha o lado AC em azul.
plt.plot([B[0], C[0]], [B[1], C[1]], ‘b-‘)Desenha o lado BC em azul.
plt.scatter([A[0], B[0], C[0]], [A[1], B[1], C[1]], color=’red’)Marca os vértices com pontos vermelhos.
plt.text(A[0], A[1], ‘A’, fontsize=12, ha=’right’)Escreve a letra “A” no ponto A.
plt.text(B[0], B[1], ‘B’, fontsize=12, ha=’left’)Escreve a letra “B” no ponto B.
plt.text(C[0], C[1], ‘C’, fontsize=12, ha=’center’)Escreve a letra “C” no ponto C.
plt.title(self.classificar())Coloca o título com a classificação do triângulo.
plt.axis(‘equal’)Ajusta os eixos para proporções corretas (sem distorção).
plt.show()Exibe o desenho do triângulo.
# Exemplos
t1 = Triangulo(3, 3, 3)   # equilátero acutângulo
t2 = Triangulo(3, 4, 5)   # escaleno retângulo

print(t1.classificar())
t1.desenhar()

print(t2.classificar())
t2.desenhar()
Código Python (.py)O que faz
t1 = Triangulo(3, 3, 3)Cria um triângulo equilátero com lados iguais a 3.
t2 = Triangulo(3, 4, 5)Cria um triângulo escaleno retângulo (clássico Pitagórico).
print(t1.classificar())Imprime a classificação do triângulo t1.
t1.desenhar()Desenha o triângulo t1.
print(t2.classificar())Imprime a classificação do triângulo t2.
t2.desenhar()Desenha o triângulo t2.

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

Triângulo Equilátero e Acutângulo
Triângulo Escaleno e Retângulo

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]