Programación Lógica y Funcional
Mtro. Carlos Castillo Quezada carloscastilloquezada01@gmail.com
ASPECTOS DE LA CLASE
Celulares en silencio. Dirigirse con respecto a compañeros y/o docentes. Tolerancia de 10 min. después de la hora, posterior es falta. Entrega puntual de actividades y prácticas. Entrega de actividades exclusivamente en Classroom No introducir comida al salón de clases.
EVALUACIÓN
Evaluación Escrita/Práctica: 40% Ejercicios/Prácticas en Clase/Classroom: 60%
Aporte a la Carrera
INGENIERÍA EN SISTEMAS COMPUTACIONALES
Implementa aplicaciones computacionales para solucionar problemas de diversos contextos, integrando diferentes tecnologías, plataformas o dispositivos. Coordina y participa en equipos multidisciplinarios para la aplicación de soluciones innovadoras en diferentes contextos . Diseña, implementa y administra bases de datos optimizando los recursos disponibles, conforme a las normas vigentes de manejo y seguridad de la información. Desarrolla y administra software para apoyar la productividad y competitividad de las organizaciones cumpliendo con estándares de calidad.
Competencias
Conoce los principios lógicos y funcionales de la programación para aplicarlos en la resolución de
problemas.
I. CONCEPTOS FUNDAMENTALES
Identificar los paradigmas de los lenguajes de programación.
II. MODELO DE PROGRAMACIÓN FUNCIONAL
Realiza una aplicación dando solución a un problema del entorno usando el paradigma de la programación funcional.
III. PROGRAMACIÓN LÓGICA
Conoce las ventajas y desventajas del paradigma de programación lógica. Identifica los elementos de la programación lógica.
IV. MODELO DE PROGRAMACIÓN LÓGICA
Realiza una aplicación dando solución a un problema del entorno usando el paradigma de la programación lógica.
EVALUACIÓN DIAGNÓSTICA
¿Cuál es la diferencia entre un compilador y un interprete? ¿Qué es un pardigma de programación? ¿Cuáles conoces? Menciona los tipos de datos que conoces y algunos ejemplos. ¿Qué es una función? ¿Qué es una lista? ¿Qué es un árbol? ¿Qué es un intervalo? ¿Qué es la inteligencia artificial? ¿Cuáles son sus aplicaciones? ¿Qué es un automata? ¿Qué entiendes por programación lógica? ¿Qué entiendes por programación funcional? Menciona los lenguajes de programación que dominas o conoces:
01
CONCEPTOS FUNDAMENTALES
ESTILOS DE PROGRAMACIÓN
PARADIGMA DE PROGRAMACIÓN: Indica un método mediante el cual se deben resolver uno a varios problemas claramente delimitados. Representa un enfoque particular o filosofía para diseñar soluciones.
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.
PROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ESTRUCTURADA
PROGRAMACIÓN MODULAR
Estilo de programación también se entiende como la forma y las reglas para escribir código, para ello te sugiero consultar el siguiente video:
PROGRAMACIÓN REACTIVA
PROGRAMACIÓN FUNCIONAL
PROGRAMACIÓN LÓGICA
Tarea 1
Tabla comparativa
Elaborar una tabla comparativa de los principales estilos/paradigmas de programación mencionando sus características, ventajas, desventajas, aplicaciones y lenguajes que soportan su implementación. La tabla comparativa deberá incluir: portada, una breve introducción sobre los paradigmas y los estilos de programación, la tabla comparativa y las fuentes de consulta. Extensión mínima de 2 cuartillas.
Tarea 2
Exposición
En equipos, deberán presentar uno de los paradigmas de los investigados en la actividad 1, comentando sus principales características así como compartiendo ejemplos de su aplicación en el mundo real. La exposición deberá contar con la participación de todos los integrantes del equipo. Todos los participantes deberán enviar su presentación electrónica a Classroom antes de la exposición.
EVALUACIÓN DE EXPRESIONES
¿QUÉ SON?
OPERADORES Y REGLAS DE PROCEDENCIA
EVALUACIÓN POR LENGUAJE
REGLAS DE ASOCIATIVIDAD
Actividad 1
Evaluación de Expresiones
Evalúe las siguientes expresiones, y para cada una de ellas indique el resultado y su tipo. 5 + 3 * 2 '5' + '3' * 2 2 ** 10 == 1000 or 2 ** 7 == 100 int("cuarenta") 70/16 + 100/24 200 + 19% 3 < (1024 % 10) < 6 'six' + 'eight'
TIPOS DE DATOS
NUMÉRICOS
TEXTO
Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carácter, tal como 'b', un valor entero tal como 35. El tipo de dato determina la naturaleza del conjunto de valores que puede tomar una variable.
LÓGICOS
ABSTRACTOS
https://es.scribd.com/document/476809622/Tabla-Tipos-de-Datos-en-lenguajes-de-programacion
Tarea 3
Cuadro Comparativo
Complementar el cuadro anterior con los tipos de datos de Python, C#, Prolog y Haskell. Enviar el cuadro comparativo en un documento de una cuartilla, sin presentación.
DISCIPLINA DE TIPOS
Es la validación de los tipos de datos permitidos en las expresiones definidas en un lenguaje de programación, ésta puede llevarse a cabo en tiempo de compilación (disciplina estática de tipos), o en tiempo de ejecución (disciplina dinámica de tipos). La comprobación de tipos puede tomar dos formas: síntesis e inferencia.
La síntesis de tipos construye el tipo de una expresión a partir de los tipos de sus subexpresiones. Requiere que se declaren los nombres antes de utilizarlos. El tipo de E1 + E2 se define en términos de los tipos de E1 y E2. La inferencia de tipos determina el tipo de una construcción del lenguaje a partir
de la forma en que se utiliza.
FUNCIONES
Una función (f) es una relación entre un conjunto dado X (llamado dominio) y otro conjunto de elementos Y (llamado codominio) de forma que a cada elemento x del dominio le corresponde un único elemento f(x) del codominio (los que forman el recorrido, también llamado rango o ámbito), todos los elementos del dominio participan en la relación. Las funciones matemáticas equivalen al proceso lógico común que se expresa como “depende de”. En programación: Las funciones también son llamadas métodos, nos permiten dividir el trabajo que hace un programa, en tareas más pequeñas separadas de la parte principal.
Actividad 2
Programa Evaluador
Generar una función que evalué las expresiones realizadas en la actividad 3 para comprobar si las respuestas fueron correctas o no. Deberá construirse en Python o el lenguaje que manejes.
Actividad 3
Programa Consulta-Clima
Generar una función que evalué la temperatura dada y determine si hace calor o frío. Deberá construirse en Python o el lenguaje que manejes.
PROGRAMACIÓN LÓGICA Y FUNCIONAL
carloscastilloquezad
Created on November 5, 2022
Start designing with a free template
Discover more than 1500 professional designs like these:
View
Higher Education Presentation
View
Psychedelic Presentation
View
Vaporwave presentation
View
Geniaflix Presentation
View
Vintage Mosaic Presentation
View
Modern Zen Presentation
View
Newspaper Presentation
Explore all templates
Transcript
Programación Lógica y Funcional
Mtro. Carlos Castillo Quezada carloscastilloquezada01@gmail.com
ASPECTOS DE LA CLASE
Celulares en silencio. Dirigirse con respecto a compañeros y/o docentes. Tolerancia de 10 min. después de la hora, posterior es falta. Entrega puntual de actividades y prácticas. Entrega de actividades exclusivamente en Classroom No introducir comida al salón de clases.
EVALUACIÓN
Evaluación Escrita/Práctica: 40% Ejercicios/Prácticas en Clase/Classroom: 60%
Aporte a la Carrera
INGENIERÍA EN SISTEMAS COMPUTACIONALES
Implementa aplicaciones computacionales para solucionar problemas de diversos contextos, integrando diferentes tecnologías, plataformas o dispositivos. Coordina y participa en equipos multidisciplinarios para la aplicación de soluciones innovadoras en diferentes contextos . Diseña, implementa y administra bases de datos optimizando los recursos disponibles, conforme a las normas vigentes de manejo y seguridad de la información. Desarrolla y administra software para apoyar la productividad y competitividad de las organizaciones cumpliendo con estándares de calidad.
Competencias
Conoce los principios lógicos y funcionales de la programación para aplicarlos en la resolución de problemas.
I. CONCEPTOS FUNDAMENTALES
Identificar los paradigmas de los lenguajes de programación.
II. MODELO DE PROGRAMACIÓN FUNCIONAL
Realiza una aplicación dando solución a un problema del entorno usando el paradigma de la programación funcional.
III. PROGRAMACIÓN LÓGICA
Conoce las ventajas y desventajas del paradigma de programación lógica. Identifica los elementos de la programación lógica.
IV. MODELO DE PROGRAMACIÓN LÓGICA
Realiza una aplicación dando solución a un problema del entorno usando el paradigma de la programación lógica.
EVALUACIÓN DIAGNÓSTICA
¿Cuál es la diferencia entre un compilador y un interprete? ¿Qué es un pardigma de programación? ¿Cuáles conoces? Menciona los tipos de datos que conoces y algunos ejemplos. ¿Qué es una función? ¿Qué es una lista? ¿Qué es un árbol? ¿Qué es un intervalo? ¿Qué es la inteligencia artificial? ¿Cuáles son sus aplicaciones? ¿Qué es un automata? ¿Qué entiendes por programación lógica? ¿Qué entiendes por programación funcional? Menciona los lenguajes de programación que dominas o conoces:
01
CONCEPTOS FUNDAMENTALES
ESTILOS DE PROGRAMACIÓN
PARADIGMA DE PROGRAMACIÓN: Indica un método mediante el cual se deben resolver uno a varios problemas claramente delimitados. Representa un enfoque particular o filosofía para diseñar soluciones.
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.
PROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ESTRUCTURADA
PROGRAMACIÓN MODULAR
Estilo de programación también se entiende como la forma y las reglas para escribir código, para ello te sugiero consultar el siguiente video:
PROGRAMACIÓN REACTIVA
PROGRAMACIÓN FUNCIONAL
PROGRAMACIÓN LÓGICA
Tarea 1
Tabla comparativa
Elaborar una tabla comparativa de los principales estilos/paradigmas de programación mencionando sus características, ventajas, desventajas, aplicaciones y lenguajes que soportan su implementación. La tabla comparativa deberá incluir: portada, una breve introducción sobre los paradigmas y los estilos de programación, la tabla comparativa y las fuentes de consulta. Extensión mínima de 2 cuartillas.
Tarea 2
Exposición
En equipos, deberán presentar uno de los paradigmas de los investigados en la actividad 1, comentando sus principales características así como compartiendo ejemplos de su aplicación en el mundo real. La exposición deberá contar con la participación de todos los integrantes del equipo. Todos los participantes deberán enviar su presentación electrónica a Classroom antes de la exposición.
EVALUACIÓN DE EXPRESIONES
¿QUÉ SON?
OPERADORES Y REGLAS DE PROCEDENCIA
EVALUACIÓN POR LENGUAJE
REGLAS DE ASOCIATIVIDAD
Actividad 1
Evaluación de Expresiones
Evalúe las siguientes expresiones, y para cada una de ellas indique el resultado y su tipo. 5 + 3 * 2 '5' + '3' * 2 2 ** 10 == 1000 or 2 ** 7 == 100 int("cuarenta") 70/16 + 100/24 200 + 19% 3 < (1024 % 10) < 6 'six' + 'eight'
TIPOS DE DATOS
NUMÉRICOS
TEXTO
Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carácter, tal como 'b', un valor entero tal como 35. El tipo de dato determina la naturaleza del conjunto de valores que puede tomar una variable.
LÓGICOS
ABSTRACTOS
https://es.scribd.com/document/476809622/Tabla-Tipos-de-Datos-en-lenguajes-de-programacion
Tarea 3
Cuadro Comparativo
Complementar el cuadro anterior con los tipos de datos de Python, C#, Prolog y Haskell. Enviar el cuadro comparativo en un documento de una cuartilla, sin presentación.
DISCIPLINA DE TIPOS
Es la validación de los tipos de datos permitidos en las expresiones definidas en un lenguaje de programación, ésta puede llevarse a cabo en tiempo de compilación (disciplina estática de tipos), o en tiempo de ejecución (disciplina dinámica de tipos). La comprobación de tipos puede tomar dos formas: síntesis e inferencia.
La síntesis de tipos construye el tipo de una expresión a partir de los tipos de sus subexpresiones. Requiere que se declaren los nombres antes de utilizarlos. El tipo de E1 + E2 se define en términos de los tipos de E1 y E2. La inferencia de tipos determina el tipo de una construcción del lenguaje a partir de la forma en que se utiliza.
FUNCIONES
Una función (f) es una relación entre un conjunto dado X (llamado dominio) y otro conjunto de elementos Y (llamado codominio) de forma que a cada elemento x del dominio le corresponde un único elemento f(x) del codominio (los que forman el recorrido, también llamado rango o ámbito), todos los elementos del dominio participan en la relación. Las funciones matemáticas equivalen al proceso lógico común que se expresa como “depende de”. En programación: Las funciones también son llamadas métodos, nos permiten dividir el trabajo que hace un programa, en tareas más pequeñas separadas de la parte principal.
Actividad 2
Programa Evaluador
Generar una función que evalué las expresiones realizadas en la actividad 3 para comprobar si las respuestas fueron correctas o no. Deberá construirse en Python o el lenguaje que manejes.
Actividad 3
Programa Consulta-Clima
Generar una función que evalué la temperatura dada y determine si hace calor o frío. Deberá construirse en Python o el lenguaje que manejes.