Programación General > Pascal
Problema Para Finalizar El Ciclo For
(1/1)
rodo1985:
hola a todos , cuando quiero terminar el programa siempre va el end. pero si quiero continuar tengo que poner end; miren lo que me pasa....
programe lo siguiente ....
--- Código: Text --- program programa1;var max,min,a,b,c,f:real; i:integer;begin writeln ('ingrese el primer valor'); readln (a); c:=0; max:=a; min:=a; c:=c+1; f:=f+1; for i:=1 to 5 do begin writeln ('ingrese otro valor para saber si es maximo o minimo'); readln (B); if b>max then begin max:=b; c:=c+1; end else if b<min then begin min:=b; f:=f+1; end; end; [color=red]end;[/color] ahora end writeln ('el valor maxaimo es', max); writeln ('la posicion del valor maximo es', c); writeln ('el valor minimo es', min); writeln ('la posicion del valor minimo es', f); readln (a);end. cuando le doy run me pone que tengo error de ¨;¨
cuando arranca el ciclo for para finalizarlo no va ;?
si pongo ¨.¨ si funciona pero claro al darle run lo unico que puedo hacer es ingresar valores y luego finaliza....
lo solucione
lo arregle sacandole el ;
pero tengo un error de ¨identifier readln¨ y ¨identifier writeln¨.....donde?
Editado Escribe el codigo entre los tags [CODE] aca va el codigo [ /CODE]
Enko:
Trata de marcar bien los bloques begin end.
--- Código: Text --- for i:=1 to 5 dobegin Writeln ('ingrese otro valor para saber si es maximo o minimo'); Readln (B); if b > max then begin max := b; c := c+1; end else if b<min then begin min := b; f := f+1; end;end;
por sierto, el bloque if, else if, else no lleva el ; salgo al final
--- Código: Text --- if a thenbegin ...end elseif b thenbegin ...end elsebegin ...end; tambien he visto que lo hacen:
--- Código: Text --- if a thenbegin ...end else if b thenbegin ...end elsebegin ...end; Yo siempre us'e esta ultima, pero cuando vi la primera, resulta mas comoda ya que tenes menos posibilidad de equivocarte.
rodo1985:
gracias lo solucione , la proxima pongo el codigo entre los tags ...
Celsoc23:
--- Cita de: "Enko" ---Trata de marcar bien los bloques begin end.
--- Código: Text --- for i:=1 to 5 dobegin Writeln ('ingrese otro valor para saber si es maximo o minimo'); Readln (B); if b > max then begin max := b; c := c+1; end else if b<min then begin min := b; f := f+1; end;end;
por sierto, el bloque if, else if, else no lleva el ; salgo al final
--- Código: Text --- if a thenbegin ...end elseif b thenbegin ...end elsebegin ...end; tambien he visto que lo hacen:
--- Código: Text --- if a thenbegin ...end else if b thenbegin ...end elsebegin ...end; Yo siempre us'e esta ultima, pero cuando vi la primera, resulta mas comoda ya que tenes menos posibilidad de equivocarte.
--- Fin de la cita ---
El problema que tenes en este programa es de logica, no se porque al final mandas a leer a readln(a), ni siquiera mandas un letrero men. y el otro error es que tenes una instruccion mal escrita que es sobre algo de colo, encerralo entre llaves y compilalo de nuevo. Me tome la molestia de corregirlo....
program programa1;
var
max,min,a,b,c,f:real;
i:integer;
begin
writeln ('ingrese el primer valor');
readln (a);
c:=0;
max:=a;
min:=a;
c:=c+1;
f:=f+1;
for i:=1 to 5 do
begin
writeln ('ingrese otro valor para saber si es maximo o minimo');
readln (B);
if b>max then
begin
max:=b;
c:=c+1;
end
else
if b<min then
begin
min:=b;
f:=f+1;
end;
end;
writeln ('el valor maxaimo es:', max:0:2);
writeln ('la posicion del valor maximo es:', c:0:2);
writeln ('el valor minimo es:', min:0:2);
writeln ('la posicion del valor minimo es:', f:0:2);
readln;
end.
Navegación
Ir a la versión completa