Programación Estructurada
Trimestre 2014 Otoño --- Examen 3
Fecha de entrega: 12 de octubre de
2014 a
las 22:00
hrs
Tipo de triángulo
Tres números enteros a,
b y c son las longitudes de los
lados de
un triángulo si son positivos y además satisfacen las
tres desigualdades del triángulo: a
+ b
> c, b + c
> a y c + a
> b. Además, hay
tres tipos de triángulos: equiláteros, isósceles y
escalenos (en realidad hay otros tipos de triángulos, como los
triángulos rectángulos, pero en esta tarea sólo
nos concentraremos en estos tres tipos). Dados tres números
enteros a, b y c,
se desea saber si ellos son las longitudes de los lados de un
triángulo. Si lo son, se desea saber de que tipo es el
triángulo. Si no lo son, se desea calcular el mínimo
número entero d tal que
a + d, b
+ d y c + d
son las longitudes de los lados de un triángulo. Por ejemplo, si
a = 3, b = 4 y c = 5 entonces estamos hablando
de
un triángulo escaleno, pero si a
= 3, b = 1 y c = 2 entonces no tenemos un
triángulo y necesitamos d
= 1.
Especificación
La entrada consiste de tres números enteros a, b,
y c que tendrán valores
entre -1,000,000,000 y 1,000,000,000 cada uno. La salida consiste de
dos números enteros t y
d
en ese orden y
separados por un espacio. El valor de t
será 0 si no es triángulo, 1 si es equilátero, 2
si es isósceles y 3 si es escaleno. El valor de d será 0 a menos que t = 0. El
nombre de su
programa deberá ser tipotrNN.c,
donde NN es el
número de lista que les fue
asignado. Los archivos tipotrNN.o
y tipotrNN.exe no
deben
ser
entregados. Notas: (a) Su
programa no deberá leer ni escribir nada además de los
datos mencionados anteriormente. (b) Su programa no deberá usar
nada que no
hayamos visto en clase. (c) Para compilar su programa en UNIX usen
la
instrucción gcc
tipotrNN.c -o tipotr y para probarlo usen la instrucción ./tipotr y tecleen la
entrada
deseada seguida de un enter.
Ejemplos
ENTRADA:
3 4 5 ENTRADA: 3 1 2
SALIDA:
3 0 SALIDA: 0 1