Está en la página 1de 23

Disciplina de tipos

Disciplina de Tipos

 Un tipo es una colección de valores relacionados.


 En los lenguajes de programación con disciplina de tipos, cada tipo representa una
colección de valores o datos similares.
  Un lenguaje tiene disciplina de tipos si los errores de tipos se detectan siempre. 
 Es necesario determinar los tipos de todos los operandos, ya sea en tiempo de compilación
o de ejecución. 
 El conocer los tipos de las funciones ayuda a documentar los programas y evitar errores en
tiempo de ejecución.
 En los lenguajes de programación con disciplina de tipos, cada tipo representa una
colección de valores (datos) similares.
Disciplina Estática de Tipos

 Los programas bien tipados se pueden reconocer en tiempo de compilación, un programa


bien tipado se puede utilizar sin efectuar comprobaciones de tipo en tiempo de ejecución.
 Estando garantizado que no se producirán errores de tipo durante el cómputo
 es cuando la comprobación de tipificación se realiza durante la compilación, y no durante
la ejecución.
Polimorfismo:

 Permite que una misma función se pueda aplicar a parámetros de diferentes tipos,
dependiendo del contexto en el que la función se utilice.
Ejemplos de Lenguajes

 Pascal
 • Cercano a tener disciplina de tipos pero no realiza comprobación de tipos en los registros
variantes (incluso puede omitirse la etiqueta discriminatoria en dichos registros)
 Ada
 Resuelve el problema de los registros variantes realizando comprobación dinámica de
tipos (sólo en este caso)

 Java
 Tiene disciplina de tipos (no hay uniones)

 Haskell
 Poseen disciplina de tipos
Disciplina de Tipos en el Lenguaje Prolog

 En este lenguaje sólo existe la disciplina de tipos dinámica, la que permite que una
variable pueda tomar valores de distinto tipo en distintos momentos. La mayoría de
lenguajes de tipado dinámico son lenguajes interpretados
Funciones

 EL concepto de función tiene su origen en el término latino functĭo. La palabra


puede ser utilizada en diversos ámbitos y con distintos significados.
 una función matemática es la correspondencia o relación f de los elementos de un
conjunto A con los elementos de un conjunto B. Una función cumple con la
condición de existencia (todos los elementos de A están relacionados con los
elementos de B) y con la condición de unicidad (cada elemento de A está
relacionado con un único elemento de B).
 Por ejemplo:
 F(X) = X / (1+X2)
 Dónde:
 F………….. Nombre de la función
 X…………. Es el argumento (también conocido como parámetro formal)
 En la informática, más precisamente en los lenguajes de programación, una
función es un tipo de subalgoritmo que describe una secuencia de órdenes. Estas
órdenes cumplen con una tarea específica de una aplicación más grande.

 “En programación, una función es una sección de un programa que calcula un valor de
manera independiente al resto del programa.”
Una función tiene tres componentes
importantes:
• Los parámetros, que son los valores que recibe la función como entrada
• El código de la función, que son las operaciones que hace la función
• El resultado (o valor de retorno), que es el valor final que entrega la función.
Las declaraciones de funciones generalmente
son especificadas por:
 Un nombre único en el ámbito: Nombre de la función con el que se identifica y se
distingue de otras. No podrá haber otra función ni procedimiento con ese nombre (salvo
sobrecarga o polimorfismo en programación orientada a objetos).
 Un tipo de dato de retorno: tipo de dato del valor que la función devolverá al terminar su
ejecución.
 Una lista de parámetros: Especificación del conjunto de argumentos (pueden ser cero,
uno o más) que la función debe recibir para realizar su tarea.
 El código u órdenes de procesamiento: conjunto de órdenes y sentencias que debe
ejecutar la función.
 Un problema complejo se puede dividir en pequeños subproblemas más sencillos. Estos
subproblemas se conocen como “Módulos” y su complementación en un lenguaje se llama
subprograma (procedimientos y funciones).”
DEFINICIÓN DE FUNCIONES: UNA DEFINICIÓN DE
FUNCIÓN SE PRESENTA DE LA SIGUIENTE MANERA

 Función nombre_funcion (p1, p2,…, pn)


 Inicio
 Bloque de instrucciones
 Fin
 Dónde:
 Función…………. Es la palabra clave que nos indica una definición de función.
 nombre_funcion…. Es el identificador con el cual se reconoce a la función en el cuerpo
del algoritmo principal.
 p1, p2,…, pn……… Es el grupo de parámetros que define a la función.
LLAMADO A UNA FUNCIÓN

 Cuando definimos una función solo le indicamos al algoritmo que esta función existe, pero
una definición de función no implica la realización de las instrucciones que la constituyen.
Para hacer uso de una función, el algoritmo principal la debe llamar. Por ejemplo:
 Función F(X)
 Inicio
 F = X / (1 + X^2)
 Fin
 Inicio
 Imprimir “Este es el algoritmo principal”
 Leer N
 R = F(N) llamado de la función
 Imprimir “El resultado de la función es:”, R
 Fin

También podría gustarte