====== Parcialito 1 ====== ==== comisión mañana ==== * Dada la siguiente base de conocimiento en prolog, crear las reglas necesarias para determinar si un estudiante podrá inscribirse en una materia determinada, si sabemos que para cursar Algoritmos II hay que tener aprobado Introducción a los Algoritmos y regularizada Algoritmos I. aprobado(esther,algoritmosI). aprobado(esther,introduccionAlgoritmos). aprobado(pedro,algoritmosI). regular(pedro,introduccionAlgoritmos). regular(esteban,algoritmosI). regular(esteban,introduccionAlgoritmos). regular(rolo,algoritmosI). Ejemplo: puedeInscribirse(esther,algoritmosII). true. Casos de Test: puedeInscribirse(pedro,algoritmosII). puedeInscribirse(X,algoritmosII). * Definir la función ''restaPositiva :: (Int,Int) -> Int'', que, dado un par de enteros, devuelve el valor de la resta del mayor menos el menor. Ejemplo: restaPositiva (2,5) = 3. Casos de Test: (2,5), (5,2), (5,5). * Definir la función ''cuadradoMayorQueN :: Int -> [Int] -> [Int]'', que, dado un entero ''n'' y una lista de enteros, devuelve solamente los enteros de la lista original cuyo cuadrado es mayor que ''n''. Ejemplo: cuadradoMayorQueN 9 [3,5,2,4] = [5,4] Casos de Test: 0 y [1,2,3,4], 5 y [], 26 y [4,8,5,3] ==== comisión tarde ==== * Dada la siguiente base de conocimiento en prolog, crear las reglas necesarias para determinar si un estudiante podrá ingresar en la universidad de Oxford o Cambridge, sabiendo que para ingresar en Oxford hay que tener por lo menos una A en Matemática y una B en Lengua, y que para ingresar en Cambridge hay que tener por lo menos una B en Matemática y una A en Lengua. matematica(claire,a). matematica(john,a). matematica(ruth,a). lengua(claire,a). lengua(john,b). Ejemplo: ingresaCambridge(john). false. Casos de Test: ingresaOxford(john). ingresaOxford(ruth). * Definir la función ''restaPositiva :: [Int] -> Int'', que dada una lista, toma sus dos primeros elementos y devuelve el valor de la resta del mayor menos el menor. Ejemplo: restaPositiva [2,5,8,5,6] = 3. Casos de Test: [3,6,8,9], [], [5,5,7]. * Definir la función ''porEncimaDe :: Int -> Int -> [Int] -> [Int]'', que, dado un entero ''n'', un entero ''m'' y una lista de enteros, devuelve solamente los enteros de la lista original que son mayores a ''m'' después de haberles restado ''n''. Ejemplo: porEncimaDe 3 8 [12,8,9,34,11] = [12,34]. Casos de Test: 0, 9 y [1,2,3,4], 5, 3 y [], 8, 26 y [4,8,5,3]