Vamos a programar #93 - El triangulo de pascal (ver. Pascal)

 Hola de nuevo el día de hoy vamos a continuar con mas del triangulo de Pascal, pero esta vez en el lenguaje de programación pascal.



Para entender un poco sobre el triangulo de pascal, recuerda que en el post "Vamos a programar #91" podemos encontrar cómo se calcula a mano y el código en Python. Ahora veamos el código en Pascal que sirve para calcular el triangulo de Pascal.





Lo primero que hacemos es declarar variables globales. Seguido. creamos dos tipos, el tipo "Values" que a su vez es del tipo "array of integer" y el segundo tipo llamado "PValues" que es un puntero a "Values" (en el siguiente post detallaremos algunas cosas sobre los tipo y los punteros).

Después creamos dos funciones. La primera función es "CalculateLevel" y cómo su nombre sugiere sirve para calcular los valores del nivel actual, recibe un parametro del tipo "integer" que sirve para indicar el numero de nivel a calcular, esta regresa un valor del tipo "PValues"

La siguiente función es "DrawPascalTriangle" que cómo su nombre lo indica sirve para dibujar el triangulo. Recibe un parámetro del tipo "integer" que sirve para indicar el numero de niveles que el triangulo tendrá. Para hacerlo, simplemente recorre de uno al número de niveles y a su vez por cada nivel, recorrerá todos los valores que el resultado de "CalculateLevel" contenga.

SI habrás notado, el código en C y el código en Pascal son bastante diferentes al de Python; esto se debe a un par de razones. La primera de ellas es que el código en Python está administrado por el propio interprete, en el caso de C y Pascal; en estos ejemplos, no es así ya que usamos punteros.

Y bien por ahora es todo, cómo de costumbre, puedes descargar el código de mi dropbox para que lo pruebes o en el código hay un botón de ejecutar que te llevará a la versión en línea (donde se puede ejecutar). Pero antes debo de hacer énfasis en cómo es que pascal maneja el tipo "integer". Por default cuando compilamos código, se usaran 16 bits para los enteros, cómo estos tienen signo, los valores permitidos estarán en el rango de -32,768 a 32,767 (por eso está limitado a 18 niveles en el compilador online). Podemos cambiar las directivas para que se usen 32 bits, pero eso será en otro post. Por ahora recomiendo la versión en línea.

Los leo luego.

No hay comentarios.