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