SoloCodigo

Programación General => Pascal => Mensaje iniciado por: pegui en Miércoles 25 de Junio de 2008, 11:10

Título: Piramide Pascal
Publicado por: pegui en Miércoles 25 de Junio de 2008, 11:10
Hola a todos, Necesito ayuda porque tengo que hacer un programilla en pascal que por medio de bucles anidados, “mientras” me construya una pirámide de dígitos como la imagen de abajo, de tal manera que el número de líneas de la pirámide está dado por un número introducido por teclado.

                              1
                            010
                          10101
                        0101010
                      101010101
                    01010101010

Necisito que alguien me ayude sobre cual es la condiccion a poner en el while, porque no consigo dar con ello.
Gracias.

PROCEDURE piramide ()
VAR
     Numero:Integer;
BEGIN
     Write('Introduce un Número por teclado:');
     Read(Numero);
     WHILE ( ) DO

END;
Título: Re: Piramide Pascal
Publicado por: Enko en Miércoles 25 de Junio de 2008, 15:00
si el numero que lees es la altura de la piramide, entonces>
Código: Text
  1.  
  2. while i <= Numero do
  3. begin
  4.    for j:=1 to i do
  5.    begin
  6.        //aqui escribes los ceros o los unos.
  7.    end;
  8.    i := i + 1;
  9. end;
  10.  
  11.  

Saludos
Título: Re: Piramide Pascal
Publicado por: pegui en Sábado 28 de Junio de 2008, 02:28
En la solucíon que me has dado, como meto los unos y los ceros porque dependen del número que me metan.
si me meten un 1 solo muestro un 1, pero si me meten un 2 tengo que mostrar:
1
010
entonces nunca se lo que tengo que mostrar depende del numero introducido.Como hago????
Título: Re: Piramide Pascal
Publicado por: Enko en Sábado 28 de Junio de 2008, 04:07
Es cuestion de tener una variable booleana e ir cambiando su valor entre verdadero o falso cada vez que  escribes un 1 o un 0.
Código: Text
  1.  
  2. var
  3.    b: boolean;
  4. begin
  5. ................
  6. if b then
  7.     Write('1')
  8. else
  9.     Write('0');
  10. end;
  11. b := not b;
  12.  
  13.  
Saludos