viernes, 7 de octubre de 2011

ARCHIVOS O FICHEROS

CONCEPTO
Un archivo o fichero informático es un conjunto de bits almacenado en un dispositivo.
Un archivo es identificado por un nombre y la descripción de la carpeta o directorio que lo contiene. Los archivos informáticos se llaman así porque son los equivalentes digitales de los archivos en tarjetas, papel o microfichas del entorno de oficina tradicional. Los archivos informáticos facilitan una manera de organizar los recursos usados para almacenar permanentemente datos en un sistema informático.

TIPOS DE ARCHIVOS
Los elementos de un archivo pueden ser de cualquier tipo, simples o estructurados o según su función.
– SEGÚN SU FUNCION.
Se define por:
a.- Archivos Permanentes:
Son aquellos cuyos registros sufren pocas o ninguna variación a lo largo del tiempo, se dividen en:
Constantes: Están formados por registros que contienen campos fijos y campos de baja frecuencia de variación en el tiempo.
De Situación: Son los que en cada momento contienen información actualizada.
Históricos: Contienen información acumulada a lo largo del tiempo de archivos que han sufridos procesos de actualización o bien acumulan datos de variación periódica en el tiempo.
b.- Archivos de Movimiento
Son aquellos que se utilizan conjuntamente con los maestros (constantes), y contienen algún campo común en sus registros con aquellos, para el procesamiento de las modificaciones experimentados por los mismos.
c.- Archivo de Maniobra o Transitorio
Son los archivos creados auxiliares creados durante la ejecución del programa y borrados habitualmente al terminar el mismo.
– SEGÚN SUS ELEMENTOS.
Los principales archivos de este tipo son:
Archivo de Entrada: Una colección de datos localizados en un dispositivo de entrada.
Archivo de Salida: Una colección de información visualizada por la computadora.
Constantes: están formados por registros que contienen campos fijos y campos de baja frecuencia de variación en el tiempo.
De Situación: son los que en cada momento contienen información actualizada.
Históricos: Contienen información acumulada a lo largo del tiempo de archivos que han sufrido procesos de actualización, o bien acumulan datos de variación periódica en el tiempo.
Archivos de Movimiento o Transacciones: Son aquellos que se utilizan conjuntamente con los maestros (constantes), y contienen algún campo común en sus registros con aquellos, para el procesamiento de las modificaciones experimentados por los mismos.
Archivos de Maniobra o Transitorios: Son los archivos auxiliares creados durante la ejecución del programa y borrados habitualmente al terminar el mismo.
– SEGÚN SUS ELEMENTOS
Los principales archivos de este tipo son:
Archivo de Entrada, una colección de datos localizada en un dispositivo de entrada.
Archivo de Salida, una colección de información visualizada por la computadora.
Archivo de Programa, un programa codificado en un lenguaje específico y localizado o almacenado en un dispositivo de almacenamiento.
Archivo de Texto, una colección de caracteres almacenados como una unidad en un dispositivo de almacenamiento.

– SEGÚN SU ORGANIZACIÓN
Archivos Secuenciales
La forma más común de estructura de archivo es el archivo secuencial. En este tipo de archivo, un formato fijo es usado para los registros. Todos los registros tienen el mismo tamaño, constan del mismo número de campos de tamaño fijo en un orden particular. Como se conocen la longitud y la posición de cada campo, solamente los valores de los campos se necesitan almacenarse; el nombre del campo y longitud de cada campo son atributos de la estructura de archivos.
Un campo particular, generalmente el primero de cada registro se conoce como el campo clave. El campo clave identifica unívocamente al registro. Así, los valores de la clave para registros diferentes son siempre diferentes.
Los archivos secuenciales son típicamente utilizados en aplicaciones de proceso de lotes Y son óptimos para dichas aplicaciones si se procesan todos los registros. La organización secuencias de archivos es la única que es fácil de usar tanto en disco como en cinta.
Para las aplicaciones interactivas que incluyen peticione s o actualizaciones de registros individuales, los archivos secuenciales ofrecen un rendimiento pobre.
Normalmente un archivo secuencial se almacena en bloques, en un orden secuencial simple de los registros. La organización física del archivo en una cinta o disco se corresponde exactamente con la ubicación lógica del archivo. En este caso, el procedimiento para ubicar los nuevos registros en un archivo de pila separado, llamado archivo de registro (log file) o archivo de transacciones. Periódicamente, se realiza una actualización por lotes que mezcla el archivo de registro con el archivo maestro para producir un nuevo archivo en secuencia correcta de claves.
Ejempo:
Consideremos un archivador manual que contiene las fichas con los datos de los empleados de una empresa. Para cada empleado se tiene una ficha que podría tener el formato siguiente:
APELLIDOS:                                         NOMBRE:                 NIF:
DOMICILIO:
POBLACIÓN:                                          C.P.:                           PROVINCIA:
http://usuarios.multimania.es/cursosgbd/UD1_archivos/image002.gif 
FECHA DE NACIMIENTO:                                                      FECHA DE ALTA:
CENTRO DE TRABAJO:
CATEGORíA:                                          PUESTO DE TRABAJO:
ESTADO CIVIL (H/M):                          Nº HIJOS:

El registro sería toda la información correspondiente a un empleado.
 El campo sería cada una de las informaciones elementales que se tienen de un empleado como por ejemplo: APELLIDOS, NOMBRE, CATEGORÍA, ...

Para facilitar la búsqueda de una ficha determinada lo más normal es tener el fichero clasificado por alguna de las informaciones que aparecen en la ficha y que tienen valores diferentes en los registros. Por ejemplo, en el archivador de empleados podrían estar ordenadas alfabéticamente por los apellidos, de forma que si queremos buscar la ficha de un empleado bastaría con saber sus apellidos y lo buscaríamos en la posición que le corresponda por orden alfabético.
Otro ejemplo:
 

Archivos Secuenciales indexados

Un método popular para superar las desventajas de los archivos secuenciales es el del archivo secuencias indexado. El archivo secuencial indexado mantiene las características básicas de los archivos secuenciales: los registros están organizados en una secuencia basada en un campo. Dos características se añaden: un índice del archivo para soportar los accesos aleatorios y un archivo de desbordamiento (overflow). El índice provee una capacidad de búsqueda para llegar rapidamente a las proximidades de un registro deseado. El archivo de desbordamiento (overflow) es similar al archivo de registro usado en un archivo secuencial, pero esta intregrado de forma que los registros del archivo de desbordamiento se ubican en la dirección de un puntero desde su registro precedente. En la estructura secuencial indexada más simple, se usa un solo nivel de indexación. El índice, en este caso, es un archivo secuencial simple. Cada registro del archivo índice tiene dos campos: un campo clave, que es el mismo que el campo clave del archivo principal y un puntero al archivo principal. Para encontrar un campo específico se busca en el índice hasta encontrar el valor mayor de la clave que es igual o precede al valor deseado de la clave. La búsqueda continúa en el archivo principal a partir de la posición indicada por el puntero.
El diccionario es un ejemplo típico de archivo secuencia-indexado con dos niveles de índices, el nivel superior para las letras iniciales y el nivel menor para las cabeceras de páginas que se guardan en un archivo de índice independiente de las entradas del diccionario (archivo de datos).

Archivos Directos o de Dispersión
Los archivos directos explotan la capacidad de los discos para acceder directamente a cualquier bloque de dirección conocida. Como en los archivos secuenciales y secuenciales indexados, se requiere un campo clave en cada registro. Sin embargo, aquí no hay concepto de ordenamiento secuencial.


Otro Ejemplo:



Archivos aleatorios o indirectos

Archivos secuenciales encadenados

 

Enlaces a fuentes



miércoles, 5 de octubre de 2011

LaTeX

¿Qué es LaTeX exactamente?

LaTeX es un sistema de preparación de documentos. Permite crear documentos con un aspecto completamente profesional sin dolor. La idea principal de LaTeX es que el autor se centra en el contenido y no en la forma del documento. Para lograr esto, LaTeX está provisto de una serie de macros y estilos predefinidos.
Vamos a poner un ejemplo básico. En una herramienta de procesamiento de texto "estándar", para hacer el título de una sección, la mayoría de la gente usa comandos para modificar la forma. Por ejemplo, lo ponen en Negrita, Subrayado, a tamaño 16. Con LaTeX, el aspecto del documento es independiente del contenido: el título de la sección estará en un comando \section y LaTeX se encargará de cómo será impreso y mostrado.
Uno se puede preguntar: "¿Cuál es la ventaja?" Bien, hay al menos tres ventajas en esto. La primera es que, obviamente, no hay que recordar que "estilo" se usó para las secciones previas, las subsecciones, los capítulos y demás. La segunda es que si la fuente del título de sección resulta ser demasiado grande no es necesario cambiarla en todo el documento, se puede hacer con una modificación sencilla. La tercera es que, al estar el documento marcado con secciones, subsecciones y demás, resulta más sencillo crear tablas de contenido (de hecho, se crean automáticamente).
El último aspecto a remarcar es que LaTeX es realmente fantástico escribiendo fórmulas matemáticas. Se pueden hacer cosas como \int_{-N}^{N} e^x\, dx \,\! en un tiempo muy corto. Incluso si la fórmula es realmente simple, una vez usado, no sabrás hacerlo de otra manera.


Razones para usar LaTeX

Es software libre, se distribuye bajo licencia LPPL.
Funciona bien en cualquier máquina sea cual sea tu sistema operativo o tu procesador. Hay versiones de LaTeX para casi todos los sistemas y arquitecturas. Y algunas de ellas son gratis.
No te voltea las listas. Autonumera las fórmulas. Crea indices de contenido, de tablas, figuras y terminológico automáticamente. Entre otras muchas cosas más.
Permite el uso de bases de datos bibliográficas con BibTeX. Con el consiguiente ahorro de tiempo a la hora de citar textos y hacer listados de publicaciones. Basta con hacer una vez la base (en modo texto) y LaTeX se encarga de incluir los datos donde corresponde.
El resultado final es propio de un texto profesional. Y hay plantillas de LaTeX que cumplen automáticamente con estándades de publicación científica.
El usuario no necesita ser un profesional de la tipografía para realizar sus documentos. A modo de ejemplo: ¿cuál es el número máximo de letras que puede contener una línea para que el lector no se canse? La gran mayoría lo ignora. Las razones para usar un sistema de procesador de textos visual es su facilidad de uso. Pero, a la hora de realizar textos elaborados como libros, tesis de grado, ponencias, etc. se muestran sus limitaciones. En definitiva un procesador de textos es una enorme máquina de escribir donde el usuario tiene que introducir manualmente todos los formatos. Y, usualmente, el criterio es más bien estético y no tipográfico, es decir, creemos que un texto bello es sinónomo de legible. Pues bien, eso no es correcto, la tipografía es un arte difícil de manejar. Lo mejor en este caso es dejar en manos de un profesional la maquetación de los documentos. Yo sólo doy las órdenes.
Es un programa que con el tiempo mejora la calidad de la salida a pantalla o impresora, pero las instrucciones siguen exactamente iguales, por lo que no necesito estar aprendiendo cada dos por tres a usarlo. En teoría un texto escrito hoy podría ser procesado exactamente igual dentro de cien años.
El tamaño de los archivos escritos en LaTeX son mucho más pequeños que un archivo escrito en un procesador común. Además de ser escritos en modo texto, por lo que pueden ser leídos en cualquier editor con independencia de la arquitectura y sistema operativo.

¿Qué necesito para empezar con LaTeX?

En LaTeX, primero se escribe el código fuente en cualquier editor de textos, después se compila, esto genera un archivo .dvi, que puede ser visualizado como resultado final, además se puede transformar a otros formatos como PostScript (.ps), pdf (.pdf) o HTML por ejemplo.
Así que se necesita básicamente:
  • Un editor de texto - Kile,Emacs, Vi(m), TextPad, WinEdt, UltraEdit, Bloc de notas o lo que se quiera, hay cientos de ellos. Algunos de ellos especializados en LaTeX.
  • Una distribución de LaTeX. Se puede encontrar teTeX en Debian, y hay una distribución TeX/LaTeX incluida con casi todas las distribuciones de GNU/Linux.
Bajo Windows, si se usa Cygwin se puede instalar también teTeX, pero no es necesario utilizar Cygwin si no se desea. Existen distribuciones de TeX nativas para Windows, como MiKTeX y TeXLive.
Para MacOS X, se puede usar Fink, mediante apt-get install tetex (después de instalar Fink, por supuesto) o usar la distribución de iInstaller
  • Un visor de .ps o .pdf (o ambos). Hay muchos - los más famosos son gv / Ghostview para .ps y Adobe Acrobat Reader para .pdf. Todo esto puede ser instalado muy fácilmente - simplemente igual que cualquier otro programa.

¿Cómo se procesa un documento LaTeX?

Aunque todavía no hemos explicado cómo se escribe un texto en LaTeX vamos a suponer que usted ya lo ha hecho o bien ha recibido por su correo uno de ellos. Al documento lo llamaremos texto.tex.
La instrucciones siguientes se refieren a entornos unix, como es linux.
En primer lugar abra un terminal y ubíquese en el directorio donde se encuentra su archivo LaTeX. Puede hacerlo con la orden "cd directorio". Una vez en ella escriba la orden "latex texto.tex". Aparecerán en pantalla una serie de líneas que describen lo que hace LaTeX. Si el archivo es muy grande repita la orden un par de veces para que LaTeX realice los índices. Una vez hecho esto fíjese si en las últimas líneas aparece la instrucción "output texto.dvi". Si es así todo está perfecto. A continuación escriba la orden "xdvi texto.dvi" y a disfrutar de la lectura de su documento perfectamente formateado.
Si desea que la salida sea otra distinta del estandar "*.dvi", es posible lograr un archivo "pdf" con la orden "pdflatex texto.tex", la salida será "texto.pdf", que será visualizable en "acroread", "xpdf", "gv".

Ejemplos sencillos

Estructura básica:
\documentclass[12pt]{article} % Clase de documento: artículo y tamaño de letra
\usepackage[spanish]{babel} % Manejo de idiomas
\usepackage[latin1]{inputenc} % Escritura en castellano con acentos
\usepackage[T1]{fontenc} % Escritura en castellano con acentos
\usepackage{times} % Fuente de letras
\title{Mi primer artículo} % Título
\author{Quien escribe} % Autor. Pueden ser varios agregando \and Otro autor
\date{\today} % Fecha siempre actualizada al día presente al compilar.
\begin{document} % Inicio del documento
\maketitle % Hace la portada
\tableofcontents % Hace el índice de contenidos.
\section{Introducción} % Primera sección, se incluye en el índice.
Aquí escribo la introducción. Cada párrafo se separa con una línea en blanco.
\section{Cuerpo del artículo} % Otra sección.
Puedo hacer que el texto vaya en cursiva con \emph{texto en cursiva}. Hacer una enumeración:
\begin{enumerate}
\item Linux
\item OpenBSD
\item FreweBSD
\end{enumerate}
Las notas a pie se hacen con\footnote{Texto que aparecerá en la nota a pie de página.}.
\section{Conclusión}
Aquí escribo la conclusión.
\end{document} % Fin del documento.
Esto que escribo no será incluido en el texto porque \end{document} le ha dicho que no continúe con lo que sigue.