SoloCodigo

Programación General => Pascal => Mensaje iniciado por: tomas_sauron en Sábado 8 de Enero de 2011, 16:20

Título: EJERCICIO SOBRE VCTORES
Publicado por: tomas_sauron en Sábado 8 de Enero de 2011, 16:20
BUEN DIA GNT DEL FORO NECESITO AYUDA CON ESTE PEDAZO DEL ALGORITMO AL INGRESAR EN CICLO WHILE QEDA TILDADO SUSPENDIDO EL PROGRAMA

program max_min;
 uses crt;
 const
      ini=1;
      max=100;

 type
     tnum=integer;
     trango=ini..max;
     tvector=array[trango]of tnum;

 var
     vector:tvector;
     ulpos:tnum;

procedure ingresar(var vector:tvector; var ulpos:tnum);



begin
     ulpos:=ini;
     writeln('ingrese');
     read(vector[ulpos]);
     while(ulpos <= max)and(vector[ulpos] <> 0) do;

         begin
              inc(ulpos);
              writeln('inrese');
              read(vector[ulpos])
         end;

     if vector[ulpos] = 0 then
        dec(ulpos)

end;

begin

     ingresar(vector,ulpos);
     readkey

end.
DESDE YA MUCHAS GRACIAS
Citar
Título: Re: EJERCICIO SOBRE VCTORES
Publicado por: Thanatos-chan en Sábado 8 de Enero de 2011, 20:26
Segu tu codigo

Código: Pascal
  1.  
  2.  
  3. //primero segun el valor de esta variable tienes que ejecutar 100 veces
  4. max=100;
  5.  
  6. //segundo tu while lee de la siguiente manera:
  7. //mientras "ulpos" <=100 y vector no sea cero, ejecuta el loop
  8.  
  9. //asi que si escribieras el numero 0 deberia terminar....pero...
  10. //segun este codigo
  11.  
  12. if vector[ulpos] = 0 then
  13. dec(ulpos)
  14.  
  15. end;
  16.  
  17. //si escribes cero, ulpos se reducirá en 1 es decir que si en el primer recorido del loop escribiste un 1 pero en el segundo escribiste cero pensando que iba a salir, el codigo de arriba se devuelve al indice 1 donde el valor es 1 y por eso la condicion del while se cumple y no termina el programa
  18. vector[1] =1
  19. vector[2]=0
  20.  
  21. //tercero y mas importante, este codigo te deberia dar error ya que tienes un while en blanco porque has terminado con ;
  22. //despues del do
  23.  
  24. //el while se deberia ver de esta manera
  25.  
  26. while (ulpos <= max) and (vector[ulpos] <> 0) do
  27. begin
  28. //aqui tu codigo
  29. end;
  30.  
  31.  
  32.  
:hola:
Título: Re: EJERCICIO SOBRE VCTORES
Publicado por: tomas_sauron en Sábado 8 de Enero de 2011, 21:51
muuuuuuuuuuuuchas gracias!!!!!!!!!!!!!!!!!! era el era el ; luego del DO lo q estaba fallando  :beer: muchas gracias m salvast nbo t das una idea no estaba al tanto d ese detalle soy nuevo en esto voy a seguir practicando saludos !!!!!