3.4 Parsers DOM con JAXP

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

Download "3.4 Parsers DOM con JAXP"

Transcripción

1 3.4 Parsers DOM con JAXP

2 Una representación DOM de Movies.xml Document DocumentType Element (movies) Comment Element (movie, La Maldición..) Comment Element (movie, Amelie) Element (director) Element (actor) Element (actor)... synopsis... EBI: Espacio en Blanco Ignorable

3 Comentarios La declaración XML no está presente en el árbol DOM Seguramente cambiará con DOM Level 3 Los elementos de tipo PCDATA sólo tienen un hijo de tipo Si dentro del elemento también hubiese comentarios o secciones CDATA, habría los correspondientes hijos Le indicaremos al parser que haga esto transparente para nosotros Observar los nodos que representan secciones de espacio en blanco (blancos, tabuladores y saltos de línea) Ej.: los que hay dentro de los elementos que no son de tipo PCDATA En documentos orientados a datos, representan espacio en blanco ignorable Le indicaremos al parser que los descarte Los atributos de un nodo Element no son sus hijos, sino (valga la redundancia) atributos suyos Ej.: Un nodo Element que representa a un elemento movie, tendrá los atributos: title, runtime, releaseday, etc.

4 Resumen de org.w3c.dom Document DocumentType Comment Node CharacterData Element CDATASection 0..n NodeList Attr EntityReference

5 Comentarios (1) La jerarquía de interfaces mostrada no es completa Sólo muestra los que son más útiles para documentos orientados a datos Corresponde a una aplicación del patrón Composite Node dispone de operaciones que no son aplicables a todos sus subtipos Ej.: Un nodo no tiene hijos, y en consecuencia, getchildnodes devuelve una lista vacía, appendchild devolvería una excepción, etc. Los subtipos de Node añaden operaciones Ej.: Element dispone de la operación getattribute, que permite recuperar el valor de un atributo Al recorrer el árbol se necesita saber el tipo de cada Node La operación getnodetype devuelve un entero que indica el tipo del nodo Node.ELEMENT_NODE, Node.TEXT_NODE, etc.

6 Attr Comentarios (y 2) Representa un atributo de un elemento Es un subtipo de Node, sin embargo, nunca se traduce en un nodo del árbol (es decir, un Element nunca tiene un hijo Attr) Accederemos a los atributos de un elemento a través de Element Con JAXP, por defecto (puede cambiarse), el parser resuelve automáticamente las referencias a entidades No se traducen en nodos

7 (1) package es.udc.fbellas.j2ee.xmltutorial.movies.controller.moviesadder. dom; import java.util.list; import java.util.arraylist; import java.util.calendar; import javax.xml.parsers.documentbuilderfactory; import javax.xml.parsers.documentbuilder; import org.xml.sax.saxexception; import org.w3c.dom.node; import org.w3c.dom.document; import org.w3c.dom.element; import org.w3c.dom.nodelist; import es.udc.fbellas.j2ee.util.xml.defaulterrorhandler; import es.udc.fbellas.j2ee.xmltutorial.movies.controller.moviesadder. MoviesAdder; import es.udc.fbellas.j2ee.xmltutorial.movies.controller.moviesadder. MoviesAdderException; import es.udc.fbellas.j2ee.xmltutorial.movies.model.movie.vo.movievo; import es.udc.fbellas.j2ee.xmltutorial.movies.model.moviesadminfacade. delegate.moviesadministrationfacadedelegate;

8 (2) public class DOMMoviesAdder implements MoviesAdder { private int moviesblocksize; public void setmoviesblocksize(int moviesblocksize) { this.moviesblocksize = moviesblocksize; public void addmovies(string xmldocumenturi) throws MoviesAdderException { Document document = getdocument(xmldocumenturi); addmoviesinblocks(document.getdocumentelement());

9 (3) private Document getdocument(string xmldocumenturi) throws MoviesAdderException { try { /* Get a DOM parser factory. */ DocumentBuilderFactory documentbuilderfactory = DocumentBuilderFactory.newInstance(); /* Configure the factory: * * 1. Enable validation. * 2. Make CDATA sections transparent to our code. * 3. Ignore comments * 4. Discard ignorable whitespace. * * NOTE: entity references are ignored by default. */ documentbuilderfactory.setvalidating(true); documentbuilderfactory.setcoalescing(true); documentbuilderfactory.setignoringcomments(true); documentbuilderfactory.setignoringelementcontentwhitespace( true);

10 (4) /* Create a DOM parser instance. */ DocumentBuilder documentbuilder = documentbuilderfactory.newdocumentbuilder(); /* Set an error handler. */ documentbuilder.seterrorhandler(new DefaultErrorHandler()); /* Get the "Document" object. */ return documentbuilder.parse(xmldocumenturi); catch (Exception e) { throw new MoviesAdderException(null, e);

11 (5) private void addmoviesinblocks(element movieselement) throws MoviesAdderException { String lastinsertedmovietitle = null; try { MoviesAdministrationFacadeDelegate moviesadministrationfacadedelegate = new MoviesAdministrationFacadeDelegate(); List listofmovievos = new ArrayList(); Node node = movieselement.getfirstchild();

12 (6) while (node!= null) { if (node.getnodetype() == Node.ELEMENT_NODE) { MovieVO movievo = getmovievo((element) node); listofmovievos.add(movievo); if (listofmovievos.size() == moviesblocksize) { moviesadministrationfacadedelegate.addmovies( listofmovievos); lastinsertedmovietitle = movievo.gettitle(); listofmovievos.clear(); node = node.getnextsibling();

13 (7) moviesadministrationfacadedelegate.addmovies(listofmovievos); catch (Exception e) { throw new MoviesAdderException(lastInsertedMovieTitle, e); private MovieVO getmovievo(element movieelement) throws SAXException { /* Get attribute values. */ String title = movieelement.getattribute("title"); String runtimeasstring = movieelement.getattribute("runtime"); String releasedayasstring = movieelement.getattribute("releaseday"); String releasemonthasstring = movieelement.getattribute("releasemonth"); String releaseyearasstring = movieelement.getattribute("releaseyear");

14 (8) /* * Convert string values into their true types, and validate if * necessary. * * NOTE: Release date is not fully validaded. */ int runtime = validateruntime(runtimeasstring, title); int releaseday = Integer.parseInt(releaseDayAsString); int releasemonth = Integer.parseInt(releaseMonthAsString); int releaseyear = Integer.parseInt(releaseYearAsString); Calendar releasedate = Calendar.getInstance(); releasedate.set(calendar.day_of_month, releaseday); releasedate.set(calendar.month, Calendar.JANUARY + releasemonth - 1); releasedate.set(calendar.year, releaseyear);

15 (9) /* Get values of nexted tags. */ List directornames = getitemnames(movieelement, "director"); List actornames = getitemnames(movieelement, "actor"); List genres = getitemnames(movieelement, "genre"); String synopsis = getsynopsis(movieelement); /* Return a MovieVO with the above values. */ return new MovieVO(new Long(-1), title, runtime, releasedate, directornames, actornames, genres, synopsis);

16 (10) /** * Allows to return the names of directors, actors and genres of a given * movie. * parentelement the <code>element</code> object of the movie tagname <code>director</code>, <code>actor</code> or * <code>genre</code> the names of the corresponding item */ private List getitemnames(element parentelement, String tagname) { List names = new ArrayList(); NodeList elements = parentelement.getelementsbytagname(tagname); for (int i=0; i<elements.getlength(); i++) { Element element = (Element) elements.item(i); String name = element.getattribute("name"); names.add(name); return names;

17 (11) public String getsynopsis(element movieelement) { NodeList synopsislist = movieelement.getelementsbytagname("synopsis"); Node synopsis = synopsislist.item(0); return synopsis.getfirstchild().getnodevalue();

18 (y 12) private int validateruntime(string runtime, String movietitle) throws SAXException { try { int runtimeasint = Integer.parseInt(runtime); if ( runtimeasint <= 0) { throw new NumberFormatException(); return runtimeasint; catch (NumberFormatException e) { throw new SAXException("Incorrect value for 'runntime'" + " (must be an integer > 0) in movie '" + movietitle + "'");

19 Comentarios DocumentBuilderFactory y DocumentBuilder juegan el mismo papel que SAXParserFactory y SAXParser, respectivamente El API de JAXP para DOM aprovecha algunas clases e interfaces de SAX DocumentBuilder.parse puede devolver SAXException Como siempre, es consecuencia de que el documento no está bien formado o no es válido Será instancia de SAXParseException DocumentBuilder.setErrorHandler(ErrorHandler) Por comodidad, Document dispone de la operación getdocumentelement Devuelve el elemento raíz En el ejemplo, devuelve una instancia de Element que representa al elemento movies

20 SAX SAX vs DOM (1) Consumo mínimo de memoria => eficiencia Es secuencial No es fácil acceder a elementos anteriores, hermanos, etc. No es apropiado para generar XML DOM Máximo consumo de memoria Permite acceder fácilmente a todos los detalles del documento Más sencillo que SAX Permite construir y/o modificar árboles, y generar XML Actualmente cada parser ofrece una forma específica de generar XML, pero esta deficiencia se corregirá en breve (DOM Level 3) Soporte para HTML

21 SAX vs DOM (y 2) En general, para situaciones similares a las del ejemplo Número de películas demasiado grande => SAX Número de películas no demasiado grande, pero muchos threads realizando la operación de parseo => SAX No es la situación del ejemplo, dado que sólo hay un administrador, pero podría ser la situación de una aplicación multi-thread que tuviese que parsear muchos documentos XML (ej.: una aplicación a la que le llegan múltiples documentos por sockets, HTTP, etc.) Número de películas no demasiado grande y pocos threads parseando => SAX o DOM Es el caso del ejemplo En resumen, es una cuestión de consumo de memoria Si es mucha => SAX En otro caso => SAX o DOM

3.3 Parsers SAX con JAXP

3.3 Parsers SAX con JAXP 3.3 Parsers SAX con JAXP Introducción (1) Un parser XML permite comprobar que el documento está bien formado y acceder a los datos Si además el parser es validante, permite validar el documento (usando

Más detalles

2.2 Parsing de documentos XML

2.2 Parsing de documentos XML 2.2 Parsing de documentos XML Introducción (1) Un documento XML se apoya en dos ideas [Obligatoria] Tiene que estar bien formado, y en consecuencia, estar construido en base a las normas de XML (los tags

Más detalles

5.3 Diseño por capas con Servicios Web

5.3 Diseño por capas con Servicios Web 5.3 Diseño por capas con Servicios Web Diseño por capas Misma idea que en CORBA Interfaz de usuario (no WS) Capa de traducción y delegación (WS) Capa de traducción y delegación (WS) IDL Capa de lógica

Más detalles

Procesamiento de archivos XML (Parte 1)

Procesamiento de archivos XML (Parte 1) Procesamiento de archivos XML (Parte 1) Rubby Casallas 1 Referencias Esta presentación es un breve resumen de XML y no pretende ser exhaustiva. Para más información por favor consultar las siguientes referencias:

Más detalles

Procesamiento de documentos XML

Procesamiento de documentos XML Procesamiento de documentos XML Documentación Electrónica Soto Montalvo Contenido Introducción Document Object Model Simple API for XML DOM vs. SAX Cómo podemos manipular los documentos XML? SAX (Simple

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

Tema IV. XML V. APIs (DOM & SAX)

Tema IV. XML V. APIs (DOM & SAX) Tema IV. XML V. APIs (DOM & SAX) Desarrollo de Aplicaciones para Internet Curso 12 13 Índice 1.Introducción 2.DOM i. Introducción ii. Interfaces y Clases iii.ejemplos 3.SAX i. Introducción ii. Interfaces

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

6.1 APIs para XML. APIs para XML (I) ! Uno de los usos más habituales de XML (y menos esperado) es como formato de intercambio de datos.

6.1 APIs para XML. APIs para XML (I) ! Uno de los usos más habituales de XML (y menos esperado) es como formato de intercambio de datos. 6.1 APIs para XML APIs para XML (I)! Uno de los usos más habituales de XML (y menos esperado) es como formato de intercambio de datos.! En este caso los documentos XML nunca llegan a visualizarse, sino

Más detalles

Federico Peinado

Federico Peinado Federico Peinado www.federicopeinado.es Depto. de Ingeniería del Software e Inteligencia Artificial disia.fdi.ucm.es Facultad de Informática www.fdi.ucm.es Universidad Complutense de Madrid www.ucm.es

Más detalles

2.5.1. Procesamiento de documentos XML.

2.5.1. Procesamiento de documentos XML. 2.5.1. Procesamiento de documentos XML. Un analizador o parser XML es una herramienta encargada de leer documentos XML [17], poder acceder a sus elementos y comprobar si el documento es sintácticamente

Más detalles

Patrones de diseño. Patrón básico Handler. Técnicas de Programación - Curso 2007/08

Patrones de diseño. Patrón básico Handler. Técnicas de Programación - Curso 2007/08 Patrones de diseño Patrón básico Handler Técnicas de Programación - Curso 2007/08 Patrones de diseño Introducción Objetivos: Diseño específico para el problema, pero general para poder adecuarse a futuros

Más detalles

Interacción entre Aplicaciones: XML

Interacción entre Aplicaciones: XML UPCDAC/FIBPXC 1 Interacción entre Aplicaciones: XML En esta práctica se va a conocer y experimentar con la manipulación de documentos XML y las herramientas que hay disponibles. Muchas aplicaciones utilizan

Más detalles

Programación II - TP1 1er Cuatrimestre 2018

Programación II - TP1 1er Cuatrimestre 2018 Fecha de presentación: 15/5/18 Fecha de entrega por mail: 29/5/18 Programación II - TP1 1er Cuatrimestre 2018 Requerimientos técnicos: Grupos de 1 o 2 personas Se debe utilizar al menos una vez iteradores

Más detalles

Java Optional ifpresent y como utilizarlo

Java Optional ifpresent y como utilizarlo Hoy vamos a hablar de Java Optional ifpresent. Cuando trabajamos con el tipo Optional conseguimos mejoras a la hora de trabajar con valores nulos. Veamos un ejemplo sencillo imaginemos que tenemos una

Más detalles

Soluciones Kata TDD. Solución requisito 1

Soluciones Kata TDD. Solución requisito 1 Soluciones Kata TDD Este documento recoge las soluciones a los primeros 8 ejercicios de la Kata Test Driven Development (TDD): Example Walkthrough de Viktor Farcic: https://technologyconversations.com/2013/12/20/test-driven-development-tdd-example-walkthrough/

Más detalles

3.8 Patrón Default servant. Políticas del POA asociadas

3.8 Patrón Default servant. Políticas del POA asociadas 3.8 Patrón Default servant. Políticas del POA asociadas Introducción Cómo minimizar la cantidad de memoria que necesita un servidor para soportar un gran número de objetos? Servant por defecto => permite

Más detalles

PROGRAMACIÓN EN JAVA. { una línea para definir, crear o ejecutar ; }

PROGRAMACIÓN EN JAVA. { una línea para definir, crear o ejecutar ; } PROGRAMACIÓN EN JAVA { una línea para definir, crear o ejecutar ; } JFC Y API SPECIFICATIONS OBJECT INTERFACE ABSTRACT IMPLEMENTS EXTENDS NEW EXTENDS (Hasta que una clase derivada deje de ser ABSTRACT)

Más detalles

Índice. Programación en Internet Curso 2009-2010. Introducción El DOM en PHP. Programación en Internet 2009-2010. DLSI - Universidad de Alicante 1

Índice. Programación en Internet Curso 2009-2010. Introducción El DOM en PHP. Programación en Internet 2009-2010. DLSI - Universidad de Alicante 1 Departamento de Lenguajes y Sistemas Informáticos PHP y XML Programación en Internet Curso 2009-2010 Introducción El DOM en PHP Índice DLSI - Universidad de Alicante 1 Introducción Cómo se trabaja con

Más detalles

XML, Servicios Web y Web Semántica

XML, Servicios Web y Web Semántica XML, Servicios Web y Web Semántica Departamento de Informática Universidad de Oviedo Sesión 7 Programación XML SAX, DOM, Enlaces Departamento de Informática Universidad de Oviedo NOTA: Gran parte de estas

Más detalles

Construcciones del Lenguaje Java

Construcciones del Lenguaje Java Construcciones del Lenguaje Java Autor: Juan Alberto López Cavallotti Versión de Java: 5 / 6 Comentarios Comentario de Línea Comentario Multilínea //Esto es un comentario. /* Esto comenta varias lineas.

Más detalles

HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA

HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA Estructura de la Información en Programación I.T.I.G., Matemáticas. Curso 2008/2009 Nombre:... Fecha: / 01 / 2009 HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA Esta hoja de ejercicios nos servirá

Más detalles

Práctica 7: Invocación Web Services con REST

Práctica 7: Invocación Web Services con REST Práctica 7: Invocación Web Services con REST Aplicaciones Telemáticas II Introducción Los Web Services permiten realizar aplicaciones distribuidas, usando las ventajas que nos proporciona el protocolo

Más detalles

Diseño de tipos Igualdad, representación, código, copia y relación de orden

Diseño de tipos Igualdad, representación, código, copia y relación de orden Práctica 4 Diseño de tipos Igualdad, representación, código, copia y relación de orden Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.1 Índice Gestión de excepciones

Más detalles

Análisis Sintáctico de XML WEB-SERVICES

Análisis Sintáctico de XML WEB-SERVICES Análisis Sintáctico de XML JUAN CARLOS CONDE RAMÍREZ WEB-SERVICES Objetivos Conocer la especificación de patrones con la tecnología XPath. Conocer las características básicas de los principales Analizadores

Más detalles

Programación de sistemas Listas enlazadas

Programación de sistemas Listas enlazadas Programación de sistemas Listas enlazadas Departamento de Ingeniería Telemática 1 Contenidos *** Introducción a los genéricos Estructuras de datos Listas enlazadas La clase Node La clase LinkedList Ventajas

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

PROGRAMACIÓN ORIENTADA A OBJETOS 10/02/2009. Examen de Java. Nombre: DNI: Titulación:

PROGRAMACIÓN ORIENTADA A OBJETOS 10/02/2009. Examen de Java. Nombre: DNI: Titulación: Examen de Java Nombre: DNI: Titulación: 1. Cómo podemos compilar desde la línea de comandos la clase Java A que utiliza una librería empaquetada bd.jar? 2. Indica si es correcto el siguiente código. Justifica

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS 1/7/2009. Examen de Java. Nombre: DNI: Titulación:

PROGRAMACIÓN ORIENTADA A OBJETOS 1/7/2009. Examen de Java. Nombre: DNI: Titulación: Examen de Java Nombre: DNI: Titulación: 1. Sea una aplicación Java donde todas las clases están compiladas y empaquetas en un solo fichero JAR (programa.jar). Qué sería necesario para conseguir ejecutar

Más detalles

3.3 Casos de estudio

3.3 Casos de estudio 3.3 Casos de estudio Introducción Objetivo Estudiar casos de estudio que ilustren escenarios típicos de aplicación de XML Indicar las APIs apropiadas en cada caso Casos de estudio Configuración de aplicaciones

Más detalles

SAX Parser. Ing. Augusto Dobeslao Herández López (Bases de Datos en XML)

SAX Parser. Ing. Augusto Dobeslao Herández López (Bases de Datos en XML) SAX Parser Ing. Augusto Dobeslao Herández López (Bases de Datos en XML) Simple API for XML (SAX) Proporciona mecanismos para leer desde un documento XML. Es un API orientada a eventos, actualmente en su

Más detalles

Introducción a Java LSUB. 30 de enero de 2013 GSYC

Introducción a Java LSUB. 30 de enero de 2013 GSYC Introducción a Java LSUB GSYC 30 de enero de 2013 (cc) 2013 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial

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

Visualización y Transformaciones en XML

Visualización y Transformaciones en XML Visualización y Transformaciones en XML 106 Visualización Los archivos XLM pueden ser vistos prácticamente en cualquier browser 107 Visualización Los XML en los web browsers no se despliegan como páginas

Más detalles

Depto. Ingeniería de Sistemas Telemáticos Universidad Politécnica de Madrid ETSI Telecomunicación Fundamentos de Programación 15 de diciembre de 2011

Depto. Ingeniería de Sistemas Telemáticos Universidad Politécnica de Madrid ETSI Telecomunicación Fundamentos de Programación 15 de diciembre de 2011 Depto. Ingeniería de Sistemas Telemáticos Universidad Politécnica de Madrid ETSI Telecomunicación Fundamentos de Programación 15 de diciembre de 2011 Ejercicio 1 (2 puntos) SOLUCIONES class TarjetaDeCredito

Más detalles

Grados Ing. Inf. y Mat. Inf. Noviembre 2011 Algoritmos y Estructura de Datos Página 1 de 6

Grados Ing. Inf. y Mat. Inf. Noviembre 2011 Algoritmos y Estructura de Datos Página 1 de 6 Grados Ing. Inf. y Mat. Inf. Noviembre 2011 Algoritmos y Estructura de Datos Página 1 de 6 Algoritmos y Estructura de Datos: Examen 2 (Solución) Grados Ing. Inf. y Mat. Inf. Noviembre 2011 Departamento

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

ESTRUCTURA DE DATOS Y ALGORITMOS Titulación: Ingeniero Técnico en Informática de Gestión Curso: 2º Nombre y apellidos: Nota:

ESTRUCTURA DE DATOS Y ALGORITMOS Titulación: Ingeniero Técnico en Informática de Gestión Curso: 2º Nombre y apellidos: Nota: Nombre y apellidos: Nota: Escribe tu nombre y apellidos en esta hoja e inmediatamente en todas las suplementarias, incluso las de sucio. El no hacerlo puede suponer tu expulsión Puedes utilizar el lápiz

Más detalles

/** * Raíz del árbol de contactos presentes en el directorio */ private. /** * Número de contactos en el directorio */ private int numcontactos;

/** * Raíz del árbol de contactos presentes en el directorio */ private. /** * Número de contactos en el directorio */ private int numcontactos; package import ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * $Id: Directorio.java,v 1.8 2007/04/13 04:51:14 carl-veg Exp $ * Universidad de los Andes (Bogotá - Colombia) * Departamento

Más detalles

Colas Implementación con gestión estática de memoria

Colas Implementación con gestión estática de memoria Colas Implementación con gestión estática de memoria Esquema general 0 1 2 3 n - 1... _primero = 0 _ultimo = 0 Esquema general * Añadir un elemento a la cola. 0 1 2 3 n - 1 'a'... 1) _vector[_ultimo] =

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

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs. Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1

Más detalles

Parte I: Programación en un lenguaje orientado a objetos

Parte I: Programación en un lenguaje orientado a objetos Parte I: Programación en un lenguaje orientado a objetos 1. Introducción a los lenguajes de programación 2. Datos y expresiones 3. Estructuras algorítmicas 4. Datos compuestos 5. Modularidad 6. Tratamiento

Más detalles

EJEMPLO 02 JPA Departamentos y Empleados Desarrollo de aplicación de empleados por departamento

EJEMPLO 02 JPA Departamentos y Empleados Desarrollo de aplicación de empleados por departamento EJEMPLO 02 JPA Departamentos y Empleados Desarrollo de aplicación de empleados por departamento Contenido 1. Base de datos SQL Server (BD_Empleados_USS)... 2 2. Proyectos y paquetes necesarios... 3 3.

Más detalles

Patrones de Diseño. Patrón de comportamiento Iterator. Técnicas de programación - Curso 2008/09 (Esther Guerra Sánchez)

Patrones de Diseño. Patrón de comportamiento Iterator. Técnicas de programación - Curso 2008/09 (Esther Guerra Sánchez) Patrones de Diseño Patrón de comportamiento Iterator Técnicas de programación - Curso 2008/09 (Esther Guerra Sánchez) Propósito Proporcionar acceso secuencial a los elementos de un agregado, sin exponer

Más detalles

PRIMER EXAMEN PARCIAL. 5 de febrero de SOLUCIONES

PRIMER EXAMEN PARCIAL. 5 de febrero de SOLUCIONES FUNDAMENTOS DE PROGRAMACIÓN Curso: 2012/13 PRIMER EXAMEN PARCIAL. 5 de febrero de 2013. SOLUCIONES Versión:1.0.7 EJERCICIO 1: El tipo Beca a) 0,25 puntos public enum TipoBeca { ORDINARIA, MOVILIDAD, EMPRESA

Más detalles

Patrones de Diseño. Patrón estructural Composite. Técnicas de Programación - Curso 2007/08

Patrones de Diseño. Patrón estructural Composite. Técnicas de Programación - Curso 2007/08 Patrones de Diseño Patrón estructural Composite Técnicas de Programación - Curso 2007/08 Propósito Componer objetos en estructuras arbóreas para representar jerarquías todo-parte. Manipular todos los objetos

Más detalles

2.1 Introducción al Lenguaje XML

2.1 Introducción al Lenguaje XML 2.1 Introducción al Lenguaje XML Introducción En este aparatado nos centraremos en Introducir el lenguaje XML Estudiar la estructura básica de un documento XML Citar algunos tipos de esquemas que permiten

Más detalles

DOM. Document Object Model

DOM. Document Object Model 1 DOM Document Object Model INTRODUCCIÓN Es un conjunto de utilidades específicamente diseñadas para manipular documentos XML. Por extensión, DOM también se puede utilizar para manipular documentos XHTML

Más detalles

La construcción de sitios web en el ámbito educativo. XPath. Pedro A. Castillo Valdivieso Universidad de Granada

La construcción de sitios web en el ámbito educativo. XPath. Pedro A. Castillo Valdivieso Universidad de Granada La construcción de sitios web en el ámbito educativo XPath Pedro A. Castillo Valdivieso Universidad de Granada 0 Guión XPath. Introducción El modelo de datos de XPath Location Paths Modo de trabajo para

Más detalles

Interacción y manejo de documentos XML.

Interacción y manejo de documentos XML. Interacción y manejo de documentos XML. Como último miembro de la familia XML, nos planteamos la tecnología por la cual una aplicación externa, escrita en no importa que lenguaje de programación, puede

Más detalles

Estructuras de Datos Clase 7 Listas e Iteradores (segunda parte)

Estructuras de Datos Clase 7 Listas e Iteradores (segunda parte) Estructuras de Datos Clase 7 Listas e Iteradores (segunda parte) Dr. Sergio A. Gómez http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía

Más detalles

TEMA 3. Árboles. Objetivos. Contenidos. Bibliografía. Básica

TEMA 3. Árboles. Objetivos. Contenidos. Bibliografía. Básica TEMA 3. Árboles Objetivos En este tema se estudia una de las estructuras de datos no lineal más importante en computación, el árbol. Comenzaremos introduciendo la terminología asociada a los árboles y

Más detalles

Algoritmos y Estructuras de Datos Tema 2: Diseño de Algoritmos

Algoritmos y Estructuras de Datos Tema 2: Diseño de Algoritmos Algoritmos y Estructuras de Datos Tema 2: Diseño de Algoritmos 1! 1. Algoritmos recursivos " 1.1 Algoritmos recursivos. Recursión simple " 1.2 Algoritmos con vuelta atrás y ejemplos! 2. Complejidad de

Más detalles

Para ello se parte de un archivo XML que contiene tanto la Convocatoria de la Junta, como los accionistas a las que va dirigida.

Para ello se parte de un archivo XML que contiene tanto la Convocatoria de la Junta, como los accionistas a las que va dirigida. Leame 1 de 1 El presente ejemplo genera en el System i los avisos individuales de convocatoria de Junta General de Accionistas de cada uno de los accionistas en un documento PDF. Para ello se parte de

Más detalles

Taller de Programación I. Tema 08: Estructuras Dinámicas de Datos en Java

Taller de Programación I. Tema 08: Estructuras Dinámicas de Datos en Java INACAP Universidad Tecnológica de Chile Sede Santiago Centro Taller de Programación I Curso Java J2SE Tema 08: Estructuras Dinámicas de Datos en Java Ing. Manuel López Ramos Parte I Qué son las estructuras

Más detalles

Estructuras de Datos Clase 6 Listas e Iteradores (primera parte)

Estructuras de Datos Clase 6 Listas e Iteradores (primera parte) Estructuras de Datos Clase 6 Listas e Iteradores (primera parte) Dr. Sergio A. Gómez http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía

Más detalles

Introducción al desarrollo de RIA's con Adobe Flex 3.0 Dia 4

Introducción al desarrollo de RIA's con Adobe Flex 3.0 Dia 4 Introducción al desarrollo de RIA's con Adobe Flex 3.0 Dia 4 by S. Muñoz-Gutiérrez stalinmunoz@yahoo.com, informes@grupolinda.org Grupo LINDA Facultad de Ingeniería UNAM México Octubre-Diciembre 2009 Identificando

Más detalles

Árbol ABB equilibrado. Lección: Árboles. Algorítmica II (Tema 4) Lenguajes y Sistemas Informáticos, Universidad Pablo de Olavide 1/ 58

Árbol ABB equilibrado. Lección: Árboles. Algorítmica II (Tema 4) Lenguajes y Sistemas Informáticos, Universidad Pablo de Olavide 1/ 58 Algorítmica II (Tema 4) Lenguajes y Sistemas Informáticos, Universidad Pablo de Olavide 1/ 58 Índice 1 Árbol de búsqueda 2 2/ 58 Índice Árbol de búsqueda 1 Árbol de búsqueda 2 3/ 58 Árbol de búsqueda Es

Más detalles

k. Son métodos de la clases y respectivamente, que analiza un para devolver un entero con

k. Son métodos de la clases y respectivamente, que analiza un para devolver un entero con La multiplicación de matrices bidimensionales se puede realizar mediante el uso de hilos. Desde un hilo de ejecución, se pueden crear varios hilos, uno por cada entrada de la matriz resultante. Dos sentencias

Más detalles

Qué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +.

Qué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +. APUNTES DE JAVA Agenda Bienvenida Conociendo Java La Maquina Virtual Descargar e instalar el compilador El entorno de trabajo El paradigma de la programación orientada a objetos Qué es Java? Un lenguaje

Más detalles

Tema 2. El lenguaje de programación Java (Parte 1)

Tema 2. El lenguaje de programación Java (Parte 1) Programación en Java Tema 2. El lenguaje de programación Java (Parte 1) Luis Rodríguez Baena Facultad de Informática Elementos del lenguaje (I) El juego de caracteres. No utiliza ASCII, sino Unicode de

Más detalles

Representaciones de árboles

Representaciones de árboles Clase 9 Árboles Generales (segunda parte) http://cs.uns.edu.ar/~sag Bahía Blanca, rgentina Representaciones de árboles Del padre Lista de hijos Goodrich& Tamassia: Del padre + Lista de hijos Hijo extremo

Más detalles

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos

Más detalles

Algoritmos y Estructuras de Datos Iteradores. Guillermo Román Díez

Algoritmos y Estructuras de Datos Iteradores. Guillermo Román Díez Algoritmos y Estructuras de Datos Iteradores Guillermo Román Díez groman@fi.upm.es Universidad Politécnica de Madrid Curso 2015-2016 Guillermo Román, UPM AED: Introducción 1/26 Iteradores Es muy común

Más detalles

Manejo de ficheros ObjetivOs del capítulo

Manejo de ficheros ObjetivOs del capítulo 1 Manejo de ficheros Objetivos del capítulo 44 Utilizar clases para la gestión de ficheros y directorios. 44 Valorar las ventajas y los inconvenientes de las distintas formas de acceso. 44 Utilizar clases

Más detalles

Pilas. Carlos Delgado Kloos Dep. Ingeniería Telemática Univ. Carlos III de Madrid. Java: Pilas / 1

Pilas. Carlos Delgado Kloos Dep. Ingeniería Telemática Univ. Carlos III de Madrid. Java: Pilas / 1 Pilas Carlos Delgado Kloos Dep. Ingeniería Telemática Univ. Carlos III de Madrid Java: Pilas / 1 Ejemplo Java: Pilas / 2 Ejemplo Java: Pilas / 3 Ejemplo Java: Pilas / 4 Características Estructura lineal

Más detalles

Curso de programación en Android. 19/Junio/2012 Ramón Alcarria

Curso de programación en Android. 19/Junio/2012 Ramón Alcarria Curso de programación en Android 19/Junio/2012 Ramón Alcarria Comunicación con el servidor Parsing de mensajes: SAX DOM JSON Parsing de mensajes Opciones: - SAX - Analiza el documento XML por fragmentos

Más detalles

Fundamentos de Programación

Fundamentos de Programación Fundamentos de Programación Colecciones de Objetos José A. Mañas Dpto. de Ingeniería de Sistemas Telemáticos http://www.dit.upm.es/~pepe/doc/fprg/ colecciones Cuando tenemos varios

Más detalles

CLAVE EXAMEN: a cd. c u r s o r = c u r s o r. g e t S i g u i e n t e ( ) ; p o s i c i o n ++;

CLAVE EXAMEN: a cd. c u r s o r = c u r s o r. g e t S i g u i e n t e ( ) ; p o s i c i o n ++; Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software UPM ETSIINF. Exámen de Programación II. Convocatoria extraordinaria.08-07-2016. Realización: El test se realizará en la hoja

Más detalles

Programación de sistemas Árboles

Programación de sistemas Árboles Programación de sistemas Árboles Departamento de Ingeniería Telemática 1 Contenidos Concepto de árbol Terminología Implementación Casos especiales Árboles binarios de búsqueda Montículos (heaps) 2 Concepto

Más detalles

- Compilar y ejecutar programas en Java - Estructura básica de una clase - El comando javac - El comando java - Introducción al IDE de desarrollo

- Compilar y ejecutar programas en Java - Estructura básica de una clase - El comando javac - El comando java - Introducción al IDE de desarrollo - Introdución a Java - Breve historia de Java - Características del lenguaje Java - Estructura del JDK 1.6 - Documentación del API (JavaDoc) - Instalar y configurar el ambiente de desarrollo - La variable

Más detalles

Excepciones. Excepciones

Excepciones. Excepciones Excepciones FJP Unidad 12 Excepciones Una excepción es la representación de una condición de error o cualquier situación no esperada en el resultado de un método. Son instancias de subclases de la clase

Más detalles

Java Servlets. Qué es un programa? Luis Fernando Llana Díaz. 22 de abril de input Programa output. En pascal:

Java Servlets. Qué es un programa? Luis Fernando Llana Díaz. 22 de abril de input Programa output. En pascal: Departamento de Sistemas Informáticos y Computación Universidad Complutense de Madrid de abril de 00 Qué es un programa? input Programa output En pascal: program holamundo (input, output ); var nombre

Más detalles

Diseño Basado en Componentes Curso 2008 / 09

Diseño Basado en Componentes Curso 2008 / 09 Ejemplo de Modelo Diseño Basado en Componentes Construcción de componentes utilizando VB.NET (Parte I) Ingeniería Informática Universidad Carlos III de Madrid Diseño Basado en Componentes Atributos miembro

Más detalles

Patrones de diseño. Patrón básico Handler. Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez)

Patrones de diseño. Patrón básico Handler. Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez) Patrones de diseño Patrón básico Handler Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez) Patrones de diseño Introducción Objetivos: Diseño específico para el problema, pero general para

Más detalles

Introducción a Java LSUB. 15 de enero de 2015 GSYC

Introducción a Java LSUB. 15 de enero de 2015 GSYC Introducción a LSUB GSYC 15 de enero de 2015 (cc) 2014 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial - SinObraDerivada

Más detalles

El programa P1 tiene como objetivo imprimir cada uno de los caracteres de una cadena en una línea, como por ejemplo: h o l a

El programa P1 tiene como objetivo imprimir cada uno de los caracteres de una cadena en una línea, como por ejemplo: h o l a Examen de Programación (13294) Convocatoria de Junio 2006 Licenciatura de Lingüística y Nuevas Tecnologías Pregunta 1 El programa P1 tiene como objetivo imprimir cada uno de los caracteres de una cadena

Más detalles

Controlando los errores que podrían producirse «afelipelc Blog

Controlando los errores que podrían producirse «afelipelc Blog afelipelc.xochiltepec.com.mx http://afelipelc.xochiltepec.com.mx/2010/10/controlando-los-errores-que-podrian-producirse/ Controlando los errores que podrían producirse «afelipelc Blog Cuando probamos la

Más detalles

Gestores de seguridad en Java

Gestores de seguridad en Java Diseño Y Aplicaciones de Sistemas Distribuidos Gestores de seguridad en Java Joan Vila DISCA / UPV Departament d Informàtica de Sistemes i Computadors Universitat Politècnica de València Gestores de seguridad

Más detalles

Examen de Prácticas de Programación Ingeniería Informática

Examen de Prácticas de Programación Ingeniería Informática Examen de Prácticas de Programación Ingeniería Informática Junio 2008 1) Cuestiones 1.a) (0.75 puntos) Mostrar los contenidos del fichero salida.txt tras la ejecución del método main de la clase principal:

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Elementos de lenguaje: Identificadores Tipos de datos 2 Tipos de datos primitivos 3 Tipos de datos referenciados Clases Interfaces Arrays

Más detalles

Clase adicional 9. Listas enlazadas. Temas. Listas enlazadas Árboles Problemas de la clase adicional Ejercicios de diseño

Clase adicional 9. Listas enlazadas. Temas. Listas enlazadas Árboles Problemas de la clase adicional Ejercicios de diseño Clase adicional 9 Temas Listas enlazadas Árboles Problemas de la clase adicional Ejercicios de diseño Listas enlazadas Previamente en este curso, ya habrá trabajado con dos de las estructuras de datos

Más detalles

Titulación: Ingeniero Técnico en Informática de Gestión Curso: 2º

Titulación: Ingeniero Técnico en Informática de Gestión Curso: 2º 1. Ejercicio (1 punto) Dado el array A={8, 3, 7, 1, 4, 9, 5, 2, 6 Describir cual es el estado del array A después de cada paso principal del algoritmo: InsertionSort. {8, 3, 7, 1, 4, 9, 5, 2, 6 {3, 8,

Más detalles

GOBIERNO DEL PRINCIPADO DE ASTURIAS VICECONSEJERÍA DE PRESUPUESTOS Y ADMINISTRACIÓN PÚBLICA

GOBIERNO DEL PRINCIPADO DE ASTURIAS VICECONSEJERÍA DE PRESUPUESTOS Y ADMINISTRACIÓN PÚBLICA MODULO COMÚN DE ALMACENAMIENTO TEMPORAL DE SOLICITUDES (MCAT) MANUAL DE USO Página 2 de 37 ÍNDICE ÍNDICE...2 1. CONTROL DEL DOCUMENTO...3 1.1. HISTÓRICO DE REVISIONES...3 2. INTRODUCCIÓN...4 3. CLASES

Más detalles

Clases abstractas e interfaces en Java

Clases abstractas e interfaces en Java Clases abstractas e interfaces en Java Clases abstractas public abstract class Figura { private String _nombre; public Figura (string nombre) { _nombre = nombre; final public boolean mayor_que (Figura

Más detalles

Qué ofrece Autentia Real Business Solutions S.L?

Qué ofrece Autentia Real Business Solutions S.L? Avenida de Castilla,1 - Edificio Best Point - Oficina 21B 28830 San Fernando de Henares (Madrid) tel./fax: +34 91 675 33 06 info@autentia.com - www.autentia.com Qué ofrece Autentia Real Business Solutions

Más detalles

El concepto Java Reflection y como utilizarlo

El concepto Java Reflection y como utilizarlo Java Reflection es quizás el API que más versatilidad aporta al lenguaje Java ya que nos permite resolver muchos problemas de una forma totalmente diferente a la habitual. El API de Java reflection nos

Más detalles

Tema 3, parte 4. Javascript: el DOM (Modelo de Objetos del. Documento) Texto. http://www.flickr.com/photos/jm3/3620744443

Tema 3, parte 4. Javascript: el DOM (Modelo de Objetos del. Documento) Texto. http://www.flickr.com/photos/jm3/3620744443 http://www.flickr.com/photos/jm3/3620744443 Tema 3, parte 4 Javascript: el DOM (Modelo de Objetos del Texto Documento) Texto Javascript parte 4 El DOM 1. El árbol DOM Conceptos básicos sobre el API DOM

Más detalles

Introducción a Java 10/02/2011. Tokens. Juan Manuel Fernández Peña Curso Rev Tokens. Tokens

Introducción a Java 10/02/2011. Tokens. Juan Manuel Fernández Peña Curso Rev Tokens. Tokens Introducción a Java Juan Manuel Fernández Peña Curso 2005. Rev 2011 Comentarios: //comentario /* comentario fin de comentario */ /** comentario para javadoc fin */ Palabras reservadas: (como ejemplo) abstract,

Más detalles

Introducción a los Threads Java

Introducción a los Threads Java 75-62 Técnicas de Programación Concurrentes II Lic. Ing. Osvaldo Clúa 2014 Facultad de Ingeniería Universidad de Buenos Aires Introducción a los Threads Java Para crear un nuevo Thread Se extiende la clase

Más detalles

Tema 4: Introducción a XML

Tema 4: Introducción a XML Tema 4: Introducción a XML Qué es XML? XML (extensible Markup Language) Lenguaje de tags (similar en sintaxis a HTML) Estandarizado por http://www.w3.org Es extensible: XML no impone un conjunto de tags,

Más detalles

Estructuras de Datos Clase 4 Pilas y colas

Estructuras de Datos Clase 4 Pilas y colas Estructuras de Datos Clase 4 Pilas y colas Dr. Sergio A. Gómez http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca, Argentina Tipo

Más detalles

Módulo 1. Programación Orientada a Objetos. Programación Orientada a Objetos Página 1.0 de 25

Módulo 1. Programación Orientada a Objetos. Programación Orientada a Objetos Página 1.0 de 25 Módulo 1. Programación Orientada a Objetos. Programación Orientada a Objetos Página 1.0 de 25 Objetivos. Definir los conceptos de: abstraccción y encapsulamiento. Entender el concepto de paquete. Definir

Más detalles

Temario. Tema 5. Estructuras de Datos no Lineales. 5.1 Árboles Binarios 5.2 Árboles n-arios

Temario. Tema 5. Estructuras de Datos no Lineales. 5.1 Árboles Binarios 5.2 Árboles n-arios Temario 5.1 Árboles Binarios 5.2 Árboles n-arios Especificación Utilización Representación Enlazada 5.3 Árboles Binarios de Búsqueda 5.4 Árboles Parcialmente Ordenados 1 Árbol n-ario: O bien es el conjunto

Más detalles

ESTRUCTURA DE DATOS Y ALGORITMOS Titulación: Ingeniero Técnico en Informática de Gestión Curso: 2º

ESTRUCTURA DE DATOS Y ALGORITMOS Titulación: Ingeniero Técnico en Informática de Gestión Curso: 2º 1. Ejercicio (1 puntos) Dado el array A={8, 3, 7, 1, 4, 9, 5, 2, 6 (a) Escribir la secuencia de ordenación del array A por medio del algoritmo de InsertionSort. {8, 3, 7, 1, 4, 9, 5, 2, 6 {3, 8, 7, 1,

Más detalles

Tema: Grafos en C#. Objetivos Específicos. Materiales y Equipo. Introducción Teórica. Programación IV. Guía 7

Tema: Grafos en C#. Objetivos Específicos. Materiales y Equipo. Introducción Teórica. Programación IV. Guía 7 Programación IV. Guía 7 1 Tema: Grafos en C#. Facultad: Ingeniería Escuela: Computación Asignatura: Programación IV Objetivos Específicos Definir el concepto de Grafo. A partir de una clase agregar la

Más detalles

INTRODUCCIÓN. El objetivo de este manual es la identificación de los procesos técnicos más

INTRODUCCIÓN. El objetivo de este manual es la identificación de los procesos técnicos más 1 INTRODUCCIÓN El objetivo de este manual es la identificación de los procesos técnicos más importantes, que intervienen en la codificación y desarrollo en si, de este módulo contable. 2 CAPITULO 1 1.

Más detalles