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

[0] Índice de Mensajes

Ir a la versión completa