Universidad de Costa Rica
Escuela de Ciencias de la Computación e Informática
CI-0202 Principios de informática - III-2012
Profesor Jeisson Hidalgo-Céspedes
Fecha: 12-ene-2013. Entrega límite: 22-ene-2013 11:55 p.m.

Tarea 01

Escriba un programa en Java que pregunte al usuario por las dimensiones de los lados de un triángulo e imprima sus propiedades: perímetro, área, y su clasificación de acuerdo a los lados (equilátero, isóceles o escaleno). Ejemplos de ejecución:

Propiedades de un triangulo
lado a: 5
lado b: 5
lado c: 5
Perimetro: 15.0
Area: 10.825317547305483
Triangulo equilatero
Triangulo acutangulo
Propiedades de un triangulo
lado a: 3
lado b: 4
lado c: 5
Perimetro: 12.0
Area: 6.0
Triangulo escaleno
Triangulo rectangulo
Propiedades de un triangulo
lado a: 1
lado b: 2
lado c: 3
Los lados no determinan un triangulo
Propiedades de un triangulo
lado a: 1
lado b: 2
lado c: 2.9
Perimetro: 5.9
Area: 0.5227272233201573
Triangulo escaleno
Triangulo obtusangulo
Propiedades de un triangulo
lado a: 4
lado b: 5
lado c: -3
Un triangulo no puede tener lados negativos o de longitud 0
Ejemplos de ejecución del programa.

El área A de un triángulo se puede obtener a partir de las dimensiones de sus lados a, b y c, y el semiperímetro s, con la fórmula de Herón: $$s=\frac{a+b+c}{2}$$ $$A = \sqrt{s\left(s-a\right)\left(s-b\right)\left(s-c\right)}$$

De acuerdo a las dimensiones de sus lados, un triángulo se clasifica en:

Su programa debe advertir al usuario si ingresa tres lados que no determinan un triángulo; lo cual se puede calcular con el principio de desigualdad triangular. Tres lados a, b y c determinan un triángulo si se cumple que: $$a < b + c$$ $$a > \left|b - c\right|$$

Si el usuario ingresa un lado negativo o nulo, debe también indicarse que no puede formar un triángulo.

Evaluación

  1. [10%] Solicita y lee los valores de los lados correctamente.
  2. [30%] Advierte cuando los lados no son válidos o no determinan un triángulo, en lugar de presentar cálculos inválidos.
  3. [30%] Calcula e imprime correctamente el perímetro y el área del triángulo.
  4. [20%] Clasifica correctamente el triángulo por sus lados en equilátero, isósceles y escaleno.
  5. [10%] Implementa una clase completa. Método main() correcto. Utiliza identificadores significativos. La indentación ayuda a entender la estructura del código..
  6. [15% Opcional] Clasifica correctamente el triángulo por sus ángulos en rectángulo (tiene un ángulo de 90°), obtusángulo (tiene un ángulo mayor a 90°), acutángulo (todos sus ángulos son menores de 90°).

Para presentar su solución, comprima el archivo .java que haya creado y súbalo a Mediación virtual en la asignación con nombre Tarea01.