MC102 - Algoritmos e Programação de Computadores
MC102 Horários Plano de
desenvolvimento
Cronograma Oferecimentos
anteriores

Triângulo? Classificador de Triângulos

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:

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:

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.

Não faremos classificação de triângulos degenerados, ou seja, triângulos em que uma das medidas é igual à soma das outras duas.

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.

Testes para o SuSy

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 Saída
arq01.in 3.00
3.00
3.00
Triangulo equilatero
Triangulo acutangulo
arq01.res
arq02.in 3.00
3.00
2.50
Triangulo isosceles
Triangulo acutangulo
arq02.res
arq03.in 5.00
3.00
3.00
Triangulo isosceles
Triangulo obtusangulo
arq03.res
arq04.in 3.80
3.60
3.70
Triangulo escaleno
Triangulo acutangulo
arq04.res
arq05.in 3.00
5.00
4.00
Triangulo escaleno
Triangulo retangulo
arq05.res
arq06.in 4.00
5.00
8.00
Triangulo escaleno
Triangulo obtusangulo
arq06.res
arq07.in 5.00
1.50
2.85
Valores invalidos na entrada arq07.res
arq08.in -5.00
0.00
7.30
Valores invalidos na entrada arq08.res

Esta tarefa tem mais dois testes fechados, que são variações de alguns dos testes já apresentados.

Releia, se necessário as instruções para fazer os testes em Testes com o SuSy.

Orientações para submissão

Veja aqui a página de submissão da tarefa. O arquivo a ser submetido deve se chamar lab04.py. No link Arquivos auxiliares há um arquivo aux04.zip que contém todos os arquivos de testes abertos e seus respectivos resultados compactados.

Utilize o sistema SuSy com o mesmo login e senha que você utiliza para fazer acesso ao sistema da DAC. Se você não estiver inscrito corretamente, envie email para .

O limite máximo será de 30 submissões.

O peso desta tarefa é 1.

O prazo final para submissão é 10/05/2020.

A nota desta tarefa é proporcional ao número de testes que executaram corretamente, desde que o código esteja coerente com o enunciado. A submissão de um código que não implementa o algoritmo requisitado, mas que exibe as saídas esperadas dos testes abertos a partir da comparação de trechos da entrada será considerada fraude e acarretará a atribuição de nota zero à média final da disciplina.