u hubo uhub

Páginas: 5 (1230 palabras) Publicado: 9 de noviembre de 2014
Algorítmica y Lenguajes de Programación

Funciones y subrutinas

Funciones y subrutinas. Introducción
n

n

n

n

El diseño descendente permite obtener un programa
que resuelva un problema dividiendo este en
subproblemas cada vez más sencillos.
Cada subproblema tiene asociado un pseudocódigo
de alto nivel compuesto por acciones no primitivas.
Cuando una de estas acciones noprimitivas se repite
en varios puntos del algoritmo es interesante darle
un nombre y reutilizarla.
Estas acciones con nombre se denominan
subprogramas, pudiendo ser, a su vez, funciones y
subrutinas.
2

1

Funciones y subrutinas. Ventajas
n

Las ventajas de los subprogramas son
múltiples:
n

n

n

n

Facilitan la modularidad y estructuración de los
algoritmos.
Facilitan lalectura e inteligibilidad de los
algoritmos.
Permiten economizar el esfuerzo del programador
al permitir reutilizar el mismo código en varios
puntos del mismo algoritmo.
Facilitan la depuración y mantenimiento de los
programas.
3

Funciones y subrutinas. Funciones (i)
n

n

n

Las funciones son subprogramas con 0 ó más
argumentos que siempre devuelven un valor de
retorno.
Lasfunciones pertenecen entonces a un tipo
determinado.
La invocación de una función puede formar parte
de:
n
n

n

Una expresión.
La parte derecha de una asignación.

Una invocación de una función no puede formar:
n
n

Una sentencia aislada.
La parte izquierda de una asignación.
4

2

Funciones y subrutinas. Funciones (ii)
n

Funciones intrínsecas:
n

n

n

Las funcionesintrínsecas son proporcionadas
directamente por el lenguaje de
programación.
La mayor parte de funciones intrínsecas son
funciones matemáticas como la raíz cuadrada,
los logaritmos o funciones trigonométricas.
Por cada una de las funciones intrínsecas más
habituales en FORTRAN existe una función o
un operador equivalentes en la notación
algorítmica.
5

Funciones y subrutinas.Funciones (iii)
n

Funciones de usuario (i):
n

n

En muchas ocasiones el usuario estará
interesado en definir sus propias funciones.
Las funciones de usuario deben estar
definidas dentro del algoritmo principal:

definiciones de constantes
declaraciones de variables
inicio
sentencia s del algoritmo

DEFINICIONES DE FUNCIONES
fin

program nombre_programa
variables y constantessentencia s del programa

contains
DEFINICIONES DE FUNCIONES
end

6

3

Funciones y subrutinas. Funciones (iv)
n

Funciones de usuario (ii):
n

Para definir una función es necesario:
n
n
n

n

El nombre de la función.
El tipo de la función.
Los argumentos de la función y el tipo de los mismos.

Sintaxis de definición de funciones:

tipo funcion nombre (arg1∈
∈ tipo1,...,argN∈
∈ tipoN)
inicio
sentencia1
sentencia2
...
sentenciaN
fin

tipo function nombre (arg1, ..., argN)
declaración arg1
...
declaración argN
sentencia1
sentencia2
...
sentenciaN
end

7

Funciones y subrutinas. Funciones (v)
n

Ejemplos de funciones de usuario:

logico funcion siempreVerdad ()
inicio
siempreVerdad ß
ß verdadero
fin

logical function siempreVerdad ()siempreVerdad=.true.
end function

entero funcion maximo (a ∈
∈ entero, b ∈
∈ entero)
inicio
si a>b entonces

integer function maximo (a, b)
integer a,b

maximo ß
ß a
si no
maximo ß
ß b
fin si
fin

if (a>b) then
maximo =a
else
maximo =b
end if
end function

8

4

Funciones y subrutinas. Ámbitos (i)
n

Las funciones pueden acceder a una serie de variables:
n
nn

n

n

n

Argumentos.
Variables definidas dentro de la función.

Estas variables se denominan locales por contraposición a
las variables declaradas dentro del algoritmo principal
denominadas globales.
Las variables locales sólo “existen” mientras la función se
está ejecutando.
Si una variable local se denomina igual que una variable
global la función sólo puede acceder a la...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Hubiera
  • Hubo
  • HUBER
  • Huber
  • Hubo
  • enlace hub y hub terminal
  • U
  • U

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS