pre02_162



Comments



Description

L´ogica Computacional 2016-2 Clase 2: Listas por comprensi´ on, tuplas y LProp Favio E. Miranda Perea, Susana H. Mart´ın Lunas, Fernando A. Galicia Mendoza Listas por comprensi´ on Tuplas L´ogica Computacional 2016-2 Clase 2: Listas por comprensi´on, tuplas y LProp Favio E. Miranda Perea Susana H. Mart´ın Lunas Fernando A. Galicia Mendoza Facultad de ciencias, UNAM LProp ´ Arboles binarios Ejercicios 11 de febrero del 2016 L´ ogica Computacional 2016-2 Clase 2: Listas por comprensi´ on, tuplas y LProp Favio E. Miranda Perea, Susana H. Mart´ın Lunas, Fernando A. Galicia Mendoza Listas por comprensi´ on Tuplas LProp ´ Arboles binarios Ejercicios Listas por comprensi´on 7.[5.False.4. Susana H.8]] Las primeras dos listas son iguales.2. Fernando A. Ejemplos: [1. tuplas y LProp Favio E.. la diferencia es que la segunda est´a definida de una forma mas eficiente.False] [[1. Mart´ın Lunas. Cuando uno define un tipo puede crear listas por rango. A este tipo listas se les llama listas por rango.3. Galicia Mendoza Listas por comprensi´ on Tuplas LProp ´ Arboles binarios Ejercicios Las listas son un tipo primitivo en Haskell que permite almacenar elementos de un tipo espec´ıfico.5. de forma ordenada y con la posibilidad de repetir elementos. para esto se debe crear una instancia de la clase Enum.6.3.7.10] [True.6.10] [1.2.8. .4].True.Recordando las listas L´ ogica Computacional 2016-2 Clase 2: Listas por comprensi´ on. Miranda Perea.9. por ejemplo queremos la lista de n´ umeros pares.El rango no es suficiente L´ ogica Computacional 2016-2 Clase 2: Listas por comprensi´ on. tuplas y LProp Favio E. Fernando A. Susana H. Mart´ın Lunas.99] Pero ahora supongamos que queremos los pares menores 100 tales que sean divisibles entre 3. Entonces se puede utilizar la siguiente notaci´on: [0.. por dos razones: s´ olo se puede especificar un paso y dos las secuencias que no son ar´ıtmeticas son ambig¨ uas. mayores o iguales a cero y menores a 100.2. . Miranda Perea. Galicia Mendoza Listas por comprensi´ on Tuplas LProp ´ Arboles binarios Ejercicios Se mencion´o que se pueden crear listas dando un rango.4. esto no se puede definirse por un rango. x ≡ 0(mod 2). Miranda Perea. y .Desde las matem´aticas L´ ogica Computacional 2016-2 Clase 2: Listas por comprensi´ on. x ≡ 0(mod 3)} La expresi´on de arriba es s´ olo una s´ıntesis de la siguiente expresi´on: ∀x. 0) donde: Mod(x. Galicia Mendoza Listas por comprensi´ on Tuplas LProp ´ Arboles binarios Ejercicios Recordando en clases de ´algebra. Fernando A. x < 100. 2. 3. x ∈ N ∧ MI (x. 0) ∧ Mod(x. Mart´ın Lunas. z) =def x ≡ y (mod z) y MI =def < Recordar que estos u ´ltimos son predicados. tuplas y LProp Favio E. 100) ∧ Mod(x. . se nos daba la siguiente expresi´on: {x|x ∈ N. Susana H. ejemplos: eq :: a -> a -> Bool Listas por comprensi´ on leq :: Tuplas elem :: LProp Entre otros. Los predicados en Haskell son funciones que van de cualquier tipo a el tipo Bool. Susana H. Fernando A. Miranda Perea. en Haskell sucede algo parecido. Mart´ın Lunas. ´ Arboles binarios Ejercicios a -> a -> Bool Eq a => a -> [a] -> Bool .Traduciendo a Haskell L´ ogica Computacional 2016-2 Clase 2: Listas por comprensi´ on. Galicia Mendoza En la expresi´on anterior lo que se busca son los n´ umeros naturales que satisfagan tal expresi´ on. tuplas y LProp Favio E. LProp ´ Arboles binarios Ejercicios ==: Es la funci´ on de igualdad de elementos de un tipo. parte 2 L´ ogica Computacional 2016-2 Clase 2: Listas por comprensi´ on. . Miranda Perea. x ‘mod‘ 2 == 0. tuplas y LProp Favio E.Traduciendo a Haskell. mod: Es la funci´ on m´ odulo.. ya que estas tienen dos propiedades extra: orden y repetici´on. x ‘mod‘ 3 ==0] Analicemos cada elemento de esta lista: <-: Es el predicado ∈. Susana H.100]. Fernando A. Entonces el conjunto podemos traducirlo a la siguiente sentencia a Haskell: [x | x <. pero si listas y podemos ver a la listas como una subclase de los conjuntos. Galicia Mendoza Listas por comprensi´ on Tuplas En Haskell no tenemos conjuntos. Mart´ın Lunas.[0. L´ ogica Computacional 2016-2 Clase 2: Listas por comprensi´ on. Susana H. Galicia Mendoza Listas por comprensi´ on Tuplas LProp ´ Arboles binarios Ejercicios Tuplas . Fernando A. Mart´ın Lunas. Miranda Perea. tuplas y LProp Favio E. . donde el primero es el producto cartesiano de los conjuntos A. B y la funci´on devuelve un elemento del conjunto C . Si queremos u ´nicamente obtener los elementos del conjunto A. Miranda Perea.. la cual es llamada proyecci´on. Fernando A. otra vez xD L´ ogica Computacional 2016-2 Clase 2: Listas por comprensi´ on. Galicia Mendoza Listas por comprensi´ on Tuplas LProp ´ Arboles binarios Ejercicios Volviendo a recordar nuestras clases de ´algebra.Volviendo a las matem´aticas. gozamos de una funci´ on πA : A × B → A. Mart´ın Lunas. . Susana H. tuplas y LProp Favio E. se tienen expresiones de la forma f : A × B → A. Mart´ın Lunas.an ). Fernando A. este tipo son llamados tuplas cuya notaci´ on es (a1 . Miranda Perea. pero Haskell se aprovecha de nuestra inocencia y despu´es de n funciones. obtenemos [3.Tuplas L´ ogica Computacional 2016-2 Clase 2: Listas por comprensi´ on.. .45.. tuplas y LProp Favio E.2] :: [Int].. podr´ıamos escribir type Z2 = [Int] y pues es claro que [1. Para el primer caso supongamos que queremos representar Z2 . El segundo caso es claro su beneficio.6] :: [Int]..a2 . y bueno muri´ o el programa. Y se preguntar´an porque queremos estas cosas si es que gozamos de las listas. Susana H. pues hay dos razones principales: las listas son de cualquier tama˜ no y no son heterog´eneas. Galicia Mendoza Listas por comprensi´ on Tuplas LProp ´ Arboles binarios Ejercicios En Haskell tenemos algo parecido al producto cartesiano.. b) -> b. Fernando A. tuplas y LProp Favio E. Galicia Mendoza Listas por comprensi´ on Tuplas LProp ´ Arboles binarios Ejercicios Ya que vimos el beneficio de las tuplas.. lo que uno se pregunta primero es que funciones podemos definir sobre estas. Susana H. pues uno le dice al ayudante:¿Para qu´e preguntas si lo acabas de mencionar? Haskell nos da dos funciones b´asicas para tuplas: fst y snd cuya firmas son fst :: (a.b) -> a y snd :: (a.Funciones sobre tuplas L´ ogica Computacional 2016-2 Clase 2: Listas por comprensi´ on.. Miranda Perea. Mart´ın Lunas. . Miranda Perea. Susana H. Mart´ın Lunas..ej.an) -> aj proyj ( ..aj. Galicia Mendoza Listas por comprensi´ on Tuplas LProp ´ Arboles binarios Ejercicios Si tenemos una tupla de n tipos y queremos obtener el tipo j.. parte 2 L´ ogica Computacional 2016-2 Clase 2: Listas por comprensi´ on.. ..Funciones sobre tuplas.... tuplas y LProp Favio E. ) = ej Esto se logra gracias a un mecanismo llamado casa de patrones inlcuido en el lenguaje.. Fernando A....... u ´nicamente debemos dar la siguiente funci´ on: proyj :: (a1. Susana H. Fernando A. tuplas y LProp Favio E. Galicia Mendoza Listas por comprensi´ on Tuplas LProp ´ Arboles binarios Ejercicios LProp .L´ ogica Computacional 2016-2 Clase 2: Listas por comprensi´ on. Mart´ın Lunas. Miranda Perea. tuplas y LProp Favio E.Aterrizando L´ ogica Computacional 2016-2 Clase 2: Listas por comprensi´ on. Mart´ın Lunas. . Fernando A. Galicia Mendoza Listas por comprensi´ on Tuplas LProp ´ Arboles binarios Ejercicios Como leyeron en el art´ıculo On the Unusual Effectiveness of Logic in Computer Science. Miranda Perea. largos (tablas de verdad por poner un ejemplo ¬¬). Susana H. Y como buenos computologos queremos que la m´aquina nos haga (o ayude) a realizar tales c´alculos. Pero como se sabe sus c´alculos son algo. la l´ ogica tiene un gran peso sobre varias ´areas de la computaci´ on... La l´ogica proposicional est´a dada por la siguiente gram´atica: ϕ ::= T |⊥|varP|(¬ϕ)|(ϕ ∧ ϕ)|(ϕ ∨ ϕ)|(ϕ → ϕ)|(ϕ ↔ ϕ) donde varP ::= P1 |P2 | . Fernando A.Aterrizando. Galicia Mendoza Listas por comprensi´ on Tuplas LProp ´ Arboles binarios Ejercicios Haskell por como esta construido suena como una buena alternativa para la l´ ogica proposicional. . . . Susana H. Miranda Perea. Mart´ın Lunas. parte 2 L´ ogica Computacional 2016-2 Clase 2: Listas por comprensi´ on. tuplas y LProp Favio E. tuplas y LProp Favio E. Fernando A.L´ ogica Computacional 2016-2 Clase 2: Listas por comprensi´ on. Miranda Perea. Galicia Mendoza Listas por comprensi´ on Tuplas LProp ´ Arboles binarios Ejercicios ´ Arboles binarios . Susana H. Mart´ın Lunas. Fernando A. Miranda Perea. Mart´ın Lunas. Galicia Mendoza Listas por comprensi´ on Tuplas LProp ´ Arboles binarios Ejercicios Un ´arbol binario es una estructura est´a definida como sigue: El ´arbol vac´ıo. tuplas y LProp Favio E. Un nodo que puede tener un ´arbol izquierdo y/o un ´arbol derecho. Los nodos pueden contener informaci´ on o no.Definici´on L´ ogica Computacional 2016-2 Clase 2: Listas por comprensi´ on. La importancia de los ´arboles en la computaci´on son muchas. . Susana H. Galicia Mendoza Listas por comprensi´ on Tuplas LProp ´ Arboles binarios Ejercicios Como se observa la definici´ on de ´arbol binario es f´acilmente implementable de una forma recursiva: data ArbBin a = Vacio | Nodo a (ArbBin a) (ArbBin a) data ArbBin a = Vacio | Nodo (ArbBin a. Mart´ın Lunas. es realmente una forma de construir ´abroles (ternarios. ArbBin a) data ArbBin a = Vacio | Nodo a [ArbBin a] La segunda implementaci´ on utilizamos tuplas para la definici´on. Susana H. Fernando A. entre otros). lo cual hace mas complicada pero existe un m´odulo completo para tuplas brindados por Haskell. a. La u ´ltima implementaci´on es mas general. Miranda Perea. .Definiendo en Haskell L´ ogica Computacional 2016-2 Clase 2: Listas por comprensi´ on. tuplas y LProp Favio E. L´ ogica Computacional 2016-2 Clase 2: Listas por comprensi´ on. Miranda Perea. tuplas y LProp Favio E. Susana H. Mart´ın Lunas. Fernando A. Galicia Mendoza Listas por comprensi´ on Tuplas LProp ´ Arboles binarios Ejercicios Ejercicios . hs que contenga el m´odulo LProp y realizar lo siguiente: Dar un tipo de datos para ϕ. tuplas y LProp Favio E. Mart´ın Lunas. sugerencia: type VarP = Int Crear una instancia de las clases Show. la clase Ord definirla por precedencia de conectivos. . Definir vars :: Prop -> [Int] que devuelve el conjunto de variables proposicionales. Miranda Perea. Fernando A.Eq y Ord para el tipo Prop. Susana H. Definir numvars :: Prop -> Int que devuelve el total de variables proposicionales de una f´ ormula.LProp L´ ogica Computacional 2016-2 Clase 2: Listas por comprensi´ on. Galicia Mendoza Listas por comprensi´ on Tuplas LProp ´ Arboles binarios Ejercicios Crear un archivo llamado LProp. Documents Similar To pre02_162Skip carouselcarousel previouscarousel nextTaller Programacion DinamicaTablero posicional Ejerciciosfunciones_MatLabProgramacion de OperacionesGuía de Aprendizaje AA2Examen de Programación de Obras 2014-IPractica#1Trabajo Colaborativo 2Calculo del Camino mas corto, usando Sistema Multiagentes en redes meta-nivelNemónicoPANTALLAS DE PASCAL Y CÓDIGOSETAPAS DE UN MODELO DE PLANIFICACION Y PROGRAMACIONDE MANTENIMIENTOComparativo HaskellLimpieza de GramaticasANALISIS ESTRUCTURADOMatlab - Mod i - Sesion 1 - PresentaciónBD T3 DiseñoFísicoRelacionalRangoL2Introducción a La ProgramacionPFPractica 14 PoviPascal3 Taller LogicaAlg PetersonPPE_PROG_M1RA2.3Guía 1 a 5Ejercicio resuelto de un restaurant. Un CicloArduinoMore From Spark ShokunoSkip carouselcarousel previouscarousel nextIntro Continuousmerge-1083Dis Tri Buci OnesTarea_1_20162Con Voca Cong Re So 2013JavaAaas99.JslmpasFooter MenuBack To TopAboutAbout ScribdPressOur blogJoin our team!Contact UsJoin todayInvite FriendsGiftsLegalTermsPrivacyCopyrightSupportHelp / FAQAccessibilityPurchase helpAdChoicesPublishersSocial MediaCopyright © 2018 Scribd Inc. .Browse Books.Site Directory.Site Language: English中文EspañolالعربيةPortuguês日本語DeutschFrançaisTurkceРусский языкTiếng việtJęzyk polskiBahasa indonesiaSign up to vote on this titleUsefulNot usefulYou're Reading a Free PreviewDownloadClose DialogAre you sure?This action might not be possible to undo. Are you sure you want to continue?CANCELOK
Copyright © 2024 DOKUMEN.SITE Inc.