PDF de programación - Prog. de sistemas de archivos secuenciales con objetos en Lenguaje C++

Imágen de pdf Prog. de sistemas de archivos secuenciales con objetos en Lenguaje C++

Prog. de sistemas de archivos secuenciales con objetos en Lenguaje C++gráfica de visualizaciones

Publicado el 28 de Febrero del 2019
627 visualizaciones desde el 28 de Febrero del 2019
174,2 KB
5 paginas
Creado hace 19a (28/02/2005)
Programación de Sistemas de Archivos

Secuenciales con Objetos en Lenguaje C++



Bruno López Takeyas

Resumen— Este documento presenta una alternativa de
programación de sistemas de archivos secuenciales mediante la
técnica orientada a objetos y está dirigido a programadores
interesados en diseñar sistemas de administración de archivos
cuyo objetivo es facilitar su comprensión y posterior codificación.
Como ejemplo de aplicación se describe el diseño y codificación
de un archivo secuencial que almacena registros de empleados de
una empresa.


Palabras Clave—Programación orientada a objetos, archivo,

registro, clase, objeto, atributo, constructor.



E

I. INTRODUCCIÓN

XISTEN varias técnicas para representar y almacenar
registros llamadas organizaciones de archivos. Hay dos
aspectos importantes en que difieren las organizaciones de
archivos: la secuenciación de registros y el conjunto de
operaciones para manipularlos [1].
La forma más sencilla de almacenar un conjunto de registros
en un archivo es mediante la organización secuencial. En este
tipo de archivos, los registros son escritos consecutivamente
cuando el archivo es creado, por lo tanto, deben ser accesados
de ese modo cuando se consultan.

La característica mas

importante de esta técnica de
organización de archivos es que solo permite el acceso
secuencial, es decir, para accesar al registro k, se deben
recorrer los k-1 registros anteriores. Esta característica impide
que el archivo secuencial se use en procesos en línea debido a
que no se pueden consultar rápidamente los registros, sin
embargo, muestra buen rendimiento en procesos en lote donde
se aprovecha la capacidad para accesar al siguiente registro
rápidamente. Otra ventaja de esta organización de archivos
radica en que la dirección del registro esta implícita en el
sistema; es decir, no se pierden registros por la desaparición
de direcciones.

Es posible programar sistemas de archivos mediante
lenguajes de tercera generación (como el lenguaje C++) para
aplicaciones relativamente sencillas y como antecedente
teórico-práctico del uso de manejadores de bases de datos
robustos. Sin embargo, es recomendable aprovechar las
técnicas de programación de estos lenguajes para facilitar el



Bruno López Takeyas es profesor del Depto. de Sistemas y Computación
del Instituto Tecnológico de Nuevo Laredo, Nuevo Laredo, Tam. MÉXICO.
(Tel: 01 (867) 7140022; e-mail: [email protected]).

diseño y codificación de dichas aplicaciones.

II. FUNDAMENTOS DE PROGRAMACIÓN ORIENTADA A OBJETOS

EN LENGUAJE C++

La programación orientada a objetos (POO) simula objetos
reales con equivalentes de software. Utiliza las relaciones de
clase en la que sus objetos tienen las mismas características,
atributos y comportamientos.

La POO

encapsula datos

(atributos) y métodos
(comportamientos) en paquetes llamados clases. Las clases
tienen la propiedad de ocultamiento, esto es, que aunque los
objetos se comunican entre sí por medio de interfaces bien
definidas, normalmente no se les permite saber la manera en
que se implementan en otros objetos. La diferencia entre clase
y objeto es sutil pero importante. La clase es el concepto
abstracto, es una especie de molde para crear objetos, define
los atributos y métodos. Por otro lado, el objeto es la entidad
concreta; es decir, a partir de una clase, se pueden crear
instancias u objetos donde cada uno tiene valores distintos
para sus atributos [2].
Mientras que en

lenguajes
procedimentales, la programación esta orientada a funciones y
procedimientos, en lenguaje C++ esta orientada a objetos. En
C, la unidad de programación es la función, mientras que en
C++ es la clase, a partir de la cual los objetos son instanciados
[3].

lenguaje C y otros

La clave para desarrollar sistemas utilizando los conceptos
de orientación a objetos es definir los objetos que lo forman,
sus atributos, sus métodos y crear las abstracciones apropiadas
para ellos (clases), separando la implementación interna de su
comportamiento externo. La abstracción consiste en ocultar
los detalles irrelevantes del objeto, esto provoca que el usuario
maneje los datos del objeto sin necesidad de conocer los
detalles.


A. Partes públicas y privadas de las clases
Una clase puede
tener partes públicas y privadas.
Regularmente los componentes de las clases son privados,
esto significa que no pueden ser accesados desde afuera de la
clase, sino únicamente por los métodos de la misma. Estos
componentes se declaran con la palabra “private” [3].
Los elementos públicos de la clase pueden ser accesados
desde afuera de la clase, pueden consultar sus componentes
privados y se declaran con la palabra “public” (Fig. 1).

2



class Nombre_Clase
{
public:
// declaración de atributos y métodos públicos

private:
// declaración de atributos y métodos privados
};

Fig. 1. Formato para declarar una clase



B. Funciones para asignar y consultar valores de los
atributos del objeto
Regularmente las clases contienen métodos para asignar y
consultar valores de sus atributos. A los métodos para
introducir valores se les llama “mutators” mientras que los
métodos para accesar los valores de los atributos son
conocidos como “accesors”.


C. Declaración de los métodos de una clase
Normalmente los métodos son declarados como partes
públicas de las clases y son los únicos que tienen derecho a
acceder las partes privadas de la misma (atributos) y deben
declararse como funciones o procedimientos de la clase (Fig.
2).

class Nombre_Clase
{
public:

// declaración del constructor
Nombre_Clase(lista_parametros);

// declaración de métodos públicos
tipo Nombre_metodo1(lista_parametros);
tipo Nombre_metodo2(lista_parametros);
.
.
private:
// declaración de atributos privados
tipo atributo1;
tipo atributo2;
.
.
};

Fig. 2. Formato para declarar una clase, sus métodos y sus atributos


la
Nótese que en esta declaración no se desarrolla
codificación completa de los métodos, sino ésta debe hacerse
aparte usando un formato en el que se tiene que especificar la
clase al que pertenece (Fig. 3).


tipo Nombre_Clase::Nombre_metodo(lista_parametros)
{
estatutos;
}


Fig. 3. Formato para codificar los métodos


D. Constructores
Es muy común que algunos atributos del objeto deban ser
inicializados antes de utilizarlos. Para ello se utiliza el
constructor, el cual es una función especial que pertenece a la
clase y se ejecuta automáticamente cuando se crea una
instancia de la clase, es decir, cuando se declara un objeto. El



constructor tiene las siguientes características:

• Tiene el mismo nombre que la clase.
• No tiene definido el tipo del valor de retorno.

El constructor puede o no tener parámetros. Cuando se
declara un objeto cuya clase tiene un constructor con
parámetros, debe usarse el formato de declaración mostrado
en la Fig. 4.

Nombre_Clase Nombre_objeto(lista_parametros);

Fig. 4. Formato para declarar un objeto con parámetros


E. Declaración de registros
En lenguaje C++, los registros se declaran por medio de la
sentencia struct. En él se definen los campos que lo forman
utilizando la declaración de los tipos de datos tradicionales
que proporciona el lenguaje (int, char, float, double, long,
etc.). Aquí se declaran
registro que
posteriormente se grabarán en el archivo (Fig. 5).

los datos del


struct tipo_registro
{
// Declaración de los campos del registro

tipo campo1;
tipo campo2;
.
.


};



Fig. 5. Formato para declarar un tipo de registro.

III. DISEÑO DE SISTEMAS DE ARCHIVOS CON OBJETOS

Para ilustrar mejor la programación de archivos con objetos,
se muestra el diseño de un sistema de un archivo secuencial en
el que se requiere almacenar datos de empleados de una
empresa. En este ejemplo de aplicación se hacen las
declaraciones del registro y la clase para la manipulación del
archivo de empleados. Primero se definen los datos o campos
que se desean almacenar y se desarrollan los métodos de altas
y listado de registros.

A. Declaración del registro de empleados
Los datos (campos) requeridos para
empleados son mostrados en la Fig. 6.
Tipo
Campo
Num
Entero

los registros de

Formato


Descripción
Número de
empleado
Nombre Nombre

Alfanumérico

Caracter
Real

25
caracteres

4.2

Depto
Sueldo

Departamento
Sueldo

Fig. 6. Campos del registro de Empleados.



La declaración de la estructura del registro de Empleados se
hace de ámbito global y se muestra en la Fig. 7.



struct tipo_registro
{
int num;
char nombre[25];
char depto;
float sueldo;
};

Fig. 7. Declaración global del tipo de registro y sus campos


B. Declaración de la clase
Una vez declarada la estructura global que define los campos
del registro, se declara la clase Archivo_Secuencial que
contiene los métodos y atributos del archivo secuencial (Fig.
8).


class Archivo_Secuencial
{
public:
Archivo_Secuencial(char *nom); // Constructor
void Altas();//Método para insertar registros
void Listado(); //Método para enlistar

private:
struct tipo_registro registro;
FILE *alias;
  • Links de descarga
http://lwp-l.com/pdf15378

Comentarios de: Prog. de sistemas de archivos secuenciales con objetos en Lenguaje C++ (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad