Nesta tarefa, vamos utilizar os conhecimentos adquiridos sobre comandos condicionais para classificar triângulos de acordo com as medidas de seus lados e ângulos internos. Veja a tabela a seguir:
Equilátero | Três lados com medidas iguais | ![]() |
Isósceles | Dois lados com medidas iguais | ![]() |
Escaleno | Três lados com medidas diferentes | ![]() |
Acutângulo | Três ângulos internos medem menos de 90° |
![]() |
Retângulo | Um dos ângulos internos mede 90° |
![]() |
Obtusângulo | Um dos ângulos internos mede mais de 90° |
![]() |
Considere que A
é a medida do maior lado do
triângulo e B
e C
são as
outras medidas. Um teste simples para classificar o triângulo
de acordo com as medidas do ângulos internos é a seguinte:
A² < B² + C²
A² = B² + C²
A² > B² + C²
Você deverá implementar um programa em Python que leia três valores reais representando as medidas dos lados de um triângulo supondo alguma unidade e classifique-o emitindo adequadamente mensagens do conjunto abaixo:
Triângulo equilátero.
Triângulo isósceles.
Triângulo escaleno.
Triângulo acutângulo.
Triângulo retângulo.
Triângulo obtusângulo.
Valores inválidos na entrada.
Apesar de todo triângulo equilátero ser também isósceles apenas a mensagem indicando que o triângulo é equilátero deverá ser emitida quando os três lados apresentarem a mesma medida.
A mensagem sobre a ocorrência de valores inválidos na entrada deve ser emitida caso um zero ou um valor negativo seja lido e também nos casos em que uma das medidas é maior ou igual à soma das outras duas.
Como nas tarefas anteriores, criamos um conjunto de testes com
arquivos de entrada arq<i>.in
e para cada um deles
temos uma saída esperada arq<i>.res
. Para esta
tarefa, os testes abertos estão listados na tabela abaixo. Os
valores dos testes abertos e fechados foram selecionados de maneira a
evitar resultados incoerentes devido às limitações
de precisão no armazenamento e manipulação
de floats
em diferentes ambientes.
Entrada | Resultado | ||
---|---|---|---|
arq1.in |
3.00 |
Triângulo equilátero. |
arq1.res |
arq2.in |
3.00 |
Triângulo isósceles. |
arq2.res |
arq3.in |
5.00 |
Triângulo isósceles. |
arq3.res |
arq4.in |
3.80 |
Triângulo escaleno. |
arq4.res |
arq5.in |
3.00 |
Triângulo escaleno. |
arq5.res |
arq6.in |
4.00 |
Triângulo escaleno. |
arq6.res |
arq7.in |
5.00 |
Valores inválidos na entrada.
|
arq7.res |
arq8.in |
-5.00 |
Valores inválidos na entrada.
|
arq8.res |
Você poderá utilizar os testes e scripts como explicado no roteiro da Tarefa de Laboratório 02.
Esta tarefa tem mais dois testes fechados, que são variações de alguns dos testes já apresentados.
# -*- coding: utf-8 -*-
Veja aqui
a página de submissão da tarefa. Lembre-se que o
arquivo a ser submetido deve se chamar main.py. No
link Arquivos
auxiliares há um arquivo arqs-03.zip
que
contém todos os arquivos de testes abertos e seus respectivos
resultados compactados. Os arquivos executa-testes.py
e executa-testes-windows.py
também estão
neste pacote.
Todos os alunos matriculados até 24 de março
estão inscritos. Se você entrou depois e/ou não
estiver cadastrado corretamente, envie email
para .
Observe o limite máximo de 20 submissões e que a nota final é proporcional ao número de testes que executaram corretamente.
O peso desta tarefa é 2.
O prazo final para submissão é 15/04/2018.