Título: Pascal+Procedure+Figuritas. Publicado por: Corso en 26 Noviembre 2005, 02:32 am Buenas..
Pues otro problema con un ejercicio... Se me pide que haga un programa (con procedimientos), para que presente por pantalla una “pirámide”. El programa solicita la altura de la pirámide, y con el carácter que se va a realizar... Algo como esto: Introduzca la altura de la pirámide:7 Introduzca el carácter:# # ## ### #### ##### ###### ####### Lo más parecido que e hecho es esto: Código: program figuritas; Pero no tengo ni idea de cómo codificarlo para que lo presente con la forma de la pirámide... Imagino que con alguna estructura que valla añadiendo un espacio (writeln(‘’);) entre cada carácter.. O... Es que no se me ocurre nada... Mira que e hecho ya programas con funciones y procedimientos, y ningún problema... Pero con esta chorrada, ni idea. A ver si a alguno. Salu2. Título: Re: Pascal+Procedure+Figuritas. Publicado por: Crack_X en 26 Noviembre 2005, 02:46 am Código:
En el notepad se veia mejor pero bueno..... ::) Haci lo haria yo.... empiezo desde abajo para arriba guardandolo en alguna variable. Si la altura es 7 pues escribes los 7 caracteres dejando un espacio entre caracter. Luego la segunda fila (de abajo para arriba) deberia ser 6 caracteres pero dejando un espacio al principio (en el 7 se dejo 0 espacio) y luego ir subiendo en ese orden. Algo como (no se pascal es solo un ejemplo): $a = 7 $c = "#" $e = 0 //espacio for ($i=1;$i==$a;$i++){ for ($x=0;$x==$e;$x++){ //ir aumentando el espacio writeln(' '); } $e++; wrieln($c + ' '); } Tambien se podria hacer que el programa o la idea de como lo haria funcionara alrevez pero no puedo quemar tanta neuronas a esta hora :P Espero que te sirva . Título: Re: Pascal+Procedure+Figuritas. Publicado por: jvchino en 26 Noviembre 2005, 06:49 am Puedes usar la función GOTOXY(coordX,coordY) para ubicar el primer caracter de cada linea.
Inicializas un X y un Y adecuado [Ejemplo: x:=20; y:=5;] Y en cada pasada aumentas "Y" (para que vaya a la siguiente línea) y disminuyes "X" (para que retroceda una columna). Para "dibujar" la pirámide es necesario un doble FOR...DO; uno para que cuente las líneas y otro para que dibuje los caracteres. Código: x:=25; Con este código obtienes: # # # # # # # # # # # # # # # # # # # # # # # # # # # # Si deseas todo "relleno", no creo que sea dificil modificar el código, para que el resultado sea: # ### ##### ####### ######### ########### ############# SUERTE. P.D. Debes incluir en la cabecera la unidad CRT: uses crt; |