Examen RESOLT Final LP 2012 2013 Q1 (2014)

Examen Catalán
Universidad Universidad Politécnica de Cataluña (UPC)
Grado Ingeniería Informática - 3º curso
Asignatura LP (Llenguatges de Programació)
Año del apunte 2014
Páginas 2
Fecha de subida 26/06/2014
Descargas 6
Subido por

Descripción

Examen Resolt (Final de 2013/14 Q1)

Vista previa del texto

examenfinal20122013Q1 --1 data Arbre a = Arbre a [Arbre a] deriving(Show) -- a) inc (Arbre x la) = (Arbre (x+1) (map inc la)) -- > inc (Arbre 2 [(Arbre 2 []),(Arbre 2 []),(Arbre 2 [])]) -- Arbre 3 [Arbre 3 [],Arbre 3 [],Arbre 3 []] -- b) mida (Arbre x la) = 1+(foldl (\acc ar -> acc + (mida ar)) 0 la) -- mida (Arbre 2 [(Arbre 2 []),(Arbre 2 []),(Arbre 2 [])]) -- 4 --------------------------------------------------------------------2 infsum n = (scanl (\acc m -> acc + (m)) n [(n+1)..]) -- take 7 ( infsum 3 ) -- [3,7,12,18,25,33,42] --------------------------------------------------------------------3 -- Exercici referent a la pràctica --------------------------------------------------------------------4 --1 fun1 f x y = f (x,y) -- :t fun1 -- fun1 :: ((t1, t2) -> t) -> t1 -> t2 -> t --2 fun2 (x:l) = let s= (sum x) in s+ fun2 l -- :t fun2 -- fun2 :: Num a => [[a]] -> a --3 fun3 f (x:xs) = if (f x) == 0 then x else (fun3 f xs) -- :t fun3 -- fun3 :: (Eq a, Num a) => (t -> a) -> [t] -> t --------------------------------------------------------------------5 --1. Com sol ser el sistema de tipus dels llenguatges de scripting? (indiqueu si --és cert o fals) -- a) són dèbilment tipats -- Cert -- b) són type safe -- Cert (?) -- c) no tenen tipus -- Fals -- d) fan comprovació estàtica de tipus -- Fals -- 2. Indiqueu les propietats del sistema de tipus del llenguatge que us va tocar en el -- Treball Dirigit (TD) de Compet`encies Transversals.
--SCALA : Type Safe, comprovació estatica, i fortament tipat.
-- 3. Indiqueu un exemple en Haskell que acaba gr`acies a que s’usa lazy evaluation i -- expliqueu les raons.
take 5 [1..] -- Si no fos lazy, intentaría resoldre la operació [1..] abans de procedir a agafar-ne -- els 5 primers elements, i el programa no acabaría perquè resoldre [1..] implicaria contar -- fins a infinits nombres per a instanciar la llista.
(Solucions no revisades per Professors) ...