¡Advertencia!
Este tema no ha tenido respuestas en más de un mes. Recuerda que si deseas añadir una nueva debes cumplir con las normas de la web.
Hola,

Estoy aprendiendo a usar Pascal, es uno de los dos (El otro es Visual FoxPRO) lenguajes de programación que me estoy enseñando a manejar.

Realmente lo que quisiera que me explicaran son las funciones de los ciclos/loops/bucles en como usarlos. Es lo único con lo que estoy realmente atrasado y confuso.
Los ciclos For to do, for downto do, repeat-until, while.

¿Alguien me puede explicar detalladamente? xd Es que busco en Internet y me hacen más bolas (No entiendo nah).

Gracias<3
A ver, trataré de explicártelo lo mejor posible. Nótese que de Pascal no sé casi nada.

Un ciclo en general te permite realizar unas determinadas sentencias varias veces. La cantidad de veces que se repite el ciclo o las acciones dependerán de ti, o del usuario en sí (al que le haces el programa).

Para el ciclo 'for', tú debes saber la cantidad de veces que se repetirá el ciclo.
La estructura de un ciclo "for to do" es:

For num := 1 to 9 do
      Begin
            Write(num);
      End;

Esto significa que la variable 'num' tendrá primero el valor de 1, luego entrará entre "Begin" y "End" y realizará lo que esté ahí, en este caso "Write(num)" (escribir lo que está en 'num'). Cuando hace esa sentencia, vuelve y entra al ciclo, esta vez 'num' no tendrá 1, sino que aumentará a 2. Y volverá a hacer lo mismo, la última vez que lo hará será cuando 'num' sea igual a 10.

Eso debería imprimir: "123456789".

El for downto do es lo mismo, solo que en vez de aumentar, disminuye.

For num := 9 downto 1 do
      Begin
            Write(num);
      End;

Eso debería imprimir "987654321".



Espero hayas podido entender, me cuesta un poco explicar esta parte de la programación xD
Mañana si saco un poco de tiempo te explico los otros, al menos que alguien quiera adelantarse :P!
OFF: ¿Hay gente que todavía programa en Pascal?
OFF 2: ¿Para qué sirve Pascal? XD

¡Soy el fantasma de Habtium! Me dedico a reemplazar aquellas cuentas que han sido eliminadas. 👻

OFF: ¿Hay gente que todavía programa en Pascal?
OFF 2: ¿Para qué sirve Pascal? XD


Idem xD, yo recuerdo que el hermano de mi mama, hablaba de pascal esto, pascal lo otro en esos tiempo tenia como 8 años y mira que soy del 91, es viejisimo.
Y para que sirve, eso si ni idea, no soy coder de aplicaciones de escritorio, no me interesa, creo que aun lo enseñan en esas escuelas de informática.



Hoose, que estas estudiando?

Políticamente irresistible.
Pascal es un lenguaje de programación que sirve de mucha ayuda para iniciar a los estudiantes en el campo de la programación.

OFF: ¿Hay gente que todavía programa en Pascal?
OFF 2: ¿Para qué sirve Pascal? XD

Si, todavía se usa Pascal. Es un lenguaje estructurado y sencillo que sirve para 'noobs' que apenas inician en el mundo de la programación


Idem xD, yo recuerdo que el hermano de mi mama, hablaba de pascal esto, pascal lo otro en esos tiempo tenia como 8 años y mira que soy del 91, es viejisimo.
Y para que sirve, eso si ni idea, no soy coder de aplicaciones de escritorio, no me interesa, creo que aun lo enseñan en esas escuelas de informática.

Hoose, que estas estudiando?

Si es viejisisisimo, tiene alrededor de 40 años, ya sabras XDD. Sirve para crear programas en entorno MS-DOS. Y estudio en Téc. Analista-Programador.

Phys, ¿Podrias explicarme los otros ciclos, pls?

Y sobre los ciclos que me enseñaste, mira nada mas:
$$CODE0$$
Descarga/VirusTotal
Es simple, es un carrito formado por caracteres que se va moviendo xd.
Vista previa:
http://img820.imageshack.us/img820/5947/carroq.png
Estoy pensando como explicarte el while xD...
A ver mira, si sabes lo que son las expresiones lógicas, pienso que se te hará fácil.

La estructura es:

while EXPRESION_LOGICA do
begin
SENTENCIAS_A_REPETIR
end;

En español while significa 'mientras que'. Entonces la explicación sería: mientras que la expresión lógica (condición) sea verdadera, se hará lo que está dentro del begin || end;

La diferencia entre for y while, es que el for se usa para contadores, cuando sabes la cantidad de veces que se repetirá el ciclo, en cambio while no. En while tu decides en qué momento detener el ciclo, de acuerdo a la expresión lógica o condición que le impongas.

Nota: yo no sé muy bien como se manejan las lecturas en pascal, así que lo sacaré de internet, si está mal me corriges.

Haré un programa que lea un número y luego lo sume (a un acumulador que será la variable suma) 2*2  y te pregunte

var opcion: Char;
var suma, lectura: Integer;

opcion = 'N';
suma = 0;

Begin

   while opcion = 'N' do
   Begin
        Write('Introduzca un numero: ');
        ReadLn(lectura);
        suma = suma + lectura;
     
        Write('Desea finalizar? S/N');
        ReadLn(opcion)
   End;

   WriteLn(suma);

End;


Espero esté bien, no tengo ni siquiera un compilador para probarlo y darte algo bueno, pero supongo que si hay errores sabrás notarlos y espero también me los hagas saber y así aprendo también xD
El programa lo que hace es utilizar una variable llamada 'opcion' que inicializo con el caracter 'N' para que pueda entrar al ciclo while. El ciclo dice: "Mientras la variable opcion sea igual a el caracter 'N' hacer...", luego de esto el programa te pide un número, y luego lo suma a la variable suma (un acumulador) y luego te pregunta si deseas finalizar la aplicación, si presionas N, cuando vuelva al ciclo te hará la pregunta: ¿opcion es igual a 'N'?, de ser cierto vuelve y repite lo mismo... Pero si presionas cualquier otra cosa que no sea N, la condición será falsa, por lo tanto saldrá del ciclo y hará la sentencia WriteLn(suma) que está fuera del ciclo y pum, termina el programa.



Ese es uno de los usos que se le puede dar al while, aún se le pueden dar más.. Pero bueno, espero que con esto lo hayas comprendido xD...
Ah y el REPEAT-UNTIL es lo mismo que el while. El while primero hace la comprobación (la condición) y luego ejecuta las sentencias, pero el REPEAT-UNTIL primero ejecuta las sentencias y luego hace la comprobación a ver si la vuelve a ejecutar. Es decir:

While: comprueba y ejecuta.
Repeat-until: ejecuta y comprueba.

PD: Me gustó como te quedó la aplicación de los carritos