{"id":1201,"date":"2011-02-11T09:38:04","date_gmt":"2011-02-11T09:38:04","guid":{"rendered":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/?p=1201"},"modified":"2013-03-08T05:50:03","modified_gmt":"2013-03-08T05:50:03","slug":"i1m2010-4%c2%ba-examen-de-la-evaluacion-continua","status":"publish","type":"post","link":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/i1m2010-4%c2%ba-examen-de-la-evaluacion-continua\/","title":{"rendered":"I1M2010: 4\u00ba examen de la evaluaci\u00f3n continua"},"content":{"rendered":"<p>En la clase de hoy de <a href=\"http:\/\/www.cs.us.es\/~jalonso\/cursos\/i1m-10\">Inform\u00e1tica de 1\u00ba del Grado en Matem\u00e1ticas<\/a> se ha realizado el 4\u00ba examen de la evaluaci\u00f3n continua.<\/p>\n<p>Las notas se han publicado en la <a href=\"https:\/\/ev2.us.es\/webct\/logon\/804142662041\">WebCT<\/a>.<\/p>\n<p>\nA continuaci\u00f3n se muestra el examen junto con su soluci\u00f3n:<br \/>\n<!--more--><\/p>\n<pre lang=\"haskell\">\r\n-- Inform\u00e1tica (1\u00ba del Grado en Matem\u00e1ticas)\r\n-- 4\u00ba examen (11 de febrero de 2011)\r\n-- ---------------------------------------------------------------------\r\n\r\n-- ---------------------------------------------------------------------\r\n-- Ejercicio 1. [2.5 puntos] (Problema 303 del proyecto Euler)\r\n-- Definir la funci\u00f3n\r\n--    multiplosRestringidos :: Int -> (Int -> Bool) -> [Int]\r\n-- tal que (multiplosRestringidos n x) es la lista de los m\u00faltiplos de n\r\n-- cuyas verifican la propiedad p. Por ejemplo, \r\n--    take 4 (multiplosRestringidos 5 (<=3))  ==  [10,20,30,100]\r\n--    take 5 (multiplosRestringidos 3 (<=4))  ==  [3,12,21,24,30]\r\n--    take 5 (multiplosRestringidos 3 even)   ==  [6,24,42,48,60]\r\n-- ---------------------------------------------------------------------\r\n\r\nmultiplosRestringidos :: Int -> (Int -> Bool) -> [Int]\r\nmultiplosRestringidos n p = \r\n    [y | y <- [n,2*n..], and [p x | x <- cifras y]]\r\n\r\n-- (cifras n) es la lista de las cifras de n, Por ejemplo, \r\n--    cifras 327  ==  [3,2,7]\r\ncifras :: Int -> [Int]\r\ncifras n = [read [x] | x <- show n]\r\n\r\n-- ---------------------------------------------------------------------\r\n-- Ejercicio 2. [2.5 puntos] Definir la funci\u00f3n\r\n--    sumaDeDosPrimos :: Int -> [(Int,Int)]\r\n-- tal que (sumaDeDosPrimos n) es la lista de las distintas\r\n-- descomposiciones de n como suma de dos nu\u00fameros primos. Por ejemplo, \r\n--    sumaDeDosPrimos 30  ==  [(7,23),(11,19),(13,17)]\r\n-- Calcular, usando la funci\u00f3n sumaDeDosPrimos, el menor n\u00famero que\r\n-- puede escribirse de 10 formas distintas como suma de dos primos.\r\n-- ---------------------------------------------------------------------\r\n\r\nsumaDeDosPrimos :: Int -> [(Int,Int)]\r\nsumaDeDosPrimos n = \r\n    [(x,n-x) | x <- primosN, x < n-x, elem (n-x) primosN]\r\n    where primosN = takeWhile (<=n) primos\r\n\r\nprimos :: [Int]\r\nprimos = criba [2..]\r\n    where criba []     = []\r\n          criba (n:ns) = n : criba (elimina n ns)\r\n          elimina n xs = [x | x <- xs, x `mod` n \/= 0]\r\n\r\n-- El c\u00e1lculo es\r\n--    ghci> head [x | x <- [1..], length (sumaDeDosPrimos x) == 10]\r\n--    114\r\n\r\n-- ---------------------------------------------------------------------\r\n-- Ejercicio 3. [2.5 puntos] Se consideran los \u00e1rboles binarios\r\n-- definidos por \r\n--    data Arbol = Hoja Int \r\n--               | Nodo Arbol Int Arbol\r\n--               deriving (Show, Eq)\r\n-- Por ejemplo, el \u00e1rbol\r\n--         5 \r\n--        \/ \\\r\n--       \/   \\\r\n--      9     7\r\n--     \/ \\   \/ \\  \r\n--    1   4 6   8  \r\n-- se representa por\r\n--    Nodo (Nodo (Hoja 1) 9 (Hoja 4)) \r\n--         5 \r\n--         (Nodo (Hoja 6) 7 (Hoja 8))\r\n-- Definir la funci\u00f3n\r\n--    maximoArbol ejArbol  ==  9\r\n-- ---------------------------------------------------------------------\r\n\r\ndata Arbol = Hoja Int \r\n           | Nodo Arbol Int Arbol\r\n           deriving (Show, Eq)\r\n\r\nejArbol :: Arbol\r\nejArbol = Nodo (Nodo (Hoja 1) 9 (Hoja 4)) \r\n               5 \r\n               (Nodo (Hoja 6) 7 (Hoja 8))\r\n\r\nmaximoArbol :: Arbol -> Int\r\nmaximoArbol (Hoja x) = x\r\nmaximoArbol (Nodo i x d) = maximum [x, maximoArbol i, maximoArbol d]\r\n\r\n-- ---------------------------------------------------------------------\r\n-- Ejercicio 4. [2.5 puntos] Definir la funci\u00f3n\r\n--    segmentos :: (a -> Bool) -> [a] -> [a]\r\n-- tal que (segmentos p xs) es la lista de los segmentos de xs de cuyos\r\n-- elementos verifican la propiedad p. Por ejemplo,\r\n--    segmentos even [1,2,0,4,5,6,48,7,2]  ==  [[],[2,0,4],[6,48],[2]]\r\n-- ---------------------------------------------------------------------\r\n\r\nsegmentos _ [] = []\r\nsegmentos p xs = \r\n    takeWhile p xs : (segmentos p (dropWhile (not.p) (dropWhile p xs)))\r\n<\/pre>\n<p>El resumen estad\u00edstico del resultado del examen es el siguiente<\/p>\n<table border=\"1\">\n<tr>\n<td>Suspensos       <\/td>\n<td> 12 <\/td>\n<td> 60.0% <\/td>\n<\/tr>\n<tr>\n<td>Aprobados       <\/td>\n<td>  4 <\/td>\n<td> 20.0% <\/td>\n<\/tr>\n<tr>\n<td>Notables        <\/td>\n<td>  2 <\/td>\n<td> 10.0% <\/td>\n<\/tr>\n<tr>\n<td>Sobresalientes  <\/td>\n<td>  2 <\/td>\n<td> 10.0% <\/td>\n<\/table>\n<p>El porcentaje de aprobados (sobre presentados) es 40% y la nota media es 5.<\/p>\n<p>El resumen estad\u00edstico de las notas por curso despu\u00e9s del examen es el siguiente<\/p>\n<table border=\"1\">\n<tr>\n<td>Suspensos       <\/td>\n<td>  6 <\/td>\n<td> 30.0% <\/td>\n<\/tr>\n<tr>\n<td>Aprobados       <\/td>\n<td>  9 <\/td>\n<td> 45.0% <\/td>\n<\/tr>\n<tr>\n<td>Notables        <\/td>\n<td>  3 <\/td>\n<td> 15.0% <\/td>\n<\/tr>\n<tr>\n<td>Sobresalientes  <\/td>\n<td>  2 <\/td>\n<td> 10.0% <\/td>\n<\/tr>\n<\/table>\n<p>El porcentaje de aprobados (sobre presentados) es 70% y la nota media es 6.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En la clase de hoy de Inform\u00e1tica de 1\u00ba del Grado en Matem\u00e1ticas se ha realizado el 4\u00ba examen de la evaluaci\u00f3n continua. Las notas se han publicado en la WebCT. A continuaci\u00f3n se muestra el examen junto con su soluci\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":[133],"tags":[287],"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\/1201"}],"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=1201"}],"version-history":[{"count":4,"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/posts\/1201\/revisions"}],"predecessor-version":[{"id":2933,"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/posts\/1201\/revisions\/2933"}],"wp:attachment":[{"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/media?parent=1201"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/categories?post=1201"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.glc.us.es\/~jalonso\/vestigium\/wp-json\/wp\/v2\/tags?post=1201"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}