Pascal/Turbo Pascal - control de errores y validacion de entradas

 
Vista:

control de errores y validacion de entradas

Publicado por lesly (1 intervención) el 20/03/2007 10:06:02
hola! soy una negada, necesito hacer el control de errores y la validacion de entradas para la p2a y p2b de estos ejercicios y no se por donde cogerlo. alguien me puede echar una mano?
gracias por adelantado!
P2A
Escriba un programa que lea las coordenadas de tres puntos U=(u1,u2), V=(v1,v2), W=(w1,w2) en el
plano y presente en pantalla el área del triángulo UVW que forman. Implemente el algoritmo abajo
indicado apoyándose en los subprogramas especificados.
a) Para cada uno de los tres puntos del plano se leen las dos coordenadas.
Utilice un procedimiento LeerPunto que pregunte al usuario por un punto en el plano y
devuelva las coordinadas reales introducidas.
b) Determine la ecuación de la recta r1 que pasa por U y V. La ecuación tiene la forma
y = a·x + b.
Utilice un procedimiento EcuacionRecta que, a partir de las coordenadas reales u1, u2, v1, v2,
calcule los coeficientes reales ar1 y b r1 de la ecuación de la recta r1. Las fórmulas son:
a r1 = (v2 – u2) / (v1 – u1) b r1 = u2 – u1·a r1
c) Obtenga la ecuación de la recta perpendicular r2 desde el vértice W al lado UV. La ecuación
tiene la forma
y = c·x + d
Utilice un procedimiento Perpendicular que, a partir del coeficiente a r1 de la ecuación de r1 y las
coordinadas w1 y w2 del punto W, calcule los coeficientes cr2 y dr2 de la ecuación de la recta r2.
Las fórmulas son:
cr2 = -1/a r1 dr2 = w1/ar1 + w2
d) Halle el punto de intersección Q=(q1,q2) de las rectas r1 y r2.
Escriba el procedimiento Interseccion que, a partir de los coeficientes reales a r1, b r1, cr2 y dr2,
calcule las coordenadas reales q1 y q2. Las fórmulas son:
q1 = (dr2 - b r1) / ( a r1 - cr2) q2 = (a r1·dr2 - b r1·cr2) / ( a r1 - cr2)
e) Calcule las distancias dUV entre U y V (base) y dQW entre Q y W (altura).
Utilice una función distancia que, dados dos puntos X=(x1, x2) e Y=(y1,y2), determine su
distancia según la fórmula:
________________
dXY = ? (y1 -x1)2 + (y2 – x2)2
f) Calcule el área del triángulo UVW.
Escriba una función Area que se apoye en la fórmula
Area =Base x Altura / 2.
Pruebe su programa tomando los puntos (1, 0), (0,1) y (2,2) como vértices del triángulo.
W

P2B
Consideramos las siguientes propiedades relacionadas con la primalidad de un número:

Un entero superior a 2 no puede ser primo si es impar.
Un entero n superior a 3 sólo puede ser primo si verifica la propiedad n2 mod 24 = 1.
Un entero positivo n es primo si y sólo si no tiene divisores entre 2 y sqrt(n)

Se pide escribir un programa que incluya diferentes subprogramas :

(a) Uno que indique si un entero verifica la propiedad siguiente: n2 mod 24 = 1
(b) Uno que indique si un entero es primo, buscando si tiene algún divisor entre 2 y sqrt(n).
(c) Uno que indique si un número es primo o no, descartando primero los pares, comprobando
luego la propiedad n2 mod 24 = 1, y finalmente buscando sus posibles divisores.
(d) Uno para comprobar si un número es perfecto. Un número perfecto es el que es igual a la
suma de sus divisores, excluidos él mismo.

Ejemplo de número perfecto: 6 = 1+2+3 Contraejemplo: 12 =? 1+2+3+4+6

(e) Uno para calcular la cifra tarot de un número. una función cifraTarot: N?C, que dado un
número N devuelva la “cifra tarot” correspondiente como un carácter. La cifra tarot se
obtiene al sumar las cifras de n, las cifras del resultado de esta operación, y así
sucesivamente hasta obtener una única cifra.
Por ejemplo: 5329 ? 19 ? 10 ? 1 y por tanto: cifraTarot(5329) = ?1?

(f) Uno que simule un contador binario. Dado un número de 0 a 63 (6 bits), mostrar en pantalla
su valor en binario y hacer que se vaya decrementando en una unidad aproximadamente
hasta llegar a cero ( 0 0 0 0 0 0 ).
(g) Uno que dada una secuencia no decreciente de n ( n ? 0 ) enteros, introducida por el
terminal y terminada en 999, calcule la longitud del rellano más largo. Un rellano es una
secuencia de enteros iguales.


El programa incluirá un menú para probar cada una de las opciones anteriores (opciones c, d, e, f y
g). Además incluirá una última opción Varios que permita probar varias cosas a la vez. Al
seleccionar la opción Varios, se leerá una secuencia de números separados por blancos, que termina
por fin de línea y se debe indicar si los números son primos, si son perfectos y su correspondiente
cifra tarot. Al final se mostrará el número mayor de la secuencia de entrada y la media de todos
ellos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:control de errores y validacion de entradas

Publicado por quevedo (1 intervención) el 26/03/2007 16:11:28
Profesor de lp1 de la complutense
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:control de errores y validacion de entradas

Publicado por pepitou (1 intervención) el 26/03/2007 18:50:31
estas en 1º de la ucm, ¿de mañana o de tarde?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar