• Sábado 20 de Abril de 2024, 06:57

Autor Tema:  Ejercicio Con While  (Leído 1547 veces)

lau82

  • Nuevo Miembro
  • *
  • Mensajes: 18
    • Ver Perfil
Ejercicio Con While
« en: Viernes 5 de Mayo de 2006, 19:18 »
0
Escribir un programa en Pascal que realice un bucle con While y muestre
en pantalla del 1 al 10.


PROGRAM EJER;
        USES CRT;
        VAR x:INTEGER;
BEGIN
     x:=0;

     ClrScr;

     WHILE X <= 10 DO
     BEGIN
          WRITELN (x);
          x:=x+1;

     END;
END.

Dudas:
¿Porque se usa un begin despues del while?
¿Que vendria a significar esta sentencia, como se veria en pantalla?
WHILE X <= 10 DO
     BEGIN
          WRITELN (x);
          x:=x+1;

     END;    

y el x:=x+1 porque se pone?
Perdonen si son tontas las preguntas, pero empezamos a ver while y encontre un ejercicio y los trate de entender, pero no logro entender  como se arman ni lo que significan.

LAURA

Perrero

  • Miembro MUY activo
  • ***
  • Mensajes: 209
    • Ver Perfil
Re: Ejercicio Con While
« Respuesta #1 en: Viernes 5 de Mayo de 2006, 20:30 »
0
Mmmmmmmmm, vamos a ver si te puedo ayudar aunque sea un poquito.

Código: Text
  1.  
  2. X:= 1;
  3. WHILE (X &#60;= 10) DO   {Mientras X es menor o igual a 10 hacer...
  4.    BEGIN
  5.      WRITELN (x);  {Imprimimos en pantalla x}
  6.      x:=x+1;         {ahora al valor de x le aumentamos en uno, puede ser tbm inc(X)}
  7.                              {Es decir si X antes valia 1 ahora va a valer 2}
  8.    END;
  9.  
  10.  

1.El Begin despues del While se pone por que va a leer mas de una instruccion y/o linea, pero como en este caso va a ejecutar dos instrucciones (va a leer dos lineas) tenemos que "encerrarlos" con el begin y el end, ya que todo lo que vaya hay, sera ejecutado mientras se cumpla la condicion del While.

2. Lo de la salida en pantalla, supongo que ya lo debiste a ver visto por tus propios ojos, te imprimiria esto:

0
1
2
3
4
5
6
7
8
9
10

OJO: no te imprime desde 1, sino desde sero, ya que inizializaste el valor de X en cero. Para que se inizialize en uno dejando que se inizialize en cero, en While tienes que poner antes del Writeln X:= X+1.

3. El X:= X+1 o tbm Inc(X), se pone xq quieres incrementar de uno en uno el valor de X, si no pusieras esa condicion el programa nunca terminaria, se iria al infinito, ya que solo se detendria cuando X sea mayor a 10 y eso nunca va a suceder ya que el valor de X siempre va a ser cero.

Webo, espero a ver ayudado en algo y si quizas me equivoque en algo, pues les agradeceria que me corrijan....bye  :hola:

lau82

  • Nuevo Miembro
  • *
  • Mensajes: 18
    • Ver Perfil
Re: Ejercicio Con While
« Respuesta #2 en: Lunes 8 de Mayo de 2006, 17:53 »
0
Y es lo mismo  usar For encambio de While o cambia? Significa lo mismo? Lo muestra igual por pantalla?
por ejemplo:

PROGRAM EJER44;
        USES CRT;

        VAR x:INTEGER;
BEGIN

     ClrScr;

     FOR x:=0 TO 10 DO
              WRITELN (x);

END.

gracias.
sldos

LAURA

Perrero

  • Miembro MUY activo
  • ***
  • Mensajes: 209
    • Ver Perfil
Re: Ejercicio Con While
« Respuesta #3 en: Martes 9 de Mayo de 2006, 01:13 »
0
Sip, seria lo mismo, en este caso no tienes que incrementar el valor de X, ya que el mismo for se encarga de hacerlo, en ese caso te imprimiria numeros del 0 al 10. En el caso del While las instrucciones se ejecutan, hasta que la condicion sea FALSE, y no sabes cuantas veces se va a ejecutar (para este ejemplo si lo sabes, pero en otros problemas no), solo sabes que lo va hacer mientras sea TRUE.

juancpalmajr

  • Miembro activo
  • **
  • Mensajes: 51
    • Ver Perfil
    • http://www.linuxcommunity.com.ar
Re: Ejercicio Con While
« Respuesta #4 en: Miércoles 24 de Mayo de 2006, 04:50 »
0
Cita de: "lau82"
Escribir un programa en Pascal que realice un bucle con While y muestre
en pantalla del 1 al 10.
es asi:
Código: Text
  1.  
  2.   i:=0;
  3.   While (i&#60;&#62;10) Do Begin
  4.      i:=i+1;
  5.      Writeln (i);
  6.   End;
  7.   Writeln ('i es igual a 10, salio del ciclo');
  8.  
  9.