• Viernes 8 de Noviembre de 2024, 14:25

Autor Tema:  Problema Para Finalizar El Ciclo For  (Leído 1634 veces)

rodo1985

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Problema Para Finalizar El Ciclo For
« en: Viernes 4 de Mayo de 2007, 16:27 »
0
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
  1.  
  2. program programa1;
  3. var max,min,a,b,c,f:real;
  4.       i:integer;
  5. begin
  6.  writeln ('ingrese el primer valor');
  7.  readln (a);
  8.  c:=0;
  9.  max:=a;
  10.  min:=a;
  11.  c:=c+1;
  12.  f:=f+1;
  13.   for i:=1 to 5 do
  14.   begin
  15.   writeln ('ingrese otro valor para saber si es maximo o minimo');
  16.   readln (B);
  17.    if b>max then
  18.    begin
  19.    max:=b;
  20.    c:=c+1;
  21.    end
  22.    else
  23.     if b<min then
  24.     begin
  25.     min:=b;
  26.     f:=f+1;
  27.     end;
  28.    end;
  29.   [color=red]end;[/color] ahora end
  30.  writeln ('el valor maxaimo es', max);
  31.  writeln ('la posicion del valor maximo es', c);
  32.  writeln ('el valor minimo es', min);
  33.  writeln ('la posicion del valor minimo es', f);
  34.  readln (a);
  35. end.
  36.  
  37.  
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

  • Miembro de PLATA
  • *****
  • Mensajes: 1562
  • Nacionalidad: 00
    • Ver Perfil
Re: Problema Para Finalizar El Ciclo For
« Respuesta #1 en: Viernes 4 de Mayo de 2007, 21:38 »
0
Trata  de marcar bien los bloques begin end.
Código: Text
  1.  
  2. for i:=1 to 5 do
  3. begin
  4.    Writeln ('ingrese otro valor para saber si es maximo o minimo');
  5.    Readln (B);
  6.    if b > max then
  7.    begin
  8.       max := b;
  9.       c := c+1;
  10.    end else
  11.    if b<min then
  12.    begin
  13.       min := b;
  14.       f := f+1;
  15.    end;
  16. end;
  17.  
  18.  

por sierto, el bloque if, else if, else no lleva el ; salgo al final
Código: Text
  1.  
  2. if a then
  3. begin
  4.    ...
  5. end else
  6. if b then
  7. begin
  8.     ...
  9. end else
  10. begin
  11.    ...
  12. end;
  13.  
  14.  
tambien he visto que lo hacen:
Código: Text
  1.  
  2. if a then
  3. begin
  4.    ...
  5. end
  6. else if b then
  7. begin
  8.     ...
  9. end
  10. else
  11. begin
  12.    ...
  13. end;
  14.  
  15.  
Yo siempre us'e esta ultima, pero cuando vi la primera, resulta mas comoda ya que tenes menos posibilidad de equivocarte.

rodo1985

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Problema Para Finalizar El Ciclo For
« Respuesta #2 en: Sábado 5 de Mayo de 2007, 05:28 »
0
gracias lo solucione , la proxima pongo el codigo entre los tags ...

Celsoc23

  • Nuevo Miembro
  • *
  • Mensajes: 3
  • Nacionalidad: ni
  • Trabajo de prisa, para vivir despasio
    • Ver Perfil
Re: Problema Para Finalizar El Ciclo For
« Respuesta #3 en: Lunes 7 de Mayo de 2007, 21:54 »
0
Cita de: "Enko"
Trata  de marcar bien los bloques begin end.
Código: Text
  1.  
  2. for i:=1 to 5 do
  3. begin
  4.    Writeln ('ingrese otro valor para saber si es maximo o minimo');
  5.    Readln (B);
  6.    if b > max then
  7.    begin
  8.       max := b;
  9.       c := c+1;
  10.    end else
  11.    if b<min then
  12.    begin
  13.       min := b;
  14.       f := f+1;
  15.    end;
  16. end;
  17.  
  18.  

por sierto, el bloque if, else if, else no lleva el ; salgo al final
Código: Text
  1.  
  2. if a then
  3. begin
  4.    ...
  5. end else
  6. if b then
  7. begin
  8.     ...
  9. end else
  10. begin
  11.    ...
  12. end;
  13.  
  14.  
tambien he visto que lo hacen:
Código: Text
  1.  
  2. if a then
  3. begin
  4.    ...
  5. end
  6. else if b then
  7. begin
  8.     ...
  9. end
  10. else
  11. begin
  12.    ...
  13. end;
  14.  
  15.  
Yo siempre us'e esta ultima, pero cuando vi la primera, resulta mas comoda ya que tenes menos posibilidad de equivocarte.
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.