AyP1 Lab5 (Subprogramas)
AyP1 Lab5 (Subprogramas)
AyP1 Lab5 (Subprogramas)
Laboratorio 5
Subprogramas
Objetivos:
Conocer el funcionamiento de las funciones y procedimientos.
Reconocer las semejanzas y diferencias de las funciones y procedimientos.
Implementar diversos subprogramas a través de las funciones y procedimientos.
Pre-laboratorio
Lea cada uno de los elementos descritos en esta sección antes de la práctica
Procedimientos y funciones
Procedimientos
La estructura de un procedimiento es similar a la de un programa. Todo procedimiento debe
estar declarado en la sección de declaración de subprogramas del programa principal.
Cualquier procedimiento está formado de 3 elementos esenciales:
PROCEDURE identificador;
Declaraciones locales
BEGIN
Cuerpo del procedimiento
END;
PROCEDURE identificador (lista de parámetros formales);
Declaraciones locales
BEGIN
Cuerpo del procedimiento
END;
Funciones
Las funciones son el segundo tipo de subprogramas definibles en Pascal. Al igual que los
procedimientos cualquier función definida por el usuario debe ser declarada en la sección
de declaraciones de subprogramas. Cualquier función está formada por 3 elementos
fundamentales:
Al igual que en el caso de los procedimientos existen dos posibles formas de declarar una
función: utilizando una lista de parámetros o sin parámetros. La sintaxis para la declaración
de una función es la siguiente:
Paso por valor: consiste en copiar el contenido de la variable que queremos pasar en otra
dentro del ámbito local de la subrutina, se copia el contenido de la memoria del argumento
que se quiere pasar a otra dirección de memoria, correspondiente al argumento dentro del
ámbito de dicha subrutina. Se tendrán dos valores duplicados e independientes, con lo que
la modificación de uno no afecta al otro.
Si la información que se pasa al procedimiento no tiene que ser devuelta fuera del
procedimiento, el parámetro formal que representa la información puede ser un
parámetro valor (parámetro de entrada).
Funciones Procedimientos
La cabecera de una función incluye la Al nombre o identificador del
declaración del tipo devuelto por la procedimiento no se le puede asignar
misma. ningún valor y por consiguiente no hay
ningún tipo asociado al nombre de un
procedimiento.
Para devolver el valor de una función En los procedimientos los valores se
debe utilizarse una sentencia de devuelven a través de parámetros por
asignación. referencia (o variable VAR)
Una función se invoca utilizando su Un procedimiento se invoca mediante una
nombre en una expresión. llamada al mismo.
Una función devuelve un único valor a la Los procedimientos pueden devolver 0, 1 ,2
parte del programa que lo ha o N valores (para 0 valores puede estar
referenciado. realizando alguna tarea de entrada/salida.)
Laboratorio
Debe elaborar los algoritmos de los problemas planteados a continuación antes del día
de la práctica.
1. Dada una secuencia de números por teclado hasta que se introduzca el cero “0”,
escribir una función, en Pascal, que determine si cada número leído es primo o nó.
2.- Elaborar un programa en Pascal que, usando subprogramas, realice el cálculo de las
RAICES REALES en una ecuación cuadrática. Para ello debe pedir por teclado los valores
de a,b, y c que deben ser pasados como parámetros desde el programa principal a un
subprograma , realizar en el subprograma los cálculos de las raíces y devolver los resultado
obtenidos hacia el programa principal, en donde se deben visualizar. No debe visualizar los
resultados en los subprogramas.
Para calcular las raíces de la ecuación cuadrática se usa la fórmula: ax2 + bx + c = 0 ,
teniendo en cuenta que :
a) Si a es igual a 0 y b es igual a 0, imprimiremos un mensaje diciendo que la
ecuación es degenerada.
b) Si a es igual a 0 y b no es igual a 0, existe una raíz única con valor –c/b.
c) En los demás casos, utilizaremos la fórmula: xi = (-b ± √(b2 – 4ac))/(2a)
La expresión d = b2 – 4ac se denomina discriminante.
Si d es mayor o igual que 0 entonces hay dos raíces reales
Si d es menor que 0 entonces hay dos raíces complejas de la forma: x+yi, x-yi.
Siendo x el valor –b/2a e y el valor absoluto de √(b2-4ac)/(2a).
Post Laboratorio
Elaborar una función en PASCAL que determine el valor del primer término de
esta serie superior o igual a un tope dado. Probar con el tope = 1000.
4. Escribir un programa en Pascal, que muestre en pantalla cada una de las siguientes
figuras geométricas y le permita al usuario elegir una de ellas para calcular su
área. Implemente una Función para el cálculo del área de cada figura, además usar
funciones gráficas para presentar las figuras.
Ejemplo:
ASUNTO: UCAB AyP1 PRACTICA No 05 - PedroVargas
PRACTICA No 05 – PedroVargas
CONTROL No 05 - PedroVargas