Esta es la presentación del Nivel 9 del curso "ISIS-1205 Algorítmia y Programación por Objetos 2" (APO2) de la Universidad de los Andes, Bogotá, Colombia.
Este documento trata sobre arreglos en Java. Explica que los arreglos permiten almacenar y procesar conjuntos de datos del mismo tipo a la vez, a diferencia de las variables escalares que solo permiten un dato a la vez. Describe dos tipos de arreglos: arreglos unidimensionales (listas) y arreglos multidimensionales (tablas). Las listas almacenan datos en una sola columna, mientras que las tablas lo hacen en dos o más columnas y filas.
Esta es la presentación del Nivel 8 del curso "ISIS-1205 Algorítmia y Programación por Objetos 2" (APO2) de la Universidad de los Andes, Bogotá, Colombia.
Esta es la presentación del Nivel 7 del curso "ISIS-1205 Algorítmia y Programación por Objetos 2" (APO2) de la Universidad de los Andes, Bogotá, Colombia.
Esta es la presentación del Nivel 10 del curso "ISIS-1205 Algorítmia y Programación por Objetos 2" (APO2) de la Universidad de los Andes, Bogotá, Colombia.
Esta es la presentación del Nivel 4 del curso "ISIS-1204 Algorítmia y Programación por Objetos 1" (APO1) de la Universidad de los Andes, Bogotá, Colombia.
Esta es la presentación del Nivel 1 del curso "ISIS-1204 Algorítmia y Programación por Objetos 1" (APO1) de la Universidad de los Andes, Bogotá, Colombia.
El documento presenta información sobre el curso Algorítmica y Programación 1 (APO 1) Nivel 2. Se incluyen los datos del profesor a cargo, los nuevos conceptos que se abordarán en este nivel como tipos de datos, expresiones, instrucciones condicionales y casos de estudio. También se describen ejemplos y hojas de trabajo para aplicar los conocimientos.
Esta es la presentación del Nivel 3 del curso "ISIS-1204 Algorítmia y Programación por Objetos 1" (APO1) de la Universidad de los Andes, Bogotá, Colombia.
Este documento trata sobre arreglos en Java. Explica que los arreglos permiten almacenar y procesar conjuntos de datos del mismo tipo a la vez, a diferencia de las variables escalares que solo permiten un dato a la vez. Describe dos tipos de arreglos: arreglos unidimensionales (listas) y arreglos multidimensionales (tablas). Las listas almacenan datos en una sola columna, mientras que las tablas lo hacen en dos o más columnas y filas.
Esta es la presentación del Nivel 8 del curso "ISIS-1205 Algorítmia y Programación por Objetos 2" (APO2) de la Universidad de los Andes, Bogotá, Colombia.
Esta es la presentación del Nivel 7 del curso "ISIS-1205 Algorítmia y Programación por Objetos 2" (APO2) de la Universidad de los Andes, Bogotá, Colombia.
Esta es la presentación del Nivel 10 del curso "ISIS-1205 Algorítmia y Programación por Objetos 2" (APO2) de la Universidad de los Andes, Bogotá, Colombia.
Esta es la presentación del Nivel 4 del curso "ISIS-1204 Algorítmia y Programación por Objetos 1" (APO1) de la Universidad de los Andes, Bogotá, Colombia.
Esta es la presentación del Nivel 1 del curso "ISIS-1204 Algorítmia y Programación por Objetos 1" (APO1) de la Universidad de los Andes, Bogotá, Colombia.
El documento presenta información sobre el curso Algorítmica y Programación 1 (APO 1) Nivel 2. Se incluyen los datos del profesor a cargo, los nuevos conceptos que se abordarán en este nivel como tipos de datos, expresiones, instrucciones condicionales y casos de estudio. También se describen ejemplos y hojas de trabajo para aplicar los conocimientos.
Esta es la presentación del Nivel 3 del curso "ISIS-1204 Algorítmia y Programación por Objetos 1" (APO1) de la Universidad de los Andes, Bogotá, Colombia.
Esta es la presentación del Nivel 6 del curso "ISIS-1204 Algorítmia y Programación por Objetos 1" (APO1) de la Universidad de los Andes, Bogotá, Colombia.
JPA (Java Persistence API) es un modelo de persistencia para mapear objetos Java a bases de datos relacionales usando anotaciones en lugar de archivos XML. Las principales anotaciones incluyen @Entity para marcar clases como entidades, @Id para identificar la clave primaria de una entidad, y @Basic, @OneToMany, @OneToOne, @ManyToOne y @ManyToMany para especificar atributos y relaciones. Un JPA Controller maneja las operaciones CRUD para cada clase de entidad.
El documento presenta información sobre el superávit y déficit. Define el superávit como el exceso de ingresos sobre gastos, ya sea del sector público o gobierno. Define el déficit como un resultado negativo cuando los gastos exceden los ingresos. Explica que todas las partidas de ingreso y gasto reconocidos en un ejercicio deben incluirse en la determinación del superávit o déficit de dicho ejercicio.
El documento habla sobre la importancia de elaborar un plan económico-financiero para un proyecto de negocio. Explica que este plan debe incluir la inversión requerida, análisis de costos, punto de equilibrio, proyecciones financieras, razones financieras y evaluación de la factibilidad del proyecto. Además, detalla los componentes clave de un plan económico-financiero como la inversión requerida, análisis de costos fijos y variables, punto de equilibrio, estados financieros como
Este documento presenta un plan de negocios para la venta de kits de productos de bienestar de Forever Living Products utilizando un modelo de red de marketing. Se describen 4 kits diferentes con productos para 30 días, cada uno con un precio distinto. Cada persona que vende los kits recibe $35-$30 por cada kit vendido a nuevos participantes. Se incluyen proyecciones de ingresos mensuales potenciales basados en el número de kits vendidos semanalmente. Además, se explican los diferentes niveles en la red de marketing y los porcentajes ganados en cada
Caracteristicas del plan contable gubernamentalFelix Cuya
El documento describe la historia de la contabilidad por partida doble y cómo fue desarrollada por Luca Paciolo en el siglo 15. Luego explica las características y estructura del Plan Contable Gubernamental de Perú, el cual fue aprobado en 1997 para proporcionar información sobre los ingresos, gastos, activos, pasivos y patrimonio del gobierno. Finalmente, destaca la importancia de aplicar correctamente este plan contable para que las entidades gubernamentales registren adecuadamente sus transacciones financieras, económicas
Este documento presenta los principios de la contabilidad gubernamental en Perú. Establece que la contabilidad gubernamental registrará todos los hechos económicos que afecten los recursos u obligaciones del sector público. También reconoce la igualdad entre los recursos disponibles y las fuentes de financiamiento y que cada entidad del sector público constituye un ente contable independiente. Finalmente, señala que la contabilidad gubernamental medirá los resultados económicos comparando los costos con los ingresos generados.
La contabilidad gubernamental es el tipo de contabilidad que registra las operaciones financieras de las entidades y dependencias de la administración pública. Aplica principios como la integración patrimonial y presupuestaria, el método de partida doble y el principio del devengado. Regula aspectos como el reconocimiento de hechos económicos, la depreciación de bienes, la amortización de inversiones y el tratamiento de convenios y créditos.
La macroeconomía estudia la economía de un país en su conjunto, ocupándose de cuestiones como el crecimiento económico, el desempleo, la inflación y el producto interior bruto. La contabilidad nacional provee información valiosa al medir y analizar las magnitudes macroeconómicas agregadas de un país, como la producción, el consumo y el gasto, a través de cuentas como el producto interno bruto.
Este documento contiene registros de transacciones contables gubernamentales que incluyen pagos por mantenimiento informático, compra de suministros de oficina, adquisición de uniformes, compra de medicinas, compra de llantas y accesorios, y otros gastos. Cada transacción incluye detalles como fecha, cuenta, debe y haber.
El documento presenta un resumen de la Ley General de Contabilidad Gubernamental de México. Establece un Consejo Nacional de Armonización Contable para coordinar la armonización de la contabilidad pública a nivel nacional y emitir normas contables. Define conceptos como momentos contables de ingresos y gastos, y postulados básicos. Establece que la ley es de observancia obligatoria para entes públicos federales, estatales y municipales.
Este documento describe los elementos y principios clave de la contabilidad gubernamental en México de acuerdo con la Ley General de Contabilidad Gubernamental y las Normas de Información Financiera Gubernamental emitidas por el CONAC. Explica conceptos como los momentos contables del ingreso y el gasto, la clasificación del gasto, el registro de operaciones y la valuación de activos. Además, destaca la importancia de integrar la información presupuestaria y contable para proporcionar una visión completa de la situación financiera del gobierno.
Manual de contabilidad gubernamental 2013 - i - iigilberto roman
La unidad presenta los conceptos de la Contabilidad Gubernamental y el Presupuesto del Sector Público en el Perú. Explica la evolución histórica de estos sistemas desde el gobierno de Ramón Castilla en 1845 y la expedición de normas en 1964. También describe los servicios del Estado, las leyes que rigen la administración financiera como la Ley 28112 y la Ley 28708 sobre el Sistema Nacional de Contabilidad. Finalmente, presenta los libros y registros contables utilizados así como los métodos de valuación del activo fijo en
La contabilidad gubernamental es la técnica para registrar las operaciones económicas, financieras y presupuestarias del gobierno. Tiene como objetivos proporcionar información sobre la aplicación de los fondos públicos y la situación patrimonial del gobierno. Se basa en principios como el registro de operaciones y la revelación de información relevante de manera oportuna.
Este documento presenta el plan contable gubernamental de una entidad, incluyendo la estructura de cuentas y su denominación. Describe los elementos del activo, pasivo, patrimonio, ingresos y gastos. Explica las cuentas principales como caja y bancos, cuentas por cobrar y pagar, y provisiones. Proporciona ejemplos para registrar operaciones contables.
En esta presentación se describe el estado del emprendimiento en Colombia y el mundo actualizado a 2017, incluyendo temáticas como: el incremento en el número de usuarios conectados a Internet a nivel mundial, ejemplos de proyectos de emprendimiento exitosos a nivel nacional (Tappsi, DomiciliosBogota, Rappi, Mensajeros Urbanos, Ticketcode) e internacional, metodologías al momento de emprender (Lean Startup, Business Model Generation, Customer Development), estrategias para crear mínimos productos viables (MVPs), la importancia del equipo, las habilidades del equipo, las etapas de una startup, las alternativas de inversión y buenas prácticas que deberían ser tenidas en cuentas por emprendedores.
La presentación está dirigida y fue realizada a estudiantes de pregrado y posgrado en el curso "Las Mil Caras de Internet" en la Universidad de los Andes.
e-Clouds A Platform and Marketplace to Access and Publish Scientific Applicat...Mario Jose Villamizar Cano
Cloud computing promises to offer great opportunities for research groups; however when researchers want to execute applications in cloud infrastructures many complex processes must be accomplished. In this presentation we present the e-Clouds project which will allow researchers to easily execute many applications on public Infrastructure as a Service (IaaS) solutions. Designed for being a Software as a Service (SaaS) marketplace for scientific applications, e-Clouds allows researchers to submit jobs which are transparently executed on public IaaS platforms, such as Amazon Web Services (AWS). e-Clouds manages the on-demand provisioning and configuration of computing instances, storage, applications, schedulers, jobs, and data. The architectural design and how a first application has been supported on e-Clouds are presented. e-Clouds will allow researchers to easily share and execute applications in the cloud at low TCO (Total Cost of Ownership) and without the complexities associated with details of IT configurations and management. e-Clouds provides new opportunities for research groups with low or none budget for dedicated cluster or grid solutions, providing on-demand access to ready-to-use applications and accelerating the result generation of e-Science projects.
En esta presentación realizada en la Universidad de los Andes, se dan a conocer herramientas, metodologías y buenas prácticas que pueden ser utilizadas por estudiantes y personas que estén interesados en crear o que hagan parte de proyectos de emprendimiento en Internet (Startups). En la presentación se trata principalmente el tema de desarrollo ágil de productos web y móviles, se comparten algunas experiencias al momento de crear empresas en Internet, se dan recomendaciones a tener en cuenta al validar productos con clientes, y se referencian herramientas cloud computing y libros que pueden ser muy útiles para los emprendedores.
Cloud Computing es un modelo que está siendo adoptado por muchas empresas a nivel mundial ya que los más grandes proveedores de software y vendedores de software independiente (ISVs) de todos los tamaños han empezado a diseñar sus aplicaciones para que sean consumidas bajo el modelo cloud computing de Software como Servicio (SaaS). El diseño de soluciones de Software como Servicio involucra grandes retos a nivel técnico incluyendo aspectos como la escalabilidad
de la soluciones, los niveles de personalización, el modelo multi-arrendatario, el acceso desde múltiples dispositivos, la seguridad y el desarrollo sobre servicios PaaS e IaaS son algunos de los temas abordados en esta presentación realizada en el XXXIII Salón de Informática realizado en la ciudad de Bogotá, Colombia (2013).
This presentation is a about a light and personal overview of success histories, challenges, opportunities, methodologies and recommendations that may be relevant to people/professionals/students/entrepreneurs that are trying to create new ideas, products and business models that heavily use information and communication technologies (ICT) in the new era of information where there are more than two billions of people connected to the Internet and where there are emerging technologies that will continue changing the world in the near future.
UnaCloud is an opportunistic based cloud infrastructure
(IaaS) that allows to access on-demand computing
capabilities using commodity desktops. Although UnaCloud
tried to maximize the use of idle resources to deploy virtual
machines on them, it does not use energy-efficient resource
allocation algorithms. In this paper, we design and implement
different energy-aware techniques to operate in an energyefficient
way and at the same time guarantee the performance
to the users. Performance tests with different algorithms and
scenarios using real trace workloads from UnaCloud, show how
different policies can change the energy consumption patterns
and reduce the energy consumption in opportunistic cloud
infrastructures. The results show that some algorithms can
reduce the energy-consumption power up to 30% over the
percentage earned by opportunistic environment.
Esta es la presentación del Nivel 6 del curso "ISIS-1204 Algorítmia y Programación por Objetos 1" (APO1) de la Universidad de los Andes, Bogotá, Colombia.
JPA (Java Persistence API) es un modelo de persistencia para mapear objetos Java a bases de datos relacionales usando anotaciones en lugar de archivos XML. Las principales anotaciones incluyen @Entity para marcar clases como entidades, @Id para identificar la clave primaria de una entidad, y @Basic, @OneToMany, @OneToOne, @ManyToOne y @ManyToMany para especificar atributos y relaciones. Un JPA Controller maneja las operaciones CRUD para cada clase de entidad.
El documento presenta información sobre el superávit y déficit. Define el superávit como el exceso de ingresos sobre gastos, ya sea del sector público o gobierno. Define el déficit como un resultado negativo cuando los gastos exceden los ingresos. Explica que todas las partidas de ingreso y gasto reconocidos en un ejercicio deben incluirse en la determinación del superávit o déficit de dicho ejercicio.
El documento habla sobre la importancia de elaborar un plan económico-financiero para un proyecto de negocio. Explica que este plan debe incluir la inversión requerida, análisis de costos, punto de equilibrio, proyecciones financieras, razones financieras y evaluación de la factibilidad del proyecto. Además, detalla los componentes clave de un plan económico-financiero como la inversión requerida, análisis de costos fijos y variables, punto de equilibrio, estados financieros como
Este documento presenta un plan de negocios para la venta de kits de productos de bienestar de Forever Living Products utilizando un modelo de red de marketing. Se describen 4 kits diferentes con productos para 30 días, cada uno con un precio distinto. Cada persona que vende los kits recibe $35-$30 por cada kit vendido a nuevos participantes. Se incluyen proyecciones de ingresos mensuales potenciales basados en el número de kits vendidos semanalmente. Además, se explican los diferentes niveles en la red de marketing y los porcentajes ganados en cada
Caracteristicas del plan contable gubernamentalFelix Cuya
El documento describe la historia de la contabilidad por partida doble y cómo fue desarrollada por Luca Paciolo en el siglo 15. Luego explica las características y estructura del Plan Contable Gubernamental de Perú, el cual fue aprobado en 1997 para proporcionar información sobre los ingresos, gastos, activos, pasivos y patrimonio del gobierno. Finalmente, destaca la importancia de aplicar correctamente este plan contable para que las entidades gubernamentales registren adecuadamente sus transacciones financieras, económicas
Este documento presenta los principios de la contabilidad gubernamental en Perú. Establece que la contabilidad gubernamental registrará todos los hechos económicos que afecten los recursos u obligaciones del sector público. También reconoce la igualdad entre los recursos disponibles y las fuentes de financiamiento y que cada entidad del sector público constituye un ente contable independiente. Finalmente, señala que la contabilidad gubernamental medirá los resultados económicos comparando los costos con los ingresos generados.
La contabilidad gubernamental es el tipo de contabilidad que registra las operaciones financieras de las entidades y dependencias de la administración pública. Aplica principios como la integración patrimonial y presupuestaria, el método de partida doble y el principio del devengado. Regula aspectos como el reconocimiento de hechos económicos, la depreciación de bienes, la amortización de inversiones y el tratamiento de convenios y créditos.
La macroeconomía estudia la economía de un país en su conjunto, ocupándose de cuestiones como el crecimiento económico, el desempleo, la inflación y el producto interior bruto. La contabilidad nacional provee información valiosa al medir y analizar las magnitudes macroeconómicas agregadas de un país, como la producción, el consumo y el gasto, a través de cuentas como el producto interno bruto.
Este documento contiene registros de transacciones contables gubernamentales que incluyen pagos por mantenimiento informático, compra de suministros de oficina, adquisición de uniformes, compra de medicinas, compra de llantas y accesorios, y otros gastos. Cada transacción incluye detalles como fecha, cuenta, debe y haber.
El documento presenta un resumen de la Ley General de Contabilidad Gubernamental de México. Establece un Consejo Nacional de Armonización Contable para coordinar la armonización de la contabilidad pública a nivel nacional y emitir normas contables. Define conceptos como momentos contables de ingresos y gastos, y postulados básicos. Establece que la ley es de observancia obligatoria para entes públicos federales, estatales y municipales.
Este documento describe los elementos y principios clave de la contabilidad gubernamental en México de acuerdo con la Ley General de Contabilidad Gubernamental y las Normas de Información Financiera Gubernamental emitidas por el CONAC. Explica conceptos como los momentos contables del ingreso y el gasto, la clasificación del gasto, el registro de operaciones y la valuación de activos. Además, destaca la importancia de integrar la información presupuestaria y contable para proporcionar una visión completa de la situación financiera del gobierno.
Manual de contabilidad gubernamental 2013 - i - iigilberto roman
La unidad presenta los conceptos de la Contabilidad Gubernamental y el Presupuesto del Sector Público en el Perú. Explica la evolución histórica de estos sistemas desde el gobierno de Ramón Castilla en 1845 y la expedición de normas en 1964. También describe los servicios del Estado, las leyes que rigen la administración financiera como la Ley 28112 y la Ley 28708 sobre el Sistema Nacional de Contabilidad. Finalmente, presenta los libros y registros contables utilizados así como los métodos de valuación del activo fijo en
La contabilidad gubernamental es la técnica para registrar las operaciones económicas, financieras y presupuestarias del gobierno. Tiene como objetivos proporcionar información sobre la aplicación de los fondos públicos y la situación patrimonial del gobierno. Se basa en principios como el registro de operaciones y la revelación de información relevante de manera oportuna.
Este documento presenta el plan contable gubernamental de una entidad, incluyendo la estructura de cuentas y su denominación. Describe los elementos del activo, pasivo, patrimonio, ingresos y gastos. Explica las cuentas principales como caja y bancos, cuentas por cobrar y pagar, y provisiones. Proporciona ejemplos para registrar operaciones contables.
En esta presentación se describe el estado del emprendimiento en Colombia y el mundo actualizado a 2017, incluyendo temáticas como: el incremento en el número de usuarios conectados a Internet a nivel mundial, ejemplos de proyectos de emprendimiento exitosos a nivel nacional (Tappsi, DomiciliosBogota, Rappi, Mensajeros Urbanos, Ticketcode) e internacional, metodologías al momento de emprender (Lean Startup, Business Model Generation, Customer Development), estrategias para crear mínimos productos viables (MVPs), la importancia del equipo, las habilidades del equipo, las etapas de una startup, las alternativas de inversión y buenas prácticas que deberían ser tenidas en cuentas por emprendedores.
La presentación está dirigida y fue realizada a estudiantes de pregrado y posgrado en el curso "Las Mil Caras de Internet" en la Universidad de los Andes.
e-Clouds A Platform and Marketplace to Access and Publish Scientific Applicat...Mario Jose Villamizar Cano
Cloud computing promises to offer great opportunities for research groups; however when researchers want to execute applications in cloud infrastructures many complex processes must be accomplished. In this presentation we present the e-Clouds project which will allow researchers to easily execute many applications on public Infrastructure as a Service (IaaS) solutions. Designed for being a Software as a Service (SaaS) marketplace for scientific applications, e-Clouds allows researchers to submit jobs which are transparently executed on public IaaS platforms, such as Amazon Web Services (AWS). e-Clouds manages the on-demand provisioning and configuration of computing instances, storage, applications, schedulers, jobs, and data. The architectural design and how a first application has been supported on e-Clouds are presented. e-Clouds will allow researchers to easily share and execute applications in the cloud at low TCO (Total Cost of Ownership) and without the complexities associated with details of IT configurations and management. e-Clouds provides new opportunities for research groups with low or none budget for dedicated cluster or grid solutions, providing on-demand access to ready-to-use applications and accelerating the result generation of e-Science projects.
En esta presentación realizada en la Universidad de los Andes, se dan a conocer herramientas, metodologías y buenas prácticas que pueden ser utilizadas por estudiantes y personas que estén interesados en crear o que hagan parte de proyectos de emprendimiento en Internet (Startups). En la presentación se trata principalmente el tema de desarrollo ágil de productos web y móviles, se comparten algunas experiencias al momento de crear empresas en Internet, se dan recomendaciones a tener en cuenta al validar productos con clientes, y se referencian herramientas cloud computing y libros que pueden ser muy útiles para los emprendedores.
Cloud Computing es un modelo que está siendo adoptado por muchas empresas a nivel mundial ya que los más grandes proveedores de software y vendedores de software independiente (ISVs) de todos los tamaños han empezado a diseñar sus aplicaciones para que sean consumidas bajo el modelo cloud computing de Software como Servicio (SaaS). El diseño de soluciones de Software como Servicio involucra grandes retos a nivel técnico incluyendo aspectos como la escalabilidad
de la soluciones, los niveles de personalización, el modelo multi-arrendatario, el acceso desde múltiples dispositivos, la seguridad y el desarrollo sobre servicios PaaS e IaaS son algunos de los temas abordados en esta presentación realizada en el XXXIII Salón de Informática realizado en la ciudad de Bogotá, Colombia (2013).
This presentation is a about a light and personal overview of success histories, challenges, opportunities, methodologies and recommendations that may be relevant to people/professionals/students/entrepreneurs that are trying to create new ideas, products and business models that heavily use information and communication technologies (ICT) in the new era of information where there are more than two billions of people connected to the Internet and where there are emerging technologies that will continue changing the world in the near future.
UnaCloud is an opportunistic based cloud infrastructure
(IaaS) that allows to access on-demand computing
capabilities using commodity desktops. Although UnaCloud
tried to maximize the use of idle resources to deploy virtual
machines on them, it does not use energy-efficient resource
allocation algorithms. In this paper, we design and implement
different energy-aware techniques to operate in an energyefficient
way and at the same time guarantee the performance
to the users. Performance tests with different algorithms and
scenarios using real trace workloads from UnaCloud, show how
different policies can change the energy consumption patterns
and reduce the energy consumption in opportunistic cloud
infrastructures. The results show that some algorithms can
reduce the energy-consumption power up to 30% over the
percentage earned by opportunistic environment.
El documento describe el emprendimiento en Internet y cómo ha cambiado el mundo a través de nuevas tecnologías y empresas. Explica que Internet seguirá cambiando todas las industrias a medida que surjan nuevos emprendimientos internacionales y colombianos. También cubre cómo comienza un emprendedor, el enfoque de Lean Startup, la validación de clientes, los tres estadios de una startup, la inversión y el miedo al fracaso.
Cloud computing promises to offer great opportunities for research groups; however when researchers want to execute applications in cloud infrastructures many complex processes must be accomplished. In this presentation we present the e-Clouds project which will allow researchers to easily execute many applications on public Infrastructure as a Service (IaaS) solutions. Designed for being a Software as a Service (SaaS) marketplace for scientific applications, e-Clouds allows researchers to submit jobs which are transparently executed on public IaaS platforms, such as Amazon Web Services (AWS). e-Clouds manages the on-demand provisioning and configuration of computing instances, storage, applications, schedulers, jobs, and data. The architectural design and how a first application has been supported on e-Clouds are presented. e-Clouds will allow researchers to easily share and execute applications in the cloud at low TCO (Total Cost of Ownership) and without the complexities associated with details of IT configurations and management. e-Clouds provides new opportunities for research groups with low or none budget for dedicated cluster or grid solutions, providing on-demand access to ready-to-use applications and accelerating the result generation of e-Science projects.
Presentación donde se describe el estado actual del modelo Cloud Computing y cómo este modelo está cambiando la manera en que las empresas adquieren infraestructuras, plataformas de desarrollo y aplicaciones. Presentación realizada en el evento Cloud Computing Latin American Conference 2011 organizado por Channel Planet.
UnaCloud: an opportunistic cloud computing Infrastructure as a Service (IaaS) model implementation, which provides at lower cost, fundamental computing resources (processing, storage and networking) to run arbitrary software, including operating systems and applications.
We propose the Bio-UnaGrid infrastructure to facilitate the automatic execution of intensive-computing workflows that require the use of existing application suites and distributed computing infrastructures. With Bio-UnaGrid, bioinformatics workflows are easily created and executed, with a simple click and in a transparent manner, on different cluster and grid computing infrastructures (line command is not used). To provide more processing capabilities, at low cost, Bio-UnaGrid use the idle processing capabilities of computer labs with Windows, Linux and Mac desktop computers, using a key virtualization strategy. We implement Bio-UnaGrid in a dedicated cluster and a computer lab. Results of performance tests evidence the gain obtained by our researchers.
Taxonomía de los modelos de entrega de servicios, despliegue y facturación en...Mario Jose Villamizar Cano
En esta presentación se hace una descripción de los diferentes modelos de entrega, despliegue y facturación, disponibles al momento de querer utilizar soluciones Cloud Computing (Computación en la nube).
UnaGrid is an opportunistic virtual grid infrastructure that takes advantage of the idle processing capabilities of conventional desktop machines in computer rooms through the use of Customizable Processing Virtual Clusters (CPVCs), these capabilities are used within the development of e-Science projects. This paper presents the design, implementation and assessment of a virtual storage system, which simultaneously allows UnaGrid to take advantage of the storage and processing capabilities available in tens or hundreds of desktop machines. The first tests have shown that this system allows attaining large storage capabilities, at low cost, and superior performance than a NFS-NAS dedicated solution.
BacteriumSimulatorGrid (BSGrid) - Tool for Simulating the Behavior of the Bac...Mario Jose Villamizar Cano
We developed BSGrid, an application to simulate the behavior of bacterial populations using stochastic methods, using high performance computing infrastructures (HPCIs) as cluster and/or grid computing.
Presenta el diseño y la implementación de una infraestructura grid virtual oportunista que permite aprovechar las capacidades de procesamiento existentes en los equipos pertenecientes a los laboratorios de cómputo de un campus universitario, permitiendo a los usuarios locales tener prioridad para el acceso a los recursos, mientras en forma paralela un cluster virtual aprovecha los recursos no utilizados por los usuarios.
El documento describe las diferentes formas de aumentar la capacidad computacional disponible para investigadores, incluyendo el uso de servidores, clústeres y grids computacionales. Explica que un grid computacional permite compartir recursos de cómputo y almacenamiento entre organizaciones para apoyar proyectos de investigación de forma transparente. También describe los esfuerzos en Colombia para establecer una infraestructura grid nacional que permita compartir recursos entre instituciones.
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptxOsiris Urbano
Evaluación de principales hallazgos de la Historia Clínica utiles en la orientación diagnóstica de Hemorragia Digestiva en el abordaje inicial del paciente.
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...JAVIER SOLIS NOYOLA
El Mtro. JAVIER SOLIS NOYOLA crea y desarrolla el “DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARIS”. Esta actividad de aprendizaje propone el reto de descubrir el la secuencia números para abrir un candado, el cual destaca la percepción geométrica y conceptual. La intención de esta actividad de aprendizaje lúdico es, promover los pensamientos lógico (convergente) y creativo (divergente o lateral), mediante modelos mentales de: atención, memoria, imaginación, percepción (Geométrica y conceptual), perspicacia, inferencia y viso-espacialidad. Didácticamente, ésta actividad de aprendizaje es transversal, y que integra áreas del conocimiento: matemático, Lenguaje, artístico y las neurociencias. Acertijo dedicado a los Juegos Olímpicos de París 2024.
José Luis Jiménez Rodríguez
Junio 2024.
“La pedagogía es la metodología de la educación. Constituye una problemática de medios y fines, y en esa problemática estudia las situaciones educativas, las selecciona y luego organiza y asegura su explotación situacional”. Louis Not. 1993.
Guia Practica de ChatGPT para Docentes Ccesa007.pdf
APO2 - Presentacion nivel 9
1. NIVEL 9
ALGORÍTMICA Y PROGRAMACIÓN 2 (APO 2)
Mario José Villamizar Cano
mj.villamizar24@uniandes.edu.co
Oficina ML-637
http://sistemas.uniandes.edu.co/~mj.villamizar24/dokuwiki/doku.php
Grupo de Tecnologías de Información y Comunicación (COMIT)
Departamento de Ingeniería de Sistemas y Computación
Universidad de los Andes, Bogotá D.C., Colombia
2. NIVEL 9
REDES SOCIALES
mjvc007@hotmail.com
http://twitter.com/mariocloud
http://linkedin.com/in/mariojosevillamizarcano
3. NIVEL 9
NIVEL 9 – ESTRUCTURAS LINEALES ENLAZADAS
Caso de estudio 1 – Una Central de Pacientes
Referencias y ciclos de vida de los objetos
Estructuras lineales enlazadas
Localización de elementos y recorridos
Supresión de elementos
Inserción de elementos
Patrones de algoritmo
Nuevos componentes gráficos (JRadioButton, ButtonGroup, JDialog)
4. NIVEL 9
CASOS DE ESTUDIO
Caso de estudio 1: Una Central de Pacientes
5. NIVEL 9
CASOS DE ESTUDIO
Caso de estudio 1: Una Central de Pacientes
6. NIVEL 9
CASOS DE ESTUDIO
Caso de estudio 2: Aerolínea
7. NIVEL 9
CASOS DE ESTUDIO
Caso de estudio 2: Aerolínea
8. NIVEL 9
HOJAS DE TRABAJO
Hoja de trabajo 1: Agenda
9. NIVEL 9
HOJAS DE TRABAJO
Hoja de trabajo 2: Cadenas de ADN
10. NIVEL 9
HOJAS DE TRABAJO
Hoja de trabajo 3: Cupi E-Mart
11. NIVEL 9
HOJAS DE TRABAJO
Hoja de trabajo 3: Cupi E-Mart
12. NIVEL 9
CASOS DE ESTUDIO
Caso de estudio 1: Una Central de Pacientes
13. NIVEL 9
CASOS DE ESTUDIO
Caso de estudio 1: Una Central de Pacientes
14. NIVEL 9
CASO DE ESTUDIO 1 – UNA CENTRAL DE PACIENTES
Requerimientos funcionales.
15. NIVEL 9
CASO DE ESTUDIO 1 – UNA CENTRAL DE PACIENTES
Requerimientos funcionales.
16. NIVEL 9
CASO DE ESTUDIO 1 – UNA CENTRAL DE PACIENTES
Requerimientos funcionales.
17. NIVEL 9
CASO DE ESTUDIO 1 – UNA CENTRAL DE PACIENTES
Modelo del Mundo con un Vector o ArrayList
18. NIVEL 9
CASO DE ESTUDIO 1 – UNA CENTRAL DE PACIENTES
Representación con un Vector o ArrayList
:CentralPacientes
:Paciente :Paciente :Paciente :Paciente
pacientes = codigo=12 codigo=22 codigo=50 …… codigo=100
nombre=“Maria” nombre=“Juan” nombre=“Mary” nombre=“Lucas”
0 1 2 n
19. NIVEL 9
CASO DE ESTUDIO 1 – UNA CENTRAL DE PACIENTES
Modelo del Mundo con un Vector o ArrayList
20. NIVEL 9
CASO DE ESTUDIO 1 – UNA CENTRAL DE PACIENTES
Representación con una LISTA ENLAZADA SIMPLE
:CentralPacientes
:Paciente :Paciente :Paciente :Paciente
null
primero codigo=12 codigo=22 codigo=50 codigo=100
nombre=“Maria” nombre=“Juan” nombre=“Mary” nombre=“Lucas”
Solo se tiene una referencia al primer elemento de la lista.
Cada elemento de la lista tiene una referencia al siguiente-
El último elemento de la lista tiene como referencia null es su atributo siguiente.
El primer elemento de la lista generalmente se le denomina cabeza.
21. NIVEL 9
CASO DE ESTUDIO 1 – UNA CENTRAL DE PACIENTES
Modelo del Mundo con una LISTA ENLAZADA SIMPLE
22. NIVEL 9
CASO DE ESTUDIO 1 – UNA CENTRAL DE PACIENTES
Modelo de la Interfaz
23. NIVEL 9
CASO DE ESTUDIO 1 – UNA CENTRAL DE PACIENTES
Modelo de las Pruebas
24. NIVEL 9
LISTAS ENLAZADAS SIMPLES
Es una estructura de datos utilizada en problemas en los cuales es
importante mantener ordenados un conjunto de valores y objetos.
Son muy eficientes para la inserción y eliminación de elementos.
Los desplazamientos en memoria para el caso de los arreglos es
necesario hacerlo a mano.
Los desplazamientos en memoria para el caso de los vectores o
ArrayList los hace automáticamente Java, sin embargo, no lo hace de
manera eficiente.
Utilizadas principalmente en programas en los que hay muchas
inserciones y eliminaciones de elementos, así como en programas en los
cuales dichos elementos deben mantener o cumplir con alguna regla de
ordenamiento.
25. NIVEL 9
DECLARACIÓN DE UNA LISTA ENLAZADA SIMPLE
La definición de una lista enlazada simple
public class CentralPacientes
{
//----------------------------------------------------------------
// Atributos
//----------------------------------------------------------------
/**
* Primer paciente de la lista
*/
private Paciente primero;
}
26. NIVEL 9
INICIALIZACIÓN DE UNA LISTA ENLAZADA SIMPLE
La inicialización de una lista enlazada simple
public class CentralPacientes
{
public CentralPacientes( )
{ Inicialmente la lista no
tiene ningún paciente,
primero = null; por lo cual primero se
numPacientes = 0; inicializa en null
}
}
27. NIVEL 9
DECLARACIÓN DE LOS ELEMENTOS DE LISTA ENLAZADA SIMPLE
La inicialización de una lista enlazada simple
public class Paciente
{
//---------------------------------------------
// Atributos
//---------------------------------------------
private int codigo;
private String nombre;
private String clinica;
private String informacionMedica;
private int sexo;
/**
* Referencia al siguiente elemento
*/ Cada elemento de la
private Paciente siguiente; lista puede tener una
referencia al siguiente.
}
28. NIVEL 9
CREACIÓN DE UN NUEVO PACIENTE
La creación de un objeto de la clase Paciente
public class Paciente
{
//---------------------------------------------
// Métodos
//---------------------------------------------
public Paciente( int cod, String nom, String clin, String infoMed, int sex )
{
codigo = cod;
nombre = nom; Al crear un objeto el
clinica = clin; atributo siguiente
informacionMedica = infoMed; referencia a null.
sexo = sex;
siguiente = null;
}
}
29. NIVEL 9
OPERACIONES SOBRE LISTAS ENLAZADAS SIMPLES
Búsquedas y recorridos
Calcular el número de pacientes de sexo masculino.
Buscar a un paciente dado su código.
Buscar el número de pacientes asociados con una clínica.
Buscar a un paciente dado su nombre.
Inserción
Insertar un nuevo paciente (al inicio, al final, después de otro paciente, antes de
otro paciente).
Eliminación
Eliminar un paciente dado su código.
30. NIVEL 9
BÚSQUEDAS Y RECORRIDOS EN LISTAS ENLAZADAS SIMPLES
Recorrido total
Definir el método dar número de pacientes en la clase CentralPacientes:
El recorrido siempre empieza por
la cabeza y se hace utilizando una
public int darTotalPacientes( ) variable, regularmente
{ denominada actual.
Paciente actual = primero;
int numero = 0; El recorrido se hace en un ciclo, el
cual se ejecuta siempre y cuando
while( actual != null ) no se haya llegado al final de la
{ lista.
numero++; Se efectúan las operaciones
actual = actual.darSiguiente( ); requeridas sobre el elemento
} actual.
return numero;
Se pide que actual ahora
}
referencia a su elemento
siguiente.
31. NIVEL 9
BÚSQUEDAS Y RECORRIDOS EN LISTAS ENLAZADAS SIMPLES
Recorrido total
Definir el método dar número de mujeres en la clase CentralPacientes:
El recorrido siempre empieza por
public int darNumeroMujeres ( ) la cabeza y se hace utilizando una
{ variable, regularmente
Paciente actual = primero; denominada actual.
int numero = 0;
El recorrido se hace en un ciclo, el
while( actual != null ) cual se ejecuta siempre y cuando
{ no se haya llegado al final de la
if(actual.darSexo( )==Paciente.MUJER) lista.
numero++; Se efectúan las operaciones
actual = actual.darSiguiente( ); requeridas sobre el elemento
} actual.
return numero;
Se pide que actual ahora
}
referencia a su elemento
siguiente.
32. NIVEL 9
BÚSQUEDAS Y RECORRIDOS EN LISTAS ENLAZADAS SIMPLES
Recorrido parcial
Definir el método hay un hombre en la clase CentralPacientes:
El recorrido siempre empieza por
public boolean hayUnHombre ( ) la cabeza y se hace utilizando una
{ variable, regularmente
Paciente actual = primero; denominada actual.
boolean termino= false;
El recorrido se hace en un ciclo, el
while( actual != null && !termino) cual se ejecuta siempre y cuando
{ no se haya llegado al final de la
if(actual.darSexo( )==Paciente.HOMBRE) lista y no se haya cumplido una
termino=true; condición.
actual = actual.darSiguiente( ); Se efectúan las operaciones
} requeridas sobre el elemento
return termino; actual.
}
Se pide que actual ahora
referencia a su elemento
siguiente.
33. NIVEL 9
BÚSQUEDAS Y RECORRIDOS EN LISTAS ENLAZADAS SIMPLES
Ejercicio de recorrido y búsquedas
Definir el método dar sexo menor número de pacientes en la clase
CentralPacientes. Este método retorna el sexo que tiene el menor número de
pacientes, es decir las constantes HOMBRE o MUJER, en caso de haber
empate el método debe retornar -1.
public int darSexoMenorNumeroPacientes ( )
{
}
34. NIVEL 9
BÚSQUEDAS Y RECORRIDOS EN LISTAS ENLAZADAS SIMPLES
Ejercicio de recorrido y búsquedas
Definir el método dar paciente mayor código en la clase CentralPacientes:
public Paciente darPacienteMayorCodigo ( )
{
}
35. NIVEL 9
BÚSQUEDAS Y RECORRIDOS EN LISTAS ENLAZADAS SIMPLES
Ejercicio de recorrido y búsquedas
Definir el método dar último paciente en la clase CentralPacientes. Este método
retorna null en caso de que no hayan pacientes.
public Paciente darUltimoPaciente( )
{
}
36. NIVEL 9
BÚSQUEDAS Y RECORRIDOS EN LISTAS ENLAZADAS SIMPLES
Ejercicio de recorrido y búsquedas
Definir el método dar última mujer de la lista en la clase CentralPacientes. Este
método retorna null en caso de que no haya una mujer en la lista.
public Paciente darUltimaMujer ( )
{
}
37. NIVEL 9
BÚSQUEDAS Y RECORRIDOS EN LISTAS ENLAZADAS SIMPLES
Ejercicio de recorrido y búsquedas
Definir el método retornar pacientes en ArrayList, en la clase CentralPacientes.
public ArrayList retornarPacientesEnArrayList ( )
{
}
38. NIVEL 9
BÚSQUEDAS Y RECORRIDOS EN LISTAS ENLAZADAS SIMPLES
Ejercicio de recorrido y búsquedas (DOBLE RECORRIDO)
Definir el método hay dos pacientes con el mismo nombre en la clase
CentralPacientes.
public boolean hayDosPacientesConElMismoNombre ( )
{
}
39. NIVEL 9
BÚSQUEDAS Y RECORRIDOS EN LISTAS ENLAZADAS SIMPLES
Ejercicio de recorrido y búsquedas (DOBLE RECORRIDO)
Definir el método hay dos pacientes de la misma clínica en la clase
CentralPacientes.
public boolean hayDosPacientesDeLaMismaClinica ( )
{
}
40. NIVEL 9
PATRÓN DE RECORRIDO TOTAL
Consiste en pararse una vez en cada uno de los elementos de la lista.
Nodo actual = primero;
while( actual != null )
{
……………
actual = actual.darSiguiente( );
}
41. NIVEL 9
PATRÓN DE RECORRIDO PARCIAL PARA LOCALIZAR EL ÚTIMO
ELEMENTO
Consiste en localizar el último elemento de la lista.
if ( primero != null )
{
Nodo actual = primero;
while( actual.darSiguiente() != null )
{
……………
actual = actual.darSiguiente( );
}
…………
}
42. NIVEL 9
PATRÓN DE RECORRIDO PARCIAL HASTA QUE UN ELEMENTO
CUMPLA UNA CONDICIÓN
Consiste en verificar que una condición se cumple sobre por lo menos
un elemento de la lista.
Nodo actual = primero;
boolean termino = false;
while( actual != null && !termino )
{
…………..
actual = actual.darSiguiente( );
}
……………
43. NIVEL 9
PATRÓN DE RECORRIDO PARCIAL HASTA QUE UNA CONDICIÓN SE
CUMPLA SOBRE EL SIGUIENTE ELEMENTO
Consiste en verificar que una condición se cumple sobre el siguiente
elemento de por lo menos uno de los elementos de la lista.
Nodo actual = primero;
Nodo anterior = null;
boolean termino = false;
while( actual != null && !termino )
{
…………..
anterior = actual;
actual = actual.darSiguiente( );
}
……………
46. NIVEL 9
INSERCIÓN EN LISTAS ENLAZADAS SIMPLES
Problemas de inserción típicos
Insertar un elemento al inicio de la lista.
Insertar un elemento al final de la lista.
Insertar un elemento después de otro elemento.
Insertar un elemento antes de otro elemento.
47. NIVEL 9
INSERCIÓN EN LISTAS ENLAZADAS SIMPLES
Problemas de inserción típicos – AL INICIO DE LA LISTA
Definir el método agregar paciente al comienzo, en la clase CentralPacientes:
public void agregarPacienteAlComienzo( Paciente pac )
{
if( primero == null ) Se supone que el paciente
{ ya se creó normalmente y
Se crea la cabeza si no que su referencia a siguiente
primero = pac; existe
} es null.
else
{
pac.cambiarSiguiente( primero ); Se realiza la adición antes
primero = pac; del paciente que está al
} inicio de la lista
numPacientes++;
}
48. NIVEL 9
INSERCIÓN EN LISTAS ENLAZADAS SIMPLES
Problemas de inserción típicos – AL FINAL DE LA LISTA
Definir el método agregar paciente al final, en la clase CentralPacientes:
public void agregarPacienteAlFinal( Paciente pac )
{
if( primero == null ) Se supone que el paciente
{ ya se creó normalmente y
Se crea la cabeza si no que su referencia a siguiente
primero = pac; existe
} es null.
else
{
Paciente p = localizarUltimo( ); Se realiza la adición
p.insertarDespues( pac ); después del paciente que
} está al final de la lista
numPacientes++;
}
49. NIVEL 9
INSERCIÓN EN LISTAS ENLAZADAS SIMPLES
Problemas de inserción típicos – INSERTAR DESPUÉS DE OTRO
ELEMENTO
Definir el método agregar paciente después de otro, en la clase
CentralPacientes:
public void agregarPacienteDespuesDe( int cod, Paciente pac ) throws
NoExisteException
{ Se supone que el paciente
Identificador del
ya se creó normalmente y
elemento anterior
que su referencia a siguiente
Paciente anterior = localizar( cod ); es null.
if( anterior == null ) Se localiza el paciente
throw new NoExisteException( cod ); anterior
else
anterior.insertarDespues( pac );
Se adiciona el nuevo
numPacientes++;
paciente después del
anterior
}
50. NIVEL 9
INSERCIÓN EN LISTAS ENLAZADAS SIMPLES
Problemas de inserción típicos – INSERTAR ANTES DE OTRO
ELEMENTO
Definir el método agregar paciente antes de otro, en la clase CentralPacientes:
public void agregarPacienteAntesDe( int cod, Paciente pac ) throws NoExisteException
{
if( primero == null )
throw new NoExisteException( cod );
else if( cod == primero.darCodigo( ) )
{
pac.cambiarSiguiente( primero );
primero = pac;
}
else
{
Paciente anterior = localizarAnterior( cod );
if( anterior == null )
throw new NoExisteException( cod );
anterior.insertarDespues( pac );
}
numPacientes++;
}
51. NIVEL 9
ELIMINACIÓN EN LISTAS ENLAZADAS SIMPLES
Problemas de inserción típicos – ELIMINAR UN ELEMENTO DE LA
LISTA
Definir el método eliminar paciente, en la clase CentralPacientes:
public void eliminarPaciente( int cod ) throws NoExisteException
{
if( primero == null )
throw new NoExisteException( cod );
else if( cod == primero.darCodigo( ) )
{
primero = primero.darSiguiente( ); // El paciente es el primero de la lista
}
else
{
// El paciente es un elemento intermedio de la lista
Paciente anterior = localizarAnterior( cod );
if( anterior == null )
throw new NoExisteException( cod );
anterior.desconectarSiguiente( );
}
numPacientes--;
}
52. NIVEL 9
ELIMINACIÓN EN LISTAS ENLAZADAS SIMPLES
Problemas de inserción típicos – ELIMINAR UN ELEMENTO DE LA
LISTA
Definir el método eliminar paciente, en la clase CentralPacientes:
public void eliminarPaciente( int cod ) throws NoExisteException
{
if( primero == null )
throw new NoExisteException( cod );
else if( cod == primero.darCodigo( ) )
{
primero = primero.darSiguiente( ); // El paciente es el primero de la lista
}
else
{
// El paciente es un elemento intermedio de la lista
Paciente anterior = localizarAnterior( cod );
if( anterior == null )
throw new NoExisteException( cod );
anterior.desconectarSiguiente( );
}
numPacientes--;
}
53. NIVEL 9
INTERFAZ PRINCIPAL
Caso de estudio 1: Una Central de Pacientes
54. NIVEL 9
COMPONENTE JDialog
Caso de estudio 1: Una Central de Pacientes
55. NIVEL 9
Diálogos (JDialog)
Métodos
setSize(ancho, alto)
setResizable(cambiable)
setTitle(titulo)
setDefaultCloseOperation(EXIT_
ON_CLOSE)
setVisible(esVisible)
add(componente)
Puede ser modal o no modal.
Método setLayout( ) del
contenedor gráfico.
Se aplican los tipos de layout
BorderLayout y GridLayout igual
a un JFrame.
56. NIVEL 9
DIAGRAMA DE CLASES CON JDialog
Modelo de la Interfaz
Cada JDialog tiene una referencia Las líneas punteadas indican
a la interfaz principal. dependencias (no son atributos).
57. NIVEL 9
EJEMPLO DE CREACIÓN DE UN JDialog
Cada JDialog tiene una referencia a la interfaz principal.
58. NIVEL 9
COMO ABRIR UN JDialog DESDE LA INTERFAZ
Las líneas punteadas indican dependencias (no son atributos).
66. NIVEL 9
CASOS DE ESTUDIO
Caso de estudio 2: Aerolínea
67. NIVEL 9
CASOS DE ESTUDIO
Caso de estudio 2: Aerolínea
68. NIVEL 9
CASO DE ESTUDIO 2 – AEROLÍNEA
Requerimientos funcionales.
69. NIVEL 9
CASO DE ESTUDIO 2 – AEROLÍNEA
Requerimientos funcionales.
70. NIVEL 9
CASO DE ESTUDIO 2 – AEROLÍNEA
Requerimientos funcionales.
71. NIVEL 9
CASO DE ESTUDIO 2 – AEROLÍNEA
Requerimientos funcionales.
72. NIVEL 9
CASO DE ESTUDIO 2 – AEROLÍNEA
Modelo del Mundo
73. NIVEL 9
CASO DE ESTUDIO 2 – AEROLÍNEA
Modelo de la Interfaz
74. NIVEL 9
CASO DE ESTUDIO 2 – AEROLÍNEA
Modelo de las Pruebas
75. NIVEL 9
CASO DE ESTUDIO 2 – AEROLÍNEA
Representación con una Lista Doblemente Enlazada
:Ciudad
vuelo1
:Vuelo :Vuelo :Vuelo :Vuelo
null
null codigo=30 codigo=80 codigo=50 codigo=100
76. NIVEL 9
OPERACIONES SOBRE LISTAS ENLAZADAS DOBLES
Búsquedas y recorridos (Similar a como se hace en la listas simples)
Calcular el número de vuelos que tienen por lo menos una silla disponible.
Buscar a un vuelo dado su código.
Buscar si un usuario tiene una reserva en un vuelo.
Inserción
Insertar un nuevo vuelo (al inicio, al final, después de otro vuelo, antes de otro
vuelo).
Eliminación
Eliminar un vuelo dado su código.
80. NIVEL 9
Distribuidor secuencial - FlowLayout
Sitúa todos los componentes que se encuentran dentro del contenedor
gráfico, uno después de otro de izquierda a derecha.
Tiene en cuenta el orden de llegada y respeta el tamaño preferido que tienen
establecidos cada uno de los componentes gráficos.
Si se termina el espacio en una fila, el distribuidor comienza a usar la
siguiente.
83. NIVEL 9
Distribuidor GridBagLayout
Distribuidor muy flexible que permite crear interfaces gráficas de usuario con
una estructura profesional.
Utiliza una malla dinámica en la que cada componente puede utilizar una o
más celdas.
Implementado por dos clases en Java:
GridBagLayout: El distribuidor
GridBagConstraints: Describe las características (posición, tamaño, forma de
adaptarse a los cambios de tamaño, etc.
En el método add para adicionar un nuevo componente al distribuidor, se
debe pasar como parámetro una instancia de la clase GridBagConstraints.
Se verán las principales características de este distribuidor. Para una
documentación más completa se recomienda consultar la documentación de las
clases GridBagLayout y GridBagConstraints.
84. NIVEL 9
Objetos de la Clase GridBagConstraints
Un objeto de la clase GridBagConstraints tiene definidos (entre otros) los
siguientes atributos.
gridx: Coordenada X de la celda de la malla del distribuidor donde comienza el
componente.
Coordenada X
0 1 2
0
Coordenada Y 1
2
85. NIVEL 9
Objetos de la Clase GridBagConstraints
Un objeto de la clase GridBagConstraints tiene definidos (entre otros) los
siguientes atributos.
gridy: Coordenada Y de la celda de la malla del distribuidor donde comienza el
componente.
gridwitdh: Número de casillas que va a ocupar el componente en la dirección X.
gridheigh: Número de casillas que va a ocupar el componente en la dirección Y.
86. NIVEL 9
Objetos de la Clase GridBagConstraints
Un objeto de la clase GridBagConstraints tiene definidos (entre otros) los
siguientes atributos.
fill: Usado cuando el espacio reservado para el componente es mayor que el
espacio que el componente necesita. Puede tomar los siguientes valores:
GridBagConstraints.NONE (valor por defecto y corresponde a no hacer nada).
GridBagConstraints.HORIZONTAL (cambia el tamaño del componente en la
dirección horizontal).
GridBagConstraints.VERTICAL (cambia el tamaño del componente en la
dirección vertical).
GridBagConstraints.BOTH (hace cambios en la dos dimensiones para ocupar
todo el espacio disponible en el distribuidor).
87. NIVEL 9
Objetos de la Clase GridBagConstraints
Un objeto de la clase GridBagConstraints tiene definidos (entre otros) los
siguientes atributos.
weightx: Define la manera como se va a distribuir el espacio extra en la
dimensión X. Utilizado principalmente cuando se cambie el tamaño del
contenedor gráfico.
weighty: Define la manera como se va a distribuir el espacio extra en la
dimensión Y. Utilizado principalmente cuando se cambie el tamaño del
contenedor gráfico.