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

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

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 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

GUIA PROGRAMACIÓN ORIENTADA A OBJETOS

GUIA PROGRAMACIÓN ORIENTADA A OBJETOS GUIA PROGRAMACIÓN ORIENTADA A OBJETOS 1. Por qué la P.O.O? R= A medida que se van desarrollando los lenguajes, se va desarrollando también la posibilidad de resolver problemas más complejos. En la evolución

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ejercicios de Programación Orientada a Objetos

Ejercicios de Programación Orientada a Objetos Programación II. I.T.I. de Gestión Ejercicios de Programación Orientada a Objetos Curso 2009/10 Ejercicio 1 Completar la clase PUNTO implementando las operaciones que faltan y utilizar esa clase en una

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

CDI Exclusión mutua a nivel alto. conceptos

CDI Exclusión mutua a nivel alto. conceptos conceptos El concepto de usar estructuras de datos a nivel alto libera al programador de los detalles de su implementación. El programador puede asumir que las operaciones están implementadas correctamente

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

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

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

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

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

Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle

Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Tipos de herencia Herencia y niveles de visibilidad Herencia y creación Redefinición de métodos Conversión

Más detalles

Árboles. Cursos Propedéuticos 2015. Dr. René Cumplido M. en C. Luis Rodríguez Flores

Árboles. Cursos Propedéuticos 2015. Dr. René Cumplido M. en C. Luis Rodríguez Flores Árboles Cursos Propedéuticos 2015 Dr. René Cumplido M. en C. Luis Rodríguez Flores Contenido de la sección Introducción Árbol genérico Definición y representación Árboles binarios Definición, implementación,

Más detalles

EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011

EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011 EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011 1. (0,75 PUNTOS) Identificad a continuación las sentencias que son ciertas, descartando

Más detalles

Estructuras Algebraicas Una estructura algebraica es un objeto matemático consistente en un conjunto no vacío, con por lo menos una operación binaria.

Estructuras Algebraicas Una estructura algebraica es un objeto matemático consistente en un conjunto no vacío, con por lo menos una operación binaria. Estructuras Algebraicas Una estructura algebraica es un objeto matemático consistente en un conjunto no vacío, con por lo menos una operación binaria. Operación Binaria Se conoce una operación binaria

Más detalles

Introducción a la programación orientada a objetos

Introducción a la programación orientada a objetos Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases 3. El tipo Struct 4. Diferencias entre Class y Struct 5. Pilares de la Programación

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

VII. Estructuras Algebraicas

VII. Estructuras Algebraicas VII. Estructuras Algebraicas Objetivo Se analizarán las operaciones binarias y sus propiedades dentro de una estructura algebraica. Definición de operación binaria Operaciones como la suma, resta, multiplicación

Más detalles

Capítulo 1: Sistemas de representación numérica Introducción. Dpto. de ATC, Universidad de Sevilla - Página 1 de 8

Capítulo 1: Sistemas de representación numérica Introducción. Dpto. de ATC, Universidad de Sevilla - Página 1 de 8 Dpto. de ATC, Universidad de Sevilla - Página de Capítulo : INTRODUCCIÓN SISTEMAS DE REPRESENTACIÓN NUMÉRICA Introducción Bases de numeración Sistema decimal Sistema binario Sistema hexadecimal REPRESENTACIÓN

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

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

Profesorado de Informática Ciencias de la Computación INET- DFPD Matemática I - Matemática Discreta usando el computador Ing. Prof.

Profesorado de Informática Ciencias de la Computación INET- DFPD Matemática I - Matemática Discreta usando el computador Ing. Prof. Árboles Profesorado de Informática Ciencias de la Computación INET- DFPD Matemática I - Matemática Discreta usando el computador Ing. Prof. Paula Echenique Una de las estructuras de datos más importantes

Más detalles

Compiladores e Intérpretes Proyecto N 1 Sintaxis de MiniJava Segundo Cuatrimestre de 2015

Compiladores e Intérpretes Proyecto N 1 Sintaxis de MiniJava Segundo Cuatrimestre de 2015 Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur Compiladores e Intérpretes Proyecto N 1 Sintaxis de MiniJava Segundo Cuatrimestre de 2015 1. Introducción Este documento

Más detalles

Divisibilidad y números primos

Divisibilidad y números primos Divisibilidad y números primos Divisibilidad En muchos problemas es necesario saber si el reparto de varios elementos en diferentes grupos se puede hacer equitativamente, es decir, si el número de elementos

Más detalles

INTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA

INTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA INTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA Fuente: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html Por qué Java? TIOBE Index for March 2015 Fuente: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Más detalles

Tema 7: Programación con Matlab

Tema 7: Programación con Matlab Tema 7: Programación con Matlab 1. Introducción Matlab puede utilizarse como un lenguaje de programación que incluye todos los elementos necesarios. Añade la gran ventaja de poder incorporar a los programas

Más detalles

A estas alturas de nuestros conocimientos vamos a establecer dos reglas muy prácticas de cómo sumar dos números reales:

A estas alturas de nuestros conocimientos vamos a establecer dos reglas muy prácticas de cómo sumar dos números reales: ADICIÓN Y RESTA DE NUMEROS REALES ADICIÓN L a adición o suma de números reales se representa mediante el símbolo más (+) y es considerada una operación binaria porque se aplica a una pareja de números,

Más detalles

3. OPERACIONES CON FUNCIONES.

3. OPERACIONES CON FUNCIONES. 3. OPERACIONES CON FUNCIONES. Las operaciones de suma, resta, multiplicación y división entre funciones son posibles y semejantes a las correspondientes efectuadas con los números. En esta sección definiremos

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

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 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

2. Aritmética modular Ejercicios resueltos

2. Aritmética modular Ejercicios resueltos 2. Aritmética modular Ejercicios resueltos Ejercicio 2.1 Probar, mediante congruencias, que 3 2n+5 + 2 4n+1 es divisible por 7 cualquiera que sea el entero n 1. Trabajando módulo 7 se tiene que 3 2n+5

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

Preliminares. Tipos de variables y Expresiones

Preliminares. Tipos de variables y Expresiones Preliminares. Tipos de variables y Expresiones Felipe Osorio Instituto de Estadística Pontificia Universidad Católica de Valparaíso Marzo 5, 2015 1 / 20 Preliminares Computadoras desarrollan tareas a un

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

Enterprise Analyst: Taller de Bautizo

Enterprise Analyst: Taller de Bautizo Enterprise Analyst: Taller de Bautizo Metas Entender la Necesidad de Ejecutar los Modelos Desarrollar un caso usando UML tradicional Identificar los problemas de UML Conocer la Herramienta Enterprise Analyst

Más detalles

Concurrencia. Primitivas IPC con bloqueo

Concurrencia. Primitivas IPC con bloqueo Concurrencia Primitivas IPC con bloqueo Primitivas de IPC con bloqueo La solución de Peterson es correcta, pero tiene el defecto de requerir espera ocupada: Cuando un proceso quiere entrar en su región

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

1. DML. Las subconsultas

1. DML. Las subconsultas 1.1 Introducción 1. DML. Las subconsultas Una subconsulta es una consulta que aparece dentro de otra consulta o subconsulta en la lista de selección, en la cláusula WHERE o HAVING, originalmente no se

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

BASES Y DIMENSIÓN. Propiedades de las bases. Ejemplos de bases.

BASES Y DIMENSIÓN. Propiedades de las bases. Ejemplos de bases. BASES Y DIMENSIÓN Definición: Base. Se llama base de un espacio (o subespacio) vectorial a un sistema generador de dicho espacio o subespacio, que sea a la vez linealmente independiente. β Propiedades

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

Complemento Microsoft Mathematics

Complemento Microsoft Mathematics Complemento Microsoft Mathematics El complemento Microsoft Mathematics es un conjunto de herramientas que se pueden usar para realizar operaciones matemáticas y trazado de gráficas con expresiones o ecuaciones

Más detalles

Processadors de Llenguatge II. Compiladores

Processadors de Llenguatge II. Compiladores Processadors de Llenguatge II Compiladores Que es un compilador Un traductor es cualquier programa que toma un texto escrito en un lengiaje y da como salida en otro lenguaje(llamado objeto) texto lenguaje

Más detalles

Introducción a la Programación 11 O. Humberto Cervantes Maceda

Introducción a la Programación 11 O. Humberto Cervantes Maceda Introducción a la Programación 11 O Humberto Cervantes Maceda Recordando En la sesión anterior vimos que la información almacenada en la memoria, y por lo tanto aquella que procesa la unidad central de

Más detalles

1.4.- D E S I G U A L D A D E S

1.4.- D E S I G U A L D A D E S 1.4.- D E S I G U A L D A D E S OBJETIVO: Que el alumno conozca y maneje las reglas empleadas en la resolución de desigualdades y las use para determinar el conjunto solución de una desigualdad dada y

Más detalles

TEMA 2: Representación de la Información en las computadoras

TEMA 2: Representación de la Información en las computadoras TEMA 2: Representación de la Información en las computadoras Introducción Una computadora es una máquina que procesa información y ejecuta programas. Para que la computadora ejecute un programa, es necesario

Más detalles

Tema 3 : Algebra de Boole

Tema 3 : Algebra de Boole Tema 3 : Algebra de Boole Objetivo: Introducción al Algebra de Boole 1 INTRODUCCIÓN George Boole creó el álgebra que lleva su nombre en el primer cuarto del siglo XIX. Pretendía explicar las leyes fundamentales

Más detalles

Práctico 5. Definiciones Inductivas - Segunda Parte -

Práctico 5. Definiciones Inductivas - Segunda Parte - Práctico 5 Definiciones Inductivas - Segunda Parte - Objetivos: Trabajar con tipos inductivos. Realizar pruebas por inducción y análisis de casos. Familiarizarse con los lemas de inversión y las tácticas

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

Colegio Las Tablas Tarea de verano Matemáticas 3º ESO

Colegio Las Tablas Tarea de verano Matemáticas 3º ESO Colegio Las Tablas Tarea de verano Matemáticas º ESO Nombre: C o l e g i o L a s T a b l a s Tarea de verano Matemáticas º ESO Resolver la siguiente ecuación: 5 5 6 Multiplicando por el mcm(,,6) = 6 y

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

Tema 11: Sistemas combinacionales

Tema 11: Sistemas combinacionales Tema 11: Sistemas combinacionales Objetivo: Introducción Generador Comprobador de paridad Comparadores Semisumador (HA) Sumador Completo (FA) Expansión de sumadores Sumador paralelo con arrastre serie

Más detalles