EJERCICIOS DE LENGUAJES Y PARADIGMAS DE PROGRAMACIÓN (CUESTIONES DE EXAMEN) PROGRAMACIÓN FUNCIONAL

Save this PDF as:
 WORD  PNG  TXT  JPG

Tamaño: px
Comenzar la demostración a partir de la página:

Download "EJERCICIOS DE LENGUAJES Y PARADIGMAS DE PROGRAMACIÓN (CUESTIONES DE EXAMEN) PROGRAMACIÓN FUNCIONAL"

Transcripción

1 EJERCICIOS DE LENGUAJES Y PARADIGMAS DE PROGRAMACIÓN (CUESTIONES DE EXAMEN) PROGRAMACIÓN FUNCIONAL María Alpuente y María José Ramírez 1

2 LENGUAJES Y PARADIGMAS: INTRODUCCIÓN 1. Indica cuál de las siguientes afirmaciones referentes a la Programación Declarativa (PD) e Imperativa (PI) es falsa: A Las instrucciones de un programa declarativo son un conjunto de inferencias lógicas. B Un programa en PD se corresponde con la especificación de un problema. C El modelo de computación de la PI es una máquina de estados. D Las variables en la PI representan referencias a la memoria. 2. Indica cuál de las siguientes afirmaciones es cierta. A Un analizador léxico (scanner) es un programa que divide una secuencia de caracteres (el programa) en una secuencia de componentes sintácticos primitivos: las instrucciones. B La compatibilidad de tipos, el alcance de las variables y la signatura de las funciones (coincidencia del número de parámetros en una llamada con los parámetros formales) forman parte de la semántica estática del lenguaje. C La sintaxis define el significado de un programa (es decir, qué programas son legales o conformes con la especificación de un lenguaje). D La herramienta más empleada para describir la sintaxis de un lenguaje de programación es la semántica operacional. 3. Indica cuál de las siguientes afirmaciones es cierta: A una desventaja de los lenguajes de programación declarativos es que, para resolver un mismo problema, se requieren en general más líneas de código que usando otros lenguajes de programación más convencionales, como Pascal. B al ser de mayor nivel, los programas declarativos resultan más fáciles de mantener que los correspondientes programas imperativos. C no existe ningún lenguaje orientado a objetos y a la vez declarativo. D los lenguajes declarativos carecen de aplicaciones prácticas. 2

3 4. Indica cuál de las siguientes afirmaciones es falsa. A La notación BNF no es suficiente para describir, por ejemplo, la compatibilidad de tipos y la coincidencia de parámetros en una llamada con los parámetros formales B La notación BNF es una notación definir la sintaxis de un lenguaje de programación C La semántica de los lenguajes de programación sirve para definir exáctamente qué hace un programa (es decir, qué computa) D Un intérprete es un traductor que genera un programa objeto en el mismo lenguaje que el programa fuente 5. Indica cuál de las siguientes asociaciones entre lenguaje de programación y concepto (o propiedad) inherente al mismo es cierta : A lenguaje imperativo - herencia B lenguaje funcional - transparencia referencial C lenguaje lógico - estados explícitos D lenguaje imperativo - orden superior 6. Indica el tipo de definición semántica al que pertenece la siguiente regla: i 0,e e i 1,e e i 0 ;i 1,e e A semántica axiomática B semántica operacional C semántica denotacional D semántica algebraica 7. Indica cuál de las siguientes asociaciones es cierta : A En la genealogía de los lenguajes de programación, el lenguaje Ada puede verse como un descendiente de C. B En la genealogía de los lenguajes de programación, el lenguaje Java puede verse como un descendiente de Modula-2. C En la genealogía de los lenguajes de programación, el lenguaje Haskell puede verse como un descendiente de Simula 67. D El lenguaje de programación Java incorpora algunas características que fueron introducidas algunos años atrás, por primera vez, por algunos lenguajes declarativos. 3

4 8. Indica cuál de las siguientes afirmaciones es cierta. A La semántica axiomática es un tipo de semántica declarativa de los lenguajes de programación. B La semántica axiomática es el tipo de semántica más natural para la descripción de los lenguajes de programación declarativos. C La semántica axiomática no es adecuada para describir el significado de los programas del paradigma imperativo. D ninguna de las anteriores 9. Indica cuál de las siguientes afirmaciones no es una causa de la evolución de los lenguajes de programación. A Los avances del hardware. B El intento de acercar los lenguajes a los avances en compilación. C La búsqueda por parte de los programadores de un mayor nivel de abstracción en los programas. D La aparición de nuevos dominios de aplicación. 10. Indica cuál de las siguientes afirmaciones es falsa. A La sintaxis de un lenguaje de programación define qué secuencias de caracteres constituyen un programa legal. B La semántica estática de un lenguaje de programación define ciertas restricciones sintácticas de los programas que no se pueden expresar mediante reglas de una gramática de contexto libre pero que se pueden comprobar en tiempo de compilación (e.g. la compatibilidad de tipos). C La semántica dinámica de un lenguaje de programación describe el comportamiento de los programas en tiempo de ejecución. D Unos de los formalismos más utilizados para definir la sintaxis de los lenguajes de programación son los sistemas de transición de Plotkin. 11. Indica cuál de los siguientes aspectos de un lenguaje de programación resulta apropiado como base para las construcción de herramientas automáticas para analizar la equivalencia de programas. A su gramática generadora. B su compilador. C su analizador sintáctico. D su semántica. 4

5 12. Indica cuál de las siguientes afirmaciones sobre la programación declarativa en comparación con la programación imperativa es FALSA: A mayor potencia expresiva. B mantenimiento más simple C menor tamaño del código producido. D establece el cómo proceder. 13. Indica en cuál de las siguientes caracterizaciones semánticas se utilizan los conceptos de dominio sintáctico, dominio semántico y función de evaluación semántica: A semántica operacional. B semántica axiomática. C semántica por punto fijo. D semántica denotacional. 5

6 PROGRAMACIÓN FUNCIONAL 14. Dada la siguiente expresión de tipo [a] Int los constructores de tipo que aparecen en ella son: A [ ], B a, Int C [a],,int D a 15. Indica cuál de las siguientes expresiones define un tipo polimórfico. A [a] Bool B [Int] Bool C Int Bool D Bool 16. Indica cuál de las siguientes afirmaciones es cierta en relación al siguiente programa funcional: pippo x x > 0 = 0 otherwise = double A La función pippo es de orden superior. B El programa da un error de tipo. C La función pippo está indefinida para los negativos. D La función pippo está definida para datos de cualquier tipo. 17. Dadas dos funcionesfygcon definiciones de tipof :: b c yg :: a b, indica cuál de las siguientes expresiones será el tipo inducido por Hellium para la composición de funciones ( ), sabiendo que ( ) se define por la ecuación (f g)x = f(gx). A ( ) :: a c B ( ) :: (b c) (a b) C ( ) :: (b c) (a b) a c D ( ) :: (b c) (a b) c 6

7 18. Una lista de enteros [x 1,x 2,...,x n 1,x n ] está ordenada si y sólo si (x 1 x 2... x n 1 x n ) = True. La siguiente definición se basa en la idea anterior esordenada xs = and [x y (x,y) zip xs (tail xs)] where and... Indica cuál de las siguientes ecuaciones completa la definición de la función and: A and (x:xs)= (&&) x xs B and xs= (&&) True xs C and xs= foldr (&&) True xs D and xs= (&&) xs xs 19. Indica qué representa la expresión [x x [1..n],n mod x == 0] A los divisores de n. B los múltiplos de n. C los pares comprendidos entre 1 y n. D los impares comprendidos entre 1 y n. 20. Indica cuál de las siguientes expresiones no es de orden superior A dosveces f x = f(f x) B (f g)x = f(g x) C aplicar f x = f x D dosveces f = f f 21. Indica cuál de las siguientes afirmaciones es falsa: A El tipo de la función id x = x, inducido por cualquier intérprete de Haskell (por ejemplo Helium), es id:: Int Int B En notación curryficada, las funciones de más de un argumento se interpretan como funciones que toman un único argumento y devuelven como resultado otra función con un argumento menos C En un lenguaje con orden superior, los argumentos o el resultado de una función puede ser, a su vez, otra función D En notación curryficada, si t 1,t 2,...,t n,t r son tipos válidos, entonces t 1 t 2... t n t r es el tipo de una función con n argumentos 7

8 22. Indica cuál de las siguientes ecuaciones define una funciónf :: Int > Int que haga válida mitad(f x) = x siendo mitad = ( div 2) A fx = x B fx = f(fx) C f = 2 D fx = x x 23. Indica cuál de las siguientes reglas define una función no estricta en su argumento: A f (x:xs) = x B f x = 0 C f x x>0 = 1 otherwise = 0 D f x = if (even x) then 0 else Indica cuál de las siguientes afirmaciones es falsa, en relación con la regla fst (x,f) = x A dicha regla define una función de un único argumento, de tipo tupla de dos elementos B fst es una función estricta sobre su único argumento de tipo tupla de dos elementos C dicha regla define una función de orden superior D dicha regla define una función cuyo tipo es fst :: (a,b) a 25. Completar la definición de la siguiente función de orden superior que, dada una función binaria f y dos listas, devuelve una lista cuyos elementos se calculan aplicando la función f a los correspondientes elementos de la lista: zipwithf(a : as) (b : bs) = zipwith = [ ] A f (a,b) ++ zipwith f as bs B [f a b] : zipwith f as bs C f a b : zipwith f as bs D ninguna de las anteriores 8

9 26. Dada la función pairxy = (x,y), indicar cuál de las siguientes ecuaciones define la función estándar zip usando la función zipwith de la pregunta anterior: A zip xs ys = pair (zipwith xs ys) B zip = zipwith pair, donde es la composición de funciones C zip = zipwith pair D ninguna de las anteriores 27. Indica cuál de las siguientes afirmaciones es falsa, en relación con el siguiente programa: anypxs = or (mappxs) orxs = foldr ( )Falsexs A aplicada a un predicado y una lista, la función any devuelve True si cualquiera de los elementos de la lista satisface el predicado, y Falso en caso contrario. B la exprexión any (<11) [10..20] se evalúa a True C el tipo de la función or es :: Bool Bool Bool D el tipo de la función any es :: (a Bool) [a] Bool 28. Indica cuál de las siguientes construcciones de listas es legal en Haskell: A 1 : [ ] : [ ] B 1 : 1 C [ ] : [1] D [1] : [1] : [ ] 29. Completa el siguiente programa funcional, que toma como argumentos una lista de funciones de tipo (a ->b) y un elemento e (de tipo a), y devuelve la lista de elementos de tipo b que resulta de aplicar cada función de la lista al elemento de entrada e: A (x y):applylist(xs y) B [x(y)]:applylist(xs y) C [(x y):applylist(xs,y)] D [x:y:applylist(xs)] applylist :: [a b] a [b] applylist [ ]y = [ ]. applylist (x : xs)y =. 9

10 30. Indica cuál de las siguientes funciones f1, f2, f3, f4 no es equivalente a las otras (es decir, no computa los mismo valores cuando dicha función se aplica a un entero y una lista de entradano vacía): A f1 x alist = map (+ x) alist B f2 x alist = [x+y y <- alist] C f3 x (y:ys) = (x+y):f3 x ys D f2 x = map. (+ x) 31. Indica cuál de las siguientes afirmaciones es cierta. A En la semántica denotacional de los lenguajes funcionales, el elemento 0 denota el valor de una expresión indefinida. B La semántica denotacional no puede describir las computaciones con objetos infinitos. C Generalmente, la semántica operacional de los lenguajes funcionales se da en el estilo denotacional. D Los lenguajes funcionales permiten programar cualquier función computable. 32. Indica cuál de las siguientes afirmaciones referentes a la función es cierta. A Es no estricta tres :: Int Int tres x = 3 B La evaluación perezosa y voraz de cualquier expresión de la forma tres e, siendo e una expresión de tipo Int, devuelve el valor 3 C Se trata de una definición local D Se trata de una definición parcial 10

11 33. Dada la siguiente definición ejfun x y = x +12 Indica cuál de las siguientes secuencias de reducciones corresponde a la evaluación perezosa del término ejfun (9-3) (ejfun 34 3) : A ejfun (9-3) (ejfun 34 3) ejfun (9-3) ( ) ejfun (9-3) 46 ejfun B ejfun (9-3) (ejfun 34 3) ejfun (9-3) ( ) ejfun (9-3) C ejfun (9-3) (ejfun 34 3) ejfun 6 ( ) D ejfun (9-3) (ejfun 34 3) (9-3) Dada la siguiente definición ejfun2 x = x +x Indica cuál de los siguientes conjuntos representa los redexes de la expresión ejfun2 (9-3) (ejfun2 34 3) : A {ejfun2 (9 3)(ejFun2 34 3),(9 3),ejFun2 34 3} B {ejfun2 (9 3)(ejFun2 34 3),ejFun2 34 3} C {ejfun2 (9 3)(ejFun2 34 3)} D {(9 3)} 35. Indica cuál de los siguientes es un redex de la expresión f (g x)(g 0) en el siguiente programa funcional: A (g x) B (g 0) C f (g x) (g 0) D f 0 0 f0z = 0 g0 = 0 11

12 36. Indica cuál es la forma normal de la expresión g (f 0) en el siguiente programa funcional: g0 = 0 g (s (sx)) = (s0) fx = s (fx) A 0 B (s 0) C (s (s 0)) D la expresión no tiene forma normal porque, bajo cualquier estrategia de evaluación, la computación no termina 37. Indicar el conjunto de redexes de la expresión f(x, h(h(y))) con respecto al siguiente programa funcional: A {f(x,h(h(y))),h(h(y))} f(x,y) = h(y) h(h(x)) = x h(a) = f(a,a) B {f(x,h(h(y))),x,h(h(y)),h(y)} C {f(x,h(h(y)))} D {f(x,h(h(y))),h(h(y)),h(y)} 38. Indicar la forma normal del término f x con respecto al siguiente programa: A Cero B x C f Cero D f x f Cero = Cero f (Suc x) = f x 39. La evaluación del término f x de la pregunta anterior es: A incompleta. B incorrecta. C de éxito. D de fallo. 12

13 40. Indica cuál de las siguientes afirmaciones referentes a la semántica denotacional de los lenguajes funcionales perezosos es falsa. A Todos los dominios se extienden con el elemento para que cualquier expresión sintácticamente correcta tenga una denotación en el dominio. B La denotación de la expresión from 0 es la lista 0:1:2:3:..., siendo from n = n : from (n +1) C La denotación de cualquier expresión cuya evaluación no termina es el elemento. D Un dominio denota un tipo: los dominios primitivos corresponden a tipos primitivos y la construcción de dominios corresponde a la construcción de tipos. 41. Indica cuál de las siguientes afirmaciones es cierta : A Toda función se puede expresar como una lambda abstracción. B El significado declarativo de un programa funcional es la expresión a la cual se evalúa el programa. C En los lenguajes impacientes se pierde la transparencia referencial. D El valor es el elemento más grande de un dominio. 42. Sabiendo que f :: a a, indica cuál es el tipo inferido por Helium para la función fix que se define mediante la siguiente ecuación A fix :: (a a) a B fix :: (a a) a a C fix :: a a D fix :: a fix f = f(fix f) 13

14 43. El tipo abstracto de datos Pila a (que representa una pila de valores de tipo a) consta de las siguientes operaciones: pilavacia :: Pila a meteenpila :: a Pila a Pila a sacadepila :: Pila a (a,pila a) topedepila :: Pila a a estavaciapila :: Pila a Bool Suponiendo la implementación de las pilas como listas type Pila a = [a] indica cuál de las siguientes ecuaciones define la operación meteenpila. A meteenpila x xs = x + + xs B meteenpila x xs = (x : xs) C meteenpila x xs = xs + + [x] D meteenpila x xs = xs 44. Dado el siguiente tipo algebraico que define un árbol de valores de tipo a data Arbol a = Vacio Nodo a [Arbol a] indica qué calcula la siguiente función sobrearbol :: (a Bool) Arbol a Bool sobrearbol p Vacio = True sobrearbol p (Nodo x xs) = p x && and (map(sobrearbol p) xs) donde && y and son los operadores predefinidos de la conjunción sobre valores booleanos y sobre listas de valores booleanos respectivamente. A Devuelve True si algún elemento del árbol cumple la condición p B Devuelve True si todos los elementos del árbol cumplen la condición p C Devuelve True si la raíz del árbol cumple la condición p o si el árbol es vacío D Devuelve True si el árbol es vacío y False en caso contrario 14

15 45. Dada la siguiente función triplas :: Int [(Int,Int,Int)] triplas n = [(x,y,z) x [1..n],y [x..n],z [y..n]] indica cuál es el resultado de evaluar la expresión triplas 3. A [(1,1,1),(2,2,2),(3,3,3)] B [(1,1,1),(1,1,2),(1,1,3),(1,2,2),(1,2,3),(1,3,3),(2,2,2),(2,2,3), (2,3,3),(3,3,3)] C [(1,1,1),(1,1,2),(1,1,3),(1,2,1),(1,2,2),(1,2,3),(1,3,1), (1,3,2), (1,3,3),(2,1,1),(2,1,2),(2,1,3),(2,2,1),(2,2,2),(2,2,3),...] D [(1,1,1),(1,2,2),(1,3,3),(2,2,2),(2,3,3),(3,3,3)] 46. Dada la siguiente definición multiplode :: Int Int Bool multiplode p n = n mod p == 0 que comprueba si su segundo argumento es múltiplo del primero, podemos obtener una función espar :: Int Bool que comprueba si un número es par mediante la siguiente aplicación parcial: A espar = multiplode 2 B espar x = multiplode x 2 C espar = multiplode 0 D ninguna de las anteriores 47. Al evaluar en Haskell la siguiente expresión booleana se obtiene un error: > Prelude > 2 < 3 < 4 ERROR : Ambiguous use of operator (<) with (<) Indica cuál de las siguientes afirmaciones es cierta : A El error no se puede eliminar usando paréntesis B El error se elimina si parentizamos la expresión como 2 < (3 < 4) C El error se elimina si parentizamos la expresión como (2 < 3 < 4) D El error se elimina si parentizamos la expresión como (2 < 3) < 4 15

16 48. Indica qué calcula el siguiente programa en Helium: opera 0 a = [a] opera n f a = a : opera (n 1) f (f a) A la lista [a,f a,...,f n a], dondef n a representa la expresiónf(f(...(a)...)) con n ocurrencias del símbolo f. B la enésima potencia de a, es decir, a n C la lista [a,a,...,a] de longitud n D la lista [f a,...,f a] de longitud n 49. Cuál es el tipo inferido por Helium para la función opera de la pregunta anterior? A opera :: Int > a > a > [a] B opera :: Int > a > (a > a) > [a] C opera :: Int > (a > a) > a > [a] D opera :: Int > (a > a) > a > (a > a) 50. Indica cuál de las siguientes asociaciones es cierta : A En Haskell, la función f(x) = f(fx) compila sin errores y su tipo es f :: a [a] B Un valor de tipo IO t es una acción que devuelve un valor de tipo t. C Haskell no infiere tipos. D En Haskell no se pueden definir nuevos tipos de datos. 16

17 51. Indica con cuál de las siguientes definiciones de tipo se construyen árboles binarios de elementos de tipo a: A data Arbol a = Vacio Nodo (Arbol a) a (Arbol a) B data Arbol a = Vacio Nodo a [Arbol a] C data Arbol a = Vacio Nodo a (Arbol a) D data Arbol a = Vacio a (Arbol a) (Arbol a) 52. Indica qué computa la siguiente función, siendo max la función que devuelve el mayor de dos números: pippo (x:xs) = foldl max x xs A devuelve true si el primer elemento de la lista es el mayor de ésta B devuelve el primer elemento de la lista C computa el máximo de la lista D computa la lista de los elementos más grandes, uno por cada pareja de elementos de la lista 53. Completar la definición de la función zip3 que toma tres listas y devuelve una lista de triplas: zip3 (a : x) (b : y) (c : z) = zip3 x y z = [ ] A [a,b,c] ++ zip3(x,y,z) B (a b c):zip3(x,y,z) C (a,b,c):zip3 x y z D a:b:c:(zip3 x y z) 17

18 54. Indica cuál de los siguientes programas implementa una función que transforma un número entero positivo en una cadena de caracteres que contiene los mismos dígitos, por ejemplo sabiendo que chr(48) = 0. pasachar(125) = 125 A B C D pasachar :: Int > String pasachar n n < 10 = [chr(48 +n)] otherwise = (pasachar (pasachar (mod n 10)) pasachar :: Int > String pasachar n n < 10 = chr(48 +n) otherwise = (pasachar (div n 10)) + +(pasachar (mod n 10)) pasachar :: Int > String pasachar n n < 10 = [chr(48 +n)] otherwise = (pasachar (div n 10)) + +(pasachar (mod n 10)) pasachar :: Int > String pasachar n n < 10 = chr(48 +n) otherwise = (pasachar (mod n 10)) + +(pasachar (div n 10)) 55. Indicar cuál de las siguientes afirmaciones es cierta, en relación a los programas de la pregunta anterior, cuando se evalúa la expresión pasachar (-4): A La evaluación entra en un bucle infinito. B Se produce un error de tipos. C Ninguno de los programas da el resultado esperado D Se necesita añadir en todos ellos la siguiente condición: n < 0 = + +(pasachar(tailn)) 18

19 56. Indica cuál de las siguientes opciones define correctamente en Haskell la función miaccion :: IO(String) que lee un texto introducido desde el teclado y lo pasa a mayúsculas: A B C D miaccion = putstr Dameuntexto : getlinexs putstr (map toupper xs) miaccion = do putstr Dameuntexto : xs getline putstr (map toupper xs) miaccion = do putstr Dameuntexto : xs getline return (map toupper xs) miaccionys = do putstr Dameuntexto : xs getline ys maptoupperxs 19

Tipos Abstractos de Datos

Tipos Abstractos de Datos Objetivos Repasar los conceptos de abstracción de datos y (TAD) Diferenciar adecuadamente los conceptos de especificación e implementación de TAD Presentar la especificación algebraica como método formal

Más detalles

INDICE Parte I. Conceptos 1. El estudio de los lenguajes de programación 2. Cuestiones de diseño de lenguajes

INDICE Parte I. Conceptos 1. El estudio de los lenguajes de programación 2. Cuestiones de diseño de lenguajes INDICE Parte I. Conceptos 1 1. El estudio de los lenguajes de programación 1.1. Por qué estudiar lenguajes de programación? 2 1.2. Breve historia de los lenguajes de programación 1.2.1. Desarrollo de los

Más detalles

data Tree a = Tip Node a (Tree a) (Tree a) deriving Show

data Tree a = Tip Node a (Tree a) (Tree a) deriving Show Preguntas seleccionadas de pruebas de evaluación Pregunta 1 Dadas las siguientes definiciones: data Tree a = Tip Node a (Tree a) (Tree a) deriving Show cambiar :: [Int] -> Tree [Int] -> Tree [Int] cambiar

Más detalles

Nociones Básicas de Sémantica: Semántica Denotacional

Nociones Básicas de Sémantica: Semántica Denotacional Nociones Básicas de Sémantica: Semántica Denotacional Análisis de Lenguajes de Programación Mauro Jaskelioff 21/08/2015 Acerca de la Semántica Operacional En la semántica operacional el significado de

Más detalles

Tema 13: Programas interactivos

Tema 13: Programas interactivos Tema 13: Programas interactivos Informática (2015 16) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla 2 / 38 Tema 13: Programas

Más detalles

Lenguajes y Compiladores

Lenguajes y Compiladores Información: http://www.cs.famaf.unc.edu.ar/wiki/ Profesores: Héctor Gramaglia, Miguel Pagano, Demetrio Vilela Régimen de regularidad y Promoción Se tomarán 2 parciales Promoción: obteniendo al menos 7

Más detalles

Universidad Católica del Maule. Fundamentos de Computación Especificación de tipos de datos ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS

Universidad Católica del Maule. Fundamentos de Computación Especificación de tipos de datos ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS Especificación algebraica ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS Un tipo abstracto de datos se determina por las operaciones asociadas, incluyendo constantes que se consideran como operaciones sin

Más detalles

SEMINARIO DE ESPECIFICACIONES ALGEBRAICAS

SEMINARIO DE ESPECIFICACIONES ALGEBRAICAS Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º, Año 2004/2005 SEMINARIO DE ESPECIFICACIONES ALGEBRAICAS Contenidos: 1. Descripción general de Maude 2. Comandos básicos 3. Formato

Más detalles

Tema II: Introducción al Lenguaje Funcional

Tema II: Introducción al Lenguaje Funcional Tema II: Introducción al Lenguaje Funcional Características de Haskell Lenguaje funcional de o. superior fuertemente tipificado. Clasifica los entes de un programa en: objetos (constantes y funciones)

Más detalles

ANÁLISIS SEMÁNTICO. Especificación formal: Semántica Operacional, semántica denotacional, semántica Axiomática, Gramáticas con Atributos.

ANÁLISIS SEMÁNTICO. Especificación formal: Semántica Operacional, semántica denotacional, semántica Axiomática, Gramáticas con Atributos. ANÁLISIS SEMÁNTICO El análisis semántico dota de un significado coherente a lo que hemos hecho en el análisis sintáctico. El chequeo semántico se encarga de que los tipos que intervienen en las expresiones

Más detalles

INTRODUCCIÓN. Estructura de Datos Tipos Abstractos de Datos (TAD S) Profs. Lorna Figueroa M. Mauricio Solar F. UTFSM 1 / 2008

INTRODUCCIÓN. Estructura de Datos Tipos Abstractos de Datos (TAD S) Profs. Lorna Figueroa M. Mauricio Solar F. UTFSM 1 / 2008 INTRODUCCIÓN Estructura de Datos Tipos Abstractos de Datos (TAD S) Para poder obtener un programa que resuelva un problema dado, son necesarios varios pasos : La formulación y especificación del problema

Más detalles

Compiladores y Lenguajes de Programación. Maria de Guadalupe Cota Ortiz

Compiladores y Lenguajes de Programación. Maria de Guadalupe Cota Ortiz Compiladores y Lenguajes de Programación Maria de Guadalupe Cota Ortiz Organizaciones que rigen las normas para estandarización de Lenguajes de Programación IEEE (Instituto de Ingenieros Eléctricos y Electrónicos)

Más detalles

Introducción a los Tipos Abstractos de Datos

Introducción a los Tipos Abstractos de Datos Página 1 de 8 Introducción a los Tipos Abstractos de Datos Introducción: Concepto de abstracción Abstracción funcional y abstracción de datos Construcción de tipos abstractos de datos Especificación de

Más detalles

Semántica Denotacional

Semántica Denotacional Semántica Denotacional Idea: El significado de un programa es la función denotada por el programa Componentes del metalenguaje para la definición semántica denotacional de un L.P.: Dominios sintácticos

Más detalles

Introducción a Haskell. Cecilia Manzino

Introducción a Haskell. Cecilia Manzino Paradigmas de programación Un paradigma de programación representa un estilo particular o filosofía para la construcción del software. Los más comunes dan lugar a los siguientes tipos de programación:

Más detalles

Procesadores de lenguaje Tema 5 Comprobación de tipos

Procesadores de lenguaje Tema 5 Comprobación de tipos Procesadores de lenguaje Tema 5 Comprobación de tipos Departamento de Ciencias de la Computación Universidad de Alcalá Resumen Sistemas de tipos. Expresiones de tipo. Equivalencia de tipos. Sobrecarga,

Más detalles

Tema 11. Listas infinitas

Tema 11. Listas infinitas Programación Declarativa Haskell Informática Sistemas Curso 2003-2004 Pepe Gallardo Universidad de Málaga Tema 11. Listas infinitas 11.1 Listas infinitas 11.2 La criba de Eratóstenes 11.3 Redes de procesos

Más detalles

8. Sentencia return y métodos

8. Sentencia return y métodos 92 A. García-Beltrán y J.M. Arranz 8. Sentencia return y métodos Objetivos: a) Describir el funcionamiento de la sentencia return b) Interpretar el resultado de una sentencia return en el código fuente

Más detalles

Elementos léxicos del lenguaje de programación Java

Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices Operadores

Más detalles

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores Las variables se utilizan en programación para almacenar temporalmente

Más detalles

Programación Funcional en Haskell

Programación Funcional en Haskell Programación Funcional en Haskell Paradigmas de Lenguajes de Programación 1 cuatrimestre 2006 1. Expresiones, valores y tipos Un programa en lenguaje funcional consiste en definir expresiones que computan

Más detalles

Estructuras de Datos. Dr. Pablo E. Fidel Martínez López Lic. en Ciencias de la Computación UNR

Estructuras de Datos. Dr. Pablo E. Fidel Martínez López Lic. en Ciencias de la Computación UNR Estructuras de Datos Dr. Pablo E. Fidel Martínez López Lic. en Ciencias de la Computación UNR ...but note that an implementation need not be actualized as code a concrete design is sufficient. Chris Okasaki

Más detalles

Ejemplos de conversión de reales a enteros

Ejemplos de conversión de reales a enteros Ejemplos de conversión de reales a enteros Con el siguiente programa se pueden apreciar las diferencias entre las cuatro funciones para convertir de reales a enteros: program convertir_real_a_entero print

Más detalles

EJERCICIOS DEL CAPÍTULO I

EJERCICIOS DEL CAPÍTULO I EJERCICIOS DEL CAPÍTULO I 1. Un grupo es una tipo particular de Ω estructura cuando Ω es el tipo Ω = { } siendo una operación de aridad dos. Pero un grupo también es una Ω -estructura siendo Ω = {e, i,

Más detalles

Arquitectura de Aplicaciones

Arquitectura de Aplicaciones 1 Capítulo 13: Arquitectura de aplicaciones. - Sommerville Contenidos del capítulo 13.1 Sistemas de procesamiento de datos 13.2 Sistemas de procesamiento de transacciones 13.3 Sistemas de procesamiento

Más detalles

Tema 2 Conceptos básicos de programación. Fundamentos de Informática

Tema 2 Conceptos básicos de programación. Fundamentos de Informática Tema 2 Conceptos básicos de programación Fundamentos de Informática Índice Metodología de la programación Programación estructurada 2 Pasos a seguir para el desarrollo de un programa (fases): Análisis

Más detalles

Algoritmos y Estructuras de Datos II

Algoritmos y Estructuras de Datos II 8 de abril de 2015 Clase de hoy 1 Repaso Tipos concretos versus abstractos Tipos abstractos de datos 2 3 4 TAD Pila Especificación del TAD Pila Repaso Tipos concretos versus abstractos Tipos abstractos

Más detalles

Tecnólogo Informático- Estructuras de Datos y Algoritmos- 2009

Tecnólogo Informático- Estructuras de Datos y Algoritmos- 2009 Árboles Ejemplos de estructuras arborescentes: con forma de árbol Regla de Alcance: los objetos visibles en un procedimiento son aquellos declarados en él mismo o en cualquier ancestro de él (cualquier

Más detalles

Laboratorio 7 Motor de búsqueda web basado en el TAD Árbol Binario de Búsqueda GUIÓN DEL LABORATORIO

Laboratorio 7 Motor de búsqueda web basado en el TAD Árbol Binario de Búsqueda GUIÓN DEL LABORATORIO Laboratorio 7 Motor de búsqueda web basado en el TAD Árbol Binario de Búsqueda GUIÓN DEL LABORATORIO 1.- Objetivos del laboratorio Diseño de clases en C++ Comprensión y uso del TAD Árbol Binario de Búsqueda

Más detalles

ACTIONSCRIPT (AS) Proyectos II. Audiovisuales. Dpto. Escultura. UPV. [sintaxis elemental]

ACTIONSCRIPT (AS) Proyectos II. Audiovisuales. Dpto. Escultura. UPV. [sintaxis elemental] ACTIONSCRIPT (AS) Proyectos II. Audiovisuales. Dpto. Escultura. UPV. [sintaxis elemental] Action script es el lenguaje de programación que lleva incorporado el software de creación multimedia Macromedia

Más detalles

OPERADORES LÓGICOS Y DE COMPARACIÓN EN PHP. PRIORIDADES. EJEMPLOS. EJERCICIOS RESUELTOS. (CU00818B)

OPERADORES LÓGICOS Y DE COMPARACIÓN EN PHP. PRIORIDADES. EJEMPLOS. EJERCICIOS RESUELTOS. (CU00818B) APRENDERAPROGRAMAR.COM OPERADORES LÓGICOS Y DE COMPARACIÓN EN PHP. PRIORIDADES. EJEMPLOS. EJERCICIOS RESUELTOS. (CU00818B) Sección: Cursos Categoría: Tutorial básico del programador web: PHP desde cero

Más detalles

Nota 2. Luis Sierra. Marzo del 2010

Nota 2. Luis Sierra. Marzo del 2010 Nota 2 Luis Sierra Marzo del 2010 Cada mecanismo de definición de conjuntos que hemos comentado sugiere mecanismos para definir funciones y probar propiedades. Recordemos brevemente qué son las funciones

Más detalles

GENERACIÓN DE CÓDIGO

GENERACIÓN DE CÓDIGO GENERACIÓN DE CÓDIGO INTRODUCCION La generación de código es la fase más compleja de un compilador, puesto que no sólo depende de las características del lenguaje fuente sino también de contar con información

Más detalles

Examen final de CL 11 de Enero de 2012 Fecha de publicación de notas: 19-1-2012 Fecha de revisión: 20-1-2012

Examen final de CL 11 de Enero de 2012 Fecha de publicación de notas: 19-1-2012 Fecha de revisión: 20-1-2012 Examen final de CL 11 de Enero de 2012 Fecha de publicación de notas: 19-1-2012 Fecha de revisión: 20-1-2012 Sin apuntes. Tiemp: 3h. Nombre y Apellidos: Problema de analisis léxico, sintáctico e intérpretes

Más detalles

Desarrollo del software imposible si las tareas tuviesen que expresarse en código máquina. Lenguajes de más alto nivel: comprensibles, manejables y

Desarrollo del software imposible si las tareas tuviesen que expresarse en código máquina. Lenguajes de más alto nivel: comprensibles, manejables y 1. Paradigmas de programación Desarrollo del software imposible si las tareas tuviesen que expresarse en código máquina. Lenguajes de más alto nivel: comprensibles, manejables y automáticamente convertibles

Más detalles

Objetivos. Contenidos. Revisar los principales conceptos de la lógica de primer orden

Objetivos. Contenidos. Revisar los principales conceptos de la lógica de primer orden Especificación TEMA 1 formal de problemas Objetivos Revisar los principales conceptos de la lógica de primer orden Entender el concepto de estado de cómputo y cómo se modela con predicados lógicos Familiarizarse

Más detalles

Estructura de datos Tema 6: Tablas de dispersión (hashing)

Estructura de datos Tema 6: Tablas de dispersión (hashing) Universidad de Valladolid Departamento de informática Campus de Segovia Estructura de datos Tema 6: Tablas de dispersión (hashing) Prof. Montserrat Serrano Montero ÍNDICE Conceptos básicos Funciones hash

Más detalles

Distinguir las diferentes estructuras de repetición utilizadas en problemas con ciclos: mientras, haga-mientras, repita-hasta, para.

Distinguir las diferentes estructuras de repetición utilizadas en problemas con ciclos: mientras, haga-mientras, repita-hasta, para. ESTRUCTURAS DE REPETICIÓN OBJETIVOS Aprender a construir grandes y complejos problemas a través de la ejecución repetida de una secuencia de proposiciones llamados ciclos o estructuras repetitivas. Distinguir

Más detalles

Prácticas: Introducción a la programación en Java. Informática (1º Ingeniería Civil) Curso 2011/2012

Prácticas: Introducción a la programación en Java. Informática (1º Ingeniería Civil) Curso 2011/2012 Prácticas: Introducción a la programación en Java Informática (1º Ingeniería Civil) Índice Introducción a Java y al entorno de desarrollo NetBeans Estructura de un programa Tipos de datos Operadores Sentencias

Más detalles

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí

Más detalles

Programación Funcional

Programación Funcional Alberto Pardo Marcos Viera Instituto de Computación, Facultad de Ingeniería Universidad de la República, Uruguay Operaciones sobre listas Listas El tipo de las listas es uno de los más usados en PF Su

Más detalles

Proyecto Unico Interpretador de SetCalc

Proyecto Unico Interpretador de SetCalc Universidad Simón Bolívar Dpto. de Computación y Tecnología de la Información CI3721 - Traductores e Interpretadores Abril-Julio 2008 Proyecto Unico Interpretador de SetCalc A continuación se describe

Más detalles

Secuencias. Mauro Jaskelioff 18/05/2015

Secuencias. Mauro Jaskelioff 18/05/2015 Secuencias Mauro Jaskelioff 18/05/2015 Secuencias Seq es un TAD para representar secuencias de elementos. A continuación veremos algunas de sus operaciones y las especificaremos en términos de la noción

Más detalles

Tema 1. Introducción a los TAD

Tema 1. Introducción a los TAD Tema 1. Introducción a los TAD Objetivos En este tema nos ocupamos inicialmente del concepto de abstracción, dedicando la mayor atención a la abstracción de datos, estudiando aspectos relacionados con

Más detalles

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 11. Cálculo Relacional

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 11. Cálculo Relacional FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 11. Cálculo Relacional 1.- Introducción. 2.- Cálculo Relacional Orientado a Tuplas. 3.- Cálculo Relacional vs Álgebra Relacional: Algoritmo

Más detalles

Apuntes de Matemática Discreta 9. Funciones

Apuntes de Matemática Discreta 9. Funciones Apuntes de Matemática Discreta 9. Funciones Francisco José González Gutiérrez Cádiz, Octubre de 004 Universidad de Cádiz Departamento de Matemáticas ii Lección 9 Funciones Contenido 9.1 Definiciones y

Más detalles

Relaciones binarias. ( a, b) = ( c, d) si y solamente si a = c y b = d

Relaciones binarias. ( a, b) = ( c, d) si y solamente si a = c y b = d Relaciones binarias En esta sección estudiaremos formalmente las parejas de objetos que comparten algunas características o propiedades en común. La estructura matemática para agrupar estas parejas en

Más detalles

Solución al Examen de Prácticas de Programación (Ingeniería Informática)

Solución al Examen de Prácticas de Programación (Ingeniería Informática) Solución al Examen de Prácticas de Programación (Ingeniería Informática) Junio 2006 Parte I. Cuestiones (3 puntos=50% nota del examen) 1) Se desea crear un conjunto de clases para representar en un programa

Más detalles

TAD Lineales: Pila, Cola y Lista

TAD Lineales: Pila, Cola y Lista TAD Lineales: Pila, Cola y Lista Objetivos! Dar a conocer los TAD lineales pila, cola y lista! Presentar la especificación de cada uno de los TAD! Discutir implementaciones alternativas para cada uno de

Más detalles

Tema 4: Definición de funciones

Tema 4: Definición de funciones Tema 4: Definición de funciones Informática (2010 11) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla 2 / 30 Tema 4: Definición

Más detalles

Tema 4: Definición de funciones

Tema 4: Definición de funciones Programación declarativa (2009 10) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla Constantes como patrones Variables como

Más detalles

Tema IV Programación lógica con estructuras

Tema IV Programación lógica con estructuras Tema IV Programación lógica con estructuras Programación Lógica - E.T.S.I. Informática - Málaga 1 Términos La estructura de datos básica en PROLOG es el término. Los términos se clasifican en : variables

Más detalles

Java Inicial (20 horas)

Java Inicial (20 horas) Java Inicial (20 horas) 1 Temario 1. Programación Orientada a Objetos 2. Introducción y Sintaxis Java 3. Sentencias Control Flujo 4. POO en Java 5. Relaciones entre Objetos 6. Polimorfismo, abstracción

Más detalles

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System.

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System. CICLO: 01/2010 Universidad Don Bosco Materia: Lenguaje de Programación III Contenido: 1-Lectura de Datos de entrada. 2-Introduccion a JOPTIONPANE. 3-Estructuras de Control. ->LECTURA DE DATOS DE ENTRADA

Más detalles

Significado de las f.b.f (fórmulas bien formadas) en términos de objetos, propiedades y relaciones en el mundo

Significado de las f.b.f (fórmulas bien formadas) en términos de objetos, propiedades y relaciones en el mundo Significado de las f.b.f (fórmulas bien formadas) en términos de objetos, propiedades y relaciones en el mundo Semánticas del cálculo de predicados proporcionan las bases formales para determinar el valor

Más detalles

Programación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases

Programación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases Programación Avanzada para Sistemas de Telecomunicación Objetos y clases Juan Carlos Cruellas cruellas@ac.upc.es Objetos y clases Concepto de objeto. Concepto de clase. Clases, objetos y programas. Clases

Más detalles

U i n d id d a 3. El Element os á bá i s cos de un programa

U i n d id d a 3. El Element os á bá i s cos de un programa Programación Digital U id d 3 El t bá i Unidad 3. Elementos básicos de un programa 1. Concepto de Programa Es un conjunto de instrucciones (órdenes dadas a la computadora), que producirán la ejecución

Más detalles

Tema 3 Elementos básicos de programación

Tema 3 Elementos básicos de programación Representación de Datos y Aplicaciones Tema 3 Elementos básicos de programación Natividad Martínez Madrid nati@it.uc3m.es Objetivos del tema 3 Conocer la estructura básica de un programa Java Comprender

Más detalles

UNIDAD I: LÓGICA PROPOSICIONAL

UNIDAD I: LÓGICA PROPOSICIONAL UNIDAD I: LÓGICA PROPOSICIONAL ASIGNATURA: INTRODUCCIÓN A LA COMPUTACIÓN CARRERAS: LICENCIATURA Y PROFESORADO EN CIENCIAS DE LA COMPUTACIÓN DEPARTAMENTO DE INFORMÁTICA FACULTAD DE CIENCIAS FÍSICO MATEMÁTICA

Más detalles

ISO 19103. Lenguaje de Esquema Conceptual

ISO 19103. Lenguaje de Esquema Conceptual ISO 19103 Lenguaje de Esquema Conceptual La ISO 19103 establece normas y guías para la adopción y uso de un Lenguaje de Esquema Conceptual (CSL) para desarrollar modelos o esquemas de información geográfica,

Más detalles

1. Descripción y objetivos

1. Descripción y objetivos Pruebas 1 1. Descripción y objetivos Las pruebas son prácticas a realizar en diversos momentos de la vida del sistema de información para verificar: El correcto funcionamiento de los componentes del sistema.

Más detalles

Procesadores de lenguaje Ejercicios Análisis semántico

Procesadores de lenguaje Ejercicios Análisis semántico Procesadores de lenguaje Ejercicios Análisis semántico Departamento de Ciencias de la Computación Universidad de Alcalá Ejercicio 1 (propuesto) A partir de gramática de abajo se pide: Mostrar el árbol

Más detalles

Tema 2. Tipos predefinidos

Tema 2. Tipos predefinidos Programación Declarativa Haskell Informática Sistemas Curso 2003-2004 Pepe Gallardo Universidad de Málaga Tema 2. Tipos predefinidos 2.1 Tipos simples predefinidos El tipo Bool El tipo Int El tipo Integer

Más detalles

Estructura de Datos. Unidad I Tipos de Datos

Estructura de Datos. Unidad I Tipos de Datos Estructura de Datos Unidad I Tipos de Datos Conceptos Básicos Algoritmo: es una secuencia finita de pasos o instrucciones ordenadas crono-lógicamente que describen un método para resolver un problema específico.

Más detalles

PROGRAMACIÓ DIDÁCTICA: Secuanciación, Temporalización y Unidades Didácticas

PROGRAMACIÓ DIDÁCTICA: Secuanciación, Temporalización y Unidades Didácticas Departamento de Informática PROGRAMACIÓN DIDÁCTICA Curso 11-12 1 CONSEJERÍA DE EDUCACIÓN I.E.S. NERVIÓN Departamento de Informática CICLO FORMATIVO: TÉCNICO SUPERIOR EN DESARROLLO DE APLICACIONES MULTIPLATAFORMA.

Más detalles

personal.us.es/elisacamol Elisa Cañete Molero Curso 2011/12

personal.us.es/elisacamol Elisa Cañete Molero Curso 2011/12 Teoría de conjuntos. Teoría de Conjuntos. personal.us.es/elisacamol Curso 2011/12 Teoría de Conjuntos. Teoría de conjuntos. Noción intuitiva de conjunto. Propiedades. Un conjunto es la reunión en un todo

Más detalles

Tiempo de Compilación. Programa fuente. Secuencia. de caracteres. Scanner. Secuencia. de símbolos Parser. Compilador.

Tiempo de Compilación. Programa fuente. Secuencia. de caracteres. Scanner. Secuencia. de símbolos Parser. Compilador. ORGANIZACIÓN DE LA MEMORIA EN TIEMPO DE EJECUCIÓN Compilador Tiempo de Compilación Programa fuente Secuencia de caracteres Scanner Secuencia de símbolos Parser Árbol sintáctico Analizador semántico Generador

Más detalles

Introducción. Lógica de proposiciones: introducción. Lógica de proposiciones. P (a) x. Conceptos

Introducción. Lógica de proposiciones: introducción. Lógica de proposiciones. P (a) x. Conceptos Introducción César Ignacio García Osorio Lógica y sistemas axiomáticos 1 La lógica ha sido históricamente uno de los primeros lenguajes utilizados para representar el conocimiento. Además es frecuente

Más detalles

JavaScript. Contenidos. Introducción El lenguaje Validación de formularios. Programación en Internet 2005-2006. DLSI - Universidad de Alicante 1

JavaScript. Contenidos. Introducción El lenguaje Validación de formularios. Programación en Internet 2005-2006. DLSI - Universidad de Alicante 1 Departamento de Lenguajes y Sistemas Informáticos JavaScript Programación en Internet Curso 2005-2006 Contenidos Introducción El lenguaje Validación de formularios DLSI - Universidad de Alicante 1 Introducción

Más detalles

Práctica N o 1 - Programación Funcional

Práctica N o 1 - Programación Funcional Práctica N o 1 - Programación Funcional Para resolver esta práctica, recomendamos usar el Hugs 98, de distribución gratuita, que puede bajarse de http://www.haskell.org/hugs/. Ejercicio 1 Dado el siguiente

Más detalles

Problemas indecidibles

Problemas indecidibles Capítulo 7 Problemas indecidibles 71 Codificación de máquinas de Turing Toda MT se puede codificar como una secuencia finita de ceros y unos En esta sección presentaremos una codificación válida para todas

Más detalles

Capítulo 4 PROLOG 4.1 Introducción

Capítulo 4 PROLOG 4.1 Introducción 4.1 Introducción PROLOG es un lenguaje declarativo e interpretado, en este tipo de lenguajes se representan los conocimientos sobre un determinado dominio y sus relaciones. A partir de ese conocimiento,

Más detalles

Tema 3: Tipos y clases

Tema 3: Tipos y clases Tema 3: Tipos y clases Informática (2016 17) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla 2 / 32 IM Tema 3: Tipos y clases

Más detalles

Tema 3: Tipos y clases

Tema 3: Tipos y clases Tema 3: Tipos y clases Informática (2017 18) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla 2 / 32 IM Tema 3: Tipos y clases

Más detalles

Ejercicio 1 (3 puntos).-

Ejercicio 1 (3 puntos).- URJC Ingeniería Técnica de Gestión Abril 2011 Asignatura: SOFTWARE AVANZADO Normas: La prueba consta de 2 ejercicios. La máxima nota del examen es un 8. Siendo la práctica la que añade los 2 puntos que

Más detalles

www.aprendoencasa.com Curso Introducción JAVA Pág.: 1

www.aprendoencasa.com Curso Introducción JAVA Pág.: 1 www.aprendoencasa.com Curso Introducción JAVA Pág.: 1 Introducción Java es un lenguaje basado en la programación orientada a objetos (POO), este tipo de programación va más allá del tipo de programación

Más detalles

Tipos de datos y clases de tipos

Tipos de datos y clases de tipos Tipos de datos y clases de tipos Taller de Álgebra I Verano 2017 Tipos de datos Tipo de dato Un conjunto de valores a los que se les puede aplicar un conjunto de funciones. Ejemplos 1 Integer = (Z, {+,,,

Más detalles

Pregunta 1 [40 puntos] Diga si las siguientes afirmaciones son verdaderas o falsas, demostrando su respuesta.

Pregunta 1 [40 puntos] Diga si las siguientes afirmaciones son verdaderas o falsas, demostrando su respuesta. Pregunta 1 [40 puntos] Diga si las siguientes afirmaciones son verdaderas o falsas, demostrando su respuesta. (a) Es posible aceptar por stack vacío el lenguaje {0 i 1 j i = j o j = 2i} con un AA determinístico.

Más detalles

Lenguajes y Compiladores

Lenguajes y Compiladores 2015 Estructura de la materia a grandes rasgos: Primera Parte: Lenguaje imperativo Segunda Parte: Lenguaje aplicativo puro, y lenguaje aplicativo con referencias y asignación Ejes de contenidos de la primer

Más detalles

TIPOS DE VARIABLES EN PHP. DECLARACIÓN Y ASIGNACIÓN. LA INSTRUCCIÓN ECHO PARA INSERTAR TEXTO O CÓDIGO. (CU00816B)

TIPOS DE VARIABLES EN PHP. DECLARACIÓN Y ASIGNACIÓN. LA INSTRUCCIÓN ECHO PARA INSERTAR TEXTO O CÓDIGO. (CU00816B) APRENDERAPROGRAMAR.COM TIPOS DE VARIABLES EN PHP. DECLARACIÓN Y ASIGNACIÓN. LA INSTRUCCIÓN ECHO PARA INSERTAR TEXTO O CÓDIGO. (CU00816B) Sección: Cursos Categoría: Tutorial básico del programador web:

Más detalles

Introducción. Paradigma de Lógica Gran importancia en la I.A. Origen: prueba de teoremas y razonamiento deductivo. Lógica.

Introducción. Paradigma de Lógica Gran importancia en la I.A. Origen: prueba de teoremas y razonamiento deductivo. Lógica. Tema 2: Lógica y Razonamiento Automático tico Introducción Lógica Proposicional Lógica de Predicados Axiomas Unificación Razonamiento automático e Inferencias lógicas Resolución Regla de Inferencia Refutación

Más detalles

Tema 3: Tipos y clases

Tema 3: Tipos y clases Tema 3: Tipos y clases Programación declarativa (2010 11) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla Tema 3: Tipos y clases

Más detalles

TRADUCTORES, COMPILADORES E INTÉRPRETES. EJERCICIOS TEMA 5, 6, 7 y 8.

TRADUCTORES, COMPILADORES E INTÉRPRETES. EJERCICIOS TEMA 5, 6, 7 y 8. TRADUCTORES, COMPILADORES E INTÉRPRETES. EJERCICIOS TEMA 5, 6, 7 y 8. 1.) (HOLUB). Escribir un traductor que reconozca definiciones de C siguiendo el estilo antiguo, tal como: prueba(uno, dos, tres, cuatro,

Más detalles

Nano Taller de Python

Nano Taller de Python Charla 5: Programación Funcional Royal Institute of Technology (KTH), Estocolmo, Suecia Grupo de Nanomateriales (GNM), Santiago, Chile 13 de enero 2009, de 13:00 a 14:00 Parte I Programación

Más detalles

INDICE. XVII Prólogo a la edición en español. XXI 1. Calculo proporcional 1.1. Argumentos y proporciones lógicas

INDICE. XVII Prólogo a la edición en español. XXI 1. Calculo proporcional 1.1. Argumentos y proporciones lógicas INDICE Prologo XVII Prólogo a la edición en español XXI 1. Calculo proporcional 1.1. Argumentos y proporciones lógicas 1 1.1.1. Introducción 1.1.2. Algunos argumentos lógicos importantes 2 1.1.3. Proposiciones

Más detalles

Manual del Modelizador. 28 de enero de 2009

Manual del Modelizador. 28 de enero de 2009 Índice de contenidos Introducción... 1 Proceso de ejecución de modelos... 1 Origen de datos... 3 Detalles técnicos... 3 Lenguaje de programación... 3 Estructura de los modelos... 3 Biblioteca de clases...

Más detalles

3.1. Concepto de función. Dominio, recorrido y gráfica. 3.1.1. Concepto de función

3.1. Concepto de función. Dominio, recorrido y gráfica. 3.1.1. Concepto de función TEMA 3 FUNCIONES 3.1. Concepto de función. Dominio, recorrido y gráfica. 3.1.1. Concepto de función Una función es una relación establecida entre dos variables que asocia a cada valor de la primera variable

Más detalles

Operaciones Booleanas y Compuertas Básicas

Operaciones Booleanas y Compuertas Básicas Álgebra de Boole El álgebra booleana es la teoría matemática que se aplica en la lógica combinatoria. Las variables booleanas son símbolos utilizados para representar magnitudes lógicas y pueden tener

Más detalles

Tema 2. La Información y su representación

Tema 2. La Información y su representación Tema 2. La Información y su representación 2.1 Introducción. Un ordenador es una máquina que procesa información. La ejecución de un programa implica la realización de unos tratamientos, según especifica

Más detalles

CONCEPTOS BASICOS DEL LENGUAJE JAVA

CONCEPTOS BASICOS DEL LENGUAJE JAVA CONCEPTOS BASICOS DEL LENGUAJE JAVA NOMENCLATURA GENERAL En Java se distinguen las letras mayúsculas y minúsculas. Las reglas del lenguaje respecto a los nombres de variables son muy amplias y permiten

Más detalles

Módulo 9 Sistema matemático y operaciones binarias

Módulo 9 Sistema matemático y operaciones binarias Módulo 9 Sistema matemático y operaciones binarias OBJETIVO: Identificar los conjuntos de números naturales, enteros, racionales e irracionales; resolver una operación binaria, representar un número racional

Más detalles

IIC1102 - Introducción a la Programación -

IIC1102 - Introducción a la Programación - IIC1102 - Introducción a la Programación - Sección 4 Introducción Programa y Carla Vairetti cvairetti@gmail.com Pontifícia Universidad Católica 5 de Marzo de 2009 Esquema 1 Programa del curso 2 3 Esquema

Más detalles

Tema 1 Programación Funcional

Tema 1 Programación Funcional Tema 1 Programación Funcional Curso de Python Avanzado Juan Pedro Boĺıvar Puente Instituto de Astrofísica de Andalucía Mayo de 2011 Juan Pedro Boĺıvar Puente (Instituto de Astrofísica Tema de Andalucía)

Más detalles

LENGUAJES DE CONSULTA ORIENTADOS A OBJETOS

LENGUAJES DE CONSULTA ORIENTADOS A OBJETOS LENGUAJES DE CONSULTA ORIENTADOS A OBJETOS Los lenguajes de consulta constituyen una funcionalidad importante de los SGBDOO. El usuario puede recuperar los datos especificando simplemente las condiciones

Más detalles

Guardas y Tipos de datos

Guardas y Tipos de datos Guardas y Tipos de datos Taller de Álgebra I 1er Cuatrimestre 2017 Definiciones de funciones por casos Podemos usar guardas para definir funciones por casos: f (n) = { 1 si n = 0 0 si no f n n == 0 = 1

Más detalles

Métodos para la construcción de software fiable: Interpretación Abstracta. María del Mar Gallardo Melgarejo Pedro Merino Gómez

Métodos para la construcción de software fiable: Interpretación Abstracta. María del Mar Gallardo Melgarejo Pedro Merino Gómez Métodos para la construcción de software fiable: Interpretación Abstracta María del Mar Gallardo Melgarejo Pedro Merino Gómez Dpto. de Lenguajes y Ciencias de la Computación Universidad de Málaga (gallardo,pedro)@lcc.uma.es

Más detalles

Tipos Abstractos de Datos y Diseño por Contrato

Tipos Abstractos de Datos y Diseño por Contrato Tipos Abstractos de Datos y Diseño por Contrato 1.- Motivación de los tipos abstractos de datos Nuestro objetivo es obtener descripciones apropiadas de los objetos, para lo cual se necesita un método que

Más detalles

Tema 3: Tipos y clases

Tema 3: Tipos y clases Tema 3: Tipos y clases Programación declarativa (2009 10) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla Tema 3: Tipos y clases

Más detalles

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle:

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle: PL/SQL (Procedural Language/Structured Query Language) PL/SQL es el lenguaje de programación que proporciona Oracle para extender el SQL estándar con otro tipo de instrucciones y elementos propios de los

Más detalles

El lenguaje Haskell 98

El lenguaje Haskell 98 El lenguaje Haskell 98 Un lenguaje perezoso completamente Curry con sobrecarga. Juan Pedro Villa Introducción Las razones agudas son ronquidos para los oídos tontos. William

Más detalles