El documento describe cómo crear y procesar archivos de datos en C++. Explica que los archivos se utilizan para almacenar datos de forma permanente, mientras que las variables solo almacenan datos de forma temporal. Luego, detalla cómo crear un archivo secuencial para almacenar registros de clientes con su número de cuenta, nombre y saldo, usando clases ifstream, ofstream y fstream. Finalmente, muestra el código para crear un objeto ofstream, abrir y verificar el archivo, e introducir y escribir registros de clientes en el archivo.
Este documento describe diferentes tipos de listas en estructuras de datos, incluyendo listas enlazadas simples, doblemente enlazadas, circulares y doblemente circulares. Explica sus características, operaciones y estructuras, con ejemplos de cómo se implementan en lenguajes de programación como Java.
ESTRUCTURA DE DATOS: MEMORIA ESTATICA
La memoria estática es la que no se puede modificar o ejecutar en momento de ejecución. También se debe conocer con anticipo el tamaño de la estructura que está en ejecución.
ITESZ
Este documento describe las propiedades y funcionalidad de las estructuras de datos pilas y colas. Las pilas siguen el orden LIFO (último en entrar, primero en salir) mientras que las colas siguen el orden FIFO (primero en entrar, primero en salir). Se proveen ejemplos de cómo se usan pilas y colas en la vida cotidiana y en programación, y se explican sus estados, acciones, y cómo manipular elementos dentro de cada estructura de datos.
Una cola es una estructura de datos que funciona bajo el principio FIFO (primero en entrar, primero en salir). Los elementos se agregan al final de la cola mediante la operación add y se eliminan del frente mediante la operación poll. Las colas se usan comúnmente para simular procesos por lotes como cajeros automáticos o líneas de producción.
Este documento explica el modelo de entidad-relación (ER) para el diseño de bases de datos. El modelo ER representa el mundo real mediante entidades, atributos y relaciones. Las entidades tienen atributos como claves primarias y foráneas. Las relaciones pueden ser de uno a uno, uno a muchos o muchos a muchos. El documento recomienda utilizar diagramas ER extendidos que incluyen entidades fuertes y débiles y atributos en relaciones.
Método de ordenamiento por selección (selection sortlinkinpark03
El método de ordenamiento por selección ordena un arreglo encontrando el elemento menor en cada iteración y colocándolo en la posición inicial. Primero encuentra el menor elemento y lo intercambia con el de la primera posición, luego el segundo menor y lo coloca en la segunda posición, repitiendo este proceso hasta ordenar todo el arreglo. Implementa ciclos anidados para recorrer el arreglo, encontrar el elemento menor y realizar el intercambio correspondiente.
Esta presentación es parte del contenido del curso de Programación Avanzada impartido en la Universidad Rafael Landívar durante el año 2015.
Incluye los temas:
• Método Burbuja
• Método por Inserción
Creado por Ing. Alvaro Enrique Ruano
Un hash es el resultado de aplicar una función matemática a un documento u objeto para generar una clave única que lo represente de forma concisa. Las funciones hash se usan comúnmente en tablas hash para acelerar la búsqueda de información mediante el mapeo casi directo de claves a ubicaciones de memoria. Una buena función hash distribuye las claves de forma aleatoria para minimizar las colisiones donde claves diferentes generan la misma salida.
Este documento describe diferentes tipos de listas en estructuras de datos, incluyendo listas enlazadas simples, doblemente enlazadas, circulares y doblemente circulares. Explica sus características, operaciones y estructuras, con ejemplos de cómo se implementan en lenguajes de programación como Java.
ESTRUCTURA DE DATOS: MEMORIA ESTATICA
La memoria estática es la que no se puede modificar o ejecutar en momento de ejecución. También se debe conocer con anticipo el tamaño de la estructura que está en ejecución.
ITESZ
Este documento describe las propiedades y funcionalidad de las estructuras de datos pilas y colas. Las pilas siguen el orden LIFO (último en entrar, primero en salir) mientras que las colas siguen el orden FIFO (primero en entrar, primero en salir). Se proveen ejemplos de cómo se usan pilas y colas en la vida cotidiana y en programación, y se explican sus estados, acciones, y cómo manipular elementos dentro de cada estructura de datos.
Una cola es una estructura de datos que funciona bajo el principio FIFO (primero en entrar, primero en salir). Los elementos se agregan al final de la cola mediante la operación add y se eliminan del frente mediante la operación poll. Las colas se usan comúnmente para simular procesos por lotes como cajeros automáticos o líneas de producción.
Este documento explica el modelo de entidad-relación (ER) para el diseño de bases de datos. El modelo ER representa el mundo real mediante entidades, atributos y relaciones. Las entidades tienen atributos como claves primarias y foráneas. Las relaciones pueden ser de uno a uno, uno a muchos o muchos a muchos. El documento recomienda utilizar diagramas ER extendidos que incluyen entidades fuertes y débiles y atributos en relaciones.
Método de ordenamiento por selección (selection sortlinkinpark03
El método de ordenamiento por selección ordena un arreglo encontrando el elemento menor en cada iteración y colocándolo en la posición inicial. Primero encuentra el menor elemento y lo intercambia con el de la primera posición, luego el segundo menor y lo coloca en la segunda posición, repitiendo este proceso hasta ordenar todo el arreglo. Implementa ciclos anidados para recorrer el arreglo, encontrar el elemento menor y realizar el intercambio correspondiente.
Esta presentación es parte del contenido del curso de Programación Avanzada impartido en la Universidad Rafael Landívar durante el año 2015.
Incluye los temas:
• Método Burbuja
• Método por Inserción
Creado por Ing. Alvaro Enrique Ruano
Un hash es el resultado de aplicar una función matemática a un documento u objeto para generar una clave única que lo represente de forma concisa. Las funciones hash se usan comúnmente en tablas hash para acelerar la búsqueda de información mediante el mapeo casi directo de claves a ubicaciones de memoria. Una buena función hash distribuye las claves de forma aleatoria para minimizar las colisiones donde claves diferentes generan la misma salida.
Este documento describe varios métodos de ordenamiento interno como inserción directa, burbuja, quicksort, shellsort, ordenamiento por conteo y ordenamiento por distribución. Explica los pasos de cada algoritmo y provee ejemplos para ilustrar cómo funcionan.
El documento describe varios métodos de ordenamiento externos como la mezcla de archivos, la mezcla por intercalación y la mezcla directa. La mezcla por intercalación combina dos archivos ordenados leyendo un registro de cada uno y almacenando el menor en un archivo de resultados, repitiendo el proceso hasta completar ambos archivos. La mezcla directa realiza particiones y fusiones sucesivas que producen secuencias ordenadas de mayor longitud hasta completar el archivo. La mezcla natural es una optimización de la mezcla directa donde las particiones son de
Este documento presenta 8 ejercicios resueltos en Prolog. Los ejercicios cubren temas como hechos y reglas, aritmética recursiva, listas y sus operaciones como imprimir, agregar elementos, invertir, ordenar y más. El autor concluye que Prolog es adecuado para la inteligencia artificial debido a su facilidad de programación y uso de listas para estructurar datos de manera recursiva.
El documento habla sobre los conceptos básicos de la programación orientada a objetos. Explica que la POO organiza los programas como colecciones de objetos que son instancias de clases, las cuales están relacionadas mediante herencia. Luego define los atributos como las porciones de información que describen el estado de un objeto, y los métodos como la forma en que los objetos se comunican y actúan cuando reciben mensajes. También cubre los modificadores de acceso para atributos y métodos, así como las propiedades que permiten la lectura y
Tecnológico Nacional de México
ingeniería en Sistemas Computacionales
Programación Orientada a Objetos
Unidad 6 archivos
En este material se manejan archivos de texto y archivos binarios.
El documento describe el modelo relacional de bases de datos, incluyendo su evolución histórica, conceptos clave como tablas, claves y dominios, y las 12 reglas de Codd para que un sistema de gestión de bases de datos sea considerado realmente relacional. También explica cómo transformar un esquema entidad-relación a un esquema relacional.
La memoria dinámica se reserva en tiempo de ejecución y su tamaño puede variar durante la ejecución del programa. Esto permite asignar memoria de forma precisa según se vaya necesitando. Las funciones malloc, calloc, realloc y free permiten gestionar la memoria dinámica asignando, inicializando, redimensionando y liberando memoria de forma dinámica.
El documento describe los conceptos básicos de modelamiento de bases de datos usando la metodología IDEF1X en ERwin, incluyendo tipos de modelos, entidades y atributos, relaciones y tipos de relaciones, entidades atributivas y designativas, subtipos, claves primarias y alternantes. También cubre otros componentes del diagrama como roles, relaciones recursivas, dominios y reglas de validación.
Este documento presenta varios métodos de búsqueda y ordenamiento de datos, incluyendo el método de la burbuja, selección, inserción, intercambio, Shell, búsqueda secuencial y binaria, quicksort, binsort y radixsort. Explica cada método con ejemplos para ilustrar cómo funcionan los algoritmos de ordenamiento y búsqueda.
Este documento presenta diferentes métodos de búsqueda como la búsqueda secuencial, binaria y mediante transformación de llaves. Explica la búsqueda secuencial como el método de recorrer elementos de forma lineal, la búsqueda binaria como una división recursiva de la lista ordenada, y la transformación de llaves como asignar índices a elementos mediante funciones hash.
El documento presenta y resume varios algoritmos de ordenamiento como el método de la burbuja, selección, inserción, intercambio y shell. También describe las búsquedas secuencial y binaria, explicando que la búsqueda binaria es más eficiente cuando la lista está ordenada al requerir menos comparaciones.
Este documento describe el uso de estructuras anidadas en C/C++. Explica que una estructura puede contener otras estructuras, lo que se conoce como anidamiento. Proporciona un ejemplo de una estructura Stack que contiene una estructura anidada Link para implementar una pila como una lista enlazada simple. Describe la sintaxis para declarar estructuras anidadas y cómo inicializar y usar los métodos de las estructuras anidadas Stack y Link.
Los arreglos y colecciones son utilizados para almacenar múltiples objetos. Los arreglos almacenan objetos del mismo tipo, mientras que las colecciones pueden almacenar diferentes tipos de objetos con un objeto padre común. Existen diferentes tipos de colecciones como List, Set, Queue y Map; cada una con características específicas para el almacenamiento y manipulación de objetos.
El documento describe el proceso de normalización de bases de datos relacionales. Explica que la normalización transforma datos complejos en estructuras más pequeñas y simples para hacerlas más fáciles de mantener y menos propensas a errores. Detalla los seis niveles de normalización, desde la primera forma normal hasta la quinta forma normal, y provee ejemplos para ilustrar cómo aplicar las reglas de normalización a tablas específicas.
Este documento describe las estructuras de datos de lista, pila y cola. Una lista es una estructura dinámica que almacena datos de forma organizada. Una pila sigue el principio LIFO (último en entrar, primero en salir) y una cola sigue el principio FIFO (primero en entrar, primero en salir). El documento explica las operaciones básicas como insertar, eliminar, buscar y recorrer para cada estructura. También compara las diferencias entre estructuras estáticas y dinámicas y da ejemplos de
Las listas doblemente enlazadas permiten recorrer los nodos en ambas direcciones mediante punteros. Cada nodo contiene punteros al nodo anterior y siguiente, además del valor almacenado. Se pueden insertar y eliminar nodos al inicio, final o en cualquier posición mediante la modificación de los punteros. El proceso de inserción requiere asignar nuevos enlaces entre los nodos, mientras que la eliminación une el nodo anterior con el siguiente.
Este documento describe las colas, que son listas lineales donde las operaciones de inserción y eliminación se realizan en extremos opuestos. Las colas siguen el principio FIFO, donde el primer elemento en entrar es el primero en salir. El documento también describe diferentes tipos de colas como colas circulares y bicolas, así como su implementación en Java.
PARA OBSERVAR PASO A PASO EL PROCESO DE LOS RECORRIDOS MINIMOS ES NECESARIO REPRODUCIRLAS EN MODO PRESENTACION PARA ASI APRECIAR EL CONTENIDO COMPLETO
Grafos,recorridos minimo, algoritmos, tipos de grafos, ilustrado, ejemplos , recorridos,terminologia,Dijkstra,Bellman - Ford, Floyd - Warshall,conceptos basicos
Este documento describe dos técnicas de búsqueda en arrays: la búsqueda lineal o secuencial y la búsqueda binaria o dicotómica. La búsqueda lineal implica examinar cada elemento del array secuencialmente para encontrar la clave de búsqueda, mientras que la búsqueda binaria divide el array repetidamente hasta encontrar la clave. La búsqueda lineal es más simple pero menos eficiente, mientras que la búsqueda binaria es más eficiente pero requiere que el array esté ordenado.
La jerarquía de Chomsky clasifica las gramáticas formales en 4 tipos principales: regulares (Tipo 3), libres de contexto (Tipo 2), sensibles al contexto (Tipo 1) y recursivamente enumerables (Tipo 0). Cada tipo permite diferentes reglas de producción y se resuelve mediante autómatas diferentes, con los Tipos 0-1 más complejos que permiten más flexibilidad en las reglas gramaticales.
El documento define diferentes tipos de datos como numéricos, alfabéticos y lógicos. Explica conceptos como almacenamiento primario y secundario, archivos de texto y estructura, bases de datos, captura de datos y sus componentes. También describe el procesamiento de información y datos para convertirlos en un formato usable.
Este documento describe los flujos y archivos en programación orientada a objetos en Java. Explica que los archivos permiten almacenar datos de forma persistente más allá de la ejecución de un programa. Detalla los tipos de flujos y clases para manejar entrada y salida de datos binarios y de texto. También cubre temas como organización de archivos, operaciones comunes y tipos de acceso a archivos.
Este documento describe varios métodos de ordenamiento interno como inserción directa, burbuja, quicksort, shellsort, ordenamiento por conteo y ordenamiento por distribución. Explica los pasos de cada algoritmo y provee ejemplos para ilustrar cómo funcionan.
El documento describe varios métodos de ordenamiento externos como la mezcla de archivos, la mezcla por intercalación y la mezcla directa. La mezcla por intercalación combina dos archivos ordenados leyendo un registro de cada uno y almacenando el menor en un archivo de resultados, repitiendo el proceso hasta completar ambos archivos. La mezcla directa realiza particiones y fusiones sucesivas que producen secuencias ordenadas de mayor longitud hasta completar el archivo. La mezcla natural es una optimización de la mezcla directa donde las particiones son de
Este documento presenta 8 ejercicios resueltos en Prolog. Los ejercicios cubren temas como hechos y reglas, aritmética recursiva, listas y sus operaciones como imprimir, agregar elementos, invertir, ordenar y más. El autor concluye que Prolog es adecuado para la inteligencia artificial debido a su facilidad de programación y uso de listas para estructurar datos de manera recursiva.
El documento habla sobre los conceptos básicos de la programación orientada a objetos. Explica que la POO organiza los programas como colecciones de objetos que son instancias de clases, las cuales están relacionadas mediante herencia. Luego define los atributos como las porciones de información que describen el estado de un objeto, y los métodos como la forma en que los objetos se comunican y actúan cuando reciben mensajes. También cubre los modificadores de acceso para atributos y métodos, así como las propiedades que permiten la lectura y
Tecnológico Nacional de México
ingeniería en Sistemas Computacionales
Programación Orientada a Objetos
Unidad 6 archivos
En este material se manejan archivos de texto y archivos binarios.
El documento describe el modelo relacional de bases de datos, incluyendo su evolución histórica, conceptos clave como tablas, claves y dominios, y las 12 reglas de Codd para que un sistema de gestión de bases de datos sea considerado realmente relacional. También explica cómo transformar un esquema entidad-relación a un esquema relacional.
La memoria dinámica se reserva en tiempo de ejecución y su tamaño puede variar durante la ejecución del programa. Esto permite asignar memoria de forma precisa según se vaya necesitando. Las funciones malloc, calloc, realloc y free permiten gestionar la memoria dinámica asignando, inicializando, redimensionando y liberando memoria de forma dinámica.
El documento describe los conceptos básicos de modelamiento de bases de datos usando la metodología IDEF1X en ERwin, incluyendo tipos de modelos, entidades y atributos, relaciones y tipos de relaciones, entidades atributivas y designativas, subtipos, claves primarias y alternantes. También cubre otros componentes del diagrama como roles, relaciones recursivas, dominios y reglas de validación.
Este documento presenta varios métodos de búsqueda y ordenamiento de datos, incluyendo el método de la burbuja, selección, inserción, intercambio, Shell, búsqueda secuencial y binaria, quicksort, binsort y radixsort. Explica cada método con ejemplos para ilustrar cómo funcionan los algoritmos de ordenamiento y búsqueda.
Este documento presenta diferentes métodos de búsqueda como la búsqueda secuencial, binaria y mediante transformación de llaves. Explica la búsqueda secuencial como el método de recorrer elementos de forma lineal, la búsqueda binaria como una división recursiva de la lista ordenada, y la transformación de llaves como asignar índices a elementos mediante funciones hash.
El documento presenta y resume varios algoritmos de ordenamiento como el método de la burbuja, selección, inserción, intercambio y shell. También describe las búsquedas secuencial y binaria, explicando que la búsqueda binaria es más eficiente cuando la lista está ordenada al requerir menos comparaciones.
Este documento describe el uso de estructuras anidadas en C/C++. Explica que una estructura puede contener otras estructuras, lo que se conoce como anidamiento. Proporciona un ejemplo de una estructura Stack que contiene una estructura anidada Link para implementar una pila como una lista enlazada simple. Describe la sintaxis para declarar estructuras anidadas y cómo inicializar y usar los métodos de las estructuras anidadas Stack y Link.
Los arreglos y colecciones son utilizados para almacenar múltiples objetos. Los arreglos almacenan objetos del mismo tipo, mientras que las colecciones pueden almacenar diferentes tipos de objetos con un objeto padre común. Existen diferentes tipos de colecciones como List, Set, Queue y Map; cada una con características específicas para el almacenamiento y manipulación de objetos.
El documento describe el proceso de normalización de bases de datos relacionales. Explica que la normalización transforma datos complejos en estructuras más pequeñas y simples para hacerlas más fáciles de mantener y menos propensas a errores. Detalla los seis niveles de normalización, desde la primera forma normal hasta la quinta forma normal, y provee ejemplos para ilustrar cómo aplicar las reglas de normalización a tablas específicas.
Este documento describe las estructuras de datos de lista, pila y cola. Una lista es una estructura dinámica que almacena datos de forma organizada. Una pila sigue el principio LIFO (último en entrar, primero en salir) y una cola sigue el principio FIFO (primero en entrar, primero en salir). El documento explica las operaciones básicas como insertar, eliminar, buscar y recorrer para cada estructura. También compara las diferencias entre estructuras estáticas y dinámicas y da ejemplos de
Las listas doblemente enlazadas permiten recorrer los nodos en ambas direcciones mediante punteros. Cada nodo contiene punteros al nodo anterior y siguiente, además del valor almacenado. Se pueden insertar y eliminar nodos al inicio, final o en cualquier posición mediante la modificación de los punteros. El proceso de inserción requiere asignar nuevos enlaces entre los nodos, mientras que la eliminación une el nodo anterior con el siguiente.
Este documento describe las colas, que son listas lineales donde las operaciones de inserción y eliminación se realizan en extremos opuestos. Las colas siguen el principio FIFO, donde el primer elemento en entrar es el primero en salir. El documento también describe diferentes tipos de colas como colas circulares y bicolas, así como su implementación en Java.
PARA OBSERVAR PASO A PASO EL PROCESO DE LOS RECORRIDOS MINIMOS ES NECESARIO REPRODUCIRLAS EN MODO PRESENTACION PARA ASI APRECIAR EL CONTENIDO COMPLETO
Grafos,recorridos minimo, algoritmos, tipos de grafos, ilustrado, ejemplos , recorridos,terminologia,Dijkstra,Bellman - Ford, Floyd - Warshall,conceptos basicos
Este documento describe dos técnicas de búsqueda en arrays: la búsqueda lineal o secuencial y la búsqueda binaria o dicotómica. La búsqueda lineal implica examinar cada elemento del array secuencialmente para encontrar la clave de búsqueda, mientras que la búsqueda binaria divide el array repetidamente hasta encontrar la clave. La búsqueda lineal es más simple pero menos eficiente, mientras que la búsqueda binaria es más eficiente pero requiere que el array esté ordenado.
La jerarquía de Chomsky clasifica las gramáticas formales en 4 tipos principales: regulares (Tipo 3), libres de contexto (Tipo 2), sensibles al contexto (Tipo 1) y recursivamente enumerables (Tipo 0). Cada tipo permite diferentes reglas de producción y se resuelve mediante autómatas diferentes, con los Tipos 0-1 más complejos que permiten más flexibilidad en las reglas gramaticales.
El documento define diferentes tipos de datos como numéricos, alfabéticos y lógicos. Explica conceptos como almacenamiento primario y secundario, archivos de texto y estructura, bases de datos, captura de datos y sus componentes. También describe el procesamiento de información y datos para convertirlos en un formato usable.
Este documento describe los flujos y archivos en programación orientada a objetos en Java. Explica que los archivos permiten almacenar datos de forma persistente más allá de la ejecución de un programa. Detalla los tipos de flujos y clases para manejar entrada y salida de datos binarios y de texto. También cubre temas como organización de archivos, operaciones comunes y tipos de acceso a archivos.
Este documento proporciona información sobre conceptos básicos de bases de datos relacionales en SQL Server, incluyendo objetos como tablas, disparadores, procedimientos almacenados, consultas a catálogos, creación de bases de datos y tablas, y tipos de datos. También incluye ejemplos de código SQL para crear una base de datos, tabla, clave primaria e insertar registros.
Este documento describe los diferentes aspectos del diseño de archivos. Explica la terminología básica de archivos como campo, registro y archivo. También describe los diferentes tipos de archivos como maestro, transacciones y de reportes. Además, explica los métodos de organización de archivos como secuencial, de acceso directo e indexado. Por último, brinda detalles sobre los medios de almacenamiento como cinta magnética y disco magnético.
Aquí podrás encontrar las principales definiciones acerca de una base de datos con gusto te invitamos a ver nuestro material. Sabemos que les va a gustar...
Este documento introduce los conceptos básicos de las bases de datos, incluyendo datos, campos, registros, tablas, claves, relaciones, consultas, formularios, informes y sistemas gestores de bases de datos. Explica que una base de datos es una colección de información organizada que permite seleccionar y manipular datos de forma rápida y eficiente.
El documento proporciona una introducción general a los conceptos básicos de las bases de datos, incluyendo los tipos de datos, tablas, campos, registros, llaves primarias, consultas e informes. Explica los componentes fundamentales de una base de datos como los datos, archivos, directorios, y el propósito de un sistema de gestión de bases de datos.
Una base de datos es una colección organizada de información que permite a un programa de computadora seleccionar rápidamente los datos necesarios. Las bases de datos tradicionales se organizan por campos, registros y archivos. Las bases de datos se usan comúnmente para gestionar empresas e instituciones públicas y también en entornos científicos.
Transact-SQL (T-SQL) es un lenguaje de programación que extiende SQL para incluir características procedimentales. T-SQL se utiliza principalmente para definir y manipular datos en bases de datos de Microsoft SQL Server. El documento describe los tipos de comandos DDL y DML en T-SQL, los tipos de datos soportados como enteros, cadenas y fechas, y características como identificadores, funciones y operadores.
Este documento presenta un resumen del curso básico de Fox-Pro. Explica que Fox-Pro es un administrador de bases de datos relacional e interpretado que puede usarse de forma interactiva o programada. Detalla los requisitos del sistema, los tipos de instrucciones, los tipos de datos como numéricos, caracteres, fechas y lógicos, y describe los archivos de comando, base de datos, índice y texto. Finalmente, brinda información sobre el número máximo de registros y caracteres por registro que puede contener cada archivo.
El documento describe los conceptos básicos de archivos y carpetas en Windows, incluyendo que un archivo es un conjunto de datos almacenado, que las carpetas se usan para organizar archivos lógicamente en una estructura de árbol, y que cada archivo y carpeta tiene un nombre y ubicación única identificada por una ruta.
El documento habla sobre flujos de datos en Java. Explica que los programas obtienen información de fuentes de entrada mediante la apertura de conductos (streams) y envían información a destinos de salida también a través de conductos. Describe los tres pasos para leer o escribir datos: abrir el flujo, leer/escribir los datos, y cerrar el flujo. También menciona las clases relacionadas con flujos de entrada, salida y lectura/escritura de caracteres y bytes en Java.
Este documento describe los conceptos básicos de las estructuras de datos. Explica que las estructuras de datos son modelos organizados para almacenar datos y que existen estructuras estáticas y dinámicas. También clasifica los diferentes tipos de datos como enteros, reales, lógicos, alfanuméricos y de cadena.
El documento proporciona una introducción general a las bases de datos, incluyendo su definición, tipos de datos, registros, relaciones, modelos de datos, software de administración y lenguajes de consulta como SQL. Explica conceptos clave como campos, tablas, llaves primarias y cómo las relaciones permiten vincular datos entre tablas.
Este documento describe los temas relacionados con la administración de archivos en sistemas operativos. Explica conceptos como el sistema de archivos, la jerarquía de datos, los tipos de archivos, la interfaz de usuario con el sistema de archivos, y las llamadas al sistema. Además, detalla aspectos como la seguridad en archivos, los mecanismos de protección, y los diferentes tipos de interfaz de usuario como la consola y la interfaz gráfica.
Este documento introduce los conceptos básicos de las bases de datos, incluyendo qué son los datos y la información, los sistemas de información, las tablas, formularios, consultas, informes y el lenguaje SQL. Explica que una base de datos es un conjunto de datos organizados para un uso determinado y que los sistemas de gestión de bases de datos permiten almacenar, organizar y recuperar eficientemente la información de una organización.
El documento habla sobre las bases de datos, incluyendo su definición como un conjunto de datos almacenados sistemáticamente para su posterior uso. Explica los diferentes tipos de organización, función y campos de las bases de datos, así como conceptos como registros, segmentos y apuntadores de instrucciones. Finalmente, menciona algunos populares manejadores de bases de datos como MySQL, PostgreSQL, Microsoft SQL Server y Oracle.
El documento describe los conceptos fundamentales de diseño de archivos y bases de datos, incluyendo la decisión de los datos a incluir, la longitud de registros y la estructura de almacenamiento. También cubre conceptos como campos, registros, tablas, normalización y modelado de entidad-relación para el diseño de bases de datos. Finalmente, explica técnicas como ingeniería inversa y publicación de bases de datos en la web.
El documento describe los conceptos fundamentales de diseño de archivos y bases de datos, incluyendo la decisión sobre el contenido y estructura de archivos, el diseño de tablas y campos en bases de datos, y técnicas como normalización y modelado entidad-relación. También cubre temas como uso de bases de datos, almacenes de datos, e ingeniería inversa.
Una base de datos es un conjunto de datos almacenados sistemáticamente para su posterior uso. Actualmente, la mayoría de bases de datos están en formato digital debido al desarrollo tecnológico e informático. Los sistemas gestores de bases de datos permiten almacenar y acceder de forma rápida y estructurada a los datos digitales. Una base de datos contiene tablas, consultas, formularios e informes para organizar y recuperar la información de manera efectiva.
Este documento discute la noción de libertad y cómo en realidad está limitada por factores como el sexo, clase social y privilegios desde el nacimiento. Señala que la mayoría de la población tiene deficiencias en su alimentación, educación y oportunidades laborales, mientras que la clase privilegiada obtiene una "bonanza" en todos los aspectos de la vida. Aunque existen leyes que prometen derechos para todos, en realidad favorecen a la élite y encasillan a la gente dentro de parámetros establecidos, limit
Método de la regla falsa (o metodo de la falsa posición)Tensor
Este documento describe el método de la regla falsa para encontrar las raíces de una función. Explica cómo establecer un intervalo inicial y calcular nuevas aproximaciones iterativamente hasta converger en una raíz. También muestra cómo implementar este método numéricamente usando Visual Basic para graficar las iteraciones y calcular las raíces de un polinomio de ejemplo.
Este documento describe el método de la bisección para encontrar raíces de una función. El método requiere dos valores iniciales en ambos lados de la raíz donde los valores funcionales tengan signos opuestos. A continuación, se muestra un ejemplo de aplicación del método de bisección para encontrar una raíz de la función x^3 + 2x^2 + 10x - 20 entre 0 y 4 a través de 13 iteraciones.
El documento describe los pasos para realizar una simulación del tráfico vehicular en Promodel utilizando una imagen de Google Maps que muestra las calles alrededor de un campus universitario. Se importa la imagen a Promodel, se marcan los semáforos y rutas, y se configuran los vehículos, tiempos de tránsito y paradas para simular el flujo vehicular durante 30 minutos.
Este documento presenta las fórmulas y conceptos básicos de la teoría de colas para sistemas con un solo canal y múltiples canales. Para sistemas con un solo canal, introduce las fórmulas para calcular la probabilidad de que el sistema esté vacío, el número promedio de unidades en la cola y en el sistema, los tiempos promedio de espera y en el sistema. Para sistemas con múltiples canales, extiende estas fórmulas para cuando hay k canales en paralelo.
Este documento presenta 5 problemas de programación en C++ sobre el uso de constantes simbólicas y macros. El objetivo es que los estudiantes aprendan a definir constantes con #define y const, y a crear macros para funciones como calcular el volumen de una esfera. Los problemas incluyen programas para calcular sumas, acceder a miembros de estructuras de datos, mostrar registros de empleados y seleccionar caracteres de una cadena.
Este documento presenta la práctica número 6 de la asignatura Fundamentos y Lógica de Programación. La práctica se enfoca en algoritmos de búsqueda como la búsqueda binaria. Incluye código C++ para la implementación de un juego espacial y una explicación de un algoritmo de búsqueda binaria. El objetivo es que los estudiantes aprendan y apliquen diferentes métodos de búsqueda.
El documento describe la herramienta Game Maker, la cual permite a usuarios crear sus propios videojuegos bidimensionales sin necesidad de conocimientos avanzados de programación. Game Maker fue creado en 1990 y ofrece diferentes versiones con características variables. Explica los pasos básicos para diseñar un juego en Game Maker como crear sprites, objetos, rooms y eventos.
Este documento presenta una práctica sobre el uso de punteros en C++. Incluye código de ejemplo de un juego espacial y varios programas que demuestran funciones básicas de punteros como almacenar y acceder a direcciones de memoria. También presenta conclusiones sobre el aprendizaje de punteros y enlaces a recursos bibliográficos adicionales sobre el tema.
El documento describe cómo crear y procesar archivos en C++. Explica que los archivos se utilizan para almacenar datos de forma permanente, mientras que las variables solo almacenan datos de forma temporal. Luego, presenta un ejemplo de programa que crea un archivo secuencial para almacenar registros de clientes con deudas, con el número de cuenta como clave de cada registro. El programa abre el archivo, comprueba si la apertura fue exitosa, y luego recopila datos de cliente e introduce cada registro en el archivo de forma secuencial.
Este documento describe cadenas y funciones de cadena en C++. Explica que las cadenas se almacenan como arrays de caracteres terminados en nulo y presenta conceptos como inicialización, declaración y asignación de cadenas. También resume funciones importantes para manipular cadenas en la biblioteca string.h como strcpy(), strcmp() y getline() y cómo pasar arrays y cadenas como parámetros en funciones.
El documento describe la simulación de un proceso de producción utilizando el software ProModel. Específicamente, se presenta un ejemplo de simulación de una prensa que procesa piezas que llegan cada 5 minutos de forma aleatoria y tarda 4 minutos en procesar cada pieza. Se explican los pasos para definir las localizaciones, entidades, frecuencia de llegadas y otros elementos necesarios para configurar el modelo en ProModel y simular el proceso durante 100 días.
1) El documento habla sobre ecuaciones diferenciales de segundo orden y cómo reducirlas a ecuaciones de primer orden. 2) Explica un método llamado reducción de orden que involucra sustituir una solución conocida de la ecuación de segundo orden para encontrar otra solución. 3) Presenta dos ejercicios como ejemplos de aplicar este método para resolver ecuaciones diferenciales de segundo orden.
El documento describe el método de Cauchy-Euler para resolver ecuaciones diferenciales y presenta el método de variación de parámetros como un enfoque alternativo más eficiente. Se explican tres casos para las raíces de la ecuación auxiliar de Cauchy-Euler y se proporcionan fórmulas para determinar las soluciones mediante variación de parámetros. Finalmente, se ilustra el método con dos ejemplos numéricos.
Coeficientes indeterminados enfoque de superposiciónTensor
Este documento describe el método de coeficientes indeterminados para resolver ecuaciones diferenciales lineales no homogéneas de primer y segundo orden con coeficientes constantes. Explica cómo encontrar una solución particular al igual que la solución general, la cual es la suma de la solución complementaria y la solución particular. También incluye ejemplos ilustrativos y dos problemas resueltos paso a paso usando este método.
Este documento presenta diferentes tipos de ecuaciones diferenciales, incluyendo la ecuación de Bernoulli, la ecuación de Ricatti y métodos para resolverlas. La ecuación de Bernoulli puede transformarse en una ecuación lineal mediante una sustitución, mientras que la ecuación de Ricatti puede resolverse encontrando primero una solución particular y luego realizando sustituciones para convertirla en una ecuación de Bernoulli. El documento también proporciona ejemplos resueltos de ambos tipos de ecuaciones.
Este documento presenta una guía para generar muestras aleatorias de distribuciones de probabilidad discretas y continuas usando el software Stat::Fit. Como ejemplo, se simula el tiempo de espera y ocioso de una fotocopiadora universitaria donde los tiempos de llegada son exponenciales y el número de copias por estudiante es uniforme. Se pide generar tres muestras de 40 clientes cada una y calcular los tiempos promedio de llegada, servicio y en el sistema, además del porcentaje de tiempo ocioso.
Este documento trata sobre ondas reflejadas y la profundidad de penetración. Explica las leyes de Snell para la incidencia oblicua y presenta varios problemas resueltos sobre ángulos de transmisión. También cubre temas como polarización perpendicular y paralela, y define el vector de Poynting para describir la dirección del flujo de energía en ondas planas.
Este documento presenta las ondas electromagnéticas. Describe las ecuaciones de Maxwell que unificaron los fenómenos eléctricos y magnéticos y predijeron la existencia de las ondas electromagnéticas. Explica que las ondas electromagnéticas consisten en campos eléctricos y magnéticos variables que se propagan a través del espacio a la velocidad de la luz. Finalmente, analiza el caso de ondas electromagnéticas planas monocromáticas que se propagan en una dirección.
El documento describe las ondas electromagnéticas y su propagación. Establece que un campo eléctrico variable produce un campo magnético variable y viceversa, generando ondas electromagnéticas capaces de propagarse. Estas ondas pueden viajar en medios con o sin fronteras, y su propagación depende de las propiedades del medio como la permitividad, permeabilidad y conductividad.
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLMJuan Martín Martín
Examen de Selectividad de la EvAU de Geografía de junio de 2023 en Castilla La Mancha. UCLM . (Convocatoria ordinaria)
Más información en el Blog de Geografía de Juan Martín Martín
http://blogdegeografiadejuan.blogspot.com/
Este documento presenta un examen de geografía para el Acceso a la universidad (EVAU). Consta de cuatro secciones. La primera sección ofrece tres ejercicios prácticos sobre paisajes, mapas o hábitats. La segunda sección contiene preguntas teóricas sobre unidades de relieve, transporte o demografía. La tercera sección pide definir conceptos geográficos. La cuarta sección implica identificar elementos geográficos en un mapa. El examen evalúa conocimientos fundamentales de geografía.
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJEjecgjv
La Pedagogía Autogestionaria es un enfoque educativo que busca transformar la educación mediante la participación directa de estudiantes, profesores y padres en la gestión de todas las esferas de la vida escolar.
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.
Ponencia en I SEMINARIO SOBRE LA APLICABILIDAD DE LA INTELIGENCIA ARTIFICIAL EN LA EDUCACIÓN SUPERIOR UNIVERSITARIA. 3 de junio de 2024. Facultad de Estudios Sociales y Trabajo, Universidad de Málaga.
2. Procesamiento
de archivos
• El almacenamiento de datos en variables y arreglos es temporal. Los
archivos se utilizan para la persistencia de los datos: datos de retención
permanente. Las computadoras almacenan archivos en dispositivos de
almacenamiento secundario como discos duros, CDs, DVDs, unidades
flash y cintas magnéticas. Explicaremos cómo construir programas en
C++ para crear, actualizar y procesar archivos de datos.
3. Procesamiento
de archivos
• Consideraremos los archivos secuenciales y los archivos de acceso
aleatorio. Compararemos el procesamiento de archivos de datos con
formato y el procesamiento de archivos de datos puros. Examinaremos
las técnicas para introducir datos de, y enviar datos a f lujos string en
vez de archivos en el capítulo 18, La clase string y el procesamiento de f
lujos de cadena.
4. Procesamiento
de archivos
• Consideraremos los archivos secuenciales y los archivos de acceso
aleatorio. Compararemos el procesamiento de archivos de datos con
formato y el procesamiento de archivos de datos puros. Examinaremos
las técnicas para introducir datos de, y enviar datos a f lujos string en
vez de archivos en el capítulo 18, La clase string y el procesamiento de f
lujos de cadena.
5. Jerarquía de datos
• Finalmente, todos los elementos de datos que procesan las computadoras
digitales se reducen a combinaciones de ceros y unos. Esto ocurre debido a que
es simple y económico construir dispositivos electrónicos que puedan asumir
uno de dos estados estables: un estado representa 0 y el otro representa 1. Es
increíble que las impresionantes funciones realizadas por las computadoras
impliquen solamente las manipulaciones más fundamentales de 0s y 1s.
6. Jerarquía de datos
• El elemento más pequeño de datos que soportan las computadoras se
conoce como bit (abreviatura de “dígito binario”; un dígito que puede
suponer uno de dos valores).. Cada elemento de datos, o bit, puede
asumir el valor 0 o el valor 1Los circuitos de computadora realizan varias
manipulaciones simples de bits, como examinar o establecer el valor de
un bit, o invertir su valor (de 1 a 0 o de 0 a 1).
7. Jerarquía de datos
• Es muy difícil para los programadores trabajar con datos en el formato de bits
de bajo nivel. Es preferible trabajar con datos en formatos como dígitos
decimales (0-9), letras (A-Z y a-z) y símbolos especiales ( por ejemplo, $, @, %,
&, * y muchos otros). Los dígitos, letras y símbolos especiales se conocen como
caracteres. El conjunto de caracteres de una computadora es el conjunto de
todos los caracteres utilizados para escribir programas y representar elementos
de datos de esa computadora.
8. Jerarquía de datos
• Las computadoras pueden procesar solamente 1s y 0s, por lo que cada
carácter en el conjunto de caracteres de una computadora se representa
como un patrón de 1s y 0s. Los bytes están compuestos de ocho bits. Los
programadores crean programas y elementos de datos con caracteres;
las computadoras manipulan y procesan estos caracteres como patrones
de bits. Por ejemplo, C++ proporciona el tipo de datos char.
9. Jerarquía de datos
• Cada char por lo general ocupa un byte. C++ también proporciona
el tipo de datos wchar_t, que puede ocupar más de un byte ( para
soportar conjuntos de caracteres más grandes, como el conjunto
de caracteres Unicode®; para obtener más información acerca de
Unicode®, visite el sitio www.unicode.org).
10. Jerarquía de datos
• Así como los caracteres están compuestos de bits, los campos están compuestos de
caracteres. Un campo es un grupo de caracteres que transmiten cierto significado. Por
ejemplo, un campo que consiste de letras mayúsculas y minúsculas puede representar el
nombre de una persona.
• Los elementos de datos que son procesados por las computadoras forman una jerarquía de
datos (figura 1), en la cual los elementos de datos se hacen más grandes y complejos en
estructura, a medida que progresamos de bits a caracteres, de caracteres a campos, hacia
agregados de datos más grandes.
12. Jerarquía de datos
• Generalmente, un registro (que puede ser representado como una clase en C++)
está compuesto de varios campos (conocidos como miembros de datos en C++).
Por ejemplo, en un sistema de nóminas el registro para un empleado específico
podría incluir los siguientes campos:
• 1. Número de identificación del empleado
• 2. Nombre
• 3. Dirección
13. Jerarquía de datos
• 4. Sueldo por hora
• 5. Número de exenciones reclamadas
• 6. Ingresos desde inicio de año a la fecha
• 7. Monto de impuestos retenidos
14. Jerarquía de datos
• Por lo tanto, un registro es un grupo de campos relacionados. En el ejemplo
anterior, cada campo está asociado al mismo empleado. Un archivo es un grupo
de registros relacionados. El archivo de nómina de una compañía generalmente
contiene un registro para cada empleado. Por ejemplo, un archivo de nómina
para una pequeña compañía podría contener sólo 22 registros, mientras que un
archivo de nómina para una compañía grande podría contener 100,000 registros.
Es común para una compañía tener muchos archivos, algunos de ellos
conteniendo miles de millones, o incluso billones de caracteres de información
15. Jerarquía de datos
• Para facilitar la recuperación de registros específicos de un archivo, debe
seleccionarse cuando menos un campo en cada registro como clave de registro.
Una clave de registro sirve para identificar que un registro pertenece a una
persona o entidad específica, y es única en cada registro. En el registro de
nómina que describimos anteriormente, por lo general se elegiría el número de
identificación de empleado como clave de registro.
16. Jerarquía de datos
• Existen muchas formas de organizar los registros en un archivo. Un tipo común
de organización se conoce como archivo secuencial, en el cual los registros se
almacenan en orden, con base en el campo que es la clave de registro. En un
archivo de nómina, los registros generalmente se colocan en orden, con base en
el número de identificación de empleado. El registro del primer empleado en el
archivo contiene el número de identificación de empleado más pequeño, y los
registros subsiguientes contienen números cada vez mayores.
17. Jerarquía de datos
• La mayoría de las empresas utilizan muchos archivos distintos para almacenar datos. Por
ejemplo, una compañía podría tener archivos de nómina, de cuentas por cobrar (listas
del dinero que deben los clientes), de cuentas por pagar (listas del dinero que se debe a
los proveedores), archivos de inventarios (listas de información acerca de los artículos
que maneja la empresa) y muchos otros tipos de archivos. A menudo, un grupo de
archivos relacionados se almacena en una base de datos. A una colección de programas
diseñada para crear y administrar bases de datos se le conoce como sistema de
administración de bases de datos (DBMS).
18. Archivos y flujos
• C++ considera a cada archivo como una secuencia de bytes (figura 2). Cada archivo
termina con un marcador de fin de archivo o con un número de bytes específico que se
registra en una estructura de datos administrativa, mantenida por el sistema. Cuando se
abre un archivo, se crea un objeto y se asocia un flujo a ese objeto. Vimos que los
objetos cin, cout, cerr y clog se crean cuando se incluye <iostream>. Los flujos asociados
con estos objetos proporcionan canales de comunicación entre un programa y un archivo
o dispositivo específico.
19. Archivos y flujos
• Por ejemplo, el objeto cin (objeto flujo de entrada estándar) permite a un
programa introducir datos desde el teclado o desde otros dispositivos, el objeto
cout (objeto flujo de salida estándar) permite a un programa enviar datos a la
pantalla o a otros dispositivos, y los objetos cerr y clog (objetos flujo de error
estándar) permiten a un programa enviar mensajes de error a la pantalla o a
otros dispositivos.
21. Archivos y flujos
• Para llevar a cabo el procesamiento de archivos en C++, se deben incluir los
archivos de encabezado <iostream> y <fstream>. El encabezado <fstream>
incluye las definiciones para las plantillas de clases de flujos basic_ ifstream (
para las operaciones de entrada con archivos), basic_ofstream ( para las
operaciones de salida con archivos) y basic_fstream ( para las operaciones de
entrada y salida con archivos). Cada plantilla de clase tiene una especialización
de plantilla predefi nida que permite las operaciones de E/S con valores char.
22. Archivos y flujos
• Además, la biblioteca <fstream> proporciona alias typedef para estas
especializaciones de plantilla. Por ejemplo, la definición typedef istream
representa a una especialización de basic_ifstream que permite la entrada de
valores char desde un archivo. De manera similar, typedef ofstream representa
una especialización de basic_ofstream que permite enviar valores char a
archivos. Además, typedf fstream representa una especialización de
basic_fstream que permite introducir valores char desde (y enviarlos hacia)
archivos.
23. Archivos y flujos
• Para abrir los archivos, se crean objetos de estas especializaciones de plantillas
de flujo. Estas plantillas se “derivan” de las plantillas de clases basic_istream,
basic_ostream y basic_iostream, respectivamente. Por ende, todas las funciones
miembro, operadores y manipuladores que pertenecen a estas plantillas
también se pueden aplicar a los flujos de archivos. En la figura 3 se sintetizan
las relaciones de herencia de las clases de E/S que hemos visto hasta este
punto.
25. Creación de un archivo secuencial
• C++ no impone una estructura sobre un archivo. Por ende, en un archivo de C++
no existe un concepto tal como el de un “registro”. En consecuencia, el
programador debe estructurar los archivos de manera que cumplan con los
requerimientos de la aplicación. En el siguiente ejemplo veremos cómo se
puede imponer una estructura de registro simple sobre un archivo.
26. Creación de un archivo secuencial
• La figura 4 crea un archivo secuencial que podría utilizarse en un archivo de
cuentas por cobrar, para ayudar a administrar el dinero que deben los clientes
de crédito a una empresa. Para cada cliente, el programa obtiene su número de
cuenta, nombre y saldo (es decir, el monto que el cliente debe a la empresa por
los bienes y servicios recibidos en el pasado).
27. Creación de un archivo secuencial
• Los datos que se obtienen para cada cliente constituyen un registro para ese
cliente. El número de cuenta sirve como la clave de registro; es decir, el
programa crea y da mantenimiento al archivo en orden por número de cuenta.
28. Creación de un archivo secuencial
• Este programa supone que el usuario introduce los registros en orden por
número de cuenta. En un sistema de cuentas por cobrar completo, sería
conveniente contar con una herramienta para ordenar datos, para que el
usuario pueda introducir los registros en cualquier orden; después los registros
se ordenarían y escribirían en el archivo
30. Creación de un archivo secuencial
• Vamos a examinar este programa. Como se dijo antes, para abrir los archivos se
crean objetos ifstream, ofstream o fstream. En la figura 4, el archivo se va a
abrir para salida, por lo que se crea un objeto ofstream. Se pasan dos
argumentos al constructor del objeto: el nombre de archivo y el modo de
apertura de archivo (línea 19).
31. Creación de un archivo secuencial
• Para un objeto ofstream, el modo de apertura de archivo puede ser ios::out
para enviar datos a un archivo, o ios::app para adjuntar datos al final de un
archivo (sin modificar los datos que ya estén en el archivo). Los archivos
existentes que se abren con el modo ios::out se truncan: se descartan todos los
datos en el archivo. Si el archivo especificado no existe todavía, entonces el
objeto ofstream crea el archivo, usando ese nombre de archivo.
32. Creación de un archivo secuencial
• En la línea 19 se crea un objeto ofstream llamado archivoClientesSalida,
asociado con el archivo clientes.
33. Creación de un archivo secuencial
• dat que se abre en modo de salida. Los argumentos "clientes.dat" e ios::out se
pasan al constructor de ofstream, el cual abre el archivo (esto establece una
“línea de comunicación” con el archivo). De manera predeterminada, los
objetos ofstream se abren en modo de salida, por lo que en la línea 19 se podría
haber utilizado la instrucción alterna ofstream archivoClientesSalida(
"clientes.dat" ); para abrir clientes.dat en modo de salida.
35. Creación de un archivo secuencial
• Después de crear un objeto ofstream y tratar de abrirlo, el programa prueba si la
operación de apertura tuvo éxito.
• La instrucción if en las líneas 22 a 26 utiliza la función miembro operator! sobrecargada
de ios para determinar si la operación open tuvo éxito. La condición devuelve un valor
true si se establece el bit failbit o el bit badbit para el flujo en la operación open.
Ciertos posibles errores son: tratar de abrir un archivo no existente en modo de lectura,
tratar de abrir un archivo en modo de lectura o escritura sin permiso, y abrir un archivo
en modo de escritura cuando no hay espacio disponible en disco.
36. Creación de un archivo secuencial
• Si la condición indica un intento fallido de abrir el archivo, en la línea 24 se imprime el
mensaje de error "No se pudo abrir el archivo", y en la línea 25 se invoca a la función
exit para terminar el programa. El argumento para exit se devuelve al entorno desde el
que se invocó el programa. El argumento 0 indica que el programa terminó en forma
normal; cualquier otro valor indica que el programa terminó debido a un error. El
entorno de llamada ( probablemente el sistema operativo) utiliza el valor devuelto por
exit para responder al error en forma apropiada.
37. Creación de un archivo secuencial
• Otra función miembro de operador sobrecargada de ios (operator void*) convierte el f
lujo en un apuntador, para que se pueda evaluar como 0 (es decir, el apuntador nulo) o
un número distinto de cero (es decir, cualquier otro valor de apuntador). Cuando se usa
el valor de un apuntador como una condición, C++ convierte un apuntador nulo en el
valor bool false y un apuntador no nulo en el valor bool true. Si se establecieron los bits
failbit o badbit (vea el capítulo 15) para el f lujo, se devuelve 0 (false).
38. Creación de un archivo secuencial
• La condición en la instrucción while de las líneas 36 a 40 invoca a la función miembro
operator void* en cin de manera implícita. La condición permanece como true, siempre y
cuando no se haya establecido el bit failbit o el bit badbit para cin. Al introducir el
indicador de fi n de archivo se establece el bit failbit para cin. La función operator void *
se puede utilizar para probar un objeto de entrada para el fi n de archivo, en vez de
llamar a la función miembro eof de manera explícita en el objeto de entrada .
39. Creación de un archivo secuencial
• Si en la línea 19 se abrió el archivo con éxito, el programa empieza a procesar los datos.
En las líneas 28 y 29 se pide al usuario que introduzca varios campos para cada registro,
o el indicador de fi n de archivo cuando esté completa la entrada de datos. En la figura 6
se listan las combinaciones de teclado para introducir el fin de archivo en varios sistemas
computacionales.
41. Creación de un archivo secuencial
• En la línea 36 se extrae cada conjunto de datos y se determina si se introdujo el fi n de
archivo. Al encontrar el fi n de archivo, o cuando se introducen datos incorrectos,
operator void * devuelve el apuntador nulo (que se convierte en el valor bool false) y la
instrucción while termina. El usuario introduce el fin de archivo para informar al
programa que ya no procese más datos. El indicador de fin de archivo se establece
cuando el usuario introduce la combinación de teclas de fin de archivo. La instrucción
while itera hasta que se establece el indicador de fi n de archivo.
42. Creación de un archivo secuencial
• En la línea 38 se escribe un conjunto de datos en el archivo clientes.dat, usando el
operador de inserción de flujo << y el objeto archivoClientesSalida asociado con el
archivo al principio del programa. Los datos se pueden recuperar mediante un programa
diseñado para leer el archivo.
43. Creación de un archivo secuencial
• Observe que, debido a que el archivo creado en la figura 4 es simplemente un archivo de
texto, puede verse en cualquier editor de texto. Una vez que el usuario introduce el
indicador de fin de archivo, main termina. Esto invoca de manera implícita a la función
destructor del objeto archivoClientesSalida, que cierra el archivo clientes.dat. También
podemos cerrar el objeto ofstream de manera explícita, usando la función miembro
close en la instrucción archivoClientesSalida.close();
44. Funciones miembro get y getline
• La función miembro get sin argumentos recibe como entrada un
carácter del flujo designado (incluyendo caracteres de espacio en
blanco y otros caracteres no gráficos, como la secuencia de teclas
que representa el fin de archivo) y lo devuelve como el valor de la
llamada a la función.
45. Uso de las funciones miembro eof, get y put
• La figura 4 demuestra el uso de las funciones miembro eof y get en el f lujo de
entrada cin, y la función miembro put en el flujo de salida cout. El programa
primero imprime el valor de cin.eof() [es decir, false (0 en la salida)] para
mostrar que no ha ocurrido el fi n de archivo en cin. El usuario introduce una
línea de texto y oprime Intro seguido del fin de archivo (<Ctrl>-z en sistemas
Microsoft Windows, <Ctrl>-d en sistemas UNIX y Macintosh)
48. Comparación entre cin y cin.get
• La figura 5 compara la entrada mediante el uso de la extracción
de flujo con cin (que lee caracteres hasta que se encuentra un
carácter de espacio en blanco) y la entrada mediante el uso de
cin.get. Observe que la llamada a cin.get (línea 24) no especifica
un delimitador, por lo que se utiliza el carácter predeterminado
'n'.
49. Comparación entre cin y cin.get
• La figura 5 compara la entrada mediante el uso de la extracción
de flujo con cin (que lee caracteres hasta que se encuentra un
carácter de espacio en blanco) y la entrada mediante el uso de
cin.get. Observe que la llamada a cin.get (línea 24) no especifica
un delimitador, por lo que se utiliza el carácter predeterminado
'n'.
52. Uso de la función miembro getline
• La función miembro getline opera de manera similar a la tercera versión de la
función miembro get e inserta un carácter nulo después de la línea en el arreglo
de caracteres. La función getline elimina el delimitador del f lujo (es decir, lee
el carácter y lo descarta), pero no lo almacena en el arreglo de caracteres. El
programa de la fi gura 15.6 demuestra el uso de la función miembro getline
para introducir una línea de texto (línea 15).