Tema 1: Programación Funcional

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Tema 1: Programación Funcional"

Transcripción

1 Tema 1: Programación Funcional A. Chávez-González 1 A. Riscos-Núñez 1 F. Sancho-Caparrini 1 1 Departamento de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Lógica y Programación, 2006/07

2 Índice Funciones 1 Funciones 2 3 de expresiones aplicativo y normal 4

3 Funciones Una función f es una correspondencia entre dos conjuntos inicial y final f : A B f(x)... s: sucesor, sumacuadrados (2 argumentos) y pi (constante) sumacuadrados : Z Z Z sumacuadrados(x, y) x 2 + y 2 Interesa evaluar la función para ciertos valores: El resultado de aplicar la función f al valor x es y

4 Índice Funciones 1 Funciones 2 3 de expresiones aplicativo y normal 4

5 Programar es dar al ordenador los pasos para resolver un problema La solución se calcula a partir de los datos, luego un programa se describe mediante funciones Programación funcional: ordenador = evaluador Prelude>

6 s Funciones Prelude> :: Integer Prelude> cos (2 * pi) 1.0 :: Double Prelude> [1... 5] [1, 2, 3, 4, 5] :: [Integer] Prelude> mod :: Integer Prelude> mod 10 (3 + 1) 2 :: Integer

7 Sesiones con Haskell Haskell es un lenguaje fuertemente tipificado. El conjunto de valores, funciones y operadores predefinidos es ampliable, incluso se pueden definir nuevos tipos de datos sucesor :: Integer -> Integer sucesor x = x + 1 Declaración de tipo, ecuación, método de cómputo, parámetro formal de la función Una función de dos argumentos sumacuadrados :: Integer Integer Integer sumacuadrados x y = x x + y y Main> sumacuadrados (2 + 2) 3 25 :: Integer

8 Índice Funciones 1 Funciones 2 3 de expresiones aplicativo y normal 4

9 I Funciones El evaluador simplifica la expresión y muestra el resultado cuadrado :: Integer Integer cuadrado x = x x Simplificación en varios pasos de reducción 2 + cuadrado3 =! por la definición de cuadrado =! por el operador ( ) =! por el operador (+) 11

10 II Funciones El evaluador simplifica la expresión y muestra el resultado Simplificación en varios pasos de reduccción Un redex es cada parte de la expresión que pueda reducirse Forma normal Evaluador: mientras quede algún redex, reducir; cuando alcance la forma normal, mostrar el resultado Pero, Qué ocurre si hay más de un redex?

11 Funciones desde dentro desde fuera cuadrado(cuadrado3) cuadrado(cuadrado3) =! por la definición de cuadrado =! por la definición de cuadrado cuadrado(3 3) (cuadrado 3) (cuadrado 3) =! por el operador ( ) =! por la definición de cuadrado cuadrado 9 (3 3) (cuadrado 3) =! por la definición de cuadrado =! por el operador ( ) (cuadrado 3) =! por el operador ( ) =! por la definición de cuadrado 81 9 (3 3) =! por el operador ( ) 9 9 =! por el operador ( ) 81

12 Funciones estrictas y transparecia referencial Las funciones que para ser evaluadas necesitan que sus parámetros estén en forma normal se llaman estrictas. Ejs.: es estricto. cuadrado no es estricto. Sea cual sea el orden de reducción, el resultado final es el mismo. La reducción cambia la forma de una expresión, no su valor La transparencia referencial establece que una misma expresión denota siempre el mismo valor Si aparecen varios redexes, podemos elegir cualquiera sin que el resultado varíe. Pero la elección del redex equivocado puede no conducir a la forma normal

13 Funciones infinito :: Integer cero :: Integer Integer infinito = 1 + infinito cero x = 0 desde dentro desde fuera cero infinito cero infinito =! por la definición de infinito =! por la definición de cero cero (1 + infinito) 0 =! por la definición de infinito cero(1 + (1 + infinito)) =! por la definición de infinito... La estrategia utilizada para seleccionar el redex es crucial

14 Un orden de reducción es una estrategia que indica qué redex hay que seleccionar en cada paso de reducción Orden de reducción aplicativo Seleccionar siempre el redex más interno y más a la izquierda paso de parámetros por valor (call by value) Evaluadores estrictos o impacientes Problema: A veces se efectúan reducciones innecesarias cero(10 4) =! por el operador ( ) cero 40 =! por la definición de cero 0 cero infinito

15 Un orden de reducción es una estrategia que indica qué redex hay que seleccionar en cada paso de reducción Orden de reducción aplicativo Seleccionar siempre el redex más interno y más a la izquierda paso de parámetros por valor (call by value) Evaluadores estrictos o impacientes Problema: A veces se efectúan reducciones innecesarias cero(10 4) =! por el operador ( ) cero 40 =! por la definición de cero 0 cero infinito

16 Un orden de reducción es una estrategia que indica qué redex hay que seleccionar en cada paso de reducción Orden de reducción aplicativo Seleccionar siempre el redex más interno y más a la izquierda paso de parámetros por valor (call by value) Evaluadores estrictos o impacientes Problema: A veces se efectúan reducciones innecesarias cero(10 4) =! por el operador ( ) cero 40 =! por la definición de cero 0 cero infinito

17 Orden de reducción normal Seleccionar siempre el redex más externo y más a la izquierda paso de parámetros por nombre (call by name) Evaluadores no estrictos Es normalizante Problema: Ciertas expresiones se reducen varias veces : cuadrado(cuadrado3)

18 Orden de reducción normal Seleccionar siempre el redex más externo y más a la izquierda paso de parámetros por nombre (call by name) Evaluadores no estrictos Es normalizante Problema: Ciertas expresiones se reducen varias veces : cuadrado(cuadrado3)

19 Orden normal (paso por nombre): expresiones se reducen varias veces Solución: (call by need) Consiste en utilizar paso por nombre y recordar los valores de los argumentos ya calculados para evitar recálculo No se utilizan más reducciones que con paso por valor, luego no es menos eficiente que ella y tiene las ventajas de paso por nombre. Haskell utiliza un evaluador perezoso

20 : cuadrado(cuadrado3) =! por la definición de cuadrado a a donde a = cuadrado3 =! por la definición de cuadrado a a donde a = b b donde b = 3 =! por el operador ( ) a a donde a = 9 =! por el operador ( ) 81

21 Representación perezosa de la función cuadrado

22 perezosa de la función cuadrado

23 Índice Funciones 1 Funciones 2 3 de expresiones aplicativo y normal 4

24 Versión estable del lenguaje Haskell denominada Haskell 98 Peyton Jones, Haskell 98 Language and Libraries. The Revised Report. Cambridge University Press Peyton Jones y Hughes, Standard Libraries for Haskell 98. En Hugs 98 es una de las implementaciones más populares para Haskell 98 Más información sobre Haskell:

Algoritmos y programas. Algoritmos y Estructuras de Datos I

Algoritmos y programas. Algoritmos y Estructuras de Datos I Algoritmos y programas Algoritmos y Estructuras de Datos I Primer cuatrimestre de 2012 Departamento de Computación - FCEyN - UBA Programación funcional - clase 1 Funciones Simples - Recursión - Tipos de

Más detalles

Tema 3: Características de la programación funcional. Sesión 5: El paradigma funcional (1)

Tema 3: Características de la programación funcional. Sesión 5: El paradigma funcional (1) Tema 3: Características de la programación funcional Sesión 5: El paradigma funcional (1) Referencias Capítulo 1.1.5 SICP: [[http://mitpress.mit.edu/sicp/full-text/book/book-z- H-10.html#%_sec_1.1.5][The

Más detalles

Tema 2: Introducción a la programación con Haskell

Tema 2: Introducción a la programación con Haskell Tema 2: Introducción a la programación con Haskell Programación declarativa (2009 10) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad

Más detalles

Introducción a Haskell. El lenguaje Haskell

Introducción a Haskell. El lenguaje Haskell Capítulo 2. Introducción a Haskell 9 Introducción a Haskell Un ejemplo de fichero Haskell El lenguaje Haskell Haskell es un lenguaje funcional puro, no estricto y fuertemente tipificado. Puro = transparencia

Más detalles

Tipos de datos algebraicos

Tipos de datos algebraicos Tipos de datos algebraicos Taller de Álgebra I Segundo cuatrimestre de 2013 Programación funcional Recordemos que un tipo de datos es un conjunto dotado con una serie de operaciones sobre los elementos

Más detalles

Tema 3: Tipos y clases

Tema 3: Tipos y clases Tema 3: Tipos y clases Informática (2016 17) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla 2 / 32 IM Tema 3: Tipos y clases

Más detalles

PARADIGMAS DE PROGRAMACIÓN CALCULO LAMBDA CALCULO LAMBDA

PARADIGMAS DE PROGRAMACIÓN CALCULO LAMBDA CALCULO LAMBDA PARADIGMAS DE PROGRAMACIÓN 2006 CALCULO LAMBDA CALCULO LAMBDA El cálculo lambda fue desarrollado por Alonso Church en la década del 30 con el objeto de dar una teoría general de las funciones. El cálculo

Más detalles

Tema 3: Tipos y clases

Tema 3: Tipos y clases Tema 3: Tipos y clases Programación declarativa (2009 10) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla Tema 3: Tipos y clases

Más detalles

Tema 3: Tipos y clases

Tema 3: Tipos y clases Tema 3: Tipos y clases Programación declarativa (2010 11) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla Tema 3: Tipos y clases

Más detalles

Tema 3. Patrones y Definiciones de Funciones

Tema 3. Patrones y Definiciones de Funciones Programación Declarativa Haskell Informática Sistemas Curso 2003-2004 Pepe Gallardo Universidad de Málaga Tema 3. Patrones y Definiciones de Funciones 3.1 Comparación de Patrones Patrones constantes Patrones

Más detalles

Tipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos

Tipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos Algoritmos y Estructuras de Datos I 1 cuatrimestre de 009 Departamento de Computación - FCEyN - UBA Programación funcional - clase Tipos algebraicos Tipos algebraicos y abstractos ya vimos los tipos básicos

Más detalles

Tema 6: Funciones recursivas

Tema 6: Funciones recursivas Tema 6: Funciones recursivas Programación declarativa (2009 10) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla Tema 6: Funciones

Más detalles

Tema 3. Patrones y Definiciones de Funciones

Tema 3. Patrones y Definiciones de Funciones Informática Haskell Matemáticas Curso 2004-2005 Pepe Gallardo Universidad de Málaga Tema 3. Patrones y Definiciones de Funciones 3.1 Comparación de Patrones Patrones constantes Patrones para listas Patrones

Más detalles

Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación.

Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 1 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 2 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo

Más detalles

Capítulo 7 OPERADORES Y EXPRESIONES. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

Capítulo 7 OPERADORES Y EXPRESIONES. Presentación resumen del libro: EMPEZAR DE CERO A PROGRAMAR EN lenguaje C Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C" Autor: Carlos Javier Pes Rivas (correo@carlospes.com) Capítulo 7 OPERADORES Y EXPRESIONES 1 OBJETIVOS Conocer los tipos de operadores

Más detalles

Práctica 2. TIPOS DE DATOS SIMPLES

Práctica 2. TIPOS DE DATOS SIMPLES Práctica 2. TIPOS DE DATOS SIMPLES 1 sesión Semana: 15 de octubre OBJETIVOS: Conocer los distintos tipos de datos simples y su correcta utilización en la construcción de algoritmos Formular expresiones

Más detalles

Lógica proposicional. Ivan Olmos Pineda

Lógica proposicional. Ivan Olmos Pineda Lógica proposicional Ivan Olmos Pineda Introducción Originalmente, la lógica trataba con argumentos en el lenguaje natural es el siguiente argumento válido? Todos los hombres son mortales Sócrates es hombre

Más detalles

Lógica y Programación

Lógica y Programación Lógica y Programación Formas Normales Antonia M. Chávez, Agustín Riscos, Carmen Graciani Dpto. Ciencias de la Computacion e Inteligencia Artificial Universidad de Sevilla Introducción Simplificar las fórmulas

Más detalles

Tema 2: Representación de problemas como espacios de estados

Tema 2: Representación de problemas como espacios de estados Tema 2: Representación de problemas como espacios de estados José Luis Ruiz Reina José Antonio Alonso Franciso J. Martín Mateos Departamento de Ciencias de la Computación e Inteligencia Artificial Universidad

Más detalles

Tema 9: Declaraciones de tipos y clases

Tema 9: Declaraciones de tipos y clases Tema 9: Declaraciones de tipos y clases Programación declarativa (2009 10) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla

Más detalles

Tema 9: Declaraciones de tipos y clases

Tema 9: Declaraciones de tipos y clases Tema 9: Declaraciones de tipos y clases Informática (2016 17) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla 2 / 41 Tema 9:

Más detalles

EJERCICIOS DE LENGUAJES Y PARADIGMAS DE PROGRAMACIÓN (CUESTIONES DE EXAMEN) PROGRAMACIÓN FUNCIONAL

EJERCICIOS DE LENGUAJES Y PARADIGMAS DE PROGRAMACIÓN (CUESTIONES DE EXAMEN) PROGRAMACIÓN FUNCIONAL EJERCICIOS DE LENGUAJES Y PARADIGMAS DE PROGRAMACIÓN (CUESTIONES DE EXAMEN) PROGRAMACIÓN FUNCIONAL María Alpuente y María José Ramírez 1 LENGUAJES Y PARADIGMAS: INTRODUCCIÓN 1. Indica cuál de las siguientes

Más detalles

Definiciones de tipo. Sinónimos de tipo

Definiciones de tipo. Sinónimos de tipo Capítulo 4. Definiciones de tipo 40 Definiciones de tipo Sinónimos de tipo Un sinónimo de tipo renombra un tipo existente. El nuevo nombre y el antiguo son totalmente intercambiables. type Entero =Integer

Más detalles

Tema 7. El sistema de clases

Tema 7. El sistema de clases Programación Declarativa Haskell Informática Sistemas Curso 2003-2004 Pepe Gallardo Universidad de Málaga Tema 7. El sistema de clases 7.1 Funciones Sobrecargadas Clases e Instancias 7.2 Algunas Clases

Más detalles

by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true

by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true II. SOFTWARE 5. Fundamentos de programación Introducción a la Informática Curso de Acceso a la Universidad para

Más detalles

UNIDAD 7: PROGRAMACIÓN EN R

UNIDAD 7: PROGRAMACIÓN EN R UNIDAD 7: PROGRAMACIÓN EN R Técnicas Inteligentes en Bioinformática Master en Lógica, Computación e Inteligencia Artificial Dpto. Ciencias de la Computación e Inteligencia Artificial Francisco J. Romero

Más detalles

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice

Más detalles

Tema: Funciones, Procedimientos y Recursividad en C#.

Tema: Funciones, Procedimientos y Recursividad en C#. Tema: Funciones, Procedimientos y Recursividad en C#. Objetivos Programación I, Guía 6 1 Utilizar la sintaxis de las funciones definidas por el usuario (programador) para resolver problemas. Identificar

Más detalles

Funciones como Subprogramas en C++

Funciones como Subprogramas en C++ FUNCIONES Cuando es necesario escribir programas complicados para resolver problemas complejos, una práctica común entre los programadores es descomponer el algoritmo (el diagrama de flujo) en varias partes.

Más detalles

Tema 5: Introducción a la programación funcional.

Tema 5: Introducción a la programación funcional. Tema 5: Introducción a la programación funcional. Qué es la programación Funcional (I) La programación funcional apareció como un paradigma independiente a principio de los sesenta. Su creación es debida

Más detalles

Tema 3 - Modelado con HDL a nivel RTL

Tema 3 - Modelado con HDL a nivel RTL - Modelado con HDL a nivel RTL Eduardo Rodríguez Martínez Departamento de Electrónica División de Ciencias Básicas e Ingeniería Universidad Autónoma Metropolitana Unidad Azcapotzalco Email: erm@correo.azc.uam.mx

Más detalles

Programación MODULAR: Subalgoritmos - funciones y procedimientos

Programación MODULAR: Subalgoritmos - funciones y procedimientos Programación MODULAR: Subalgoritmos - funciones y procedimientos Uno de los métodos fundamentales para resolver un problema es dividirlo en problemas más pequeños, llamados subproblemas. Estos problemas

Más detalles

El sistema de clases de Haskell. Introducción

El sistema de clases de Haskell. Introducción Capítulo 5. El sistema de clases de Haskell 56 El sistema de clases de Haskell Introducción Función monomórfica: sólo se puede usar para valores de un tipo concreto not :: Bool Bool not True = False not

Más detalles

Lógica y Programación

Lógica y Programación Lógica y Programación Cálculo de Secuentes Antonia M. Chávez, Agustín Riscos, Carmen Graciani Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Definiciones Objetivo: Resolver

Más detalles

Programación en Visual Basic Ricardo Rodríguez García

Programación en Visual Basic Ricardo Rodríguez García Manual Básico de Programación en Visual Basic 1.- Estructura de un proyecto Visual Basic Los programas o aplicaciones desarrolladas en Visual Basic van a constituir un único paquete que denominaremos proyecto.

Más detalles

Tema 3. Tipos de datos simples

Tema 3. Tipos de datos simples Tema 3. Tipos de datos simples Contenido del tema: Concepto de tipo. Tipos simples. Operadores. Expresiones. Semántica. Tipos y expresiones en lenguaje C++ Francisco J. Veredas Dpto. Lenguajes y Ciencias

Más detalles

Tema 2. Concepto de Algoritmo

Tema 2. Concepto de Algoritmo Tema 2. Concepto de Algoritmo Objetivos Definir el concepto de algoritmo Resolver problemas sencillos mediante el diseño de un algoritmo Conocer los tipos de datos elementales y las operaciones sobre ellos

Más detalles

Visión artificial y Robótica Geometría. Depto. de Ciencia de la Computación e Inteligencia Artificial

Visión artificial y Robótica Geometría. Depto. de Ciencia de la Computación e Inteligencia Artificial Visión artificial y Robótica Geometría Depto. de Ciencia de la Computación e Inteligencia Artificial Contenidos Geometría 2D y 3D Transformación de coordenadas Calibración de la cámara Álgebra necesaria

Más detalles

2007/ PROGRAMACIÓN. Tipo: TRO Curso: 1 Semestre: AB CREDITOS Totales TA TS AT AP PA OBJETIVOS. 1.-Introducción.

2007/ PROGRAMACIÓN. Tipo: TRO Curso: 1 Semestre: AB CREDITOS Totales TA TS AT AP PA OBJETIVOS. 1.-Introducción. 2007/2008 Tipo: TRO Curso: 1 Semestre: AB CREDITOS Totales TA TS AT AP PA OBJETIVOS 1.-Introducción. -Comprender cómo funciona un lenguaje de programación 2. Características del lenguaje C -Entender las

Más detalles

Tema 3 Álgebra Matemáticas I 1º Bachillerato. 1

Tema 3 Álgebra Matemáticas I 1º Bachillerato. 1 Tema 3 Álgebra Matemáticas I 1º Bachillerato. 1 TEMA 3 ÁLGEBRA 3.1 FACTORIZACIÓN DE POLINOMIOS LA DIVISIBILIDAD EN LOS POLINOMIOS Un polinomio P(x) es divisible por otro polinomio Q(x) cuando el cociente

Más detalles

FUNDAMENTOS DE INFORMÁTICA

FUNDAMENTOS DE INFORMÁTICA FUNDAMENTOS DE INFORMÁTICA Tema 1 Introducción a la Programación en Visual Basic Departamento de Ingeniería de Sistemas y Automática Universidad de Vigo undamentos de Informática. Departamento de Ingeniería

Más detalles

Expresiones Aritméticas

Expresiones Aritméticas Expresiones Aritméticas Andrés Arcia Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes Programación I 1 La Operación Asignación variable = expresión;

Más detalles

4.1 CONGRUENCIA ENTRE LOS OBJETIVOS DEL PLAN DE ESTUDIOS Y EL PERFIL DE EGRESO CON LAS LGAC:

4.1 CONGRUENCIA ENTRE LOS OBJETIVOS DEL PLAN DE ESTUDIOS Y EL PERFIL DE EGRESO CON LAS LGAC: 4.1 CONGRUENCIA ENTRE LOS OBJETIVOS DEL PLAN DE ESTUDIOS Y EL PERFIL DE EGRESO CON LAS LGAC: A continuación se muestran los objetivos así como los mapas funcionales según la línea de acentuación y la línea

Más detalles

1. Computadores y programación

1. Computadores y programación 1. Computadores y programación Informática y computadora (RAE) Informática (Ciencia de la computación) Conjunto de conocimientos científicos y técnicos que hacen posible el tratamiento automático de la

Más detalles

PROGRAMACIÓN UNIDADES

PROGRAMACIÓN UNIDADES PROGRAMACIÓN Semestre: Segundo Horas: 90 horas Hrs/sem: 4.5 Créditos: 9 Clave: AI-02 DESCRIPCIÓN DE LA ASIGNATURA Al finalizar el curso el alumno tendrá el conocimiento y la capacidad de implementar programas

Más detalles

Guía práctica de estudio 05: Diagramas de flujo

Guía práctica de estudio 05: Diagramas de flujo Guía práctica de estudio 05: Diagramas de flujo Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 05: Diagramas de

Más detalles

Modelos de Desarrollo de Programas Y Programación Concurrente Clase N 3

Modelos de Desarrollo de Programas Y Programación Concurrente Clase N 3 PROGRAMACION FUNCIONAL - Un lenguaje de programación funcional tiene gran flexibilidad, es conciso en su notación y su semántica es sencilla. El inconveniente principal de estos lenguajes ha sido la ineficiencia

Más detalles

PROYECTO DOCENTE ASIGNATURA: "Inteligencia Artificial"

PROYECTO DOCENTE ASIGNATURA: Inteligencia Artificial PROYECTO DOCENTE ASIGNATURA: "Inteligencia Artificial" Grupo: Clases Teór. Inteligencia Artificial Grupo 1 ING. COMPUTADORES(961083) Titulacion: Grado en Ingeniería Informática-Ingeniería de Computadores

Más detalles

Programación Funcional Lisp-DrScheme Primera Parte. Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad de Nacional

Programación Funcional Lisp-DrScheme Primera Parte. Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad de Nacional Programación Funcional Lisp-DrScheme Primera Parte Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad de Nacional Programación Funcional! La programación funcional es un paradigma de programación

Más detalles

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 3 Tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Definición de tipo genérico Hablamos de un tipo genérico cuando el tipo en cuestión depende

Más detalles

Rancagua, Agosto 2009

Rancagua, Agosto 2009 cvalle@inf.utfsm.cl Departamento de Informática - Universidad Técnica Federico Santa María Rancagua, Agosto 2009 1 / 28 Temario 1 2 3 4 2 / 28 Temario 1 2 3 4 3 / 28 Los nombre y arreglos son equivalentes.

Más detalles

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF ESCUELA POLITÉCNICA SUPERIOR GRADO EN DISEÑO IND. INFORMÁTICA CURSO 2012-13 PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF HASTA AHORA... En prácticas anteriores se ha aprendido: La estructura principal de un

Más detalles

I. E. NORMAL SUPERIOR SANTIAGO DE CALI ASIGNATURA DE TECNOLOGÍA E INFORMÁTICA LIC. CARLOS ANDRÉS CASTAÑEDA HENAO GRADO 8º

I. E. NORMAL SUPERIOR SANTIAGO DE CALI ASIGNATURA DE TECNOLOGÍA E INFORMÁTICA LIC. CARLOS ANDRÉS CASTAÑEDA HENAO GRADO 8º I. E. NORMAL SUPERIOR SANTIAGO DE CALI ASIGNATURA DE TECNOLOGÍA E INFORMÁTICA LIC. CARLOS ANDRÉS CASTAÑEDA HENAO GRADO 8º EXCEL CONTENIDO: Gráficos Funciones Gráficos en Excel Un gráfico es la representación

Más detalles

GUIA 2: Repaso sobre uso de C#. Funciones, métodos y arreglos.

GUIA 2: Repaso sobre uso de C#. Funciones, métodos y arreglos. 1 Programación II, Guía 2 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II GUIA 2: Repaso sobre uso de C#. Funciones, métodos y arreglos. Objetivos Utilizar la sintaxis de las funciones

Más detalles

Componentes Básicos. InCo. InCo Componentes Básicos 1 / 28

Componentes Básicos. InCo. InCo Componentes Básicos 1 / 28 Componentes Básicos InCo InCo Componentes Básicos 1 / 28 Modelo de Computación Vemos al computador como un procesador de datos. +------------+ Entrada ===> Computador ===> Salida +------------+ InCo Componentes

Más detalles

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo TEMA 2: CONCEPTOS BÁSICOS DE ALGORÍTMICA 1. Definición de Algoritmo 1.1. Propiedades de los Algoritmos 2. Qué es un Programa? 2.1. Cómo se construye un Programa 3. Definición y uso de herramientas para

Más detalles

Dos matrices son iguales cuando tienen la misma dimensión y los elementos que ocupan el mismo lugar en ambas son iguales

Dos matrices son iguales cuando tienen la misma dimensión y los elementos que ocupan el mismo lugar en ambas son iguales Introducción Las matrices aparecen por primera vez hacia el año 1850, introducidas por J.J. Sylvester. El desarrollo inicial de la teoría se debe al matemático W.R. Hamilton en 1853. En 1858, A. Cayley

Más detalles

Programación (PRG) PRÁCTICA 10. Algoritmos de búsqueda

Programación (PRG) PRÁCTICA 10. Algoritmos de búsqueda Programación (PRG) Facultad de Informática Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia 1. Introducción El objetivo de esta práctica es estudiar el comportamiento

Más detalles

Contenidos Mínimos MATEMÁTICAS 3º ESO ENSEÑANZAS ACADÉMICAS. U 1 Fracciones y decimales. CRITERIOS DE EVALUACIÓN. ESTÁNDARES DE APRENDIZAJE EVALUABLES

Contenidos Mínimos MATEMÁTICAS 3º ESO ENSEÑANZAS ACADÉMICAS. U 1 Fracciones y decimales. CRITERIOS DE EVALUACIÓN. ESTÁNDARES DE APRENDIZAJE EVALUABLES Septiembre 2.016 Contenidos Mínimos MATEMÁTICAS 3º ESO ENSEÑANZAS ACADÉMICAS U 1 Fracciones y decimales. Números racionales. Expresión fraccionaria - Números enteros. - Fracciones. - Fracciones propias

Más detalles

Operaciones básicas con hojas de cálculo

Operaciones básicas con hojas de cálculo Operaciones básicas con hojas de cálculo Insertar hojas de cálculo. Para insertar rápidamente una hoja de cálculo nueva al final de las hojas de cálculo existentes, haga clic en la ficha Insertar hoja

Más detalles

Tema 3: Técnicas básicas de

Tema 3: Técnicas básicas de Inteligencia Artificial Curso 999 2000 Tema 3: Técnicas básicas de búsqueda José A. Alonso Jiménez Francisco J. Martín Mateos Dpto. de Ciencias de la Computación e Inteligencia Artificial Universidad de

Más detalles

DESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA

DESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA DESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA Nombre del Módulo: PROGRAMACIÓN EN JAVASCRIPT Código: CSTI0087 total: 51 Horas Objetivo General: Crear contenido web basado en

Más detalles

Introducción a la programación

Introducción a la programación Introducción a la programación Resolución de Problemas El objetivo principal para que las personas aprendan a programar en algún lenguaje de programación en particular es utilizar el computador como una

Más detalles

Programación Estructurada

Programación Estructurada Programación Estructurada PROGRAMACIÓN ESTRUCTURADA 1 Sesión No. 2 Nombre: El lenguaje de programación C Contextualización Una constante en todos los lenguajes de programación (viejos y nuevos) es la implementación

Más detalles

UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES

UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES Área de formación: Disciplinaria Unidad académica: Programación Orientada a Objetos Ubicación: Cuarto Semestre Clave: 2087 Horas

Más detalles

Tema 2: Introducción a la programación con Haskell

Tema 2: Introducción a la programación con Haskell Tema 2: Introducción a la programación con Haskell Informática (2015 16) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla 2

Más detalles

Universidad de Guanajuato Tronco Común de Ingenierías

Universidad de Guanajuato Tronco Común de Ingenierías Universidad de Guanajuato Tronco Común de Ingenierías Objetivo del Area: Diseñar modelos matemáticos y proponer alternativas de solución a problemas. Programa. AREA: Matemáticas MATERIA: Lenguaje de Programación

Más detalles

Descripción del funcionamiento del programa

Descripción del funcionamiento del programa GENERAL TECHNICAL REPORT PSW-GTR-208 En este caso, la lucha contra los incendios forestales presupone tanto la maniobra preventiva de los recursos disponibles antes de la temporada de incendios, como la

Más detalles

III. Generación de Código orientado a objetos

III. Generación de Código orientado a objetos III. Generación de Código orientado a objetos UNIDAD III Aspectos fundamentales Del código orientado a objetos. MÓDULOS DE CÓDIGO 1 DE FORMULARIO Almacenan el código en VB 2 ESTÁNDAR 3 DE CLASE Contiene

Más detalles

Cátedra I Informática Autor I Carlos Bartó

Cátedra I Informática Autor I Carlos Bartó FCEFyN Departamento de Computación Informática Examen - 07-07-2008 Apellido y Nombres: Matrícula: Carrera: PROBLEMAS: 1) Especifique en el lenguaje C++ una función denominada calc_fecha() que tenga como

Más detalles

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION CICLO: 01/ 2013 Nombre de la Practica: Lugar de Ejecución: Tiempo Estimado: MATERIA: GUIA DE LABORATORIO #13 Programación

Más detalles

PROGRAMA DE CURSO. Escuela de Ingeniería de Sistemas y Computación Universidad del Valle Santiago de Cali, Colombia. Febrero 2007

PROGRAMA DE CURSO. Escuela de Ingeniería de Sistemas y Computación Universidad del Valle Santiago de Cali, Colombia. Febrero 2007 PROGRAMA DE CURSO Escuela de Ingeniería de Sistemas y Computación Universidad del Valle Santiago de Cali, Colombia Febrero 2007 Curso: ALGORITMIA Y PROGRAMACIÓN Código: 750001M Modalidad: Presencial Teórico

Más detalles

Prefacio. 1 Sistemas de control

Prefacio. 1 Sistemas de control INGENIERIA DE CONTROL por BOLTON Editorial Marcombo Prefacio 1 Sistemas de control Sistemas Modelos Sistemas en lazo abierto y cerrado Elementos básicos de un sistema en lazo abierto Elementos básicos

Más detalles

Tema 4: Definición de funciones

Tema 4: Definición de funciones Programación declarativa (2009 10) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla Constantes como patrones Variables como

Más detalles

Lenguaje de programación con JAVA

Lenguaje de programación con JAVA Pág. N. 1 Lenguaje de programación con JAVA Familia: Editorial: Autor: Tecnología de la información y computación Macro Eric Gustavo Coronel Castillo ISBN: 978-612-304-288-2 N. de páginas: 360 Edición:

Más detalles

SISTEMAS ROBOTIZADOS Asignatura optativa

SISTEMAS ROBOTIZADOS Asignatura optativa Área de Ingeniería de Sistemas y Automática Departamento de Lenguajes y Computación Universidad de Almería SISTEMAS ROBOTIZADOS Asignatura optativa PRACTICA 4 CONTROL DE ROBOTS MÓVILES UTILIZANDO EL MÉTODO

Más detalles

ESTRUCTURA DE ASIGNACIÓN

ESTRUCTURA DE ASIGNACIÓN ALUMNA: GRADO: MODALIDAD-10 FECHA: PROFESOR: Hugo Nelson Ramírez Cárdenas LOGROS 1. Comprende la importancia que tiene el diseño de algoritmos, como forma de dar solución a un determinado problema. 2.

Más detalles

El lenguaje Haskell 98

El lenguaje Haskell 98 El lenguaje Haskell 98 Un lenguaje perezoso completamente Curry con sobrecarga. Juan Pedro Villa Introducción Las razones agudas son ronquidos para los oídos tontos. William

Más detalles

Análisis de deformación y dimensionado de un grupo de pilotes

Análisis de deformación y dimensionado de un grupo de pilotes Manual de Ingeniería No. 18 Actualización: 06/2016 Análisis de deformación y dimensionado de un grupo de pilotes Programa: Grupo de pilotes Archivo: Demo_manual_18.gsp El objetivo de este capítulo es explicar

Más detalles

Expresiones Aritméticas. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz

Expresiones Aritméticas. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz Expresiones Aritméticas Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz Expresiones Aritméticas El computador puede realizar cálculos además de mostrar datos por pantalla.

Más detalles

Las clases como tipos de datos definidos por el usuario

Las clases como tipos de datos definidos por el usuario . La clase Fraccional. Representación en UML de los niveles de acceso 3. Categorías de los objetos que aparecen en los métodos 4. El puntero this. Métodos operadores La clase Fraccional Vamos a diseñar

Más detalles

Tema 12: Analizadores sintácticos funcionales

Tema 12: Analizadores sintácticos funcionales Tema 12: Analizadores sintácticos funcionales Informática (2014 15) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla 2 / 37

Más detalles

Compiladores: Sesión 3. Análisis léxico, expresiones regulares

Compiladores: Sesión 3. Análisis léxico, expresiones regulares Compiladores: Sesión 3. Análisis léxico, expresiones regulares Prof. Gloria Inés Alvarez V. Departamento de Ciencias e Ingeniería de la Computación Pontificia Universidad Javeriana Cali 29 de enero de

Más detalles

Tema 11: Analizadores sintácticos funcionales

Tema 11: Analizadores sintácticos funcionales Tema 11: Analizadores sintácticos funcionales Programación declarativa (2009 10) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla

Más detalles

Programación 1 - Práctica 0, recargada.

Programación 1 - Práctica 0, recargada. v.6.2.1 Programación 1 - Práctica 0, recargada. Ahora con más ejercicios! 1 Expresiones aritméticas. 1. Considere las siguientes expresiones aritméticas: 12 * 5-7 * 6 3 * 5-7 * 4 / 14 + 3 / 1 cos(0.8)

Más detalles

Unidad 3. Álgebra Relacional y Cálculo Relacional

Unidad 3. Álgebra Relacional y Cálculo Relacional Unidad 3 Álgebra Relacional y Cálculo Relacional Álgebra Relacional Definición de Álgebra Álgebra es un sistema matemático que está formado por: Operandos. Valores o variables con los cuáles se pueden

Más detalles

Introducción a la programación

Introducción a la programación Introducción a la programación Conceptos Básicos El objetivo fundamental de éste curso es enseñar a resolver problemas mediante una computadora. El programador de computadoras es antes que nada una persona

Más detalles

PROCESOS DE MANUFACTURA I

PROCESOS DE MANUFACTURA I UNIVERSIDAD ALONSO DE OJEDA FACULTAD DE INGENIERIA ESCUELA DE INGENIERIA INDUSTRIAL PROCESOS DE MANUFACTURA I CIUDAD OJEDA, MARZO 2012 MSC. DENY GONZALEZ Empresas de manufactura Desarrollo de diseños.

Más detalles

Carrera: Participantes Miembros de la academia de Metal- Mecánica

Carrera: Participantes Miembros de la academia de Metal- Mecánica 1.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Carrera: Introducción a la Programación Ingeniería Electromecánica Clave de la asignatura: Horas teoría-horas práctica-créditos 1-3- 5 2.- HISTORIA DEL

Más detalles

METODOS ESTADÍSTICOS

METODOS ESTADÍSTICOS METODOS ESTADÍSTICOS Introducción. Uno de los objetivos de la asignatura de Hidrología, es mostrar a los alumnos, las herramientas de cálculo utilizadas en Hidrología Aplicada para diseño de Obras Hidráulicas.

Más detalles

MATE 3013 LA FUNCIÓN DERIVADA

MATE 3013 LA FUNCIÓN DERIVADA MATE 3013 LA FUNCIÓN DERIVADA Repaso de límites 4 4 3 NE 6 Aplicaciones de la derivada Encuentre la pendiente de la recta tangente en el punto (9,3) a la curva: f ( x) x La pendiente de la recta tangente

Más detalles

PROGRAMA DE CURSO. Horas Docencia Horas de Trabajo Horas de Cátedra Docentes. Personal

PROGRAMA DE CURSO. Horas Docencia Horas de Trabajo Horas de Cátedra Docentes. Personal PROGRAMA DE CURSO Código Nombre CC74A PROGRAMACIÓN AVANZADA EN SCALA Nombre en Inglés ADVANCED PROGRAMMING IN SCALA SCT Unidades Horas Docencia Horas de Trabajo Horas de Cátedra Docentes Auxiliar Personal

Más detalles

FUNCIONES PHP: DECLARACIÓN Y LLAMADAS. PARÁMETROS, RETURN. EJERCICIOS EJEMPLOS RESUELTOS. (CU00827B)

FUNCIONES PHP: DECLARACIÓN Y LLAMADAS. PARÁMETROS, RETURN. EJERCICIOS EJEMPLOS RESUELTOS. (CU00827B) APRENDERAPROGRAMARCOM FUNCIONES PHP: DECLARACIÓN Y LLAMADAS PARÁMETROS, RETURN EJERCICIOS EJEMPLOS RESUELTOS (CU00827B) Sección: Cursos Categoría: Tutorial básico del programador web: PHP desde cero Fecha

Más detalles

Unidad III. Fórmulas y funciones

Unidad III. Fórmulas y funciones Unidad III Fórmulas y funciones Informática a plica da Esquema conceptual: Unidad III Reglas de sintaxis para escribir fórmulas Operadores básicos de las fórmulas Suma Promedio Máximo Mínimo Contar 2.

Más detalles

UNIDAD 1. NÚMEROS. (Página 223 del libro) Nivel II. Distancia. Ámbito Científico Tecnológico.

UNIDAD 1. NÚMEROS. (Página 223 del libro) Nivel II. Distancia. Ámbito Científico Tecnológico. UNIDAD 1. NÚMEROS. (Página 22 del libro) Nivel II. Distancia. Ámbito Científico Tecnológico. Clasificación de los números Números naturales son aquellos que utilizamos para contar. N = 0,1,2,,,5,6, Números

Más detalles

Computación I Curso 2016 Facultad de Ingeniería Universidad de la República

Computación I Curso 2016 Facultad de Ingeniería Universidad de la República Computación I Curso 2016 Facultad de Ingeniería Universidad de la República Objetivos de la programación Exactitud en la realización de la tarea Tiene que satisfacer la especificación exactamente. Simplicidad.

Más detalles

Lógicas para la Informática y la Inteligencia Artificial Memoria de la práctica DiagVenn 1.0

Lógicas para la Informática y la Inteligencia Artificial Memoria de la práctica DiagVenn 1.0 Lógicas para la Informática y la Inteligencia Artificial Memoria de la práctica DiagVenn 1.0 Autor: Juan Ángel Hernández Santos - 1 - ÍNDICE DE CONTENIDOS 1. Bases teóricas 3 2. Funcionamiento del programa

Más detalles

ACTIVIDAD DE EVALUACIÓN % PESO PARA LA UNIDAD 40 PESO TOTAL DEL MÓDULO 100

ACTIVIDAD DE EVALUACIÓN % PESO PARA LA UNIDAD 40 PESO TOTAL DEL MÓDULO 100 Guía Pedagógica y Evaluación 8. Tabla Ponración UNIDAD 1. Resolución problemas utilizando logaritmos y Moado angular, lineal, superficie y espacial. 3. Aplicación la trigonometría RA 1.1. Maneja sigualdas,

Más detalles

Planificaciones Algoritmos y Programación I. Docente responsable: CARDOZO MARTIN MIGUEL. 1 de 8

Planificaciones Algoritmos y Programación I. Docente responsable: CARDOZO MARTIN MIGUEL. 1 de 8 Planificaciones 9511 - Algoritmos y Programación I Docente responsable: CARDOZO MARTIN MIGUEL 1 de 8 OBJETIVOS Capacitar al alumno en el diseño y programación documentados de algoritmos y en la elección

Más detalles

Capítulo 4. Lógica matemática. Continuar

Capítulo 4. Lógica matemática. Continuar Capítulo 4. Lógica matemática Continuar Introducción La lógica estudia la forma del razonamiento, es una disciplina que por medio de reglas y técnicas determina si un teorema es falso o verdadero, además

Más detalles