Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/02/2008, 18:30
drbit
 
Fecha de Ingreso: mayo-2006
Mensajes: 120
Antigüedad: 18 años, 6 meses
Puntos: 3
Re: While y Pascal

Para encontrar el algoritmo tenes que intentar pensar que patron
asocia a las variables con las introducidas por el usuario, para esto
tenes que analizar lo que queres obtener según la entrada.
Veamos algunos casos:
--
Introduce Numero de Lineas: 1
Salida esperada:
*
--
Introduce Numero de Lineas: 2
Salida esperada:
*
**
--
Introduce Numero de Lineas: 3
Salida esperada:
*
**
***
--
Introduce Numero de Lineas: 4
Salida esperada:
*
**
***
****
--


El primer patrón que te encontras es trivial porque es tu pedido, a n líneas tenes que tener como mínimo n writeln. Pero también es evidente que necesitas por cada una de las iteraciones imprimir cierta cantidad de caracteres sin salto de linea (write). ¿Cúantos? La primera vez 1, la segunda vez 2, en la iteración número n, tenes que sacar n. Por lo que tenemos 2 while (uno lo transformo en for por comodidad), uno para sacar n saltos de línea, y otro para sacar los caracteres:
Código:
   base:=0;
   while base <= lineas do
   begin
      for x:= 1 to base do
         write(caracter);
      base := base + 1;
      writeln();
   end;
Ahora todo junto:

Código:
program caracter_programa;
uses crt;
var
   base,x : integer;
   caracter : string[1];
   lineas:integer;
begin
   textcolor(yellow); 
   textbackground(blue); 
   clrscr; 
   gotoxy(30,15); 
   writeln('Escribe Caracter');
   readln(caracter);
   writeln('Escribe Numero de Lineas');
   readln(lineas);
   base:=0;
   while base <= lineas do
   begin
      for x:= 1 to base do
         write(caracter);
      base := base + 1;
      writeln();
   end;
   readln;
end.
Espero que te sea de ayuda, saludos.
__________________
programación php