MC102 - Algoritmos e Programação de Computadores

Veja aqui uma nova versão para o script que executa testes no Windows!

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 Triângulo equilátero
Isósceles Dois lados com medidas iguais
Escaleno Três lados com medidas diferentes
Acutângulo Três ângulos internos medem menos de 90° Triângulo acutângulo
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.

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 Resultado
arq1.in 3.00
3.00
3.00
Triângulo equilátero.
Triângulo acutângulo.
arq1.res
arq2.in 3.00
3.00
2.50
Triângulo isósceles.
Triângulo acutângulo.
arq2.res
arq3.in 5.00
3.00
3.00
Triângulo isósceles.
Triângulo obtusângulo.
arq3.res
arq4.in 3.80
3.60
3.70
Triângulo escaleno.
Triângulo acutângulo.
arq4.res
arq5.in 3.00
5.00
4.00
Triângulo escaleno.
Triângulo retângulo.
arq5.res
arq6.in 4.00
5.00
8.00
Triângulo escaleno.
Triângulo obtusângulo.
arq6.res
arq7.in 5.00
1.50
2.85
Valores inválidos na entrada. arq7.res
arq8.in -5.00
0.00
7.30
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.

Dica de Python 3 para esta tarefa:

Nesta tarefa, a saída apresenta caracteres com acento. Para não ter problemas com a codificação coloque no início do seu arquivo a seguinte linha:
 
# -*- coding: utf-8 -*-
 

Orientações para submissão

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.