¿Cuál es el problema con este programa?
noha
-
brucine Mensajes publicados 24668 Fecha de registro Estado Miembro Última intervención -
brucine Mensajes publicados 24668 Fecha de registro Estado Miembro Última intervención -
Hola, aquí está el programa, pero me dicen que hay un fallo de compilación + intenté esta mañana y la ventana de ejecución se detiene
Programa ecuación;
Var
a,b,c,s1,s2,s3,delta: Real;
Begin
Writeln('introduce los valores respectivos de a, b y c');
Readln(a,b,c);
If a=0 Then
Writeln('esta ecuación es de primer grado')
Else
Begin
Writeln('esta ecuación es de segundo grado');
delta := (b*b)-(4*a*c)
End;
If delta>0 Then
Begin
s1 := (-b+Sqrt(delta))/(2*a);
s2 := (-b-Sqrt(delta))/(2*a);
Writeln('Las soluciones de esta ecuación son:',s1:2:2,'y',s2:2:2)
End
Else If delta=0 Then
Begin
s3 := (-b)/(2*a);
Writeln('La solución de esta ecuación es:',s3:2:2)
End
Else
Writeln('la solución es el conjunto vacío');
Readln;
End.
Configuración: Windows / Chrome 100.0.4896.88
Programa ecuación;
Var
a,b,c,s1,s2,s3,delta: Real;
Begin
Writeln('introduce los valores respectivos de a, b y c');
Readln(a,b,c);
If a=0 Then
Writeln('esta ecuación es de primer grado')
Else
Begin
Writeln('esta ecuación es de segundo grado');
delta := (b*b)-(4*a*c)
End;
If delta>0 Then
Begin
s1 := (-b+Sqrt(delta))/(2*a);
s2 := (-b-Sqrt(delta))/(2*a);
Writeln('Las soluciones de esta ecuación son:',s1:2:2,'y',s2:2:2)
End
Else If delta=0 Then
Begin
s3 := (-b)/(2*a);
Writeln('La solución de esta ecuación es:',s3:2:2)
End
Else
Writeln('la solución es el conjunto vacío');
Readln;
End.
Configuración: Windows / Chrome 100.0.4896.88
1 respuesta
Hola
Cdlmnt
Program equation; Var a,b,c,s1,s2,s3,delta: Real; Begin Writeln('Introduce los valores respectivos de a,b y c'); Readln(a,b,c); If a=0 Then Writeln('esta ecuación es de primer grado') Else Begin Writeln('esta ecuación es de segundo grado'); delta := (b*b)-(4*a*c); If delta>0 Then Begin s1 := (-b+Sqrt(delta))/(2*a); s2 := (-b-Sqrt(delta))/(2*a); Writeln('Las soluciones de esta ecuación son:',s1:2:2,'y',s2:2:2) End Else If delta=0 Then Begin s3 := (-b)/(2*a); Writeln('La solución de esta ecuación es:',s3:2:2) End Else Writeln('la solución es un conjunto vacío'); End; Readln; End. Cdlmnt
Esto nos deja con hambre: ¿qué pasa con las soluciones cuando la ecuación es de primer grado, cuando en este caso b es cero y no c, cuando a, b y c son todos cero, cuando el discriminante es negativo (lo que no innova, a menos que por supuesto sea necesario calcular la raíz de -delta y que las soluciones sean complejas)?