Programación lógica y funcional

14
PROGRAMACIÓN LÓGICA Y FUNCIONAL Unidad I Conceptos fundamentales

Transcript of Programación lógica y funcional

Page 1: Programación lógica y funcional

PROGRAMACIÓN LÓGICA Y FUNCIONAL

Unidad I Conceptos fundamentales

Page 2: Programación lógica y funcional

1.1 ESTILOS DE PROGRAMACIÓN • 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.

Page 3: Programación lógica y funcional

• Estilo K&R es el más utilizado en el lenguaje C y PHP, el estilo fue llamado de esta forma porque fue usado por Kernighan y Ritchies en su libro The C Programming Lenguage.

• Estilo Allman fue definido por Eric Allman, se trata de crear una nueva línea para las llaves, e identificar el código debajo de ellas.

• Estilo BSD KNF también conocido como estilo Kernel Normal From, es la manera más usada para el código de la distribución del software del sistema operativo de Berkeley.

Page 4: Programación lógica y funcional

1.2 EVALUACIÓN DE EXPRESIONES • Una expresión es una combinación de operandos y operadores. La

evaluación de una expresión consiste en reducirla, esto es, realizar todas las operaciones contenidas en ella para obtener un valor final.

• Para evaluar una expresión es necesario conocer la prioridad de los operadores, con

lo cual se puede determinar cuál operación se va a realizar antes que las demás.

• Una expresión entre paréntesis se evalúa primero que las demás. Si hay paréntesis se evalúa primero la expresión contenida en los paréntesis más internos....

Page 5: Programación lógica y funcional

1.3 DEFINICIÓN DE FUNCIONES •  Las funciones se crearon para evitar tener que repetir

constantemente fragmentos de código. Una función podría considerarse como una variable que encierra código dentro de sí. Por lo tanto cuando accedemos a dicha variable (la función) en realidad lo que estamos es diciendo al programa que ejecute un determinado código predefinido anteriormente.

Page 6: Programación lógica y funcional

• Todos los lenguajes de programación tienen algunos elementos de formación primitivos para la descripción de los datos y de los procesos o transformaciones aplicadas a estos datos (tal como la suma de dos números o la selección de un elemento que forma parte de una colección). Estos elementos primitivos son definidos por reglas sintácticas y semánticas que describen su estructura y significado respectivamente.

Page 7: Programación lógica y funcional

1.4 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 (datos) similares. Una función cuyo tipo sea A1 -> ... An -> 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.

Page 8: Programación lógica y funcional

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

Page 9: Programación lógica y funcional

• 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

• 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)

Page 10: Programación lógica y funcional

1.5 TIPOS DE DATOS• Un tipo de datos define un conjunto de valores y las operaciones sobre

estos valores.• TIPO BOOL

Page 11: Programación lógica y funcional

• TIPO INT

Page 12: Programación lógica y funcional

• TIPO FLOAT

Page 13: Programación lógica y funcional

• TIPO INTEGER/DOUBLE

Page 14: Programación lógica y funcional

• TIPO CHAR