Pascal/Turbo Pascal - Ayuda - programa resolvente cuadratica

 
Vista:

Ayuda - programa resolvente cuadratica

Publicado por Diego H (8 intervenciones) el 02/07/2012 20:12:01
Hola, que tal? Muy buenas!

Ando realizando un programa que haga la resolvente cuadratica y creo que lo estoy haciendo bien, pero a la hora de terminar de ingresar los datos.. me tiran un error runtime.

Les dejo el programa y me dice o marcan que o porque esta fallando, muchas gracias :)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
PROGRAM resol_cuadr;
 
USES
	wincrt;
 
VAR
	a,b,c, x1, x2,raiz: REAL;
	inicio: CHAR;
 
BEGIN
	WRITELN ('Programa para resolver');
	WRITELN ('ecuaciones cuadradas(resolvente cuadratica)');
	WRITELN ('');
	WRITELN ('');
	WRITELN ('Recuerda que el formato es: Ax^2 + Bx + C // x^2 = x ELEVADO AL CUADRADO ' );
	WRITELN ('Ejemplo: 2x^2 + 3x + 1');
	WRITELN ('En donde A = 2, B = 3, C = 1 (: ');
	WRITELN ('');
	WRITELN ('');
	WRITELN  ('Comenzamos? (S/N) // N = FIN');
	READLN (inicio);
	WHILE ((inicio <> 'N') AND (inicio <> 'n')) DO
		BEGIN
			WRITELN ('Ingresa el valor de "A"  ');
			READLN (a);
			IF a <> 0 THEN
				BEGIN
					WRITELN ('');
					WRITELN ('');
					WRITELN ('Ingresa el valor de "B" // idem A');
					READLN (b);
					WRITELN ('');
					WRITELN ('');
					WRITELN ('Ingresa el valor de "C" // idem A');
					READLN (c);
					raiz := SQRT((b)*(b) - (4 * a * c));
					x1 := ((-(b)) + raiz) / (2 * a);
					x2 := ((-(b)) - raiz) / (2 * a);
					WRITELN ('La raiz x1, es igual a: ', x1:6:2);
					WRITELN ('La raiz x2, es igual a: ', x2:6:2)
				END
			ELSE
				BEGIN
					WRITELN ('La division por 0 no existe')
				END;
			WRITELN ('');
			WRITELN ('');
			WRITELN ('Queres hacer otro? (S/N) // N = FIN');
			READLN (inicio);
		END;
	READKEY;
END.
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

Ayuda - programa resolvente cuadratica

Publicado por ramon (2158 intervenciones) el 02/07/2012 23:21:48
Mira esto raiz := SQRT((b)*(b) - (4 * a * c)); te dará error si la operación es cero o negativo
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

Ayuda - programa resolvente cuadratica

Publicado por Diego H (8 intervenciones) el 03/07/2012 00:54:04
oh! muchas gracias.

Claro, raiz imaginaria no existe para los reales
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