{"id":5540,"date":"2016-10-05T20:52:25","date_gmt":"2016-10-05T18:52:25","guid":{"rendered":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/?p=5540"},"modified":"2016-10-05T20:52:25","modified_gmt":"2016-10-05T18:52:25","slug":"i1m2016-ejercicios-de-definiciones-por-composicion-sobre-numeros-listas-y-booleanos-2","status":"publish","type":"post","link":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/i1m2016-ejercicios-de-definiciones-por-composicion-sobre-numeros-listas-y-booleanos-2\/","title":{"rendered":"I1M2016: Ejercicios de definiciones por composici\u00f3n sobre n\u00fameros, listas y booleanos (2)"},"content":{"rendered":"<p>En la tercera parte de la clase de hoy del curso de <a href=\"http:\/\/www.cs.us.es\/~jalonso\/cursos\/i1m-15\">Inform\u00e1tica de 1\u00ba del Grado en Matem\u00e1ticas<\/a> hemos comentado soluciones de los 8 \u00faltimos ejercicios de la 1\u00aa relaci\u00f3n sobre definiciones por composici\u00f3n de funciones sobre n\u00fameros, listas y booleanos.<\/p>\n<p>Los ejercicios y su soluci\u00f3n se muestran a continuaci\u00f3n<br \/>\n<!--more--><\/p>\n<pre lang=\"haskell\">\n-- ---------------------------------------------------------------------\n-- Ejercicio 11. Definir la funci\u00f3n interior tal que (interior xs) es la\n-- lista obtenida eliminando los extremos de la lista xs. Por ejemplo,\n--    interior [2,5,3,7,3]  ==  [5,3,7]\n--    interior [2..7]       ==  [3,4,5,6]\n-- ---------------------------------------------------------------------\n\ninterior xs = tail (init xs)\n\n-- ---------------------------------------------------------------------\n-- Ejercicio 12. Definir la funci\u00f3n finales tal que (finales n xs) es la\n-- lista formada por los n finales elementos de xs. Por ejemplo,\n--    finales 3 [2,5,4,7,9,6]  ==  [7,9,6]\n-- ---------------------------------------------------------------------\n\nfinales n xs = drop (length xs - n) xs \n \n-- ---------------------------------------------------------------------\n-- Ejercicio 13. Definir la funci\u00f3n segmento tal que (segmento m n xs) es\n-- la lista de los elementos de xs comprendidos entre las posiciones m y\n-- n. Por ejemplo,\n--    segmento 3 4 [3,4,1,2,7,9,0]  ==  [1,2]\n--    segmento 3 5 [3,4,1,2,7,9,0]  ==  [1,2,7]\n--    segmento 5 3 [3,4,1,2,7,9,0]  ==  []\n-- ---------------------------------------------------------------------\n\nsegmento m n xs = drop (m-1) (take n xs)\n \n-- ---------------------------------------------------------------------\n-- Ejercicio 14. Definir la funci\u00f3n extremos tal que (extremos n xs) es\n-- la lista formada por los n primeros elementos de xs y los n finales\n-- elementos de xs. Por ejemplo, \n--    extremos 3 [2,6,7,1,2,4,5,8,9,2,3]  ==  [2,6,7,9,2,3]\n-- ---------------------------------------------------------------------\n\nextremos n xs = take n xs ++ drop (length xs - n) xs\n\n-- ---------------------------------------------------------------------\n-- Ejercicio 15. Definir la funci\u00f3n mediano tal que (mediano x y z) es el\n-- n\u00famero mediano de los tres n\u00fameros x, y y z. Por ejemplo,\n--    mediano 3 2 5  ==  3\n--    mediano 2 4 5  ==  4\n--    mediano 2 6 5  ==  5\n--    mediano 2 6 6  ==  6\n-- Indicaci\u00f3n: Usar maximum y minimum.\n-- ---------------------------------------------------------------------\n\nmediano x y z = x + y + z- minimum [x,y,z] - maximum [x,y,z]\n\n-- 2\u00aa definici\u00f3n:\nmediano2 x y z = maximum [x,minimum [y,z]]\n\n-- ---------------------------------------------------------------------\n-- Ejercicio 16. Definir la funci\u00f3n tresIguales tal que \n-- (tresIguales x y z) se verifica si los elementos x, y y z son\n-- iguales. Por ejemplo, \n--    tresIguales 4 4 4  ==  True\n--    tresIguales 4 3 4  ==  False\n-- ---------------------------------------------------------------------\n\ntresIguales x y z = x == y && y == z\n\n-- ---------------------------------------------------------------------\n-- Ejercicio 17. Definir la funci\u00f3n tresDiferentes tal que \n-- (tresDiferentes x y z) se verifica si los elementos x, y y z son\n-- distintos. Por ejemplo, \n--    tresDiferentes 3 5 2  ==  True\n--    tresDiferentes 3 5 3  ==  False\n-- ---------------------------------------------------------------------\n\ntresDiferentes x y z = x \/= y && x \/= z && y \/= z\n\n-- ---------------------------------------------------------------------\n-- Ejercicio 18. Definir la funci\u00f3n cuatroIguales tal que \n-- (cuatroIguales x y z u) se verifica si los elementos x, y, z y u son\n-- iguales. Por ejemplo, \n--    cuatroIguales 5 5 5 5   ==  True\n--    cuatroIguales 5 5 4 5   ==  False\n-- Indicaci\u00f3n: Usar la funci\u00f3n tresIguales.\n-- ---------------------------------------------------------------------\n\ncuatroIguales x y z u = x == y && tresIguales y z u\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>En la tercera parte de la clase de hoy del curso de Inform\u00e1tica de 1\u00ba del Grado en Matem\u00e1ticas hemos comentado soluciones de los 8 \u00faltimos ejercicios de la 1\u00aa relaci\u00f3n sobre definiciones por composici\u00f3n de funciones sobre n\u00fameros, listas y booleanos. Los ejercicios y su soluci\u00f3n se muestran a continuaci\u00f3n<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"footnotes":"","_jetpack_memberships_contains_paid_content":false},"categories":[260],"tags":[270,313],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_likes_enabled":false,"_links":{"self":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/posts\/5540"}],"collection":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/comments?post=5540"}],"version-history":[{"count":1,"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/posts\/5540\/revisions"}],"predecessor-version":[{"id":5541,"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/posts\/5540\/revisions\/5541"}],"wp:attachment":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/media?parent=5540"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/categories?post=5540"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/tags?post=5540"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}