Está en la página 1de 15

Programación para ingeniería

Dr. José Vicente Martínez


Unidad III Funciones
Introducción
En los inicios de la programación, los programadores codificaban numerosas líneas de código a partir de las estructuras
de control. Las tareas de corrección y actualización se dificultaban, y por lo tanto, en ocasiones era mejor desarrollar una
nueva aplicación que adecuar una existente.

Al cabo de un tiempo, los lenguajes de programación evolucionaron a lenguajes que contaban con una característica de
gran apoyo “la programación procedimental”. Esta herramienta ayudó a los programadores a simplificar muchas tareas
que se solían ejecutar dentro del flujo de los programas, y a emplear una cantidad menor de horas en el entendimiento y
posterior modificación de este.

La programación procedimental fue un gran avance para el desarrollo de aplicaciones. Mejoró técnicamente la
construcción de programas y además ayudó a entender la forma como funciona el flujo de un programa, ya que se
empezó́ a modularizar segmentos de código que resolvían subproblemas del problema general.

3
Subrutinas
Es una estructura algorítmica que realiza en su lógica de control una tarea especifica de entradas, procesos o
salidas, cuyo flujo de control funciona a nivel autónomo. La subrutina en su lógica de control se construye
con base en las estructuras lógicas expuestas

Entradas Procesos Salidas

1 2 3

Las subrutinas son segmentos de código que buscan simplificar tareas repetitivas dentro de un algoritmo. Se
caracterizan por que pueden o no devuelven ningún valor y, además, reducen las líneas de código, de tal manera que
el proceso de entendimiento sea más rápido en un proceso de modificación.

4
Llamado de
subrutinas
Una vez construidas las estructuras lógicas de la
subrutina, el procedimiento de invocación
algorítmico de la misma es como sigue:

Tipo Nombre-de-la-Subrutina (A1, A2, . . . , An)

Este paso permite invocar la subrutina con el


nombre dado. El conjunto A, denotado con
mayúscula y cuyos elementos son A1, A2, . . . ,
An, representa los parámetros del procedimiento
que será llamado; estos valores se identifican
también como argumentos de la subrutina.
5
6
“ En esencia, dentro de la
programación procedimental
nacieron conceptos como
funciones y procedimientos

7
Restricciones en el nombramiento
Forma de nombrarlas Caracteres especiales
Las funciones o No pueden usar algunos
procedimientos no deben de caracteres especiales, tales
emprezar con un número. como: ], @, -, %, #, $, &, /,
“, ?, entre o otros

El “_” es el unico caracter


que soporta la mayoria de Son aquellas palabras que se
los lenguajes usan solo por el lenguaje de
Que caracteres si puede programación
usar Reserved Words

8
Tipos de sub rutinas

Una función que este indicada como private, indica que sólo está accesible a
Private los métodos del mismo método donde se ha declarado.

Al poner esta palabra reservada, estamos diciendo que siempre se podrá


acceder desde cualquier lugar del código, ya que es el nivel más permisivo de
Public todos

Son funciones con las mismas características de private, pero también son
Protected accesible desde cualquier función de cualquier subclase

El la función principal de todo el programa y a partir de la cual, se puede


Main llamar a otras sub rutinas que formarán parte del código

9
Funciones.

Una cuestión fundamental en la programación procedimental es el uso de las funciones,


que a diferencia de los procedimientos, pueden devolver un resultado después de
ejecutar las instrucciones en el cuerpo de la función. Las funciones son desarrolladas
para indicarle al que la invoca que se ha realizado una tarea que resuelve un pequeño
problema, que arroja un resultado.

10
A las subrutinas de las bibliotecas generalmente
se les conoce como funciones o métodos. La
mayoría de los lenguajes de programación
cuentan con una librería de funciones
matemáticas, donde podemos encontrar
funciones ya programadas, como la raíz
cuadrada o las funciones trigonométricas, como
el seno, coseno, etcétera.

11
Procedimientos
A las subrutinas que no regresan ningún valor se
les llama procedimientos. Son rutinas que se
invocan para que se lleve a cabo una secuencia
de acciones, sin obtener un valor como
resultado. Al terminar de ejecutarse sus
instrucciones un procedimiento no regresa al
programa ningún valor como resultado.

12
Paso de parametros
Por valor Por referencia
Son parámetros que en el momento de Son parámetros que en el momento de
ejecutarse una subrutina o función, estos ejecutarse una subrutina o función son
valores son copiados en la memoria, de modo referenciados por su dirección de memoria;
que si estos son modificados dentro del por lo tanto, si realizamos cualquier
cuerpo de la subrutina, la variable y/o objeto modificación de este tipo de parámetros
que hayamos pasado con este tipo de dentro del cuerpo de la función o subrutina,
parámetro no tendrá́ ningún cambio. los parámetros cambiarán después de
finalizar la ejecución.

Sumar_numeros(A, B, C)
C=A+B
Fin_Sumar_numeros 13
Variables locales
Las variables declaradas dentro de una subrutina únicamente existen dentro de
dicha subrutina. Se les conoce como variables locales. Una variable local en una
subrutina puede tener como identificador el mismo utilizado en otras subrutinas
o partes del programa, pero, a pesar de ello, se trata de una variable
completamente diferente y su valor será totalmente independiente al valor de
otras variables en el programa que tengan su mismo nombre o identificador.

Variables globales
En ocasiones es necesario utilizar variables generales cuyo valor debe ser el
mismo en cualquier parte del programa. A estas variables se les conoce como
variables globales. El identificador de una variable global no puede ser utilizado
para otras variables en otras subrutinas o partes del programa. Una variable
global puede ser modificada por cualquier subrutina del programa.
14
Recursividad en una función
Una función es recursiva si el cuerpo de la función contiene
directa o indirectamente una invocación a la propia función. La
invocación puede aparecer directamente en el cuerpo de la
función, o bien en el cuerpo de una función que puede invocar
a otras funciones, que a su vez llamen a la primera.

En la función recursiva debe existir una condición de término o


caso base, que establece cuándo el método debe dejar de
invocarse recursivamente. También, debe producirse la
convergencia a la condición de término, en las sucesivas
invocaciones a la función recursiva.

15

También podría gustarte