Listas y Recursión. Taller de Álgebra I. Primer Cuatrimestre de 2015
|
|
- Cristina Valdéz Bustos
- hace 6 años
- Vistas:
Transcripción
1 Listas y Recursión Taller de Álgebra I Primer Cuatrimestre de 2015
2 Un nuevo tipo: Listas Tipo Lista Las listas pueden contener elementos de cualquier tipo (incluso listas) [1] :: [Integer] [1, 2] :: [Integer] [1.1, 2, 4, 3.2] :: [Float] [[1], [2,3], [], [1,1000,2,0]] :: [[Integer]] [1, a ] NO ES UNA LISTA VÁLIDA, por qué?
3 Un nuevo tipo: Listas Tipo Lista Las listas pueden contener elementos de cualquier tipo (incluso listas) [1] :: [Integer] [1, 2] :: [Integer] [1.1, 2, 4, 3.2] :: [Float] [[1], [2,3], [], [1,1000,2,0]] :: [[Integer]] [1, a ] NO ES UNA LISTA VÁLIDA, por qué? Tipar las siguientes expresiones [(1,2), (3,4), (5,2)] [maximo 2 3, fst (2+2, 3+4), 3+4-3/4] [ [], [], [], [], [] ] [] [if True then False else True, 3 > 3 && 4 < 2] [undefined]
4 Ejercicios Otras formas de definir listas Prueben las siguientes expresiones en GHCI [1..100] [1,3..100] [100..1] Cómo harían la lista que va entre 1 y -100?
5 Ejercicios Otras formas de definir listas Prueben las siguientes expresiones en GHCI [1..100] [1,3..100] [100..1] Cómo harían la lista que va entre 1 y -100? Definir las siguientes funciones listar :: a -> a -> a -> [a] que toma 3 elementos y los convierte en una lista. rangodepaso :: Integer -> Integer -> Integer -> [Integer] que, dados 3 números (n1, n2, n3), devuelve la lista resultante de crear el rango con bordes n1 y n2 (inclusive) y paso n3
6 Operaciones Algunas operaciones head :: [a] -> a tail :: [a] -> [a] (:) :: a -> [a] -> [a] (++) :: [a] -> [a] -> [a] length :: [a] -> Int reverse :: [a] -> [a]
7 Operaciones Algunas operaciones head :: [a] -> a tail :: [a] -> [a] (:) :: a -> [a] -> [a] (++) :: [a] -> [a] -> [a] length :: [a] -> Int reverse :: [a] -> [a] Tipar y reducir las siguientes expresiones head [(1,2), (3,4), (5,2)] tail [1,2,3,4,4,3,2,1] head [] head [1,2,3] : [2,3] [True, True] ++ [False, False] [1,2] : []
8 Recursión Hasta ahora, especificamos funciones que consistían en expresiones sencillas. Sin embargo, el tipo de funciones que hicimos hasta la clase pasada no permite programar todas las funciones computables.
9 Recursión Hasta ahora, especificamos funciones que consistían en expresiones sencillas. Sin embargo, el tipo de funciones que hicimos hasta la clase pasada no permite programar todas las funciones computables. Por ejemplo, cómo es una función en Haskell para calcular el factorial de un número entero?
10 Recursión Hasta ahora, especificamos funciones que consistían en expresiones sencillas. Sin embargo, el tipo de funciones que hicimos hasta la clase pasada no permite programar todas las funciones computables. Por ejemplo, cómo es una función en Haskell para calcular el factorial de un número entero? n! = n k k=1
11 Recursión Hasta ahora, especificamos funciones que consistían en expresiones sencillas. Sin embargo, el tipo de funciones que hicimos hasta la clase pasada no permite programar todas las funciones computables. Por ejemplo, cómo es una función en Haskell para calcular el factorial de un número entero? n! = n k, n! = k=1 { 1 si n = 0 n (n 1)! si no
12 Recursión Hasta ahora, especificamos funciones que consistían en expresiones sencillas. Sin embargo, el tipo de funciones que hicimos hasta la clase pasada no permite programar todas las funciones computables. Por ejemplo, cómo es una función en Haskell para calcular el factorial de un número entero? n! = n k, n! = k=1 { 1 si n = 0 n (n 1)! si no La segunda definición de factorial involucra a esta misma función del lado derecho!
13 Definiciones recursivas
14 Definiciones recursivas factorial :: Int -> Int
15 Definiciones recursivas factorial :: Int -> Int factorial n n == 0 =
16 Definiciones recursivas factorial :: Int -> Int factorial n n == 0 = 1
17 Definiciones recursivas factorial :: Int -> Int factorial n n == 0 = 1 factorial n n > 0 =
18 Definiciones recursivas factorial :: Int -> Int factorial n n == 0 = 1 factorial n n > 0 = n * factorial (n-1)
19 Definiciones recursivas Propiedades de una definición recursiva: 1 Tiene que tener uno o más casos base. 2 Las llamadas recursivas del lado derecho tienen que acercarse al caso base, con relación a los parámetros del lado izquierdo de la ecuación.
20 Definiciones recursivas Propiedades de una definición recursiva: 1 Tiene que tener uno o más casos base. 2 Las llamadas recursivas del lado derecho tienen que acercarse al caso base, con relación a los parámetros del lado izquierdo de la ecuación. En cierto sentido, la recursión es el equivalente computacional de la inducción para las demostraciones.
21 Más sobre la función factorial Dado que las ecuaciones se evalúan en secuencia, también podemos definir: factorial :: Int -> Int factorial 0 = 1 factorial n = n * factorial (n -1)
22 Más sobre la función factorial Dado que las ecuaciones se evalúan en secuencia, también podemos definir: factorial :: Int -> Int factorial 0 = 1 factorial n = n * factorial (n -1) Observar que factorial 70 = 0 Por qué sucede esto?
23 Más sobre la función factorial Dado que las ecuaciones se evalúan en secuencia, también podemos definir: factorial :: Int -> Int factorial 0 = 1 factorial n = n * factorial (n -1) Observar que factorial 70 = 0 Por qué sucede esto? factorial :: Integer -> Integer factorial 0 = 1 factorial n = n * factorial (n -1)
24 Otro ejemplo clásico Consideremos la sucesión de Fibonacci: F 0 = 0 F 1 = 1 F n = F n 1 + F n 2 n 2 Programar en Haskell una función que dado n calcule F n fib :: Integer -> Integer Mostrar cómo reduce la siguiente expresión fib (1+2)?? (utilizando evaluación Lazy)
25 Asegurarse de llegar a un caso base Consideremos este programa recursivo para determinar si un número es par: par :: Int -> Bool par 0 = True par n = par (n-2) Qué problema tiene esta función?
26 Asegurarse de llegar a un caso base Consideremos este programa recursivo para determinar si un número es par: par :: Int -> Bool par 0 = True par n = par (n-2) Qué problema tiene esta función? Cómo se arregla?
27 Asegurarse de llegar a un caso base Consideremos este programa recursivo para determinar si un número es par: par :: Int -> Bool par 0 = True par n = par (n-2) Qué problema tiene esta función? Cómo se arregla? par 0 = True par 1 = False par n = par (n-2) par 0 = True par n = not (par (n-1))
28 Recursión sobre listas No todo son números Podremos implementar la función que suma todos los elementos de una lista?
29 Recursión sobre listas No todo son números Podremos implementar la función que suma todos los elementos de una lista? suma :: [Integer] -> Integer suma lista length lista == 0 = 0 suma lista otherwise = head lista + suma (tail lista) Implementemos las siguientes funciones Implementar y dar el tipo de la productoria de una lista. Implementar la función reverso :: [a] -> [a] Mostrar los pasos de reducción para la evaluación de reverso [ a, b, c ] Implementar la función capicua :: [Integer] -> Bool que devuelve verdadero si el reverso de una lista de números es la misma lista.
30 Ejercicios 1 Escribir una función que dados dos n, m N devuelva el combinatorio ( n m). Hacerlo usando la igualdad ( ) ( n m = n 1 ) ( m + n 1 m 1). 2 Escribir una función que dado n N sume los primeros n números impares. Ej: sumaimpares Escribir una función que dado n N sume los cuadrados de los primeros n números impares. Ej: sumacuadradosimpares 3 1ˆ2 + 3ˆ2 + 5ˆ (*) Escribir una función que dado n N sume los impares tales que su cuadrado sea menor que n. Ej: sumaimparescuadradosmenoresa Escribir una función para determinar recursivamente si un número es múltiplo de 3. No se puede usar las funciones mod y div para resolver este ejercicio. 6 Escribir una función recursiva que no termine si se ejecuta con números negativos. 7 Escribir una función para calcular n!! = n (n 2)(n 4) La función se debe indefinir para los números impares. 8 Implementar la función todosverdaderos :: [Bool] -> Bool que devuelve verdadero sólo si todos los elementos de la listas son verdaderos. Ejemplo todosverdaderos [True, 2 < 3, > 5] True. 9 Implementar la función tomarn :: Int -> [a] -> [a] que retorna la lista de los primeros n elementos de la lista de entrada (para entender el funcionamiento revisar su equivalente en haskell: take).
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 detallesTema 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 detallesTema 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 detallesTipos 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 detallesIsabelle como un lenguaje funcional
Capítulo 1 Isabelle como un lenguaje funcional 1.1 Introducción Nota 1.1.1. Esta notas son una introducción a la demostración asistida utilizando el sistema Isabelle/HOL/Isar. La versión de Isabelle utilizada
Más detallesTema 11. Listas infinitas
Programación Declarativa Haskell Informática Sistemas Curso 2003-2004 Pepe Gallardo Universidad de Málaga Tema 11. Listas infinitas 11.1 Listas infinitas 11.2 La criba de Eratóstenes 11.3 Redes de procesos
Más detallesIntroducción a los Algoritmos Validez, Satisfactibilidad, Tipos y Funciones
Introducción a los Algoritmos Validez, Satisfactibilidad, Tipos y Funciones Pedro Sánchez Terraf CIEM-FaMAF Universidad Nacional de Córdoba FaMAF UNC 17 de marzo de 2014 Contenido 1 Demostraciones: Cómo
Más detallesTema 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 detallesUNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO.
UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO. TRUJILLO Recursividad: La recursividad es una técnica de programación
Más detallesFunciones. Parámetros por valor
Funciones I Parámetros por valor Fundamentos de Programación Fundamentos de Programación I Llamada a la función definición subprograma Subprogramas en C++ Funciones 1 Una función es un subprograma que
Más detallesDEPARTAMENTO DE MATEMATICAS Y FISICA Matemáticas Discreta
DEPARTAMENTO DE MATEMATICAS Y FISICA Matemáticas Discreta SUCESIONES Y RELACIONES DE RECURRENCIA Esta última sección la dedicamos a presentar el concepto de recurrencia, que esta muy ligado al axioma de
Más detallesCarlos A. Rivera-Morales. Precálculo 2
y Carlos A. Rivera-Morales Precálculo 2 Introducción a y Notación d Tabla de Contenido 1 Definición Sumas Parciales Introducción a y Notación d Tabla de Contenido 1 Definición Sumas Parciales 2 Introducción
Más detalles1.- Para cada uno de los siguientes problemas escribir el diagrama de flujo y el pseudocódigo de un programa que lo resuelva:
1.- Para cada uno de los siguientes problemas escribir el diagrama de flujo y el a) Problema: pedir la base y la altura de un triángulo y escribir su superficie. b) Problema: pedir cuatro números enteros
Más detallesRecursión Directa. Una función es de recursión directa si contiene una llamada explícita a si misma. return foo (y 1); Recursión Indirecta
Recursión Directa Una función es de recursión directa si contiene una llamada explícita a si misma int foo (int x) { if ( x
Más detallesEstructuras de Control. Secuencia y Selección
Estructuras de Control. Secuencia y Selección InCo - FING Programación 1 InCo - FING Estructuras de Control. Secuencia y Selección Programación 1 1 / 35 Estructuras de control InCo - FING Estructuras de
Más detalles5. Subprogramas Fundamentos de Informática
5. Subprogramas Fundamentos de Informática Dpto. Lenguajes y Sistemas Informáticos Curso 2012 / 2013 Índice Subprogramas 1. Cálculo de la función Coseno 2. Suma 3. Ecuación de 2º grado 2 1. Cálculo de
Más detallesProgramación Funcional Haskell Clase 21
Programación Funcional Haskell Clase 21 José Raymundo Marcial Romero rmarcial@fi.uaemex.mx BUAP c José Raymundo Marcial Romero. Clase Número 21 p.1/12 Temas de la clase Clase Anterior En Haskell cada expresión
Más detallesEstructuras de Datos. Dr. Pablo E. Fidel Martínez López Lic. en Ciencias de la Computación UNR
Estructuras de Datos Dr. Pablo E. Fidel Martínez López Lic. en Ciencias de la Computación UNR ...but note that an implementation need not be actualized as code a concrete design is sufficient. Chris Okasaki
Más detallesEjercicios de programación funcional con Haskell
Ejercicios de programación funcional con Haskell José A. Alonso Jiménez Grupo de Lógica Computacional Dpto. de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Sevilla, 8 de
Más detallesInducción Matemática. Departamento de Matemáticas. Inducción Matemática p. 1/31
Inducción Matemática Departamento de Matemáticas Inducción Matemática p. 1/31 Inducción Matemática: Historia Inducción Matemática es un método de prueba relativamente reciente: Inducción Matemática p.
Más detallesAlonso Ramírez Manzanares Computación y Algoritmos 10.03
Recursividad mat-151 1 Ejercicio de recursión: dibujando una regla Queremos dibujar las marcas de diferentes tamaños de una regla. Marcas grandes cada 1/2 cm, marcas más pequeñas cada 1/4 cm... hasta una
Más detallesProgramación Funcional en Haskell
Programación Funcional en Haskell Paradigmas de Lenguajes de Programación 1 cuatrimestre 2006 1. Expresiones, valores y tipos Un programa en lenguaje funcional consiste en definir expresiones que computan
Más detallesTema 13: Aplicaciones de programación funcional
Tema 13: Aplicaciones de programación funcional 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
Más detallesEstructuras de control
Estructuras de control Condicionales Ejemplo: Resolución de la ecuación de primer grado In [1]: # Solución de la ecuación ax+b=0 def solucion1grado(a, b): return -float(b) / a In [2]: solucion1grado(2,4)
Más detallesProgramación de Computadores 4 Iteraciones y Decisiones. Prof. Javier Cañas. Universidad Técnica Federico Santa María Departamento de Informática
Programación de Computadores 4 Iteraciones y Decisiones Prof. Javier Cañas Universidad Técnica Federico Santa María Departamento de Informática Contenido 1 Introducción 2 Operadores Relacionales y Lógicos
Más detallesFUNDAMENTOS DE INFORMÁTICA
FUNDAMENTOS DE INFORMÁTICA Tema 2 Expresiones, operadores y estructuras de control Departamento de Ingeniería de Sistemas y Automática Universidad de Vigo Fundamentos de Informática. Departamento de Ingeniería
Más detallesProgramación Dinámica 1
Programación Dinámica 1 El método de programación dinámica sirve para resolver problemas combinando las soluciones de subproblemas. Normalmente es usada para resolver problemas de optimización. Al construir
Más detallesCursada Segundo Cuatrimestre 2012 Guía de Trabajos Prácticos Nro. 1
Temas: Ambiente de trabajo MATLAB. Creación de matrices y vectores. Matrices pre-definidas. Operador dos puntos. Operaciones con matrices y vectores. Direccionamiento de elementos de matrices y vectores.
Más detallesProblemas de Recursividad
Problemas de Recursividad Problema 1. El factorial de un número entero n 0, denotado como n!, se define! como!!! i = 1 2 n cuando n > 0, y 0! = 1. Por ejemplo 6! = 1 2 3 4 5 6 = 720 Diseñad una método
Más detallesTema 11.- Autovalores y Autovectores.
Álgebra 004-005 Ingenieros Industriales Departamento de Matemática Aplicada II Universidad de Sevilla Tema - Autovalores y Autovectores Definición, propiedades e interpretación geométrica La ecuación característica
Más detallesAlgoritmos. Intro. Prof. Raquel Torres Peralta / Gerardo Sanchez S. Unison
Algoritmos Intro Prof. Raquel Torres Peralta / Gerardo Sanchez S. Unison La Computadora Las computadoras trabajan con una base de 0 y 1 llamado sistema binario. En principio todo lo que sucede en un dispositivo
Más detallesFracciones y fractales
C APÍTULO 0 Fracciones y fractales Resumen del contenido El tema del Capítulo 0 es la investigación de patrones en el diseño fractal. No se intimide si no ha visto fractales anteriormente. El propósito
Más detallesClase adicional 2. Estructuras básicas de control. Temas
Clase adicional 2 Temas Estructuras de control Sentencia condicional Iteración Clases Definir una clase Crear una instancia de una clase Campos estáticos Problemas de la clase adicional Problema de diseño
Más detallesNúmeros naturales, principio de inducción
, principio de inducción. Conjuntos inductivos. Denotaremos por IN al conjunto de números naturales, IN {,,, 4, 5, 6,...}, cuyos elementos son suma de un número finito de unos. Recordemos que IN es cerrado
Más detallesEstructuras de Repetición (Hacer-Mientras)
Estructuras de Repetición (Hacer-Mientras) Material Original: Prof. Flor Narciso Modificaciones: Prof. Andrés Arcia Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería
Más detallesSolución - práctico 10
Solución - práctico 10 Complejidad Ejercicio 1 a) Una implementación del algoritmo es la siguiente: /* Procedimiento que se encarga de realizar la unión de los dos conjuntos * ordenados der1 e izq1 son
Más detallesFunciones Tipos de funciones y Recursividad
Funciones Tipos de funciones y Recursividad SESION 4 Definición Una función es una subrutina o subprograma que forman un programa que realiza tareas bien definidas. Todo programa en C consta de una o más
Más detallesProgramación Orientada a Objetos Métodos Guía de Ejercicios v9.7
Programación Orientada a Objetos Métodos Guía de Ejercicios v9.7 1, Escriba un método llamado puntoscalidad que reciba como entrada el promedio de un estudiante y devuelva 4 si el promedio se encuentra
Más detallesPROBLEMAS DEL TEMA 7: Subprogramas y Modularidad
PROBLEMAS DEL TEMA 7: Subprogramas y Modularidad EJERCICIOS RESUELTOS 1. Escribe una función que calcule el factorial de un número, dado como parámetro. A continuación realiza un programa que lea por teclado
Más detallesEstatutos de Control C# Estatutos de Decisión (Selección)
SELECCIÓN Estatutos de Control C# Estatutos de Decisión (Selección) IF Condición THEN Estatuto1 ELSE Estatuto2 Estatuto1 Statement Condición... Antes de ver esta presentación: Lee el Capítulo correspondiente
Más detallesESCUELA 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 detallesGuía 2: Funciones, listas, recursión e inducción
Introducción a los Algoritmos - 2do cuatrimestre 2016 Guía 2: Funciones, listas, recursión e inducción El objetivo de los siguientes ejercicios es continuar aprendiendo programación funcional, es decir,
Más detalles$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos
PROGRAMACIÓN DE SHELL SCRIPTS EN LINUX El shell es un intérprete de órdenes, pero el shell no es solamente eso; los intérpretes de órdenes de Linux son auténticos lenguajes de programación. Como tales,
Más detallesPrácticas para Resolver PROBLEMAS MATEMÁTICOS
Prácticas para Resolver PROBLEMAS MATEMÁTICOS 1 Prólogo El presente manual está dirigido a los estudiantes de las facultades de físico matemáticas de las Escuelas Normales Superiores que estudian la especialidad
Más detallesModelos 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 detallesTI 89. Cómo sobrevivir en Precálculo
TI 89 Cómo sobrevivir en Precálculo TI-89 Menús que más utilizaremos: Operaciones Numéricas Simplificar: 3 + 1 5 ( 4)2 9 3 4 Notar la diferencia entre el símbolo de resta y el signo negativo. Notar el
Más detallesAlgoritmos glotones. mat-151
Algoritmos glotones (greedy) mat-151 Alonso Ramirez Manzanares Computación y Algoritmos 04.06.2009 Algoritmos glotones Algoritmos utilizados en problemas de optimización. Estos algoritmos siguen típicamente
Más detallesMetodología de la Programación II. Recursividad
Metodología de la Programación II Recursividad Objetivos Entender el concepto de recursividad. Conocer los fundamentos del diseño de algoritmos recursivos. Comprender la ejecución de algoritmos recursivos.
Más detallesTEMA 3 POTENCIAS Y RAÍCES
TEMA 3 POTENCIAS Y RAÍCES Criterios De Evaluación de la Unidad 1. Operar con potencias y expresar el resultado en forma de potencia. 2. Expresar cantidades como producto de un número por una potencia de
Más detallesTaller de Informática I Dpto. Computación F.C.E. y N. - UBA 2010
FUNCIONES Definición: Una función es un subprograma que recibe cero o más valores de entrada y retorna un único objeto de salida. Es una tarea independiente que puede o no depender de variables externas.
Más detallesEspecificación y uso de módulos en C++(II)
Sesión 3 Especificación y uso de módulos en C++(II) 3.1 La clase Poli para representar polinomios Disponemos de la clase Poli que permite operar con polinomios de coeficientes enteros. Se basa en el módulo
Más detallesUnidad 2: Ecuaciones, inecuaciones y sistemas.
Unidad 2: Ecuaciones, inecuaciones y sistemas 1 Unidad 2: Ecuaciones, inecuaciones y sistemas. 1.- Factorización de polinomios. M. C. D y m.c.m de polinomios. Un número a es raíz de un polinomio es 0.
Más detallesCómo resolver? Veremos dos métodos
Cómo resolver? Veremos dos métodos 1 La primera idea que surge es tomar raíz a ambos lados de la desigualdad La idea es buena, pero hay que tener presente las reglas algebraicas Cómo resolver? Se puede
Más detallesAlgoritmos. Medios de expresión de un algoritmo. Diagrama de flujo
Algoritmos En general, no hay una definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten
Más detallesControl de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO
Control de Flujo Estructuras de Control Experiencia Educativa de Algorítmica 1 Introducción El estilo de como escribimos y analizamos un algoritmo se convierte en una de las principales características
Más detallesMATE EJERCICIOS DE PRACTICA
MATE 0066 - EJERCICIOS DE PRACTICA TEMA: de inecuaciones polinómicas por factorización Instructora: Ana María Aparicio A. Hallar los puntos críticos de los siguientes polinomios. Los puntos críticos son
Más detallesDiferenciabilidad en un intervalo
Diferenciabilidad en un intervalo Ahora que conocemos cómo calcular la derivada de una función en un punto conviene hacer la pregunta más general: «Cómo podemos saber si una derivada se puede derivar en
Más detalles10.4 Sistemas de ecuaciones lineales
Programa Inmersión, Verano 2016 Notas escritas por Dr. M Notas del cursos. Basadas en los prontuarios de MATE 001 y MATE 02 Clase #11: martes, 14 de junio de 2016. 10.4 Sistemas de ecuaciones lineales
Más detallesIntroduc)on to Programming (in C++) Ejemplos de tratamiento de secuencia de secuencias. Emma Rollón Departament of Computer Science
Introduc)on to Programming (in C++) Ejemplos de tratamiento de secuencia de secuencias Emma Rollón Departament of Computer Science Ejemplo 1: recorrido con recorrido Input: La entrada consiste en un número
Más detallesEstrategias de Diseño de Algoritmos
Estrategias de Diseño de Algoritmos Introducción A través de los años, los científicos de la computación han identificado diversas técnicas generales que a menudo producen algorit mos eficientes para la
Más detallesEscuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática
Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática Fundamentos de la informática 2. Algoritmos, diagramas de flujo y pseudocódigo Contenido Algoritmos Diagramas de flujo
Más detallesTema 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 detalles7.1 Consideraciones. Considere la búsqueda de un libro en una biblioteca. Considere la búsqueda de un nombre en el directorio telefónico.
86 Capítulo 7. ORDENAMIENTO. 7.1 Consideraciones. Considere la búsqueda de un libro en una biblioteca. Considere la búsqueda de un nombre en el directorio telefónico. Si los elementos a ordenar son compuestos
Más detalles2^10 2^9 2^8 2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0 SUMA
Universidad Rafael Urdaneta Facultad de Ingeniería Escuela de Ingeniería de Computación Cátedra: Programación I Laboratorio - Semestre 2012-1 (Sección C ) Profesor: Jaime Soto Examen #1 - Fecha: 07-03-2012
Más detallesƒ : {(1, 4), (2, 5), (3, 6), (4, 7)}.
SECCIÓN 5. Funciones inversas 5. Funciones inversas Verificar que una función es la inversa de otra. Determinar si una función tiene una función inversa. Encontrar la derivada de una función inversa. f
Más detallesEl lenguaje C. 1. Identificadores, constantes y variables
Principios de Programación El lenguaje C 1. Identificadores, constantes y variables 1.1. Conceptos de memoria Los nombres de variable como x, y, suma corresponden a localizaciones o posiciones en la memoria
Más detallesTaller de Resolución de Problemas Computacionales
Taller de Resolución de Problemas Computacionales Clase1: 27/9 Presentación: Equipo de Trabajo Encuentros Certificación del Taller: Por Asistencia Por Aprobación Sitio Web. Etapas en la Resolución de Problemas
Más detallesMateria: Matemática de Tercer Año Tema: Pendiente
Materia: Matemática de Tercer Año Tema: Pendiente Suponga que tiene un avión de juguete sobre el despegue, que se eleva 5 pies por cada 6 metros que recorre a lo largo de la horizontal. Cuál sería la pendiente
Más detallesMétodos que devuelven valor Dado el siguiente triángulo rectángulo:
Métodos que devuelven valor Dado el siguiente triángulo rectángulo: hipotenusa altura base Para dibujar este triángulo necesitamos los siguientes datos: base y altura La base y la altura, se utilizarán
Más detallesdata Tree a = Tip Node a (Tree a) (Tree a) deriving Show
Preguntas seleccionadas de pruebas de evaluación Pregunta 1 Dadas las siguientes definiciones: data Tree a = Tip Node a (Tree a) (Tree a) deriving Show cambiar :: [Int] -> Tree [Int] -> Tree [Int] cambiar
Más detallesGUÍA BÁSICA DE SCHEME v.4
Esta guía básica pretende ser una introducción elemental al lenguaje de programación Scheme. Se presenta como una guía de comienzo rápido de tal forma que permita conocer de una forma muy esquemática los
Más detallesAplicaciones en Haskell. Funciones, funciones recursivas y su implementación en Haskell.
Capítulo 6 Aplicaciones en Haskell Funciones, funciones recursivas y su implementación en Haskell. Funciones: Recordemos que una función es una correspondencia entre 2 conjuntos, llamados dominio y codominio,
Más detallesMATRICES. Se simboliza tal matriz por y se le llamará una matriz x o matriz de orden x (que se lee por ).
1 MATRICES 1 Una matriz es una disposición rectangular de números (Reales); la forma general de una matriz con filas y columnas es Se simboliza tal matriz por y se le llamará una matriz x o matriz de orden
Más detallesLaboratorio de Física Universitaria 2 otoño 1998 Alicia M. Vázquez Soto. Campo Eléctrico
OBJETIVOS: Campo Eléctrico Entender el concepto de campo eléctrico Aprender como calcular el campo eléctrico asociado con las cargas que se distribuyen a través de un objeto Entender como las líneas de
Más detallesActividad colaborativa Ejercicios de programación Programación básica C++
Actividad colaborativa Ejercicios de programación Programación básica C++ Entra a la página del Prof. Jorge Sánchez, autor del Manual completo de programación en C++, de donde edité estos apuntes: http://www.jorgesanchez.net/programacion/ejerciciosc/sencillos.html
Más detalles1.3.- V A L O R A B S O L U T O
1.3.- V A L O R A B S O L U T O OBJETIVO.- Que el alumno conozca el concepto de Valor Absoluto y sepa emplearlo en la resolución de desigualdades. 1.3.1.- Definición de Valor Absoluto. El valor absoluto
Más detallesBase y Dimensión de un Espacio Vectorial
Base y Dimensión de un Espacio Vectorial 201 6Asturias: Red de Universidades Virtuales Iberoamericanas 1 Índice 1 Qué es un sistema generador?... 4 2 Base de un espacio vectorial... 4 3 Dimensión de un
Más detallesResolución de Problemas y Algoritmos Clase 6: Repetición (continuación)
Resolución de Problemas y Algoritmos Clase 6: Repetición (continuación) Dr. http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca,
Más detallesEuclides extendido y Test de primalidad probabiĺıstico
Euclides extendido y Test de primalidad probabiĺıstico Taller de Álgebra I Verano de 2014 Lema de Bézout Recordemos este lema: Lema (Étienne Bézout) Sean a, b Z, alguno distinto de 0. Entonces existen
Más detallesNotación Asintótica 2
Notación Asintótica 2 mat-151 1 Éxamen Rápido (6 minutos) Cada operación fundamental usa c milisegundos, cuánto tiempo toma contar hasta 1,000,000? Cuál es el valor de N? Cuál es el órden de complejidad
Más detallesNota 2. Luis Sierra. Marzo del 2010
Nota 2 Luis Sierra Marzo del 2010 Cada mecanismo de definición de conjuntos que hemos comentado sugiere mecanismos para definir funciones y probar propiedades. Recordemos brevemente qué son las funciones
Más detallesa) Factoriza el monomio común. En este caso 6 se puede dividir de cada término:
Materia: Matemática de 5to Tema: Factorización y Resolución de ecuaciones 1) Factorización Marco Teórico Decimos que un polinomio está factorizado completamente cuando no podemos factorizarlo más. He aquí
Más detalles1. Cuántas sentencias hay en la secuencia principal del siguiente programa?
1. Cuántas sentencias hay en la secuencia principal del siguiente programa? public class PruebaSwitch { System.out.print ("Opcion: "); case 3: System.out.println ("miércoles "); A. 1. B. 4. C. Más de 10.
Más detallesEJERCICIOS 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 detallesEjercicios (Números reales)
Ejercicios (Números reales).. Decir si cada una de las siguientes expresiones es cierta o falsa: a) d) 30ÿ ÿ00 k j 4 k 30ÿ 00 ÿ k j 4, b) k ÿ00 00, c).. Expresar con notación de sumatorio: 0ÿ a) ` 3 `
Más detallesIntroducción a la Geometría Computacional. Análisis de Algoritmos
Introducción a la Geometría Computacional Análisis de Algoritmos Geometría Computacional La Geometría Computacional surgió a finales de los 70s del área de diseño y análisis de algoritmos. Estudio sistemático
Más detallesIntroducción a C++ y Code::Blocks
Introducción a C++ y Práctica Imperativo Clase 1 Luis Agustín Nieto Departamento de Computación, FCEyN,Universidad de Buenos Aires. 28 de mayo de 2010 Menu de esta Tarde Funcional Vs. Imperativo (Intérprete
Más detallesUNIDAD 2. Logaritmos DEFINICION DE LOGARITMO. Definiciones:
Matemática UNIDAD. Logaritmos Medio GUÍA N 1 DEFINICION DE LOGARITMO Qué valor de x satisface la ecuación x = 7? Fácilmente podemos verificar que x = es una solución para esta ecuación, pues = 7. Pero
Más detalles4.1. Determinante de una matriz cuadrada de orden 2. , entonces el determinante de A es a 21 a 22 a 11 a 12 = a 11a 22 a 12 a 21
Capítulo 4 Determinante Los determinantes se calculan para matrices cuadradas. Se usan para saber cuando una matriz tiene inversa, en el cálculo de autovalores y también para resolver sistemas de ecuaciones
Más detallesTema 4: Procedimientos y estructuras recursivas
Tema 4: Procedimientos y estructuras recursivas Contenidos 1. Recursión 1.1 Pensando recursivamente 1.2 El coste de la recursión 1.3 Soluciones al coste de la recursión: procesos iterativos 1.4 Soluciones
Más detallesDIAGRAMAS DE FLUJOS. Qué son Los Diagramas de Flujo y Para qué se Usan?
DIAGRAMAS DE FLUJOS Los diagramas de flujo representan la secuencia o los pasos lógicos para realizar una tarea mediante unos símbolos. Dentro de los símbolos se escriben los pasos a seguir. Un diagrama
Más detallesTipos de datos en S. Lógica y Computabilidad. Codificación de variables y etiquetas de S. Codificación de programas en S
Tipos de datos en S Lógica y Computabilidad Verano 2011 Departamento de Computación - FCEyN - UBA Computabilidad - clase 5 Codificación de programas, Halting problem, diagonalización, tesis de Church,
Más detallesEnteros (Z):..., -3, -2, -1, 0, 1, 2, 3,... Números enteros (positivos o negativos), sin decimales. Incluye a los naturales.
Tema 1: Números Reales 1.1 Conjunto de los números Naturales (N): 0, 1, 2, 3. Números positivos sin decimales. Sirven para contar. Enteros (Z):..., -3, -2, -1, 0, 1, 2, 3,... Números enteros (positivos
Más detallesSESIÓN N 07 III UNIDAD RELACIONES Y FUNCIONES
SESIÓN N 07 III UNIDAD RELACIONES Y FUNCIONES RELACIONES BINARIAS PAR ORDENADO Es un arreglo de dos elementos que tienen un orden determinado donde a es llamada al primera componente y b es llamada la
Más detallesfunciones printf scanf
FUNCIONES EN C FUNCIONES Los módulos en C se llaman funciones. Hemos estado utilizando funciones de la biblioteca estandar stdio.h como por ejemplo printf y scanf. Comenzaremos viendo algunas funciones
Más detallesEje temático: Álgebra y funciones Contenidos: Raíces cuadradas y cúbicas - Racionalización Ecuaciones irracionales. Nivel: 3 Medio
Eje temático: Álgebra y funciones Contenidos: Raíces cuadradas y cúbicas - Racionalización Ecuaciones irracionales. Nivel: 3 Medio Raíces 1. Raíces cuadradas y cúbicas Comencemos el estudio de las raíces
Más detallesIntroducción al lenguaje C
Programación 2 Profesorado de Informática CeRP del Suroeste, Uruguay 29 de marzo de 2016 Estructuras de control IV Iteración Sentencia for: for (inicio; condicion; paso) cuerpo for (int i = 0; i < 10;
Más detallesSemana03[1/17] Funciones. 16 de marzo de Funciones
Semana03[1/17] 16 de marzo de 2007 Introducción Semana03[2/17] Ya que conocemos el producto cartesiano A B entre dos conjuntos A y B, podemos definir entre ellos algún tipo de correspondencia. Es decir,
Más detallesAspectos y ejercicios a trabajar en el taller
Taller: Nos puede ayudar la calculadora científica en nuestra labor de enseñar matemáticas? Aspectos y ejercicios a trabajar en el taller Toma de contacto con la herramienta La mejora de resolución de
Más detallesEstrategias didácticas para la resolución de problemas en Matemática de I y II ciclos
Estrategias didácticas para la resolución de problemas en Matemática de I y II ciclos Segundo Ciclo, Relaciones y Álgebra Abril, 2014 En el Segundo ciclo se busca la profundización en los aprendizajes
Más detalles