Tema 7: Árbol Binario
|
|
|
- José Ángel Marín Padilla
- hace 9 años
- Vistas:
Transcripción
1 Apuntes elaborados por: Eduardo Quevedo, Aaron Asencio y Raquel López Revisado por: Javier Miranda el???? Tema 7: Árbol Binario En el árbol binario se combina lo mejor del array (acceso rápido a elementos, ej. Búsqueda binaria) y lo mejor de la lista dinámica (no hay que fijar de antemano el tamaño máximo, no hay que abrir hueco para insertar un elemento y no hay que cerrar el hueco al borrar un elemento). Si se tuvieran los elementos a insertar sería ideal y sencillo dado que se podrían colocar en su posición perfecta, pero no es así, no se tienen los datos desde el principio, así que se sigue el criterio de tener los menores a la izquierda y los mayores a la derecha, así que si el primer elemento es muy pequeño o muy grande puede ocurrir que tengamos una lista en vez de un árbol, esto se soluciona si se vuelca el contenido en un array y se vuelve a insertar, por lo que tendríamos un árbol bien organizado como el siguiente: Los árboles se implementan fundamentalmente con listas simplemente enlazadas, ya que no hay interés de tener una doble. Se pueden tener árboles balanceados que se van reajustando si se sobrepasa el límite, esto no se implementará en la asignatura. No hay que hacer métodos de ordenación lógicamente.
2 Terminología de árboles binarios: Hoja: Nodo sin hijos, en estos nodos es en los que vamos a realizar la inserción. Subárbol: Subconjunto del árbol. Raíz: El padre de todos los nodos. Niveles: Dos nodos se dice que están al mismo nivel si están a la misma profundidad en el árbol. Camino: Recorrido de un nodo a otro. Padre: Nodo anterior a un nodo. Hijo: Nodo al que otro nodo está apuntando (su padre).
3 Estructuras de datos Las declaraciones que necesitamos para declarar un árbol son similares a las que hemos utilizado para listas, se vuelve a hacer limited private y en lugar de tener para el nodo un Siguiente se tienen dos campos: Izquierda y Derecha, para el árbol se designa raíz que será el primer nodo del árbol: package Arbol is type T_Arbol is limited private; private type T_Nodo type T_Nodo_Ptr is access T_Nodo; type T_Nodo is record Info : T_Info; Izquierda : T_Nodo_Ptr := null; Derecha : T_Nodo_Ptr := null; - - Ahora se les llama Izquierda y Derecha a los punteros a - - nodos end record; type T_Arbol is record Raiz : T_Nodo_Ptr := null; end record; end Arbol; Funcion Existe Comencemos viendo una posible implementación de la función Existe que comprueba si existe un elemento en un árbol, se considera que Info es un entero. function Existe (Arbol : in T_Arbol; Info : in Integer) return Boolean is Actual : T_Nodo_Ptr := Arbol.Raiz; while Actual /= null loop - - Se considerará que si es que si el valor es menor que el - - actual se va a la izquierda y si no a la derecha if Info = Actual.Info then return True; elsif Info < Actual.Info then Actual := Actual.Izquierda; Actual := Actual.Derecha; end loop; return False; end Existe;
4 Procedimiento Insertar Cabe destacar que se tendrá en cuenta el caso de duplicados. procedure Insertar (Arbol : in out T_Arbol; Valor : in Integer) is Actual : T_Nodo_Ptr := Arbol.Raiz; Anterior : T_Nodo_Ptr := null; Nuevo : T_Nodo_Ptr := null; -- Buscamos la posición donde hay que insertar el nuevo valor. Para ello hacemos un -- bucle mientras no lleguemos al final de una rama y mientras el valor del nodo en el -- que estamos no coincida con el valor que queremos insertar: while Actual /= null and then Actual.Info /= Valor loop Anterior := Actual; if Valor < Actual.Info then Actual := Actual.Izquierda; Actual := Actual.Derecha; end loop; -- Si al salir de este bucle Actual no es null significa que se encontró un nodo cuyo -- valor coincide con el valor que queríamos insertar. Puesto que no permitimos -- elementos duplicados, elevamos la correspondiente excepción: if Actual /= null then raise Duplicado; -- En otro caso podemos insertar sin problemas: -- Pedimos memoria y guardamos la información en el nuevo nodo: Nuevo := new T_Nodo; Nuevo.Info := Valor; -- Si Anterior es null, es decir, si el árbol está vacío: if Anterior = null then Arbol.Raiz := Nuevo;
5 -- Comprobamos si el valor a insertar es mayor o menor que el valor del nodo -- apuntado por Anterior, para saber si hay que insertar a la izquierda o a la -- derecha: if Valor < Anterior.Info then Anterior.Izquierda := Nuevo; Anterior.Derecha := Nuevo; -- En lugar de usar el nodo Anterior para preguntar en este if, se podía haber -- usado una variable de tipo Boolean o de tipo T_Dirección -- type T_Dirección is (Izquierda, Derecha); -- que nos vaya diciendo, a medida que hacemos el recorrido, en qué dirección -- nos movemos. end Insertar; Procedimiento Borrar Este es posiblemente el procedimiento más complicado de la asignatura, hay una gran cantidad de casos particulares y el caso general es bastante complicado, sería bueno que los casos particulares fueran tratados en procedimientos aparte a la hora de hacer la práctica. Se distinguirán los casos particulares y el caso general. Para implementar este procedimiento hay que tener en cuenta, a grandes rasgos, cinco casos: Árbol vacío. Árbol con un solo elemento. El nodo a borrar es un nodo hoja. El nodo a borrar tiene un único hijo, en suyo caso éste ocupará el lugar del nodo que vamos a borrar. El nodo a borrar tiene dos hijos. En este caso hay que buscar un nodo que pueda ocupar el lugar del que vamos a borrar de forma que se respete la estructura del árbol: para ello, el nodo sustituto debe ser el mayor de los menores (el situado más a la derecha del hijo izquierdo de la raíz del árbol), o bien, el menor de los mayores (el situado más a la izquierda del hijo derecho de la raíz del árbol)
6 Caso 1: Borrar la raíz null: Es el más sencillo, tan solo hay que hacer free del nodo y poner Raiz a Caso 2: Borrar un nodo hoja Los nodos hoja se borran también fácilmente, basta con hacer free y poner el anterior a null.
7 Caso 3: Borrar un nodo padre de dos nodos hoja En este caso debemos encontrar un sustituto ideal para reemplazar al padre con dos hijos. Hay dos posibilidades: 1) El sustituto ideal puede ser el mayor del sub-arbol izquierdo del padre. (en nuestro ejemplo el 7) 2) El sustituto ideal puede ser el menor del sub-arbol derecho del padre. (en nuestro ejemplo el 15) Para el árbol de la figura anterior sería más conveniente la primera opción porque el árbol resultante estaría más equilibrado que si resolvemos utilizando la opción 2. Para elegir una opción u otra podríamos hacer una función que nos calcule cual de los sub-arboles del padre tiene mayor número de elementos.
8 Caso 4: Borrar un nodo padre con un solo hijo que no es hoja Para borrar este nodo su sustituto ideal es el hijo izquierdo. En caso de tener sólo el hijo derecho, el sustituto ideal es el hijo derecho. TIPOS DE RECORRIDO La forma más sencilla de recorrer el árbol es utilizando recursividad, pues tiene la ventaja de que si el parámetro del procedimiento (el puntero al nodo actual) se pasa en modo in, la dirección del nodo anterior se guarda en la pila que usa el compilador, con lo que no perdemos ninguna dirección. Si no podemos utilizar la recursividad habría que hacer una solución iterativa que utilizase una pila de punteros. NOTA: En los procedimientos recursivos en los que vayamos a recorrer el árbol, el parámetro de tipo T_Nodo_Ptr que usamos como índice debe ser de entrada exclusivamente ya que si fuese de entrada-salida al llegar al final de una rama no podríamos volver a subir en el árbol. Esto es así porque si se pone como parámetro de modo out al salir del procedimiento se copia el valor final del puntero para devolverlo al punto de la llamada (con lo que al retornar ya no tenemos el valor anterior del puntero, que era el puntero al nodo anterior).. Lo vemos mejor en el siguiente ejemplo:
9 8 / \ 4 12 / \ / \ in 2 in 4 in 8 Retorna del procedimiento tras tratar el nodo 2 in 4 in 8 Baja por la rama del 6 in 6 in 4 in 8 Retorna del procedimiento tras tratar el nodo 6 in 4 in 8... Sin embargo si el modo del parámetro fuese in out veamos que el recorrido falla: 8 / \ 4 12 / \ / \ In out 2 in out 4 in out 8 Retorna del procedimiento tras tratar el nodo 2 y, como el parámetro es out copia el valor del puntero hacia fuera in out 2 in out 8 Debería bajar por la rama del 6 pero no puedo porque he perdido el puntero al 4???? in out 2 in out 8
10 Existen 3 recorridos básicos de un árbol: Pre-order In-order : : Primero se procesan los nodos padre y después los nodos hijo. Este tipo de recorrido se usa, por ejemplo, para guardar un árbol en un fichero y reconstruirlo posteriormente exactamente cómo estaba. Cuando queramos leer de fichero para reconstruir el árbol lo único que hay que hacer es ir insertando los elementos en el árbol según el orden en que están dispuestos en el fichero. Así conseguimos construir un árbol idéntico al que guardamos. Se recorre el árbol en orden. Este tipo de recorrido se usa para recorrer todos los nodos de menor a mayor o de mayor a menor. Una posible aplicación seria equilibrar las ramas de un árbol; la forma de hacer este procedimiento es: recorremos el árbol en inorder y vamos guardando los elementos en un array; como este array estará ordenado, hacemos un recorrido binario del mismo y vamos reinsertando los elementos en un nuevo árbol que finalmente estará equilibrado. Post-order : Primero se procesan los hijos y después el padre. Este tipo de recorrido se puede utilizar, por ejemplo, para borrar todos los nodos de un árbol. De esta forma evitamos perder nodos ya que si usásemos otro recorrido, como por ejemplo el recorrido en pre-order, estaríamos borrando primero el nodo padre, con lo que habríamos perdido la dirección de los nodos que vamos a borrar. Las implementaciones recursivas serían las siguientes: -- Pre_Order procedure Recorrer_Pre_Order (Nodo : in T_Nodo_Ptr) is if Nodo = null then return; Mostrar_Contenido (Nodo.Info); Recorrer_Pre_Order (Nodo.Izquierda); Recorrer_Pre_Order (Nodo.Derecha); end Recorrer_Pre_Order; -- In_Order procedure Recorrer_In_Order (Nodo : in T_Nodo_Ptr) is if Nodo = null then return; Recorrer_In_Order (Nodo.Izquierda); Mostrar_Contenido (Nodo.Info); Recorrer_In_Order (Nodo.Derecha); end Recorrer_In_Order;
11 -- Post_Order procedure Recorrer_Post_Order (Nodo : in T_Nodo_Ptr) is if Nodo = null then return; Recorrer_Post_Order (Nodo.Izquierda); Recorrer_Post_Order (Nodo.Derecha); Mostrar_Contenido (Nodo.Info); end Recorrer_Post_Order; Para el siguiente árbol: Los resultados serían los siguientes: Pre_Order: In_Order: Post_Order: Los recorridos del árbol explicados anteriormente, se pueden implementar con la ayuda de una pila o de una pila y un array en determinados casos.
12 Ejercicio de Profundidad: Se hizo un ejercicio que recursivamente halla la profundidad de un árbol, para ello se usa la fórmula de 1 + Máximo (Profundidad (Izquierda), Profundidad (Derecha)) Si la raíz es nula devuelve directamente 0, si no usa la fórmula. La función usa otra auxiliar para usar punteros a nodo. function Profundidad (Arbol : in T_Arbol) return Natural is function Maximo (Izquierda : in Natural; Derecha : in Natural) return Natural is if Izquierda <= Derecha then return Derecha; return Izquierda; end Maximo; function Profundidad_Auxiliar (Nodo : in T_Nodo_Ptr) return Natural is if Nodo = null then return 0; return 1 + Maximo (Profundidad_Auxiliar (Nodo.Izquierda), Profundidad_Auxiliar (Nodo.Derecha)); end Profundidad_Auxiliar; return Profundidad_Auxiliar (Arbol.Raiz); end Profundidad; Ejercicio de Vaciado de un árbol: Es un procedimiento que vacía el árbol de forma recursiva. Para ello realizamos un recorrido en post-order. procedure Vaciar (Arbol : in out T_Arbol) is procedure Vaciar (p : in out T_Nodo_Ptr) is if p = null then return;
13 Vaciar (p.izq); Vaciar (p.der); Free (p); end Vaciar; Vaciar (Arbol.Raiz); end Vaciar; Ejercicios propuestos de árboles: 1º) Función Existe que cuando encuentre un elemento escriba el pantalla todo el camino que ha seguido (sólo si lo encuentra). 2º) Espejo de árbol (Dado un árbol poner su inverso). 3º) Escribir en pantalla todos los valores por niveles. (*nota para este ejercicio es necesario la implementación de una cola)
Tema 5.- Recursividad
Apuntes elaborados por: Raquel López, Eduardo Quevedo y Aaron Asencio Revado por: Javier Miranda el???? Tema 5.- Recursividad NOTA Todos los ejemplos que se exponen en este tema se pueden realizar utilizando
Programación. Tema 8: Tablas Hash. Apuntes elaborados por: Eduardo Quevedo, Aaron Asencio y Raquel López Revisado por: Javier Miranda el????
Programación. Tema : Tablas Hash /Mayo/ Apuntes elaborados por: Eduardo Quevedo, Aaron Asencio y Raquel López Revisado por: Javier Miranda el???? Tema : Tabla Hash Las tabla hash aparece para conseguir
Tema 4.- Pilas y Colas
Apuntes elaborados por: Eduardo Quevedo, Raquel López y Aaron Asencio Revisado por: Javier Miranda el???? Tema 4.- Pilas y Colas Las pilas y colas son estructuras de datos que se utilizan generalmente
UNIDAD 4. MODIFICAR TABLAS DE DATOS
UNIDAD 4. MODIFICAR TABLAS DE DATOS Aquí veremos las técnicas de edición de registros para modificar tanto la definición de una tabla como los datos introducidos en ella. Esta unidad está dedicada, principalmente,
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
Universidad de Valladolid. Departamento de informática. Campus de Segovia. Estructura de datos Tema 4: Ordenación. Prof. Montserrat Serrano Montero
Universidad de Valladolid Departamento de informática Campus de Segovia Estructura de datos Tema 4: Ordenación Prof. Montserrat Serrano Montero ÍNDICE Conceptos básicos Elección de un método Métodos directos
media = ( temp0 + temp1 + temp2 + temp3 + temp temp23 ) / 24; printf( "\nla temperatura media es %f\n", media );
Arrays en el lenguaje C Introducción Una posible definición de array sería: Un conjunto de datos del mismo tipo, identificados por el mismo nombre, y que se pueden distinguir mediante un número de índice.
Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1
Prologo Agradecimientos Nota de los autores Índice general I III V VII 1 Problemas, algoritmos y programas 1 1.1 Programas y la actividad de la programación.................... 4 1.2 Lenguajes y modelos
Tema 6. Gestión dinámica de memoria
Tema 6. Gestión dinámica de memoria http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales, [email protected] Estructuras de datos y de la
Para poder comenzar a trabajar con Excel, es necesario considerar los siguientes términos:
Conceptos básicos de Excel Para poder comenzar a trabajar con Excel, es necesario considerar los siguientes términos: Libro de trabajo Un libro de trabajo es el archivo que creamos con Excel, es decir,
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
Seleccionamos el programa Excel. Nos aparece la pantalla del programa
LECCIÓN 1ª Poner en marcha el programa Para poner en marcha el programa lo abrimos. Existen varias formas, por ejemplo partiendo del botón "Inicio" de la esquina inferior izquierda. Pulsamos el botón "Inicio"
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.
Unidad Nº V Listas Enlazadas
Instituto Universitario Politécnico Santiago Mariño Unidad Nº V Listas Enlazadas Lista Enlazadas Es una colección o secuencia de elementos dispuestos uno detrás de otro, en la que cada elemento se conecta
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
Sistema de Gestión y almacenamiento de archivos en el Campus Virtual
Sistema de Gestión y almacenamiento de archivos en el Campus Virtual Página 1 de 15 GESTIÓN DE ARCHIVOS Dentro del Campus Virtual vamos a tener distintas formas de seleccionar y gestionar los archivos.
Parte II: Estructuras de datos y algoritmos
Parte II: Estructuras de datos y algoritmos Tema 11. Tipos abstractos de datos. Conceptos básicos. Listas. Pilas. Colas. Vectores. Conjuntos. Mapas. Árboles. Árboles binarios. GRUPO DE COMPUTADORES Y TIEMPO
<tipo> Tipo de dato de los elementos del vector
Vectores y matrices Declaración Vector (array unidimiensional): []; Tipo de dato de los elementos del vector Identificador de la variable.
Curso de Programación 1
Curso de Programación 1 Plan 97 Búsqueda y Ordenación Métodos de búsqueda Existen aplicaciones en las cuales es necesario consultar si un elemento se encuentra dentro de un array. A continuación veremos
LEER Y ESCRIBIR ARCHIVOS DE TEXTO CON PHP. FUNCIONES FOPEN (MODOS), FGETS, FPUTS, FCLOSE Y FEOF. EJEMPLOS (CU00836B)
APRENDERAPROGRAMAR.COM LEER Y ESCRIBIR ARCHIVOS DE TEXTO CON PHP. FUNCIONES FOPEN (MODOS), FGETS, FPUTS, FCLOSE Y FEOF. EJEMPLOS (CU00836B) Sección: Cursos Categoría: Tutorial básico del programador web:
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
Herramientas para investigadoras e investigadores sociales
Herramientas para investigadoras e investigadores sociales Nº1: Word para insertar citas y bibliografía Introducción En esta primera edición del apartado "Herramientas para investigadores e investigadoras
MICROSOFT EXCEL 2007
INGRESAR A EXCEL 007 MICROSOFT EXCEL 007. Clic en Inicio. Colocar el puntero del ratón (flecha) en Todos los programas. Colocar el puntero del ratón (flecha) en Microsoft Office. Clic en Microsoft Excel
INSTITUCION EDUCATIVA MANUEL ANGEL ANACHURY AREA: TECNOLOGIA E INFORMATICA
BASES DE DATOS (ACCES 2007) OBJETIVO: Conocer el concepto de bases de datos y su funcionalidad además de crear destrezas en su creación y manipulación. Elementos básicos de Access 2007 Vamos a ver cuáles
CAPÍTULO 1. ELEMENTOS DE EXCEL
CAPÍTULO 1. ELEMENTOS DE EXCEL Excel es un programa del tipo Hoja de Cálculo que permite realizar operaciones con números organizados en una cuadrícula. Es útil para realizar desde simples sumas hasta
Tabla de Símbolos. Programación II Margarita Álvarez
Programación II Margarita Álvarez La tabla de símbolos es una estructura global utilizada por distintos módulos del compilador. Es el principal atributo heredado. Almacena todos los nombres declarados
5. Subprogramas Fundamentos de Informática
5. Subprogramas Fundamentos de Informática Dpto. Lenguajes y Sistemas Informáticos Curso 2012 / 2013 Índice Subprogramas 1. Cálculo de la función Coseno 2. Suma 3. Ecuación de 2º grado 2 1. Cálculo de
Clases e instancias. Algoritmos y Estructuras de Datos I. Clases e instancias. memoria dinámica.
Algoritmos Estructuras de Datos I Primer cuatrimestre de 2014 Departamento de Computación - FCEN - UBA Programación imperativa - clase 10 Memoria dinámica listas enlazadas Clases e instancias El paquete
Editor de código Visual Basic. Lista de miembros automática, sugerencias de sintaxis, autocompletado y otras opciones. (CU00313A)
aprenderaprogramar.com Editor de código Visual Basic. Lista de miembros automática, sugerencias de sintaxis, autocompletado y otras opciones. (CU00313A) Sección: Cursos Categoría: Curso Visual Basic Nivel
PRÁCTICA No. 13 ÁRBOL BINARIO DE BÚSQUEDA
INSTITUTO POLITÉCNICO NACIONAL SECRETARIA ACADÉMICA DIRECCIÓN DE EDUCACIÓN SUPERIOR ESIME CULHUACAN NOMBRE ALUMNO: FECHA DIA MES AÑO INGENIERÍA EN COMPUTACIÓN ASIGNATURA 1. Objetivo Apellido paterno ESTRUCTURAS
Normalmente el destino se puede saber mirando la barra de estado del navegador cuando el ratón esté sobre el hipervínculo.
Qué es un hipervínculo? Un hipervínculo es un enlace, normalmente entre dos páginas web de un mismo sitio, pero un enlace también puede apuntar a una página de otro sitio web, a un fichero, a una imagen,
//Sección de manejo de excepciones. Las rutinas de manejo de errores //aparecen aqui
PL/SQL - Oracle PL/SQL (Procedural Language/SQL) es una extensión de SQL, que agrega ciertas construcciones propias de lenguajes procedimentales, obteniendose como resultado un lenguaje estructural mas
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
ÁRBOLES BINARIOS 2002. GRUPO # 22 Alumnos: Aguilar Elba Barrios Miguel Camacho Yaquelin Ponce Rodríguez Jhonny
ÁRBOLES BINRIOS 2002 GRUPO # 22 lumnos: guilar Elba Barrios Miguel Camacho Yaquelin Ponce Rodríguez Jhonny ESTRUCTURS DE DTOS TEM 6 Estructuras de datos no lineales. Árboles binarios ÍNDICE 6.1. Introducción.
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
Parte 4: Estructuras de Control
Parte 4: Estructuras de Control Las estructuras de control le permiten controlar el flujo de ejecución del programa. Tenemos dos tipos de estructuras de control: Estructuras de decisión Estructuras de
ARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES
ARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES Introducción al tema a. Formar grupos de 4 personas b. Tomar una hoja en blanco y una lapicera o lápiz c. En la hoja en blanco diseña un
RESPUESTA A PREGUNTAS INFORMÁTICAS FRECUENTES.
RESPUESTA A PREGUNTAS INFORMÁTICAS FRECUENTES. La primera vez que se pide a un ordenador que descargue una imagen o la primera vez que se hace con unas claves que se utilizan por 1º vez (por ej: los residentes
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
EBRARY. Descripción general de la base Permite el acceso a más de 31,800 libros electrónicos en texto completo de múltiples disciplinas.
EBRARY Descripción general de la base Permite el acceso a más de 31,800 libros electrónicos en texto completo de múltiples disciplinas. Descripción del servicio El servicio está disponible los 365 días
Combinación DE CORRESPONDENCIA MEDIANTE DOCUMENTO DE WORD
Combinación DE CORRESPONDENCIA MEDIANTE DOCUMENTO DE WORD Con estos apuntes pretendemos que el alumno le sea mas fácil de comprender como se realiza un ejercicio de combinación de correspondencia Para
Enlaces relacionados: http://otn.oracle.com/tech/pl_sql/index.html
1.INTRODUCCION PL/SQL (Procedural Language ó Programming Language, según distintas fuentes, aunque la oficial es la primera) es el lenguaje utilizado por Oracle como extensión al SQL, y que nos va a permitir
Complejidad computacional (Análisis de Algoritmos)
Definición. Complejidad computacional (Análisis de Algoritmos) Es la rama de las ciencias de la computación que estudia, de manera teórica, la optimización de los recursos requeridos durante la ejecución
AGUSTÍN CABANAS LÓPEZ DAVID GANDULLO HOLGUERAS
AGUSTÍN CABANAS LÓPEZ DAVID GANDULLO HOLGUERAS INTRODUCCIÓN El programa MELEDAVO es un sistema experto que se ocupará de simular el funcionamiento de un concesionario de coches. Mediante sencillas preguntas
Tema 5. Estructura de datos Pila
Tema 5. Estructura de datos Pila http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales, sanchiz}@icc.uji.es Estructuras de datos y de la
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
EJERCICIOS EXCEL. Guardar el libro en tu pen drive, con el nombre PRACTICA1_ALUMNO_GRUPO.
EJERCICIOS EXCEL EJERCICIO DEL PRECIO CON IVA Crear un libro para saber cuál es el precio de un artículo aplicándole el 16% de IVA. El precio sin IVA es un valor que se tendrá que introducir, así como
Manual de Windows XP Copyleft - Jorge Sánchez 2005
Copyleft - Jorge Sánchez 2005 Organización de datos en Windows 4.7 Operaciones sobre archivos y carpetas 4.7.1 Crear nuevas carpetas A parte de saber examinar, guardar y abrir documentos, se hace totalmente
EJERCICIO 26 DE EXCEL
EJERCICIO 26 DE EXCEL TABLAS EN EXCEL Tablas En las versiones anteriores de Excel esta característica se conocía como Listas, ahora en esta nueva versión se denomina Tablas. Las tablas facilitan la administración
Visual Basic y.net: Procedimientos Sub y funciones Function. Parámetros. Organizar programas en módulos. (CU00338A)
aprenderaprogramar.com Visual Basic y.net: Procedimientos Sub y funciones Function. Parámetros. Organizar programas en módulos. (CU00338A) Sección: Cursos Categoría: Curso Visual Basic Nivel I Fecha revisión:
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
Clase 1 Excel
Clase 1 Excel 2000 1 Elementos de Excel Excel es un programa del tipo Hoja de Cálculo que permite realizar operaciones con números organizados en una cuadrícula. Es útil para realizar desde simples sumas
PHP: Lenguaje de programación
Francisco J. Martín Mateos Carmen Graciani Diaz Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Tipos de datos Enteros Con base decimal: 45, -43 Con base octal: 043, -054
UNIDAD 2 IMAGEN DIGITAL
Práctica guiada 2.1 Características que afectan al tamaño del archivo de una imagen 1. Las dimensiones de la imagen, anchura y altura, expresadas en centímetros, milímetros, pulgadas o en píxeles. 2. La
Arrays unidimensionales. Dim.Option Base. Erase. Ejemplos en Visual Basic (CU00311A)
aprenderaprogramar.com Arrays unidimensionales. Dim.Option Base. Erase. Ejemplos en Visual Basic (CU00311A) Sección: Cursos Categoría: Curso Visual Basic Nivel I Fecha revisión: 2029 Autor: Mario R. Rancel
Combinación de correspondencia en Microsoft Office Word 2003
Combinación de correspondencia en Microsoft Office Word 2003 Si necesitamos enviar una misma carta a diferentes destinatarios y direcciones, la herramienta combinación de correspondencia de Word nos es
Estatutos de Control C# Estatutos de Decisión (Selección)
SELECCIÓN Estatutos de Control C# Estatutos de Decisión (Selección) IF Condición THEN Estatuto1 ELSE Estatuto2 Estatuto1 Statement Condición... Antes de ver esta presentación: Lee el Capítulo correspondiente
Menú de Arranque en Windows VISTA
Menú de Arranque en Windows VISTA En Windows Vista ya no tenemos el archivo boot.ini en el que modificándose podíamos poner que partición de nuestro disco duro arrancar. Windows Vista carga BOOTMGR que
Introducción a la programación del robot moway
Introducción a la programación del robot moway Índice Introducción... 2 Diagramas de flujo... 2 Bloques de Movimiento... 5 Condicionales... 6 Bucles... 7 Operadores AND / OR... 8 Orden en los diagramas...
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
CAMBIO DOS ENTEROS DOS DECIMALES. 1. En necesario tener acceso a la membrana de configuración para poder realizar el cambio.
México, D.F., viernes, 06 de agosto de 2010 DISPENSARIOS: GILBARCO MODELO: Encore 500 CAMBIO DOS ENTEROS DOS DECIMALES 1. En necesario tener acceso a la membrana de configuración para poder realizar el
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
Elementos esenciales de Power- Point
PowerPoint 2013 Elementos esenciales de Power- Point Área académica de Informática 2015 Elementos esenciales de PowerPoint Introducción PowerPoint es un programa, que nos ofrece la posibilidad de crear
El TAD Grafo. El TAD Grafo
! Esta representación resulta útil cuando el número de vértices se conoce previamente y permanecerá fijo durante la resolución del problema, pero resulta ineficiente si necesitamos añadir o eliminar vértices
Comencemos a programar con. Entrega 10. Estructuras de Control II
Comencemos a programar con VBA - Access Entrega 10 Estructuras de Control II Eduardo Olaz 10-2 Estructuras de Control, segunda parte Las Instrucciones While - - - Wend La estructura de bucle For Contador
lasmatemáticas.eu Pedro Castro Ortega materiales de matemáticas
1. Fracciones Una fracción es una expresión del tipo a b, donde a y b son números naturales llamados numerador y denominador, respectivamente. 1.1. Interpretación de una fracción a) Fracción como parte
7.4. UTILIDADES DE LAS PILAS
7.4. UTILIDADES DE LAS PILAS o Llamadas a subprogramas o Paso de programas recursivos a iterativos o Un caso especial, quick_sort iterativo. o Equilibrado de símbolos o Tratamiento de expresiones aritméticas
TEMA 2: Sistemas Operativos
TEMA 2: Sistemas Operativos 2.1. QUÉ ES UN SISTEMA OPERATIVO? Un sistema operativo es un conjunto de programas encargados de gestionar los recursos del ordenador y que permiten la comunicación del usuario
Data Bases 2. La sintaxis precisa de esta función es: mysql_pconnect (nombre del servidor, el usuario de la base de datos, password ) ;
Data Bases 2 Este capítulo aprenderemos como crear ya una página de internet en la cual tendrá interacción con el usuario, como llenaremos un formulario HTML y que directamente se registre en la Base de
Bing (proveedor de busqueda) Bing es una herramienta de búsqueda que nos ayudará a encontrar lo que buscamos de forma rápida y sencilla.
Bing (proveedor de busqueda) Bing es una herramienta de búsqueda que nos ayudará a encontrar lo que buscamos de forma rápida y sencilla. 0 Construir una búsqueda Si deseamos ver lo mejor de la Web en temas
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
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
Á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
Reporting (objeto Query)
Reporting (objeto Query) En muchas ocasiones necesitamos realizar consultas a la base de datos para analizar la información y poder tomar decisiones. Podemos necesitar agrupar la información por uno o
Tema 3. Aplicaciones de Tipo Consola
Tema 3. Aplicaciones de Tipo Consola Una aplicación de consola es aquella que se ejecuta dentro de una ventana de línea de comandos. Este tipo de ventana recibe diferentes denominaciones: Símbolo del sistema,
UNIDAD 9. DATOS COMPLEJOS PILAS
UNI 9. TOS OMPLEJOS PILS Una pila es una lista de elementos en la que se pueden insertar y eliminar elementos sólo por uno de los extremos. omo consecuencia, los elementos de una pila serán eliminados
INSTITUCIÓN MANUEL MARÍA SÁNCHEZ Tecnología e Informática Word
Combinación de Correspondencia Con la combinación de correspondencia, podemos combinar una lista de datos, tales como nombres y direcciones, con un formulario o plantilla genéricos para crear documentos
TEMA 2 POTENCIAS NOMBRE Y APELLIDOS... HOJA 1 - FECHA...
Nueva del Carmen,. 011 Valladolid. Tel: 1 Fax: 1 Matemáticas º ESO TEMA POTENCIAS NOMBRE Y APELLIDOS... HOJA 1 - FECHA... Comenzamos a trabajar con potencias. Son muy fáciles si las cogemos el tranquillo
Diagramas de secuencia
Facultad de Ingeniería Departamento de Ingeniería de Sistemas y Computación Diagramas de secuencia Fragmentos Combinados: caminos alternativos Departamento de Ingeniería de Sistemas y Computación - Universidad
Práctica 6: Consultas
Práctica 6: Consultas INTRODUCCIÓN Para la realización de las siguientes prácticas el alumno debe descargar el fichero EMPRESA.ZIP, que contiene la base de datos objeto de las prácticas. La base de datos
(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
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
Problemas de Recursividad
Problemas de Recursividad Problema 1. El factorial de un número entero n 0, denotado como n!, se define! como!!! i = 1 2 n cuando n > 0, y 0! = 1. Por ejemplo 6! = 1 2 3 4 5 6 = 720 Diseñad una método
5 ) 5 ) 4 = (+ 8 ,, ( 8. Cuando el exponente de una potencia sea impar no se os ocurra cambiarle el signo a la base 5 ) 3 (+ 8 9 ) 7 (+ 2 9 )
APUNTES Y EJERCICIOS DEL TEMA -T --ºESO POTENCIA DE UNA FRACCIÓN. EXPONENTE PAR/IMPAR: Ya saemos lo que es una potencia. Tienen una ase y un exponente y cada nº indica una cosa en concreto. Pues ahora
Estructura de Datos. Arreglos. Experiencia Educativa de Algorítmica ESTRUCTURA DE DATOS - ARREGLOS 1
Estructura de Datos Arreglos Experiencia Educativa de Algorítmica ESTRUCTURA DE DATOS - ARREGLOS 1 Introducción Una estructura de datos es una colección de datos que pueden ser caracterizados por su organización
Ordenador local + Servidor Remoto
Introducción Saber situarse con exactitud en el árbol de servidores, discos y directorios del ordenador que se está usando Conocer los usos básicos del teclado y el ratón (edición de campos texto, escritura
PREPARACION OLIMPIADA MATEMATICA CURSO
Comenzaremos recordando algunos conocimientos matemáticos que nos son necesarios. Para ello veamos el concepto de factorial de un número natural. Es decir, es un producto decreciente desde el número que
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
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
Algoritmos y programas. Algoritmos y Estructuras de Datos I
Algoritmos y programas Algoritmos y Estructuras de Datos I Primer cuatrimestre de 2012 Departamento de Computación - FCEyN - UBA Programación funcional - clase 1 Funciones Simples - Recursión - Tipos de
(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
Estructura de Datos: Archivos
Estructura de Datos: Archivos Registros (record) Un registro es una estructura que consiste de un número fijo de componentes llamados campos. Los campos pueden ser de diferentes tipos y deben tener un
PROGRAMAS PARA LA CLASSPAD MANAGER.
PROGRAMAS PARA LA CLASSPAD MANAGER. BUSCA DIVISORES Vamos a preparar un programa sencillo, cuya misión es buscar los divisores de un número. Primero lo prepararemos con el Classpad Manager del ordenador,
Creación y manejo de la base de datos y tablas
Crear una base de datos Creación y manejo de la base de datos y tablas Para crear una nueva base de datos debemos: 1. Hacer clic sobre la opción Nuevo de la pestaña Archivo. De las distintas opciones para
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
UNIVERSIDAD AUTÓNOMA DE AGUASCALIENTES CENTRO DE CIENCIAS BÁSICAS DEPARTAMENTO DE SISTEMAS ELECTRÓNICOS OBJETIVO GENERAL MÉTODOS DIDÁCTICOS EVALUACIÓN
UNIVERSIDAD AUTÓNOMA DE AGUASCALIENTES CENTRO DE CIENCIAS BÁSICAS DEPARTAMENTO DE SISTEMAS ELECTRÓNICOS MATERIA: ESTRUCTURAS DE DATOS HRS. T/P: 2/3 CARRERA: LIC. EN TECNOLOGÌAS DE INFORMACIÓN CRÉDITOS:
ACCEDER A BITÁCORA DE TRABAJO SQL SERVER
ACCEDER A BITÁCORA DE TRABAJO SQL SERVER Función fn_dblog Se trata de una función no documentada del sistema, por lo cual, tiene la ventaja de poder utilizarse en la cláusula FROM de una sentencia SELECT.
