jueves, 28 de marzo de 2019
lunes, 11 de marzo de 2019
2.3. Intervalos
Funciones devuelven siempre el mismo
valor
Los
lenguajes funcionales puros tienen la propiedad de transparencia referencial.
- Como consecuencia, en programación funcional, una función siempre devuelve el mismo valor cuando se le llama con los mismos parámetros.
- Las funciones no modifican ningún estado, no acceden a ninguna variable ni objeto global y modifican su valor.
Diferencia entre declaración y
modificación de variables
- En programación funcional pura una vez declarada una variable no se puede modificar su valor.
- En algunos lenguajes de programación (como Scala) este concepto se refuerza definiendo la variable como inmutable (con la directiva val).
- En programación imperativa es habitual modificar el valor de una variable en distintos pasos de ejecución
2.2 Funciones
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.
En esencia, una función es un mini-programa. Sus tres componentes son análogos a la entrada, el proceso y la salida de un programa.
EJEMPLO
Haskell utiliza evaluación perezosa o mediante paso de parámetros por nombre usando punteros para compartir valores de expresiones.
cuadrado x = x * x unos = 1: unos
cuadrado (2+1) ==> [def. cuadrado]
x*x siendo x = (2+1) ==> [def. (+)]
x*x siendo x = 3 ==> [sustitución]
3*3 ==> [def. (*)]
9
head unos ==> [def. unos]
head (1:unos) ==> [def. head]
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).
Un subprograma realiza las mismas acciones que un programa, sin embargo, un subprograma lo utiliza solamente un programa para un propósito específico.
Un subprograma recibe datos de un programa y le devuelve resultados (el programa “llama” o “invoca” al subprograma, este ejecuta una tarea específica y devuelve el “control” al programa que lo llamo).
Función: Una función en matemáticas, es una operación que toma un o más valores (argumentos) y devuelve un resultado (valor de la función para los argumentos dados).
Por ejemplo:
F(X) = X / (1+X2)
Donde:
F………….. Nombre de la función
X…………. Es el argumento (también conocido como parámetro formal)
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
Donde:
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
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).
Un subprograma realiza las mismas acciones
que un programa, sin embargo, un subprograma lo utiliza solamente un programa
para un propósito específico.
Un subprograma recibe datos de un programa y
le devuelve resultados (el programa “llama” o “invoca” al subprograma, este
ejecuta una tarea específica y devuelve el “control” al programa que lo llamo).
Función: Una función en matemáticas, es una
operación que toma un o más valores (argumentos) y devuelve un resultado (valor
de la función para los argumentos dados). Por ejemplo:
F(X) = X / (1+X2)
Donde:
F………….. Nombre de la función
X…………. Es el argumento (también conocido como
parámetro formal)
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
Donde:
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
2.1. El tipo de datos
En lenguajes de programación un tipo de dato es un
atributo de una parte de los datos que indica al ordenador (y/o al programador)
algo sobre la clase de datos sobre los que se va a procesar.
En un sentido amplio, un tipo de datos define un
conjunto de valores y las operaciones sobre estos valores. Casi todos los
lenguajes de programación explícitamente incluyen la notación del tipo de
datos, aunque lenguajes diferentes pueden usar terminología diferente. La mayor
parte de los lenguajes de programación permiten al programador definir tipos de
datos adicionales, normalmente combinando múltiples elementos de otros tipos y
definiendo las operaciones del nuevo tipo de dato. Por ejemplo, un programador
puede crear un nuevo tipo de dato llamado "Persona" que especifica
que el dato interpretado como Persona incluirá un nombre y una fecha de
nacimiento.
Un tipo de dato entero en computación es un tipo de
dato que puede representar un subconjunto finito de los números enteros. El
número mayor que puede representar depende del tamaño del espacio usado por el
dato y la posibilidad (o no) de representar números negativos. Los tipos de
dato entero disponibles y su tamaño dependen del lenguaje de programación usado
así como la arquitectura en cuestión. Por ejemplo, si para almacenar un número
entero disponemos de 4 bytes de memoria tememos que: 4 Bytes = 4x8 = 32 bits
Con 32 bits se pueden representar 232=4294967296 valores: Sólo positivos: del 0
al 4294967295 Positivos y negativos: del -2147483648 al 2147483647
Tipos de datos en coma flotante Se usan para
representar números con partes fraccionarias. Hay dos tipos de coma flotante:
float y double. El primero reserva almacenamiento para un número de precisión
simple de 4 bytes y el segundo lo hace para un numero de precisión doble de 8
bytes.Tipo:float4 Bytes (32 bits) double8 Bytes (64 bits)
Tipo de dato carácter (Char) Es cualquier signo
tipográfico, puede ser una letra, un número, un signo de puntuación o un espacio.
Este término se usa mucho en computación. Un valor de tipo carácter es
cualquier carácter que se encuentre dentro del conjunto ASCII ampliado, el cual
está formado por los 128 caracteres del ASCII más los 128 caracteres especiales
que presenta, en este caso, IBM.
Los valores ordinales del código ASCII ampliado se
encuentran en el rango de 0 a 255. Dichos valores pueden representarse
escribiendo el carácter correspondiente encerrado entre comillas simples
(apóstrofos).Así, podemos escribir: ‘A' < 'a ‘Que significa: "El valor
ordinal de A es menor que el de a" o "A está antes que a “Un valor de
tipo carácter (char en inglés) se guarda en un byte de memoria. La única
operación (además de las relacionales) que podemos hacer con caracteres es la
concatenación concatenando dos caracteres, por ejemplo 'a' y 'X' obtendríamos
la cadena "aX".
Tipo de dato lógico El tipo de dato lógico o
booleano es en computación aquel que puede representar valores de lógica
binaria, esto es, valores que representen falso o verdadero. Se utiliza
normalmente en programación, estadística, electrónica, matemáticas
(Álgebra booleana), etc...Para generar un dato o valor lógico a partir de otros
tipos de datos, típicamente, se emplean los operadores relacionales (u
operadores de relación), por ejemplo: 0 es igual a falso y 1 es igual a
verdadero (3>2)= 1 = verdadero (7>9)= 0 = falso
Palabra reservada una palabra reservada es una
palabra que tiene un significado Gramatical especial para ese lenguaje y no
puede ser utilizada como un identificador en ese lenguaje.
Por ejemplo, en SQL, un usuario no puede ser
llamado "group", porque la palabra group es usada para indicar que un
identificador se refiere a un grupo, no a un usuario. Al tratarse de una
palabra clave su uso queda restringido. Ocasionalmente la especificación de un
lenguaje de programación puede tener palabras reservadas que están previstas
para un posible uso en futuras versiones. En Java const y goto son palabras
reservadas — no tienen significado en Java, pero tampoco pueden ser usadas como
identificadores. Al reservar los términos pueden ser implementados en futuras
versiones de Java, si se desea, sin que el código fuente más antiguo escrito en
Java deje de funcionar.
Suscribirse a:
Entradas (Atom)