martes, octubre 31, 2006

Shakira - La Tortura (VMAs 2005)

Disfruta este video

Roberto Carlos

Disfruta de este video

Pedro Suarez Vertiz - Cuentame (Concierto)

Recuerda este tema

Yésika Rústika y Chonchi en Castilblanco's Party.

http://www.hluyoch.blogspot.com

jueves, octubre 26, 2006

CLASE DESARROLLADA EN 5TO. "C" COLEGIO CLARETIANO- LUNES:30/10/06

ARCHIVOS

1. Definición:
Desde un punto de vista técnico, un archivo es un conjunto de información de un mismo tipo, almacenada en un medio físico, lógicamente estructurada para facilitar su acceso, modificación y eliminación.

2. Tipos de Archivos:
Free Pascal permite trabajar con 3 tipos de archivos:
· Archivos tipo texto.
· Archivos con tipo.
· Archivos sin tipo.
a) Archivos de Tipo Texto:
Los archivos de tipo texto son llamados también archivos de acceso secuencial, están formados por cadenas de caracteres separadas unas de otras por los códigos retorno de carro/salto de línea (RC/SL), la combinación RC/SL (Códigos ASCII 10 y 13) se conoce como delimitador. Un delimitador marca el final de algún elemento como un campo, un registro o una línea. El final del archivo se indica mediante el carácter ASCII 26, que también se expresa como ^Z o EOF.
Los pasos para leer o escribir en un archivo de este tipo son:
· Declarar una variable de tipo texto. Y asociarla al nombre de un archivo. A esto también se le llama declarar el archivo.
· Abrir el archivo ya sea para lectura o escritura.
· Leer o escribir datos en el archivo.
· Cerrar el archivo.
a.1 Declaración de un Archivo:
Para declarar un archivo primero se declara una variable de tipo Text de la siguiente forma:
Sintaxis:
VAR
NOMBRE_ARCHIVO: TEXT;
Por ejemplo:
Var
Archtexto:Text;

Una vez declarada la variable se asigna al nombre de algún archivo para ello se utiliza la función ASSIGN:
Sintaxis:
ASSIGN(VAR_ARCHIVO,’NOMBRE_ARCHIVO’);

Donde:
Nombre_Archivo: Es una cadena de caracteres que contiene el nombre del archive, la unidad de disco donde se encuentra y el directorio.


Por ejemplo, para trabajar bajo el sistema operativo Linux y suponiendo que el archivo en donde se guardará la información se llamará datos.txt y se encuentra en el directorio /root, la asignación sería la siguiente:

Assign(Archtexto,’/root/datos.txt’);


Por ejemplo, para trabajar bajo el sistema operativo Windows y suponiendo que el archivo en donde se guardará la información se llamará datos.txt y se encuentra en la unidad C y dentro del directorio PRACTICAS, la asignación sería la siguiente:

Assign(Archtexto,’C:\practicas\datos.txt’);

a.2 Abrir Archivos:
Pascal, además permite abrir archivos con diferentes finalidades y con diferentes funciones. Existen tres funciones que toman como único parámetro el alias del archivo.

· Rewrite: Abre un archivo para escritura destruyendo el contenido del archivo si este ya existe. Es decir, permite rescribir de nuevo el archivo, sin posibilidad de leer.
Sintaxis:
Rewrite(ArchivoTexto);

Por ejemplo:

Rewrite(Archtexto);

· Reset: Procedimiento que abre un archivo para lectura posicionando el puntero de lectura en el primer elemento del archivo. No permite realizar escritura.
Sintaxis:
Reset(ArchivoTexto);

Por ejemplo:

Reset(ArchTexto);

· Append: Permite añadir datos al final del archivo, es exclusiva de los archivos de texto.
Sintaxis:
Append(ArchivoTexto);

Por ejemplo:

Append(ArchTexto);

a.3. Escribir o leer datos en un archivo:
Para escribir datos a un archivo se utilizan las instrucciones Write y Writeln, como si se quisiera escribir a la pantalla, con la diferencia de que se especificará la variable de archivo ya declarada.


Por ejemplo:

Writeln(ArchTexto,’Este es un ejemplo de escribir o guardar datos’);

Writeln(‘Ingrese su nombre y apellido: ´); Readln(Nombre);
Writeln(Archtexto,N);

Writeln(‘Ingrese su código : ‘); Readln(cod);
Writeln(ArchTexto,’Codigo : ‘,cod);

Para leer datos de un archivo de acceso secuencial se utilizan las instrucciones Read y Readln. La instrucción Read lee uno o varios datos del archivo abierto y deja el puntero en el mismo renglón en el cual leyó los datos, en cambio Readln lee los datos y mueve el puntero al siguiente renglón.

Por Ejemplo:

Readln(ArchTexto, S);

Readln(ArchText, S1,S2,S3);

a.4 Fin del Archivo
Normalmente los archivos de este tipo se leen renglón por renglón hasta llegar al final del mismo. Cuando se conoce de antemano el tamaño del archivo es posible utilizar un ciclo For, pero es más seguro utilizar la función EOF (END OF FILE , FINAL DE ARCHIVO), la cual es verdadera después de que el programa lee la última línea de un archivo de acceso secuencial.
Sintaxis:

EOF (VariableArchivo);

Es común realizar la verificación de la función con un ciclo WHILE como en el ejemplo siguiente:

WHILE NOT EOF(ARCHTEXTO) DO
BEGIN
READLN(ARCHTEXTO,DATOS);
WRITELN(DATOS);
END;

Otro ejemplo utilizando el ciclo For en el cual se conoce con exactitud la cantidad de líneas que tiene el archivo de texto.

…..
For i:=1 to 30 Do
Begin
Readln(Archtexto,datos);
Writeln(datos);
End;
…..
Nota: en este caso se leerán las primeras 30 líneas del archivo de texto.


a.5. Cerrar archivos:
Para asegurar que toda la información se grabe en el disco correctamente es necesario cerrar el archivo antes de que se termine la ejecución del programa, de lo contrario se corre el riesgo de que la última información que se haya accesado no se grabe en su totalidad.



Sintaxis:

Close(ArchivoTexto);

Ejemplo:

Close(ArchTexto);

a.6. Función Eoln:
La función Eoln sirve para verificar si el puntero ha llegado al final de la línea. Regresa el valor verdadero si se encuentra al final. Comúnmente se utiliza en las lecturas carácter por carácter.

a.7. Agregar datos a un archivo de tipo texto:
Para añadir datos a un archivo de texto son necesarios los siguientes pasos:
· Asignar un archivo a una variable con ASSIGN
· Agregar los datos con el procedimiento APPEND
· Escribir datos
· Cerrar el archivo.

Ejemplos:
1. Programa que guarda la palabra “Archivos en Pascal” dentro del archivo datos.txt que se encuentra en la unidad C: y dentro del directorio o carpeta Respaldo.

Program ejemplo1;
Uses Crt, Sysutils;
Var
Atexto:Text;
Begin
Clrscr;
Assign(Atexto,’C:\Respaldo\datos.txt’);
Append(Atexto);
Writeln(Atexto,’Archivos en Pascal ‘);
Close(Atexto);
Readkey;
End.
En el siguiente ejemplo también guarda la información pero elimina la información que existe en el archivo.

Program ejemplo1;
Uses Crt, Sysutils;
Var
Atexto:Text;
Begin
Clrscr;
Assign(Atexto,’C:\Respaldo\datos.txt’);
Rewrite(Atexto);
Writeln(Atexto,’Archivos en Pascal ‘);
Close(Atexto);
Readkey;
End.

2. Programa que lee los datos del archivo datos.txt, el cual se encuentra en la unidad C: y dentro del directorio Respaldo.

Program ejemplo2;
Uses Crt, Sysutils;
Var
Atexto:Text;
S:String;
Begin
Clrscr;
Assign(Atexto,’C:\Respaldo\datos.txt’);
Reset(Atexto);
Readln(Atexto,S);
Writeln(S);
Close(Atexto);
Readkey;
End.

Nota: En el programa del ejemplo 2, solamente va a leer e imprimir la primera línea del archivo de texto.

3. Programa que graba o escribe los datos de un alumno (código, nombre y teléfono) en el archivo denominado alumno.dat. El programa deberá terminar cuando en el ingreso del código se presione .

Program Ejemplo3;
Uses Crt,SysUtils;
Var
Archtext:Text;
Cod:String[4];
Nom:String[30];
Telef:String[11];
Begin
Clrscr;
Assign(Archtext,’/root/alumno.dat’);
Append(Archtext);
Repeat
Clrscr;
Write(‘Ingrese Codigo: ‘); Readln(Cod);
If Cod<>’’ Then
Begin
Write(‘Ingrese su Nombre: ‘);Readln(nom);
Write(‘Ingrese su Telefono: ‘);Readln(Telef);
Writeln(Archtext,Cod);
Writeln(Archtext,Nom);
Writeln(Archtext,Telef);
End;
Until cod=’’;
Close(Archtext);
Readkey;
End.

4. Programa que realiza la lectura de todos los datos guardados en el programa anterior en el archivo alumno.dat.

Program Ejemplo4;
Uses Crt,SysUtils;
Var
Archtext:Text;
S:String;
Begin
Clrscr;
Assign(Archtext,’/root/alumno.dat’);
Reset(Archtext);
While Not Eof(Archtext) Do
Begin
Readln(Archtext,S);
Writeln(S);
End;
Close(Archtext);
Readkey;
End.