Programación General > Pascal
No Me Compila ....
(1/1)
rodo1985:
hola que tal , programe lo siguiente y no compila....
--- Código: Text --- program calculo_de_raiz;vara,b,c,d,raiz1,raiz2:real;beginwriteln ('ingrese los tres valores de la ecuacion');readln (a,b,c);d:=(b*b)-(4*a*c); if d<0 then begin writeln ('las raices son imaginarias'); end else begin if d>=0 then begin raiz1:=(-b+d)/2*a; raiz2:=(-b-d)/2*a; writeln ('las raices son'); writeln ('el valor de la primera raiz es :' raiz1); writeln ('el valor de la segunda raiz es :' raiz2); end; end;end.
cuando compilo me pone :
error syntax ¨)¨ identifier raiz1
rodo1985:
AAAAAAA!!!!!!!!!!!!!! me comi la coma en el writeln de la raiz ....
--- Código: Text --- program calculo_de_raiz;vara,b,c,d,raiz1,raiz2:integer;beginwriteln ('ingrese los tres valores de la ecuaciona');writeln ('ingrese a , b ,c' );readln (a,b,c);d:=((b*b)-(4*a*c))**(1/2); if d<0 then begin writeln ('las raices son imaginarias'); end else begin if d>=0 then begin raiz1:=(-b+d)/(2*a); raiz2:=(-b-d)/(2*a); writeln ('las raices son'); writeln ('el valor de la primera raiz es :', raiz1); writeln ('el valor de la segunda raiz es :', raiz2); end; end; readln;end. una consulta cuando el free pascal te marca error como puedo saber sobre que linea del codigo esta dicho error .......
no compila cuando agrego lo de la raiz ()**(1/2)...
Enko:
De seguro es porque la variable "d", "raiz1" y "raiz2" deben ser de tipo Real
--- Código: Text --- d, raiz1, raiz2: Real; Creo que con eso ya quedaria resuelto.
Es que el operador "/" se usa para diviciones reales, si quieres dividir enteros, debes usar "div" pero olvidate de lo que sige despues de lo coma.
rodo1985:
gracias por responder enko
mira esto este es otro cuando compilo me pone ¨error illegal expression¨
como que hay una ilegal exprecion pero donde ??
--- Código: Text --- program promedios;var a,b,c,d,e,pg1,pg2,max,max2:real; x,y,i,nl:integer; begin writeln ('ingrese el numero de legajo:'); readln (nl); writeln ('ingrese los cinco promedios:'); readln (a,b,c,d,e); pg1:=(a+b+c+d+e)/5; max:=pg1; x:=nl; writeln ('ingrese el numero de legajo:'); readln (nl); writeln ('ingrese los cinco promedios:'); readln (a,b,c,d,e); pg2:=(a+b+c+d+e)/5; max2:=pg2; y:=nl; for i:=3 to 5 do begin writeln ('ingrese el numero de legajo:'); readln (nl); writeln ('ingrese los cinco promedios:'); readln (a,b,c,d,e); pg1:=(a+b+c+d+e)/5; if pg1>max then begin max:=pg1; x:=nl; end else begin if pg1>max2 then begin max2=pg1; y:=nl; end; end; end; writeln ('los valores maximos son:', max,max2); writeln ('los numeros de legajo son:', x,y); readln; end.
rodo1985:
:devil: aaaa!!! me falto poner a max2=pg1; los dos :..
:lol: ahora siiiiii funca carajo VAMOS!!!!!
:comp:
Navegación
Ir a la versión completa