Sie sind auf Seite 1von 21

Facultad de Ingeniera Electrnica

Sesin
ARCHIVOS - REGISTROS (Clases y Mtodos)

Algoritmo y Estructura de Datos II

Ing. Ral Jimenez Drago

Facultad de Ingeniera Electrnica

Archivos, definicin
Es una coleccin de informacin relacionada Definida por su creador. Comnmente pueden ser programas fuente, programas objeto, programas ejecutables, datos y directorios o carpetas.
1 Ing. Ral Jimenez Drago

Algoritmo y Estructura de Datos II

Facultad de Ingeniera Electrnica

Archivos, atributos
nombre tipo localizacin tamao proteccin fechas identificacin del usuario
Algoritmo y Estructura de Datos II

1 Ing. Ral Jimenez Drago

Facultad de Ingeniera Electrnica

Archivos v/s Memoria


Memoria Almacenamiento volatil Capacidad limitada y pequea. Acceso rapido Archivo Almacenamiento permanente Capacidad limitada, pero mayor. Acceso lento

Los programas tienen Los datos almacenados acceso directo a los deben ir a memoria datos almacenados. para ser usados por los programas. Se le llama memoria Se le llama memoria principal. secundaria.
Algoritmo y Estructura de Datos II

1 Ing. Ral Jimenez Drago

Facultad de Ingeniera Electrnica

Operaciones sobre archivos


Primitivas: Crear Escribir Leer Reposicionar (puntero dentro del archivo) Borrar Truncar Abrir Cerrar
1 Ing. Ral Jimenez Drago

Algoritmo y Estructura de Datos II

Facultad de Ingeniera Electrnica

Archivos
Es un concepto lgico que puede ser aplicado a cualquier cosa, desde un archivo de disco a un terminal. Se asocia un flujo con un archivo especfico realizando una operacin de apertura. Una vez abierto el archivo se puede intercambiar la informacin entre el archivo y el programa. Si el archivo permite acceso directo (posicionarse en algn lugar dentro de l), al abrir el archivo, el indicador de posicin se ubica al comienzo.
Algoritmo y Estructura de Datos II

1 Ing. Ral Jimenez Drago

Facultad de Ingeniera Electrnica

Flujos y Archivos
Memoria
Flujo
100101101 100101101 0101110 100101101 0101110 0101110 100101101 0101110

Archivo

CPU Buffer

Algoritmo y Estructura de Datos II

1 Ing. Ral Jimenez Drago

Facultad de Ingeniera Electrnica

Registros Clases y Mtodos

Algoritmo y Estructura de Datos II

Ing. Ral Jimenez Drago

Facultad de Ingeniera Electrnica

Registros (Estructuras)
Un registro es una coleccin de datos, que pueden ser de diferentes tipos (Clase). Cada uno de sus elementos se llama Campo. Notacin: Podra ser de diferentes maneras. Por ej:
Clase: Domicilio Entero: Calle Entero: Numero Cadena: Ciudad Fin Clase Domicilio: dir

Domicilio Calle Numero Ciudad

El acceso a los campos se hace as: variable_registro.id_campo. Por Ej: dir.Calle, dir.Numero, dir.Ciudad.

Facultad de Ingeniera Electrnica

Clases de Datos

Una clase es una estructura en donde se agrupan variables y funciones, la misma es usada en Programacin Orientada al Objeto. Las clases no son soportadas por el C estndar.
Algoritmo y Estructura de Datos II Ing. Ral Jimenez Drago

Facultad de Ingeniera Electrnica

Se suele decir que el tipo de dato de un objeto es la clase que define las caractersticas del mismo.

Sintaxis :
Clase nombreClase Miembros Fin_Clase nombreClase:objeto

Los miembros de una clase son los datos y mtodos de los que van a disponer todos los objetos de la misma.
Un campo es un conjunto de datos comn a todos los objetos de una determinada clase. Sintaxis : tipoCampo nombreCampo;

Facultad de Ingeniera Electrnica

Ejemplo:
Clase de nombre Persona que dispone de tres campos :
clase Persona cadena Nombre // campo que almacena el nombre entero Edad // campo que almacena la edad cadena Sexo // campo que almacena su sexo fin_clase Persona:p Por ejemplo para acceder al campo Edad de un objeto Persona llamado p y cambiar su valor por 20 se hara : p.Edad=20 =

Sintaxis : objeto.campo

Facultad de Ingeniera Electrnica

Mtodos:
Es un conjunto de instrucciones a las que se les asocia un nombre de modo que si se desea ejecutarlas basta referenciarlas a travs de dicho nombre en vez de tener que escribirlas. Los mtodos permiten manipular los datos almacenados en los objetos.

Sintaxis :
tipoDevuelto nombreMtodo (parametros) instrucciones

Todo mtodo puede devolver un objeto como resultado de la ejecucin de las instrucciones que lo forman, y el tipo de dato al que pertenece este objeto, es lo que se indica en tipoDevuelto. Si devuelve algo es obligatorio finalizar la ejecucin de sus instrucciones con alguna instruccin de retorno objeto.

Facultad de Ingeniera Electrnica

Ejemplo:
Como declarar un mtodo de nombre Cumpleaos en la Clase de nombre Persona que dispone de tres campos :
clase Persona cadena Nombre entero Edad cadena Sexo cumpleanios() EdadEdad+1 fin_clase Persona : p La sintaxis para llamar a los metodos de un objeto: objeto.mtodo(parametros) Para llamar al mtodo Cumpleanios() de un objeto Persona llamado p se hara : p.Cumpleanios()

Facultad de Ingeniera Electrnica

En una misma clase pueden definirse varios mtodos. A ello se le conoce como sobrecarga de mtodos. clase Persona Ejemplo: cadena Nombre
entero Edad cadena Sexo Cumpleanios() Inicio EdadEdad+1 fin_metodo IngresarDatos() Inicio Leer Nombre Leer Edad Leer Sexo fin_metodo fin_clase Persona : p

Facultad de Ingeniera Electrnica

Actividad Propuesta
Confeccione un algoritmo donde se creen mtodos de ingreso y visualizacin de datos de un alumno, de acuerdo a la estructura siguiente:
CodMat, carcter ApPat, carcter ApMat, carcter Edad, entero MontoPago, real

Asimismo, ingresar 10 registros y muestre los nombres de aquellos que pagaron ms de 500.=
Algoritmo y Estructura de Datos II Ing. Ral Jimenez Drago

Solucin:
Definir Variables entero i clase Alumno
cadena codmat cadena appat cadena apmat entero edad real montopago IngresaDatos() Inicio Leer (codmat,appat,apmat, edad,montopago) fin_metodo MostrarDatos() Inicio escribir (codmat,appat,apmat, edad,montopago) fin_metodo fin_clase Alumno: alu(10)

Facultad de Ingeniera Electrnica

Inicio Para i=1 hasta 10 alu(i).IngresarDatos() Fin_para Para i=1 hasta 10 Si (alu(i).montopago > 500) escribir alu(i).appat Fin_Si Fin_para Fin

Solucin:
Definir Variables entero i clase Alumno
cadena codmat cadena appat cadena apmat entero edad real montopago IngresaDatos() Inicio Leer (codmat,appat,apmat, edad,montopago) fin_metodo MostrarDatos() Inicio escribir (codmat,appat,apmat, edad,montopago) fin_metodo

Facultad de Ingeniera Electrnica

Pago() Inicio Si montopago > 500) escribir appat Fin_Si fin_metodo fin_clase Alumno:alu(10) Inicio Para i=1 hasta 10 alu(i).IngresarDatos() Fin_para Para i=1 hasta 10 alu(i).Pago() Fin_para Fin

Facultad de Ingeniera Electrnica

Ejm. con 02 clases

Algoritmo y Estructura de Datos II

Ing. Ral Jimenez Drago

Solucin:
Definir Variables entero i Inicio clase Alumno
cadena codmat, appat, apmat entero edad real montopago IngresaDatos() Inicio Leer (codmat,appat,apmat, edad,montopago) fin_metodo MostrarDatos() Inicio escribir (codmat,appat,apmat, edad,montopago) fin_metodo Pago() Inicio Si montopago > 500) escribir appat Fin_Si fin_metodo fin_clase Alumno:alu(10)

Facultad de Ingeniera Electrnica

clase Docente
cadena codmat, appat, apmat IngresaDatos() Inicio Leer (codmat,appat,apmat) fin_metodo

fin_clase
Docente:doc(10)
Para i=1 hasta 10 alu(i).IngresarDatos() doc(i).IngresarDatos() Fin_para Para i=1 hasta 10 alu(i).Pago() Fin_para Fin

Actividad Propuesta
(05 ptos. PC2)

Facultad de Ingeniera Electrnica

Mediante la aplicacin de la estructura de clases y mtodos. Confeccione un algoritmo que permita listar 20 registros ingresados en la clase articulo, asimismo que realice una bsqueda por descripcin. La clase articulo contendr informacin sobre artculos electrnicos cuya estructura es como sigue :
cod_art (entero), descri (cadena), cant_ex (entero), costo_u (real)
Algoritmo y Estructura de Datos II Ing. Ral Jimenez Drago

Das könnte Ihnen auch gefallen