Está en la página 1de 10

MATERIA:

PROGRAMACION LOGICA Y FUNCIONAL


UNIDAD 1
1.1.- Diferentes estilos de programación.

Se refiere a la forma en que se da formato al código fuente. Estilo de


programación (también llamado estándares de código o convención de
código) es un término que describe convenciones para escribir código fuente
en ciertos lenguajes de programación. El estilo de programación es
frecuentemente dependiente del lenguaje de programación que se haya
elegido para escribir. Por ejemplo el estilo del lenguaje de programación C
variará con respecto al del lenguaje BASIC.
La programación funcional es un estilo de programación que modela
computaciones como la evaluación de las expresiones.
En el proceso se lleva a cabo la compilación en el cual se transforma el
código en algo que la maquina entiende.

1.2.- Analizando diferentes de estilos de


programación

1.2.1.- Evaluación de Expresiones

En general, salvo que se relacionen con las mencionadas sentencias


modificadoras del flujo, las palabras-clave señalan al compilador aspectos
complementarios que no alteran el orden de ejecución dentro de la propia
sentencia.
Este orden viene determinado por cuatro condicionantes:

1. Presencia de paréntesis que obligan a un orden de evaluación específico.


2. Naturaleza de los operadores involucrados en la expresión (asociatividad).
3. Orden en que están colocados (precedencia).
4. Providencias (impredecibles) del compilador relativas a la optimización del
código.
En cuanto al primero, aunque el paréntesis es un signo de puntuación, podría
considerarse como el operador de precedencia más alta. Si existen
paréntesis, el compilador los evalúa en primer lugar. El segundo es
especialmente importante, porque como veremos a continuación, es
precisamente su naturaleza la que establece dos propiedades importantes de
los operadores: la asociatividad y la precedencia. El punto tercero es
influyente porque a igualdad de precedencia, unos operadores se ejecutan
en el orden en que aparecen escritos en el código (de izquierda a derecha),
y en otros casos es al contrario (dependiendo de su asociatividad). A su vez
el punto cuarto encierra decisiones que son dependientes de la plataforma.
Se refieren a medidas del compilador tendentes a la optimización del código
de la sentencia, que resultan incontrolables para el programador a no ser
que adopte medidas específicas. Estas medidas suelen consistir en no
simplificar demasiado las expresiones, y obtener resultados intermedios, que
solo son necesarios para obligar a una forma determinada de obtener el
resultado.

1.2.2 .- Tipos 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.

1.2.3.- Disciplina tipos.


Los tipos se infieren, es decir se comprueban, de forma estática, en tiempo de
compilación.
En los lenguajes de programación con disciplina de tipos, cada tipo representa una
colección de valores (datos) similares. Una función cuyo tipo sea A1 ->… An -> R
espera n parámetros con tipos A1,…. An y devuelve un resultado de tipo R. El
conocer los tipos de las funciones ayuda a documentar los programas y a evitar
errores en tiempo de ejecución.
Haskell y otros lenguajes funcionales utilizan el sistema de tipos de Milner, que tiene
dos características fundamentales:
Disciplina estática de tipos:
Los programas bien tipados se pueden conocer 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.
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.

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.

1.2.4.- 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;
y 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.
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.

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 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.
,

También podría gustarte