610
Capítulo 14 Archivos y fl ujos
objetos). Para demostrar esto, recreamos algunos de los programas de acceso secuencial que utilizaban archivos de
texto, esta vez almacenando objetos en archivos binarios.
14.2 Jerarquía de datos
Básicamente, una computadora procesa todos los elementos de datos como combinaciones de ceros y unos,
ya que para los ingenieros es sencillo y económico construir dispositivos electrónicos que puedan suponer dos
estados estables: uno representa
0
y el otro,
1
. Es increíble que las impresionantes funciones realizadas por las
computadoras impliquen solamente las manipulaciones más fundamentales de
0
s y
1
s.
El elemento más pequeño de datos en una computadora puede asumir el valor
0
o
1
. Dicho elemento de
datos se conoce como
bit
(abreviatura de “dígito binario”; un dígito que puede suponer uno de dos valores). Los
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
).
Es muy difícil para los programadores trabajar con datos en el formato de bits de bajo nivel. En vez de ello,
los programadores prefi eren trabajar con datos en formatos como
dígitos decimales
(0-9),
letras
(A-Z y a-z) y
símbolos especiales
(por ejemplo, $, @, %, &, *, (, ), —, +, ", :, ? y / ). Los dígitos, letras y símbolos especiales
se conocen como
caracteres
. El
conjunto de caracteres
de la computadora es el conjunto de todos los caracteres
utilizados para escribir programas y representar elementos de datos. Las computadoras pueden procesar solamente
1
s y
0
s, por lo que un conjunto de caracteres representa a todos los caracteres como un patrón de
1
s y
0
s. Los
caracteres en Java son caracteres
Unicode
, compuestos de dos
bytes
. Cada byte está compuesto de ocho bits. Java
contiene un tipo de datos,
byte
, que pueden usarse para representar datos tipo byte. El conjunto de caracteres
Unicode contiene caracteres para muchos de los lenguajes utilizados en todo el mundo. En el apéndice I podrá
obtener más información acerca de este conjunto de caracteres. En el apéndice B, Conjunto de caracteres ASCII,
podrá obtener más información acerca del conjunto de caracteres
ASCII (Código Estándar Estadounidense
para el Intercambio de Información)
, un subconjunto del conjunto de caracteres Unicode que representa letras
mayúsculas y minúsculas, dígitos y varios caracteres especiales comunes.
Así como los caracteres están compuestos de bits, los
campos
están compuestos de caracteres o bytes. Un
campo es un grupo de caracteres o bytes que transmiten cierto signifi cado. Por ejemplo, un campo que consiste
de letras mayúsculas y minúsculas puede utilizarse para representar el nombre de una persona.
Los elementos de datos que son procesados por las computadoras forman una
jerarquía de datos
, la cual se
hace más grande y compleja en estructura, a medida que progresamos de bits a caracteres, de caracteres a campos,
etcétera.
Generalmente, varios campos forman un
registro
(que se implementa como
class
en Java). Por ejemplo, en
un sistema de nóminas el registro para un empleado podría estar compuesto de los siguientes campos (los posibles
tipos para estos campos se muestran entre paréntesis):
Número de identifi cación del empleado (
int
).
Nombre (
String
).
Dirección (
String
).
Sueldo por hora (
double
).
Número de exepciones reclamadas (
int
).
Ingresos desde inicio de año a la fecha (
int
o
double
).
Monto de impuestos retenidos (
int
o
double
).
Por lo tanto, un registro es un grupo de campos relacionados. En el ejemplo anterior, cada uno de los campos
pertenece al mismo empleado. Desde luego que una compañía específi ca podría tener muchos empleados y, por
ende, tendría un registro de nómina para cada empleado. Un
archivo
es un grupo de registros relacionados. [
Nota:
dicho en forma más general, un archivo contiene datos arbitrarios en formatos arbitrarios. En algunos sistemas
operativos, un archivo se ve simplemente como una colección de bytes; cualquier organización de los bytes en un
archivo (como organizar los datos en registros) es una vista creada por el programador de aplicaciones]. 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. En la fi gura 14.1
se muestra una parte de la jerarquía de datos.
•
•
•
•
•
•
•
14_MAQ_CAP_14_DEITEL.indd610
4/19/081:28:10AM