¡Descubre Cómo Declarar y Usar Funciones en Pascal Fácilmente y Mejora tu Código!post-template-default single single-post postid-46 single-format-standard et_pb_button_helper_class et_fixed_nav et_show_nav et_secondary_nav_enabled et_primary_nav_dropdown_animation_fade et_secondary_nav_dropdown_animation_fade et_header_style_left et_pb_footer_columns4 et_cover_background et_pb_gutter et_pb_gutters3 et_right_sidebar et_divi_theme et-db
771 715 4434

Aquí iniciamos nuestra serie de entradas referidas al lenguaje Pascal, un lenguaje publicado allá por comienzos de los '70 con el objetivo de facilitar el aprendizaje de la programación y que incluso hoy en día se utiliza en muchos lugares como primer lenguaje para introducirse en la programación estructurada. Los programas en este lenguaje deben ser compilados y tienen la particularidad de estar divididos en funciones o procedimientos que facilitan la lectura del código. Además, es un lenguaje fuertemente tipado y el tipo de dato de las variables queda fijado al momento de definirla, lo que reduce la posibilidad de errores en estos aspectos. Dicho esto, en esta entrada veremos cuál es la estructura de un programa en Pascal y profundizaremos en la declaración de funciones, sus parámetros y los distintos tipos que existen.

Estructura de un Programa en Pascal

Un programa en Pascal está dividido en secciones. Existen secciones bien definidas para cada parte del programa, aunque las cláusulas Program y Uses, como también las secciones de declaración: Label, Const, Type, Var, Procedure, Function no deben estar obligatoriamente en todos los programas, sino que las usaremos cuando sea necesario. El orden en que están colocadas las secciones del esquema puede alterarse ya que Pascal lo permite, aunque hay versiones en que se debe mantener y además es una buena práctica hacerlo.

Todo programa en Pascal está formado por un bloque de instrucciones principal que empieza con la palabra reservada BEGIN y termina con END y un punto al final. Dentro del bloque se colocan las instrucciones que se ejecutarán por el programa, además de las declaraciones de variables, constantes y tipos de datos. La declaración de las variables, constantes y tipos de datos siempre se deben escribir antes del bloque de instrucciones principal. Un programa Pascal Next puede contener comentarios de varias líneas y de una sola línea; un comentario de varias líneas es texto encerrado entre llaves. El compilador Pascal Next no distingue entre letras mayúsculas y minúsculas al escribir identificadores.

Analicemos un poco cada sección y veamos qué colocaremos en cada una de ellas:

Sección Propósito
Program Es la cabecera del programa, donde se coloca el identificador (nombre) del programa.
Uses Zona para declarar los archivos de biblioteca que se utilizarán (unidades).
Label Sección para declarar etiquetas. La etiqueta debe declararse en la sección de declaración de etiquetas del procedimiento o función en la que se utiliza.
Const Sección para declarar constantes.
Type Lugar para declarar tipos de datos definidos por el usuario. La declaración de tipo debe estar en la sección de tipo del programa, que generalmente sigue a la sección de declaración de constantes y precede a la sección de declaración de variables.
Var Aquí se declaran las variables.
Procedure En esta sección se definen los procedimientos que se creen.
Function Las funciones se definen en esta sección.

Procedimientos y Funciones: La Base de la Programación Estructurada

Todo lo explicado anteriormente corresponde a lo que se denomina método de programación estructurada, pero la base fundamental de la programación estructurada son los procedimientos y funciones. En Pascal, una rutina puede asumir dos formas: un procedimiento y una función. La diferencia principal es que una función devuelve un valor de salida, mientras que un procedimiento no. Una vez que estas rutinas han sido definidas, podemos hacer llamadas a ellas cuantas veces queramos, lo que contribuye a una mayor legibilidad y más comodidad a la hora de corregir o ampliar el código. La sección de declaración de funciones y procedimientos no tiene una etiqueta especial, sino que consta de declaraciones de funciones y procedimientos.

Lea también: IVA 21% Excel

Declaración de Funciones en Pascal

Llamaremos "función" a un procedimiento capaz de devolver un valor. Una función puede recibir más de un parámetro, y puede realizar operaciones más complejas. Las funciones se definen en la sección Function del programa. El resultado de salida de la función se almacena típicamente en la variable especial Result o directamente en el nombre de la función.

Por ejemplo, el programa puede declarar una función llamada Suma. La diferencia entre un procedimiento y una función es que la función devolverá siempre un resultado; en este caso, devolverá la suma de las variables a y b.

Parámetros de Funciones

La verdadera potencia de los procedimientos y funciones reside en que no tienen por qué trabajar siempre con los mismos datos, sino que podemos indicarles unos datos adicionales, que llamaremos parámetros. Los parámetros que se especifican en la instrucción de llamada a la función se denominan parámetros reales. Los parámetros se pasan a la función por valor de forma predeterminada; esto significa que las variables son válidas mientras estemos dentro de ese procedimiento, pero el programa hace uso del valor original sin permitir que el procedimiento o la función cambien el valor del parámetro.

El parámetro real puede ser una expresión cuyo tipo coincida con el tipo del parámetro formal. En el caso más sencillo, se puede utilizar una constante o una variable como parámetro real. Para permitir que el parámetro se pueda modificar y que los cambios salgan del procedimiento o función, se añade la palabra var antes del parámetro en la declaración. Como alternativa a los parámetros de referencia (var), se puede usar un parámetro const para la transmisión de parámetros, lo que puede resultar más eficiente si el valor no va a ser modificado por la función.

Ámbito de las Variables

Las variables pueden ser globales o locales. Las variables como x1, x2, y1, y2, a, b, c se conocen como variables globales, ya que se pueden usar en cualquier parte del programa y también dentro de cualquier función y procedimiento creado o escrito después de la declaración de las variables. Por otro lado, una variable como disc, que se encuentra en un procedimiento o función, se conoce como una variable local y sólo se puede usar dentro del procedimiento o función en donde fue creada.

Lea también: Guía IVA reducido

Funciones Recursivas

Una función es recursiva si se llama a sí misma. Esto puede ser útil para resolver problemas que se descomponen en pasos cada vez más sencillos. Por ejemplo, el factorial de un número n se define como n! = n · (n-1)!. Esta es una definición recursiva. Para que una función recursiva funcione correctamente, debe tener un caso base (o caso fácil) que ponga fin a la recursión, para evitar el desbordamiento de la pila. Por ejemplo, el factorial de 1 es 1.

Ejemplos de Aplicación de Funciones

Para comprender mejor la aplicación de las funciones, se pueden considerar diversos ejercicios propuestos:

  • Crear una función potenciaReal, que trabaje con números reales, y permita cálculos como 3.2 ^ 1.7 (requiere el uso de funciones matemáticas exponenciales y logaritmos).
  • Hacer una función que halle la raíz cúbica del número que se le indique (equivalente a elevar a 1/3).
  • Definir las funciones suma y producto de tres números, y crear un programa que haga una operación u otra según se le indique (empleando la estructura case).
  • Crear una función sumar que reciba como parámetros dos "strings" que representen números grandes (de 30 cifras) y devuelva su resultado en un nuevo "string".
  • Desarrollar una función recursiva que halle el producto de dos números enteros o una que halle la potencia (a elevado a b).
  • Hacer un programa que halle de forma recursiva el factorial de cualquier número, incluso si es muy grande, posiblemente usando rutinas para multiplicar números grandes.
  • Crear un programa que emplee recursividad para calcular un número de la serie Fibonacci o la suma de los elementos de un vector.
  • Implementar una función que encuentre el máximo común divisor de dos números usando el algoritmo de Euclides de forma recursiva.

Lea también: ¿Cómo localizar tus XML del SAT?

tags: #como #declarar #una #función #en #pascal