Paradigmas de Programación. Práctica 3. Árboles estrictamente binarios

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

Download "Paradigmas de Programación. Práctica 3. Árboles estrictamente binarios"

Transcripción

1 Paradigmas de Programación Práctica 3 Árboles estrictamente binarios En el módulo Fb_tree, escrito en ocaml, está definido el tipo de dato 'a fb_tree que sirve para representar árboles binarios llenos (full binary trees) con nodos etiquetados con valores de tipo 'a. Los árboles binarios llenos o estrictamente binarios o propiamente binarios son árboles binarios en los que de todo nodo, que no sea hoja, cuelgan dos ramas. No hay árboles estrictamente binarios vacíos; los más sencillos tienen un sólo nodo que es raíz y hoja a la vez. El módulo Fb_tree tiene la siguiente interfaz: type 'a fb_tree val string_of_tree : ('a -> string) -> 'a fb_tree -> string exception Branches val single : 'a -> 'a fb_tree val comp : 'a -> 'a fb_tree * 'a fb_tree -> 'a fb_tree val root : 'a fb_tree -> 'a val branches : 'a fb_tree -> 'a fb_tree * 'a fb_tree La función string_of_tree sirve para visualizar como string el contenido de un árbol. Hay que pasarle como parámetro una función que permita convertir a strings las etiquetas de los nodos. Esta función se ha incluido en el módulo sólo a efectos de facilitar la visualización de árboles para la realización de pruebas y no debe utilizarse en los desarrollos que se pedirán a continuación. La función single construye un árbol-hoja con una etiqueta dada. La función comp contruye un árbol a partir de una etiqueta para la raíz y de un par de árboles que serán sus ramas. La función root devuelve el valor (etiqueta) de la raíz de un árbol. La función branches devuelve las ramas de un árbol. Si se aplica a un árbol que no tiene rama (un árbolhoja) se activa la excepción Branches. Se pide definir en ocaml las siguientes funciones: val is_single : 'a Fb_tree.fb_tree -> bool (* identifica árboles-hoja *) val l_branch : 'a Fb_tree.fb_tree -> 'a Fb_tree.fb_tree (* rama izquierda *) val r_branch : 'a Fb_tree.fb_tree -> 'a Fb_tree.fb_tree (* rama derecha *) val size : 'a Fb_tree.fb_tree -> int (* número de nodos *) val height : 'a Fb_tree.fb_tree -> int (* altura *)

2 val preorder : 'a Fb_tree.fb_tree -> 'a list val postorder : 'a Fb_tree.fb_tree -> 'a list val inorder : 'a Fb_tree.fb_tree -> 'a list val leafs : 'a Fb_tree.fb_tree -> 'a list (* lista de hojas *) val mirror : 'a Fb_tree.fb_tree -> 'a Fb_tree.fb_tree (* imagen especular *) val treemap : ('a -> 'b) -> 'a Fb_tree.fb_tree -> 'b Fb_tree.fb_tree (* aplica una función a todos los nodos *) val is_perfect : 'a Fb_tree.fb_tree -> bool (* un árbol lleno es perfecto si todas sus hojas están en el mismo nivel *) val is_complet : 'a Fb_tree.fb_tree -> bool (* un árbol es completo si todo nivel, excepto quizás el último, está lleno y todos los nodos del último nivel están lo más a la izquierda posible *) Para utilizar el módulo Fb_tree puede cargarse el archivo fb_tree.cmo desde el compilador interactivo ocaml, con la directiva #load fb.tree.cmo ;; El archivo fb_tree.cmi debe estar presente en el mismo directorio. Puede evitarse el tener que calificar los nombre de los valores con el nombre del módulo si se ejecuta la sentencia open Fb_tree;; Para definir la función is_single puede interceptarse la excepción Branches utilizando una construcción try..with... Por ejemplo: let is_single t = try let _ = branches t in false with Branches -> true;; que también puede escribirse: let is_single t = try branches t ; false with Branches -> true;; pues <exp1>; <exp2> es una expresión que se evalúa en ocaml evaluando primero la expresión <exp1> y a continuación la expresión <exp2> y cuyo valor es el de <exp2>. A continuación se transcriben unos ejemplos de uso de las funciones que hay que definir con los resultados que deberían dar si las definiciones son correctas. # let h x = single x;; val h : 'a -> 'a Fb_tree.fb_tree = <fun> # let h1 = h 1 and h2 = h 2 and h3 = h 3;;

3 val h1 : int Fb_tree.fb_tree = <abstr> val h2 : int Fb_tree.fb_tree = <abstr> val h3 : int Fb_tree.fb_tree = <abstr> # let ta = comp 1 (h 2, h 3);; val ta : int Fb_tree.fb_tree = <abstr> # let tb = comp 4 (ta, h 5);; val tb : int Fb_tree.fb_tree = <abstr> # let tc = comp 4 (ta, ta);; val tc : int Fb_tree.fb_tree = <abstr> # let td = comp 4 (h 3, ta);; val td : int Fb_tree.fb_tree = <abstr> # let te = comp 6 (tb, h 0);; val te : int Fb_tree.fb_tree = <abstr> # let print = string_of_tree string_of_int;; val print : int Fb_tree.fb_tree -> string = <fun> # print te;; - : string = "(6 (4 (1 (2) (3)) (5)) (0))" # l_branch h1;; Exception: Fb_tree.Branches. # r_branch h2;; Exception: Fb_tree.Branches. # is_single h3;; # is_single ta;; - : bool = false # is_single (l_branch ta);; # let l = [h1; h2; h3; ta; tb; tc; td; te];; val l : int Fb_tree.fb_tree list = [<abstr>; <abstr>; <abstr>; <abstr>; <abstr>; <abstr>; <abstr>; <abstr>] # List.map root l;; - : int list = [1; 2; 3; 1; 4; 4; 4; 6] # List.map size l;; - : int list = [1; 1; 1; 3; 5; 7; 5; 7] # List.map height l;; - : int list = [1; 1; 1; 2; 3; 3; 3; 4] # preorder tb;; - : int list = [4; 1; 2; 3; 5] # preorder te;; - : int list = [6; 4; 1; 2; 3; 5; 0] # inorder tb;; - : int list = [2; 1; 3; 4; 5] # postorder tb;; - : int list = [2; 3; 1; 5; 4]

4 # let et= mirror te;; val et : int Fb_tree.fb_tree = <abstr> # preorder et;; - : int list = [6; 0; 4; 5; 1; 3; 2] # print et;; - : string = "(6 (0) (4 (5) (1 (3) (2))))" # leafs h1;; - : int list = [1] # leafs tb;; - : int list = [2; 3; 5] # leafs te;; - : int list = [2; 3; 5; 0] # print (treemap (function x -> x * x) td);; - : string = "(16 (9) (1 (4) (9)))" # List.map is_perfect l;; - : bool list = [true; true; true; true; false; true; false; false] # List.map is_complet l;; - : bool list = [true; true; true; true; true; true; false; false] Para hacer estas pruebas con mayor comodidad, podrían meterse todos estos ejemplos de uso en un archivo test.ml y todas las definiciones del ejercicio en un archivo fb_tree_plus.ml y compilarlo como un módulo con ocamlc -c fb_tree_plus.ml Después se puede arrancar el ocaml, cargar el módulo, abrirlo, y evaluar el archivo de pruebas test.ml con la directiva #use test.ml ;; La salida debería coincidir exactamente con: val h : 'a -> 'a Fb_tree.fb_tree = <fun> val h1 : int Fb_tree.fb_tree = <abstr> val h2 : int Fb_tree.fb_tree = <abstr> val h3 : int Fb_tree.fb_tree = <abstr> val ta : int Fb_tree.fb_tree = <abstr> val tb : int Fb_tree.fb_tree = <abstr> val tc : int Fb_tree.fb_tree = <abstr> val td : int Fb_tree.fb_tree = <abstr> val te : int Fb_tree.fb_tree = <abstr> val print : int Fb_tree.fb_tree -> string = <fun> - : string = "(6 (4 (1 (2) (3)) (5)) (0))" - : bool = false val l : int Fb_tree.fb_tree list = [<abstr>; <abstr>; <abstr>; <abstr>; <abstr>; <abstr>; <abstr>; <abstr>] - : int list = [1; 2; 3; 1; 4; 4; 4; 6] - : int list = [1; 1; 1; 3; 5; 7; 5; 7] - : int list = [1; 1; 1; 2; 3; 3; 3; 4] - : int list = [4; 1; 2; 3; 5] - : int list = [6; 4; 1; 2; 3; 5; 0] - : int list = [2; 1; 3; 4; 5]

5 - : int list = [2; 3; 1; 5; 4] val et : int Fb_tree.fb_tree = <abstr> - : int list = [6; 0; 4; 5; 1; 3; 2] - : string = "(6 (0) (4 (5) (1 (3) (2))))" - : int list = [1] - : int list = [2; 3; 5] - : int list = [2; 3; 5; 0] - : string = "(16 (9) (1 (4) (9)))" - : bool list = [true; true; true; true; false; true; false; false] - : bool list = [true; true; true; true; true; true; false; false]

Tipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos

Tipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos Algoritmos y Estructuras de Datos I 1 cuatrimestre de 009 Departamento de Computación - FCEyN - UBA Programación funcional - clase Tipos algebraicos Tipos algebraicos y abstractos ya vimos los tipos básicos

Más detalles

Árboles. Un grafo no dirigido es un árbol si y sólo si existe una ruta unica simple entre cualquiera dos de sus vértices.

Árboles. Un grafo no dirigido es un árbol si y sólo si existe una ruta unica simple entre cualquiera dos de sus vértices. ÁRBOLES Árboles Un grafo conectado que no contiene circuitos simples. Utilizados desde 1857, por el matemático Ingles Arthur Cayley para contar ciertos tipos de componentes químicos. Un árbol es un grafo

Más detalles

NIVEL 15: ESTRUCTURAS RECURSIVAS BINARIAS

NIVEL 15: ESTRUCTURAS RECURSIVAS BINARIAS 1 NIVEL 15: ESTRUCTURAS RECURSIVAS BINARIAS Árboles Binarios y Árboles Binarios Ordenados 2 Contenido Árboles binarios Iteradores Árboles binarios ordenados 3 Árboles binarios Algunas definiciones para

Más detalles

FUNDAMENTOS DE INFORMÁTICA

FUNDAMENTOS DE INFORMÁTICA FUNDAMENTOS DE INFORMÁTICA Tema 1 Introducción a la Programación en Visual Basic Departamento de Ingeniería de Sistemas y Automática Universidad de Vigo undamentos de Informática. Departamento de Ingeniería

Más detalles

ARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES

ARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES ARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES Características ARBOLES - CONCEPTOS Cada elemento del árbol se relaciona con cero o más elementos a quienes llama hijos. Si el árbol no

Más detalles

Tema Árboles generales. 9.2 Árboles binarios 9.3 Árboles de búsqueda

Tema Árboles generales. 9.2 Árboles binarios 9.3 Árboles de búsqueda Informática Haskell Matemáticas Curso 2004-2005 Pepe Gallardo Universidad de Málaga Tema 9. Árboles 9.1 Árboles generales 9.2 Árboles binarios 9.3 Árboles de búsqueda 9.1 Árboles generales Un árbol es

Más detalles

GRAMATICAS LIBRES DEL CONTEXTO

GRAMATICAS LIBRES DEL CONTEXTO GRMTICS LIBRES DEL CONTEXTO Estas gramáticas, conocidas también como gramáticas de tipo 2 o gramáticas independientes del contexto, son las que generan los lenguajes libres o independientes del contexto.

Más detalles

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C Algoritmo y Estructura de Datos Ing. M. Laura López 1 Estructura de un programa en C 2 Estructura de un programa en C #include Archivos de cabecera # define Definición de constantes Declaraciones Globales

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

Proyecto 6. Árboles de decisión: Un árbol de decisión es un modelo de predicción utilizado en el ámbito de la inteligencia artificial.

Proyecto 6. Árboles de decisión: Un árbol de decisión es un modelo de predicción utilizado en el ámbito de la inteligencia artificial. Árboles de decisión: Un árbol de decisión es un modelo de predicción utilizado en el ámbito de la inteligencia artificial. Funcionamiento: Se realiza un test en cada nodo interno del árbol, a medida que

Más detalles

Binary Decision Diagrams

Binary Decision Diagrams Rodríguez Blanco 2006-05-18 Introduccion Equivalencia Tablas de verdad eficientes Construcción de Equivalencia Tablas de verdad eficientes Equivalencia de dos fórmulas A 1 y A 2. Construir su tabla de

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

DEFINICION. Ing. M.Sc. Fulbia Torres Asignatura: Estructuras de Datos Barquisimeto 2006

DEFINICION. Ing. M.Sc. Fulbia Torres Asignatura: Estructuras de Datos Barquisimeto 2006 ARBOLES ESTRUCTURAS DE DATOS 2006 DEFINICION Un árbol (tree) es un conjunto finito de nodos. Es una estructura jerárquica aplicable sobre una colección de elementos u objetos llamados nodos; uno de los

Más detalles

Manual de turbo pascal

Manual de turbo pascal Universidad Nacional Experimental De Los Llanos Occidentales Ezequiel Zamora UNELLEZ-Barinas Manual de turbo pascal Bachilleres: Martinez Ninibeth C.I:20.867.002 Mora Yaco C.I:17.205.073 Estructura de

Más detalles

Examen escrito de Programación 1. Jueves 5 de febrero de Problema 1 o (3.5 puntos)

Examen escrito de Programación 1. Jueves 5 de febrero de Problema 1 o (3.5 puntos) Examen escrito de Programación 1. Jueves 5 de febrero de 2015 Se debe disponer de un documento de identificación con fotografía sobre la mesa. Se debe comenzar a resolver cada uno de los dos problemas

Más detalles

Compilador del lenguaje MOOL que genera código Objective Caml

Compilador del lenguaje MOOL que genera código Objective Caml Compilador del lenguaje MOOL que genera código Objective Caml Ruben Gonzalez Castro 1 1 Instituto Tecnológico de Culiacán, Av. Juan de Dios Batíz s/n Col. Guadalupe, Culiacán, Sin. 80220 México Tel. 667-713

Más detalles

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Tipos de Datos Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Entrada de datos Procesamientos de datos Salida de resultados Los

Más detalles

Descripción y Contenido del Curso. Programación C++ Capacity Academy.

Descripción y Contenido del Curso. Programación C++ Capacity Academy. Descripción y Contenido del Curso Programación C++ Capacity Academy Educación en Tecnología de la Información Online, Efectiva y Garantizada Qué aprenderá si toma este Curso? En este curso aprenderás todo

Más detalles

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola)

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola) Objetivos de la sesión Entender el tipo de programas que se pueden realizar con aplicaciones de consola. Conocer el concepto de variable, la forma en que se declaran y su utilización. Conocer la forma

Más detalles

Tema 10- Representación Jerárquica: Tema 10- Representación Jerárquica: Árboles Binarios

Tema 10- Representación Jerárquica: Tema 10- Representación Jerárquica: Árboles Binarios Tema 10- Representación Jerárquica: Árboles Binarios Tema 10- Representación Jerárquica: Árboles Binarios Germán Moltó Escuela Técnica Superior de Ingeniería Informática Universidad Politécnica de Valencia

Más detalles

Definición de Memoria

Definición de Memoria Arquitectura de Ordenadores Representación de Datos en Memoria Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Definición de Memoria DRM-1 La memoria

Más detalles

Tema 4: Corrección y Robustez en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle

Tema 4: Corrección y Robustez en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Tema 4: Corrección y Robustez en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Asertos en C++ Mecanismo de excepciones: Declaración de excepciones Lanzar excepciones

Más detalles

Estructuras de Datos. Montículos. Montículos. Montículos. Tema 3. Montículos. Definiciones básicas: Definiciones básicas:

Estructuras de Datos. Montículos. Montículos. Montículos. Tema 3. Montículos. Definiciones básicas: Definiciones básicas: Estructuras de Datos Tema. 1. Definiciones básicas 2. Implementación. Operaciones con montículos 4. Definiciones básicas: En un árbol binario completo todos los niveles del árbol (excepto tal vez el último)

Más detalles

Propedéutico de Programación

Propedéutico de Programación Propedéutico de Programación Coordinación de Ciencias Computacionales 11/13 Material preparado por: Dra. Pilar Gómez Gil Chapter 8 Binary Search Trees Tomado de: Dale, N. Weems, C++ Plus Data Structures

Más detalles

Roberto Gómez Cárdenas rogomez@itesm.mx http://homepage.cem.itesm.mx/rogomez. Qué es DOM?

Roberto Gómez Cárdenas rogomez@itesm.mx http://homepage.cem.itesm.mx/rogomez. Qué es DOM? DOM y PHP Roberto Gómez Cárdenas rogomez@itesm.mx http://homepage.cem.itesm.mx/rogomez mx/rogomez Lámina 1 Qué es DOM? Document Object Model Especificación de W3C http://www.w3.org/dom/ w3 Mecanismo para

Más detalles

GUÍA BÁSICA DE SCHEME v.4

GUÍA BÁSICA DE SCHEME v.4 Esta guía básica pretende ser una introducción elemental al lenguaje de programación Scheme. Se presenta como una guía de comienzo rápido de tal forma que permita conocer de una forma muy esquemática los

Más detalles

Paradigmas de Programación Práctica 6

Paradigmas de Programación Práctica 6 Paradigmas de Programación Práctica 6 Objetivo de la práctica y descripción de la aplicación El objetivo de esta práctica es el de construir una calculadora de punto flotante con variables. La calculadora

Más detalles

FUNDAMENTOS DE INFORMÁTICA

FUNDAMENTOS DE INFORMÁTICA FUNDAMENTOS DE INFORMÁTICA Tema 4 Programación estructurada: Funciones y procedimientos Departamento de Ingeniería de Sistemas y Automática Universidad de Vigo Fundamentos de Informática. Departamento

Más detalles

Tecnología XML. Unidad: 3 Laboratorio de Programación. Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos

Tecnología XML. Unidad: 3 Laboratorio de Programación. Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos Tecnología XML Unidad: 3 Laboratorio de Programación Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos Indice DOM Concepto Características Niveles Estructura del documento Tipo

Más detalles

Árbol binario. Elaborado por Ricardo Cárdenas cruz Jeremías Martínez Guadarrama Que es un árbol Introducción

Árbol binario. Elaborado por Ricardo Cárdenas cruz Jeremías Martínez Guadarrama Que es un árbol Introducción Árbol binario Elaborado por Ricardo Cárdenas cruz Jeremías Martínez Guadarrama Que es un árbol Introducción Un Árbol Binario es un conjunto finito de Elementos, de nombre Nodos de forma que: El Árbol Binario

Más detalles

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

En cualquier caso, tampoco es demasiado importante el significado de la B, si es que lo tiene, lo interesante realmente es el algoritmo. Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa

Más detalles

Árboles Binarios Ordenados Árboles AVL

Árboles Binarios Ordenados Árboles AVL Árboles Binarios Ordenados Árboles AVL Estructuras de Datos Andrea Rueda Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Recordatorio... Se acerca la fecha de la primera entrega

Más detalles

TEMA 7: Ficheros. TEMA 7: Ficheros. 7.1.-Concepto de fichero

TEMA 7: Ficheros. TEMA 7: Ficheros. 7.1.-Concepto de fichero TEMA 7: Ficheros 7.1.-Concepto de fichero Todas las estructuras de datos que hemos visto hasta ahora utilizan memoria principal. Esto tiene dos limitaciones importantes: 1. Los datos desaparecen cuando

Más detalles

Guía práctica de estudio 05: Diagramas de flujo

Guía práctica de estudio 05: Diagramas de flujo Guía práctica de estudio 05: Diagramas de flujo Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 05: Diagramas de

Más detalles

ESCUELA DE INFORMÁTICA

ESCUELA DE INFORMÁTICA TÉCNICO EN SISTEMAS LABORAL SUBMODULO TEMA 1 (Visual Basic for Application) Microsoft VBA (Visual Basic for Applications) es el lenguaje de macros de Microsoft Visual Basic que se utiliza para programar

Más detalles

Serialización de datos en C# en Binario, Soap y Xml

Serialización de datos en C# en Binario, Soap y Xml Serialización de datos en C# en Binario, Soap y Xml Quizás muchos desarrolladores hayan escuchado hablar del termino serializar la información y no saber de que se trata. Pues bien, resulta que la serialización

Más detalles

Tema 3 - Modelado con HDL a nivel RTL

Tema 3 - Modelado con HDL a nivel RTL - Modelado con HDL a nivel RTL Eduardo Rodríguez Martínez Departamento de Electrónica División de Ciencias Básicas e Ingeniería Universidad Autónoma Metropolitana Unidad Azcapotzalco Email: erm@correo.azc.uam.mx

Más detalles

Árboles AVL. Laboratorio de Programación II

Árboles AVL. Laboratorio de Programación II Árboles AVL Laboratorio de Programación II Definición Un árbol AVL es un árbol binario de búsqueda que cumple con la condición de que la diferencia entre las alturas de los subárboles de cada uno de sus

Más detalles

1. Cuántas sentencias hay en la secuencia principal del siguiente programa?

1. Cuántas sentencias hay en la secuencia principal del siguiente programa? 1. Cuántas sentencias hay en la secuencia principal del siguiente programa? public class PruebaSwitch { System.out.print ("Opcion: "); case 3: System.out.println ("miércoles "); A. 1. B. 4. C. Más de 10.

Más detalles

EXPERTO EN OFIMATICA (65 HORAS) MODULO 1. WORD (19 HORAS. 12 HORAS TEORICAS Y 7 HORAS PRACTICAS)

EXPERTO EN OFIMATICA (65 HORAS) MODULO 1. WORD (19 HORAS. 12 HORAS TEORICAS Y 7 HORAS PRACTICAS) EXPERTO EN OFIMATICA (65 HORAS) MODULO 1. WORD 2007. (19 HORAS. 12 HORAS TEORICAS Y 7 HORAS PRACTICAS) Crear y modificar párrafos (2 horas: 1 teóricas y 1 prácticas) 1. Tabulaciones 2. Listas numeradas

Más detalles

324 MR Versión 1 Prueba Integral 1/3 Semana 10 Lapso 2015-2

324 MR Versión 1 Prueba Integral 1/3 Semana 10 Lapso 2015-2 324 MR Versión 1 Prueba Integral 1/3 UNIVERSIDAD NACIONAL ABIERTA VICERRECTORADO ACADÉMICO ÁREA INGENIERÍA MODELO DE RESPUESTA ASIGNATURA: Computación II CÓDIGO: 324 MOMENTO: Prueba Integral FECHA DE APLICACIÓN:

Más detalles

Módulo 8: Primitivas en Pascal

Módulo 8: Primitivas en Pascal Módulo 8: Primitivas en Pascal Tecnologías en la Educación Matemática Dr. Carlos Gonzalía DCIC - UNS Técnologías en la educación matemática Dr. Carlos Gonzalía 1 de Copyright Copyright 2010, 2012 M. Capobianco,

Más detalles

Operaciones básicas con hojas de cálculo

Operaciones básicas con hojas de cálculo Operaciones básicas con hojas de cálculo Insertar hojas de cálculo. Para insertar rápidamente una hoja de cálculo nueva al final de las hojas de cálculo existentes, haga clic en la ficha Insertar hoja

Más detalles

Los Tipos Abstractos de Datos. Estructuras de Datos y Algoritmos 03/04

Los Tipos Abstractos de Datos. Estructuras de Datos y Algoritmos 03/04 Los Tipos Abstractos de Datos Estructuras de Datos y Algoritmos 03/04 Qué son los TAD s? Metodología de programación con TAD s Especificación Algebraica de TAD s Qué son los TAD s? Con los lenguajes de

Más detalles

GUIA 2: Repaso sobre uso de C#. Funciones, métodos y arreglos.

GUIA 2: Repaso sobre uso de C#. Funciones, métodos y arreglos. 1 Programación II, Guía 2 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II GUIA 2: Repaso sobre uso de C#. Funciones, métodos y arreglos. Objetivos Utilizar la sintaxis de las funciones

Más detalles

(b) Cuál es la desventaja principal de una heurística con aprendizaje? es más informada que otra función heurística optimista h 2 *?

(b) Cuál es la desventaja principal de una heurística con aprendizaje? es más informada que otra función heurística optimista h 2 *? UNIVERIDD REY JUN CRLO CURO 0-0 INTELIGENCI RTIFICIL Hoja de Problemas Tema Ejercicio : Conteste a las siguientes preguntas: (a) Cómo funciona una heurística con aprendizaje? olución: Una heurística con

Más detalles

Capítulo 6. ÁRBOLES.

Capítulo 6. ÁRBOLES. 67 Capítulo 6. ÁRBOLES. 6.1 Árboles binarios. Un árbol binario es un conjunto finito de elementos, el cual está vacío o dividido en tres subconjuntos separados: El primer subconjunto contiene un elemento

Más detalles

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice

Más detalles

Seagate Extended Capacity Manager

Seagate Extended Capacity Manager Seagate Extended Capacity Manager Seagate Extended Capacity Manager (ECM) permite que su sistema operativo (SO) pueda admitir discos de gran capacidad con estilo de partición MBR. Después podrá utilizar

Más detalles

Principios de Computadoras II

Principios de Computadoras II Departamento de Ingeniería Electrónica y Computadoras Operadores y Expresiones rcoppo@uns.edu.ar Primer programa en Java 2 Comentarios en Java Comentario tradicional (multi-línea) Comentario de línea Comentario

Más detalles

Proyecto de ISIII. Pruebas Extra. Pruebas de Caja Blanca

Proyecto de ISIII. Pruebas Extra. Pruebas de Caja Blanca Proyecto de ISIII. Pruebas Extra Pruebas de Caja Blanca InfoMedia 27 de mayo de 2009 Índice Historial... 3 División del método en nodos... 4 Diagrama de Flujo de Control del método... 6 Diseño y realización

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

(d) Puede haber estrategias que funcionan mejor que Minimax si el contrincante es

(d) Puede haber estrategias que funcionan mejor que Minimax si el contrincante es Universidad Rey Juan Carlos Curso 2014 2015 Hoja de Problemas Tema 5 1. Cuáles de las siguientes afirmaciones acerca del algoritmo Minimax son ciertas (a) El algoritmo Minimax realiza una exploración primero

Más detalles

Árboles binarios de búsqueda

Árboles binarios de búsqueda Clase 27 Árboles binarios de búsqueda Árboles binarios de búsqueda En la clase anterior, definimos el concepto de árbol binario de búsqueda como un árbol binario de nodos que contienen una clave ordenada

Más detalles

DISEÑO DEL SISTEMA DE INFORMACION (DSI)

DISEÑO DEL SISTEMA DE INFORMACION (DSI) DISEÑO DEL SISTEMA DE INFORMACION (DSI) El objetivo del proceso de Diseño del Sistema de Información (DSI) es la definición de la arquitectura del y del entrono tecnológico que le va a dar soporte, junto

Más detalles

Estructuras en LabVIEW.

Estructuras en LabVIEW. Estructuras en LabVIEW. Sumario: 1. Ejecución según el flujo de datos. 2. Estructuras básicas disponibles en LabVIEW. a) Estructura Sequence. b) Estructura Case. c) Estructura For Loop. d) Estructura While

Más detalles

Tema 1.3. Un lenguaje mínimo y su procesador: Restricciones contextuales

Tema 1.3. Un lenguaje mínimo y su procesador: Restricciones contextuales Tema 1.3. Un lenguaje mínimo y su procesador: Restricciones contextuales Profesor Federico Peinado Elaboración del material José Luis Sia Federico Peinado Facultad de Informática Universidad Complutense

Más detalles

Imprimir PDF en WebDynpro para JAVA sin utilizar Interactive Forms en llamadas RFC.

Imprimir PDF en WebDynpro para JAVA sin utilizar Interactive Forms en llamadas RFC. Imprimir PDF en WebDynpro para JAVA sin utilizar Interactive Forms en llamadas RFC. Se puede imprimir un pdf utilizando una llamada RFC el cual entregará el pdf vía una variable binaria. Entonces si en

Más detalles

Métodos que devuelven valor Dado el siguiente triángulo rectángulo:

Métodos que devuelven valor Dado el siguiente triángulo rectángulo: Métodos que devuelven valor Dado el siguiente triángulo rectángulo: hipotenusa altura base Para dibujar este triángulo necesitamos los siguientes datos: base y altura La base y la altura, se utilizarán

Más detalles

Aprendizaje Automatizado

Aprendizaje Automatizado Aprendizaje Automatizado Aprendizaje Automatizado Programas que mejoran su comportamiento con la experiencia. Dos formas de adquirir experiencia: A partir de ejemplos suministrados por un usuario (un conjunto

Más detalles

Tema 7. El sistema de clases

Tema 7. El sistema de clases Programación Declarativa Haskell Informática Sistemas Curso 2003-2004 Pepe Gallardo Universidad de Málaga Tema 7. El sistema de clases 7.1 Funciones Sobrecargadas Clases e Instancias 7.2 Algunas Clases

Más detalles

funciones printf scanf

funciones printf scanf FUNCIONES EN C FUNCIONES Los módulos en C se llaman funciones. Hemos estado utilizando funciones de la biblioteca estandar stdio.h como por ejemplo printf y scanf. Comenzaremos viendo algunas funciones

Más detalles

Tema: Introducción al IDE de Microsoft Visual C#.

Tema: Introducción al IDE de Microsoft Visual C#. Tema: Introducción al IDE de Microsoft Visual C#. Objetivos: El propósito de este tema es que el alumno se familiarice con el entorno de desarrollo de Visual C# Express mientras crea el formulario más

Más detalles

Estructuras de datos Árboles B

Estructuras de datos Árboles B Estructuras de datos Árboles B Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Árboles B p. 1 Árboles B Árboles B son árboles balanceados que no son binarios. Todos los vértices contienen

Más detalles

Clases y objetos en python (Programacion Orientada a Objetos)

Clases y objetos en python (Programacion Orientada a Objetos) Clases y objetos en python (Programacion Orientada a Objetos) pythondiario.com /2014/10/clases-y-objetos-en-python-programacion.html Python es un lenguaje de programación orientada a objetos (POO). La

Más detalles

XQuery. Un lenguaje de consulta para XML.

XQuery. Un lenguaje de consulta para XML. XQuery. Un lenguaje de consulta para XML. Nieves Carralero Colmenar. IES Pedro Mercedes. Junta de Comunidades de Castilla-La Mancha. España. Resumen En este artículo se muestra una introducción práctica

Más detalles

Conversión entre Tipos

Conversión entre Tipos Conversión entre Tipos La conversión entre tipos permite comparar y copiar valores entre diferentes tipos. En esta lección describiremos como convertir un tipo dado en otro. Conversión en VB y Existen

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

5. Sentencias selectivas o condicionales

5. Sentencias selectivas o condicionales 60 A. García-Beltrán y J.M. Arranz 5. Sentencias selectivas o condicionales Objetivos: a) Describir el funcionamiento de las sentencias selectivas o condicionales (if-else y switch) b) Interpretar el resultado

Más detalles

UNIVERSIDAD DE ALCALÁ. E.U.P. DEPARTAMENTO DE ELECTRÓNICA.

UNIVERSIDAD DE ALCALÁ. E.U.P. DEPARTAMENTO DE ELECTRÓNICA. UNIVERSIDAD DE ALCALÁ. E.U.P. DEPARTAMENTO DE ELECTRÓNICA. I.T.I. Esp. Electrónica Industrial. ASIGNATURA: LAB. TECNOLOGÍA ELECTRÓNICA II FECHA: 20-10-11 PRACTICA Nº: 2 TECNOLOGÍAS Y PLANTILLAS CURSO 2011/2012

Más detalles

Estructuras de Datos Abstractas en Lenguaje Java

Estructuras de Datos Abstractas en Lenguaje Java Universidad de Santiago de Chile Facultad de Ingeniería Departamento de Ingeniería Industrial Estructuras de Datos Abstractas en Lenguaje Java Listas Enlazadas, Colas, Pilas y Árboles Binarios Creado por

Más detalles

Tablas Hash y árboles binarios

Tablas Hash y árboles binarios Tablas Hash y árboles binarios Algoritmos Tablas hash Árboles Binarios Árboles Balanceados Tablas Hash Introducción Las tablas hash son estructuras tipo vector que ayudan a asociar claves con valores o

Más detalles

Instituto de Computación - Facultad de Ingeniería - Universidad de la República

Instituto de Computación - Facultad de Ingeniería - Universidad de la República Parcial de Programación 2 Julio de 2011 Generalidades: La prueba es individual y sin material. Duración: 3hs. Sólo se contestan dudas acerca de la letra de los ejercicios. Escriba las hojas de un sólo

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

Retículos y Álgebras de Boole

Retículos y Álgebras de Boole Retículos y Álgebras de Boole Laboratorio de Matemática Discreta Jesús Martínez Mateo jmartinez@fi.upm.es Práctica 1. Ordenación topológica A. Herramientas necesarias Para la práctica que vamos a realizar

Más detalles

LA ESTRUCTURA DE DATOS PILA EN JAVA. CLASE STACK DEL API JAVA. EJEMPLO Y EJERCICIOS RESUELTOS. (CU00923C)

LA ESTRUCTURA DE DATOS PILA EN JAVA. CLASE STACK DEL API JAVA. EJEMPLO Y EJERCICIOS RESUELTOS. (CU00923C) APRENDERAPROGRAMAR.COM LA ESTRUCTURA DE DATOS PILA EN JAVA. CLASE STACK DEL API JAVA. EJEMPLO Y EJERCICIOS RESUELTOS. (CU00923C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado

Más detalles

PROGRAMACION ORIENTADA A OBJETOS Ingenieria Informática Final Febrero 2006/07

PROGRAMACION ORIENTADA A OBJETOS Ingenieria Informática Final Febrero 2006/07 PROGRAMACION ORIENTADA A OBJETOS Ingenieria Informática Final Febrero 2006/07 Ejercicio 1. Un indice de referencias cruzadas de las palabras que aparecen en un texto es una tabla por palabras y, por cada

Más detalles

Universidad de Cantabria. Facultad de Ciencias Ingeniería en Informática. Ingeniería del Software II

Universidad de Cantabria. Facultad de Ciencias Ingeniería en Informática. Ingeniería del Software II Universidad de Cantabria. Facultad de Ciencias Ingeniería en Informática. Ingeniería del Software II Ejercicios del Tema 1: Construcción y Pruebas del Software Ejercicio 1 Se desean realizar pruebas de

Más detalles

ÁRBOLES GENERALES Y Y ESTRUCTURAS DE ÍNDICES DEFINICIONES Y REPRESENTACIONES DEFINICIONES Y REPRESENTACIONES. NOMENCLATURA SOBRE ÁRBOLES. DECLARACIÓN Y REPRESENTACIÓN.. CONSTRUCCIÓN.. ÁRBOLES 2-3-4. ÁRBOLES

Más detalles

Ampliación de Estructuras de Datos

Ampliación de Estructuras de Datos Ampliación de Estructuras de Datos Amalia Duch Barcelona, marzo de 2007 Índice 1. Diccionarios implementados con árboles binarios de búsqueda 1 2. TAD Cola de Prioridad 4 3. Heapsort 8 1. Diccionarios

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

$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos

$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos PROGRAMACIÓN DE SHELL SCRIPTS EN LINUX El shell es un intérprete de órdenes, pero el shell no es solamente eso; los intérpretes de órdenes de Linux son auténticos lenguajes de programación. Como tales,

Más detalles

Programación en Visual Basic Ricardo Rodríguez García

Programación en Visual Basic Ricardo Rodríguez García Manual Básico de Programación en Visual Basic 1.- Estructura de un proyecto Visual Basic Los programas o aplicaciones desarrolladas en Visual Basic van a constituir un único paquete que denominaremos proyecto.

Más detalles

PROCESADORES DE LENGUAJE EXAMEN FINAL 8-JUNIO-07

PROCESADORES DE LENGUAJE EXAMEN FINAL 8-JUNIO-07 PROCESADORES DE LENGUAJE EXAMEN FINAL 8-JUNIO-07 1. En qué método de análisis sintáctico puede suceder que en la construcción del árbol de derivación de las posibles expansiones de un símbolo no terminal

Más detalles

Grados Ing. Inf. y Mat. Inf. Julio 2014 Algoritmos y Estructura de Datos Página 1 de 6

Grados Ing. Inf. y Mat. Inf. Julio 2014 Algoritmos y Estructura de Datos Página 1 de 6 Grados Ing. Inf. y Mat. Inf. Julio 201 Algoritmos y Estructura de Datos Página 1 de 6 Algoritmos y Estructura de Datos: Examen Julio (Solución) Grados Ing. Inf. y Mat. Inf. Julio 201 Departamento de Lenguajes,

Más detalles

Examen Parcial de Programación II Ejercicio Práctico

Examen Parcial de Programación II Ejercicio Práctico UPM ETSIInf. Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software. Examen Parcial de Programación II Ejercicio Práctico 18 de Mayo de 2016 Duración: La duración total del ejercicio

Más detalles

(e) Con la poda alfa-beta se eliminan nodos que nunca serán alcanzados

(e) Con la poda alfa-beta se eliminan nodos que nunca serán alcanzados Universidad Rey Juan Carlos Curso 2014 2015 Hoja de Problemas Tema 5 1. Cuáles de las siguientes afirmaciones acerca del algoritmo Minimax son ciertas (a) El algoritmo Minimax realiza una exploración primero

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

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java I... 5 Tipos de datos... 6 Tipos de datos simples... 7 Operadores... 11 Operadores Aritméticos... 12 Operadores relacionales...

Más detalles

CONALEP TEHUACÁN 150. INSTALACIÓN DE SISTEMAS MICROPROCESADOS. GRUPO 309 SOMA UNIDAD 2. INTRODUCCIÓN A LA PROGRAMACIÓN EN LENGUAJE ENSAMBLADOR

CONALEP TEHUACÁN 150. INSTALACIÓN DE SISTEMAS MICROPROCESADOS. GRUPO 309 SOMA UNIDAD 2. INTRODUCCIÓN A LA PROGRAMACIÓN EN LENGUAJE ENSAMBLADOR CONALEP TEHUACÁN 150. INSTALACIÓN DE SISTEMAS MICROPROCESADOS. GRUPO 309 SOMA UNIDAD 2. INTRODUCCIÓN A LA PROGRAMACIÓN EN LENGUAJE ENSAMBLADOR Programas a explicar: 1. Hello World.asm 01 02 03 org 100h

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

FUNDAMENTOS DE INFORMÁTICA

FUNDAMENTOS DE INFORMÁTICA FUNDAMENTOS DE INFORMÁTICA Tema 2 Expresiones, operadores y estructuras de control Departamento de Ingeniería de Sistemas y Automática Universidad de Vigo Fundamentos de Informática. Departamento de Ingeniería

Más detalles

Práctica 4: Herencia. Objetivos:

Práctica 4: Herencia. Objetivos: Práctica 4: Herencia Objetivos: Como se implementa la herencia en Java (superclase - clase descendiente). Utilizar super. Redefinición de métodos Clase Object Clase System Clases abstractas 1. Herencia.

Más detalles

Uso de archivos en C++

Uso de archivos en C++ CICLO 02-2013 UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLOGICOS ESCUELA DE COMPUTACION GUIA DE LABORATORIO Nº 11 Nombre de la práctica: Uso de archivos en C++ Lugar de ejecución: Laboratorio de Informática

Más detalles

Funciones. Parámetros por valor

Funciones. Parámetros por valor Funciones I Parámetros por valor Fundamentos de Programación Fundamentos de Programación I Llamada a la función definición subprograma Subprogramas en C++ Funciones 1 Una función es un subprograma que

Más detalles

Estructuras de datos. Estructuras de datos

Estructuras de datos. Estructuras de datos Un arbol es un conjunto de nodos que cumplen con las relaciones padre, hijo y hermano. Llamamos hijos de un nodo a todos los nodos que podemos llegar directamente por medio de un apuntador hacia ellos

Más detalles

Árboles balanceados. Alonso Ramírez Manzanares Computación y Algoritmos 28.04.2015 1. Thursday, April 30, 15

Árboles balanceados. Alonso Ramírez Manzanares Computación y Algoritmos 28.04.2015 1. Thursday, April 30, 15 Árboles balanceados Alonso Ramírez Manzanares Computación y Algoritmos 28.04.2015 1 Árboles balanceados Los algoritmos en árboles binarios de búsqueda dan buenos resultados en el caso promedio pero el

Más detalles

VISUAL BASIC 6 GUIA 4. Ing. Raymond Marquina 1

VISUAL BASIC 6 GUIA 4. Ing. Raymond Marquina 1 VISUAL BASIC 6 GUIA 4 Ing. Raymond Marquina 1 MEJORAS AL PROGRAMA PHONE Ahora mejorara al programa Pone añadiendo un botón Buscar y botón Eliminar. Buscar le permitirá buscar un nombre particular y Eliminar

Más detalles