Вы находитесь на странице: 1из 88

Pascal

Es un lenguaje de alto nivel desarrollado en Alemania a fines de la dcada del 70 por Niklaus Wirth. La idea fue crear un lenguaje que permitiese la enseanza y el aprendizaje de la programacin. A tal fin, la sintaxis del Pascal es muy similar a la del idioma ingls y los programas son fciles de leer e interpretar. Adems, Pascal no toma en consideracin el hecho que las letras estn en maysculas o minsculas.

Tres conceptos fundamentales


Antes de ver en mayor detalle el lenguaje de programacin Pascal, es bueno tener claro que son : las constantes, las variables y los identificadores. Para eso debe tener una nocin (por vaga que sea) de programa.

Qu es un programa?
Un programa no es ms que una serie de lneas de texto, cada una de las cuales contiene alguna definicin sobre la informacin a ser usada en el programa o bien alguna instruccin que se desea que la computadora ejecute.

Esqueleto de un Programa en Pascal (I)


Todos los programas de Pascal comparten ciertas caractersticas comunes, algunas de las cuales son opcionales. Esto se llama esqueleto del programa y se muestra a continuacin.

Convencin
En este esqueleto, lo que se ponga entre signos de mayor y menor (<>) indicarn elementos que deben reemplazarse en un programa real.

Esqueleto de un Programa en Pascal (II)


Program <identificador>; Uses Crt;
Const {constantes}

<identificador> = <valor>;
Var {variables} <identificador> : <tipo>;

Begin {instrucciones} ... End.

Componentes del Esqueleto de un programa (I)


La lnea Program es opcional y sirve para ponerle un nombre al programa.

La lnea Uses Crt es una forma de que Pascal active la capacidad de leer desde el teclado y de escribir hacia la pantalla.

Componentes del Esqueleto de un programa (II)


Las secciones llamadas Const y Var son para declarar las constantes y las variables, respectivamente.
Son opcionales e intercambiables. Se pone un identificador que ser el nombre con el que, tanto Pascal como el programador, la conocern.

A una constante no se le especifica el tipo, slo el valor.

A una variable no se le puede dar un valor cuando se la declara.

Componentes del Esqueleto de un programa (III)


La seccin entre las palabras Begin y End es la parte principal del programa y es aqu donde van las instrucciones del programa. Estas palabras actan como parntesis. Se requieren las dos pero adems pueden ponerse ms dentro de stas, siempre poniendo primero el Begin y luego el End, de manera que en un programa correctamente escrito, haya tantos Begins como Ends. El ltimo End debe terminar con un punto, para que Pascal sepa que el programa ha terminado.

Componentes del Esqueleto de un programa (IV)


Al final de varias lneas del esqueleto aparece un punto y coma. En general, todas las lneas de cdigo Pascal terminan en punto y coma, a menos que terminen en una palabra reservada (no obstante, las lneas que terminan en un End que no sea el ltimo del programa deben llevar punto y coma).
Las palabras entre llaves ({}) son comentarios, y Pascal las ignora por completo. Son una forma valiosa de incluir informacin para los humanos dentro del cdigo para la computadora.

Definiciones (1)
Constante:
como su nombre lo indica, es un valor que a lo largo de la ejecucin de un programa no vara. Variable: este es un espacio o contenedor, es como un vaso, que puede almacenar diversos valores durante la ejecucin del programa.

Definiciones (2)
Identificador: Es una combinacin de letras, nmeros y el caracter '_', pudiendo empezar con cualquiera de ellos excepto nmeros. Es un concepto muy importante en Pascal, ya que sirve para nombrar las constantes, las variables e incluso el mismo programa.

Tipos de Datos
En Pascal se debe especificar a la computadora qu clase de datos va a contener una variable. A simple vista, podemos distinguir entre una palabra como 'Hola' o un nmero como 47.

La computadora no puede hacer esto, as que se le debe decir qu tipo de datos se pondr en cada variable. Una vez hecho esto, no puede almacenarse un valor de cualquier tipo en esa variable, sino de algunos tipos

Tipos de Datos (I)


Integer: nmero entero entre -32,768 y 32,767 LongInt: nmero entero entre -2*10^31 y 2*10^31 - 1 Real: nmero con coma decimal entre 2.9*10^39 y 1.7*10^38

String: cadena de caracteres (conjunto de nmeros, letras, smbolos; palabras y frases)

Tipos de Datos (II)

Char: un caracter (un dgito o una letra o un smbolo)

Boolean:
False (falso).

Pueden tomar dos valores True (verdadero)

Existen otros tipos de datos

Tipos Ordinales
Un tipo ordinal representa una secuencia ordenada de valores individuales, a los que se pueden aplicar los conceptos de predecesor y sucesor (Ej. enteros, carcter, booleanos).
En cada tipo de datos ordinales hay un primer valor y un ltimo valor.

Tipos Definidos por el Usuario


Existen dos tipos de datos simples definidos por el usuario:
Tipos enumerados: Se componen de una lista de identificadores encerrados entre parntesis y separados por comas. Tipos subrango: Es un subconjunto de un tipo ordinal (enteros, boolean, carcter y enumerado) que se especifica indicando el primero y el ltimo elemento del conjunto.

Tipos Enumerados
Los tipos enumerados son ordinales. Cada uno lleva asociado un nmero entero: al primero se le asigna el O, al segundo un 1, y as sucesivamente, por lo que no es independiente el orden de declaracin. Un valor de tipo enumerado no puede pertenecer a dos declaraciones de tipo distintas y no pueden leerse desde teclado, ni escribirse en pantalla.

Tipos Enumerados. Ejemplos


Type

Estaciones = (primavera, verano, otoo, invierno); Colores = (rojo, amarillo, verde, azul, violeta);

Tipos Subrango. Ejemplos


Notacin:
Type Identificador = primerelemento..ultimoelemento; Ejemplos: Type Dias = 1..31; Meses = 1..12;

Asignacin de tipos a variables


Para decirle a Pascal el tipo de una variable, se usa una de las siguientes palabras clave en el lugar indicado en el esqueleto del programa.
Ejemplo:

var i: integer; a: boolean;

Operaciones de Entrada/Salida
Sentencias de salida o escritura. Write o Writeln (NombreArchivo, Nomvarl ,Nomvar2...): Realizan conversin de tipos de datos antes de que la salida llegue al archivo de salida. Las variables o argumentos de esta sentencia pueden ser: expresiones. constantes o variables numricas, de carcter, de cadena o booleanas.

Operaciones de Entrada/Salida
Sentencias de salida o escritura. Formatos: Write o Writeln (argumento) Write o Writeln (argumcnto:m)

Write o Writeln (argumento:m:n)


Donde m es el nmero de caracteres que ocupar la salida ajustando la informacin a la derecha, y n slo se emplea cuando el argumento es numrico real indica el nmero de caracteres que ocupar en la salida la parte decimal.

Operaciones de Entrada/Salida
Sentencia de entrada o lectura.
Read o Readln (NombreArchivo,Nomvarl ,Nomvar2..);

Operadores Aritmticos
Operador + * / div Mod Funcin Operador unario. Invierte el signo. Operador binario suma. Operador binario resta. Operador binario producto. Operador binario divisin real. Operador binario divisin entera. Operador binario resto entero (Mdulo).

Operador de asignacin
La combinacin de smbolos := es el operador de asignacin y sirve, al igual que el ReadLn, para darle valor a una variable. El valor que se da a la variable no se lee del teclado, sino que se toma de una constante, de otra variable, o de una expresin aritmtica (situadas a la derecha del operador de asignacin) y se copia hacia la variable cuyo nombre est a la izquierda.

String: Cadenas de Caracteres


Las cadenas de caracteres son arrays especiales. Una cadena de caracteres (string) consiste en una serie o secuencia de caracteres cuyo nmero (longitud) puede estar entre 0 y 255.

Se puede definir la longitud de la cadena poniendo string [n] donde n est entre 0 y 255.
Longitud fsica: corresponde al mximo nmero de caracteres que puede almacenar. Longitud lgica: corresponde al nmero caracteres que tiene en un instante determinado. de

Operaciones y Tratamiento de cadenas


Las dos operaciones bsicas son: Comparacin Concatenacin. Operador de concatenacin (+) Se utiliza para reunir varias cadenas en una sola Ejemplo: Cad1:='esto es un ejemplo'; Cad2:='de concatenacin de cadenas'; Cadr:=cad1+cad2; Write (cadr); esto es un ejemplo de concatenacin de cadenas

Operaciones y Tratamiento de cadenas


La funcin concat realiza la misma funcin que el operador de concatenacin. La sintaxis es:
Function concat (cad1,cad2,...:string): string; La cadena vaca o nula se representa con dos caracteres apstrofes seguidos ' '. El acceso a los elementos de una cadena individualmente se hace como si fuera un array. Ejemplo: cad1:='ejemplo'; cad1[1] devuelve el primer elemento, la letra e.

Operaciones y Tratamiento de cadenas


La funcin Length proporciona la longitud lgica de una cadena de caracteres.
Ejemplo:

Longitud:=length(cad1);
La variable longitud tomara el valor 7.

Funciones de tratamiento de cadenas


Instruccin Funcin

COPY
Copy (cadl,po,num)

Extrae una subcadena de caracteres de otra cadena de caracteres


po: primera posicin del caracter a extraer. Num: nmero de caracteres que se extraen. Po y Num deben ser enteros Determina si una cadena es subcadena de otra, en caso afirmativo devuelve la posicin donde comienza la subcadena, en caso negativo devolvera cero.

POS

Pos (subcadena,cadena) DELETE Suprime el numero de caracteres que le digamos de una cadena a partir de la posicin que le indiquemos

Delete (Cad,Po,Num)

Funciones de tratamiento de cadenas


Instruccin Funcin

INSERT

Inserta una cadena de caracteres en otra a partir de una posicion dada.

Insert (subcadena,destino,posicion) Subcadena: Cadena a insertar Destino: Cadena donde se va a insertar Posicion: Lugar a partir del cual se va a insertar UPCASE Upcase(x) Devuelve el caracter mayscula

Donde x es una variable de tipo char.


STR Str(valor,cad) Convierte un valor numrico a la correspondiente cadena de caracteres que lo representa.

Funciones de tratamiento de cadenas


Instruccin VAL Funcin Procedimiento inverso a Str, es decir, devuelve el valor numrico de una cadena.

Val(cad,variable,codigo) Cad: la cadena a convertir en valor numrico. Variable: el numero que se obtenga. Codigo: cero si se ha podido convertir.

Funciones Predefinidas
Instruccin
Abs(x) ArcTan(x) Chr(x) Cos(x)

Funcin
Proporciona el valor absoluto de una variable numrica x. El arco cuya tangente es x. Devuelve el carcter ASCII de un entero entre O y 255. Proporciona el valor del coseno de x.

Exp(x)
Frac(x) Int(x) Ln(x) Odd(x) Ord(x) Pred(x)

La exponencial de x(eX).
Parte decimal de x. Parte entera de x. Logaritmo neperiano de x. True si x es impar, y false si es par. Ordinal de una variable tipo ordinal x. Ordinal anterior a la variable ordinal x.

Funciones Predefinidas
Instruccin
Round(x) Succ(x) Sin(x) Sqr(x)

Funcin.
Entero ms prximo al valor x. Ordinal siguiente a la variable ordinal x. Seno de x. Cuadrado de x.

Sqrt(x)
Trunc(x)

Raiz cuadrada de x, para x>=O.


Parte entera de x.

Estructuras de Control
Se denominan estructuras de control a aquellas que determinan qu instrucciones deben ejecutarse y qu nmero de veces.
Existen dos tipos de estructuras de control: alternativas o de seleccin repetitivas o de iteracin.

Estructuras Alternativas
Son aquellas que bifurcan o dirigen la ejecucin de un programa hacia un grupo de sentencias u otro dependiendo del resultado de una condicin. Las dos sentencias alternativas de Pascal son: Sentencia alternativa simple IF-THEN-ELSE Sentencia alternativa mltiple CASE-OF.

IF THEN ELSE

IF (expresin lgica o booleana) THEN Sentencia1 (simple o compuesta) ELSE Sentencia2 (simple o compuesta);

Ejemplo
Ejemplo: IF n>O then Writeln (`Nmero positivo');
IF n>O then Writeln (`Nmero positivo') ELSE Writeln (`Negativo o cero');

No puede existir un punto y coma inmediatamente antes de una palabra ELSE ya que sera interpretado como final de IF.

CASE OF
CASE (expresin o variable) OF (lista de constantes1):(sentencia1); (lista de conslantes2):(sentencia2); (lista de constantes3):(senteneia3); ... (lista de constantesN):(sentenciaN); ELSE (SENTENCIA) ... END;

Ejemplo
Program menu; Var Numerodia: integer; Begin Write('introduzca el ordinal de un da laborable de la semana:'); Readln (numerodia); Write (`Hoy es '); Case numerodia Of 1:Writeln ('Lunes'); 2:Writeln ('Martes'); 3:Writeln ('Miercoles'); 4:Writeln ('Jueves'); 5:Writeln ('Viernes'); 6:Writeln ('Sbado') Else Writeln ('Domingo!!! No es da laborable'); End.

Estructuras Repetitivas
Son aquellas que crean un bucle (repeticin continua de un conjunto de instrucciones) en la ejecucin de un programa respecto de un grupo de sentencias en funcin de una condicin. Las tres sentencias repetitivas de Turbo Pascal son: SENTENCIA WHILE SENTENCIA REPEAT-UNTIL SENTENCIA FOR CUNDO SE USA CADA UNO

Sentencia While
Indica al ordenador que se ejecuten una o ms sentencias mientras se cumpla una determinada condicin establecida por una variable o expresin booleana.

Sentencia While
Esta sentencia comprueba inicialmente si la condicin es verdadera. Si la condicin es verdadera se ejecutan las sentencias mientras la condicin de su enunciado sea verdadera y finaliza cuando la condicin es falsa. Dado que la condicin puede ser falsa inicialmente, es decir antes de comenzar el bucle, habr casos en que el bucle no se ejecute.

Sentencia While
WHILE condicin DO BEGIN (sentencia1); ... (sentenciaN); END; WHILE condicin DO (sentencia);

Caractersticas del Bucle While


Se ejecuta mientras la condicin sea verdadera, y dentro del bucle debe existir, por lo menos, una sentencia que modifique el valor de la variable o expresin, de lo contrario se puede producir una situacin de bucle infinito. Si la expresin lgica es falsa al comenzar el bucle, ste no se realizar.

Ejemplo
Escribir los N primeros nmeros naturales, donde N es un valor introducido por el usuario. Program escribeenteros; Var N,contador: integer; Begin Write ('Introduzca numero mximo de enteros: '); Readln (N); Contador:=1; While contador<=N do Begin Write (contador:5); Contador:=contador+1; End; Writeln ('Fin de programa. Contador = ',contador); End.

Sentencia Repeat Until


Ejecuta las sentencias comprendidas entre las palabras reservadas REPEAT y UNTIL hasta que la expresin o variable sea verdadera.

Sentencia Repeat Until


REPEAT begin (Sentencia); (Sentencia); ... end; UNTIL condicin;

Caractersticas del Bucle Repeat


Se ejecutan siempre una vez, por lo menos, y la terminacin del bucle se produce cuando el valor de la expresin lgica o condicin de salida es verdadera. Se ejecuta hasta que la expresin es verdadera, es decir, se ejecuta mientras la expresin sea falsa.

Ejemplo
Program escribeenteros; Var N,contador:integer; Begin Write ('Introduzca nmero mximo de enteros: '); Readin (N); Contador:= O; Repeat Contador:=contador+1; Write (contador:5) Until contador = N; Writeln ('Fin de programa. Contador = ',contador) End.

Sentencia For
Repite la ejecucin de una o varias sentencias un nmero fijo de veces. previamente establecido. Necesita una variable de control del bucle que es necesariamente de tipo ordinal, ya que el bucle se ejecuta mientras la variable de control toma una serie consecutiva de valores de tipo ordinal, comprendidos entre dos valores extremos (inferior y superior).

Sentencia For
Formato ascendente: FOR variablecontrol:=valorinicial TO valorfinal DO (sentencia);

Formato descendente:
FOR variablecontrol:=valorincial DOWNTO valorfinal DO (sentencia);

donde (sentencia) puede ser una sentencia simple o compuesta.

Caractersticas del Bucle For


Aunque a primera vista pueda resultar ms atractivo FOR, existen limitaciones en su aplicacin ya que en el bucle FOR siempre se incrementa o decrementa (de uno en uno) los valores de la variable de control de bucle y no de dos en dos o de tres en tres, o con valores fraccionarios.
El nmero de iteraciones de un bucle FOR siempre es fijo y se conoce de antemano: Valor final - Valor inicial +1.

Ejemplo

Program escribeenteros; Var N,contador: integer; Begin Write ('Introduzca numero mximo de enteros: '); Readln (N); For contador:=1 to n do Write (contador:5); Writeln End.

Cundo Utilizar While/Repeat/For


Utilizar la sentencia o estructura FOR cuando se

conozca el nmero de iteraciones, y siempre que la variable de control de bucle sea de tipo ordinal.
Utilizar la estructura REPEAT-UNTIL cuando el bucle

se realice por lo menos una vez.


En todos los dems casos utilizar la sentencia WHILE

Registros
Un registro es una estructura heterognea de datos, denominados campos y a los que accedemos por nombre.
Al igual que cualquier otro dato, el tipo registro (Record) antes de poder ser utilizado debe ser declarado en la seccin de tipos. La nica operacin (a parte de la lectura) que se puede realizar con una variable registro como tal es la asignacin, es decir, se pueden copiar todos los campos de una variable registro a otra variable registro del mismo tipo. Adems un registro puede ser pasado como parmetro a una funcin o procedimiento.

Ejemplo
Type Tiporegistro = record Campo 1 :tipol; . . Campo N : tipoN; End; Var Registro1 : tiporegistro;

Ejemplo
Type Empleado = record NbrApell : string; EstadoCivil: (casado, viudo, soltero, divorciado); Sexo: (M, F); Antig: integer; Salario: real; End; Var emp1 : Empleado; begin NbrApell:= 'Eduardo Lopez'; emp1.EstadoCivil:= casado; emp1.Salario:= 450.86 end

Procedimientos y Funciones
Pascal ofrece dos herramientas bsicas para realizar programacin descendente:
los procedimientos (procedure) las funciones (function), a los que nos referiremos genricamente con el trmino de subprogramas. Turbo pascal incorpora adems el concepto de unidad (unit), que permite aprovechar mdulos independientes ya compilados.

Los Parmetros
Los parmetros son canales de comunicacin para pasar datos entre programas y subprogramas en ambos sentidos. Los parmetros van asociados a variables constantes, expresiones, etc., y por tanto, se indican mediante los correspondientes identificadores o expresiones.

Los Parmetros
Los parmetros que se utilizan en la llamada o invocacin al subprograma se denominan parmetros actuales, reales o argumentos, y son los que entregan la informacin al subprograma.
Los parmetros que la reciben en el subprograma se denominan parmetros formales o ficticios y se declaran en la cabecera del subprograma.

Los Parmetros
En una llamada a un subprograma tiene que verificarse que:

El nmero de parmetros formales debe ser igual al de actuales. Los parmetros que ocupen el mismo orden en cada una de las Listas deben ser compatibles en tipo.

Declaracin de parmetros formales


Se declaran encerrados entre parntesis, indicando el identificador y el tipo correspondiente asociado a cada uno, separados por ':', y terminando en ';'. La palabra reservada VAR precediendo a un identificador de parmetro formal indica al compilador que el paso del parmetro es pro Variable. Su ausencia u omisin indica que el paso de parmetro se realiza por VALOR.

Estructura, declaracin y empleo de procedimientos y funciones

Se declaran inmediatamente despus de las variables del programa principal, teniendo la precaucin de que si un subprograma referencia o llama a otro, el referenciado debe declararse primero.

Declaracin de procedimiento
Cabecera Declaraciones Locales procedure nombreproced (lista de parmetros); const Type... Var... Declaracin de otros procedimientos y funciones Cuerpo begin ... end; (*obseiwar; final de procedimiento*)

Ejemplo: Procedimiento
Ejemplo.:
Procedure Identificador (PF1 :tipol ;PF2:tpo2; var PW:tipo3); PFl y PF2 se pasan por valor. PF3 se pasa por variable.

Declaracin de funcin
Cabecera function nombrefunc (lista de parmet.):tiporetornado; Declaraciones const Locales Type... Var... Declaracin de otros procedimientos y funciones Cuerpo begin ...

Nombrefunc:=valorderetorno;
end;

Ejemplo: Funcin
Ejemplo.:
function Identificadorf (PF1 :tipol ;PF2:tpo2):integer; PFl y PF2 se pasan por valor.

Llamada a un procedimiento
Se realiza desde el programa principal indicando el identificador del procedimiento seguido de la lista de parmetros actuales encerrados entre parntesis y separados por comas. Ejemplo:

Identificador (PAl ,PA2,PA3)

Llamada a una funcin


Se realiza desde el programa principal indicando el identificador de la funcin seguido de la lista de parmetros actuales encerrados entre parntesis y separados por comas. Asignndolo a una variable o invocndolo dentro de una condicin. Ejemplo: a := Identificadorf (PAl ,PA2); if (Identificadorf (PAl ,PA2) > 10) then ...

Ejemplo - Declaracin
Ejemplo: Procedimiento para intercambiar los valores de dos variables. Procedure intercambio (var pfl ,p12:integer); Var Aux:integer; {variable local uso exclusivo en procedimiento} Begin Aux := pfl; Pfl := pf2; Pfl := aux End;

Ejemplo - Invocacin
{La llamada a este procedimiento se hara ...} {... por ejemplo desde el siguiente programa:} Program Uno; Uses crt; Var Entero 1 ,entero2 : integer; Procedure intercambio (var pfl ,p12:integer); ... begin clrscr; {*borrado de pantalla*} Write ('introduzca 2 variables enteras: '); Readln(entero1,entero2); Writeln ('valores de las variables antes de la llamada'); Writeln ('Entero 1 = ',enterol,'entero 2 = ',entero2); intercambio (enterol,entero2); {llamada al procedimiento} Writeln ('Valor de las variables despus de la llamada'); Writeln ('entero 1 = ',enterol,'entero 2 = ',entero2); end;

Ejemplo
Ejemplo: Funcin que, dados dos nmeros a y b, retorna a*b si a<b, sino retorna a+b Function suma_prod (a, b:integer): integer; Begin if a<b then suma_prod:=a*b else suma_prod:=a+b; End;

Funciones o procedimientos?
Deben utilizarse funciones cuando solo tenga que devolverse un solo valor simple al programa llamador. En todos los dems casos utilizaremos procedimientos.

Archivos
Un archivo es una estructura homognea de datos consistente en una secuencia de elementos llamados registros, todos del mismo tipo, ya sea simple o estructurado. Un archivo se almacena en un dispositivo auxiliar (discos, cintas, etc), de forma que los datos obtenidos antes, durante y despus del procesamiento de los datos, no se pierden. Para declarar una variable archivo es necesario definir previamente la naturaleza de sus registros.

Ejemplo
Type

Tiporegistro = record Campo 1 :tipol; . .


Campo N : tipoN; End; Tipoarchivo = file of tiporegistro. Var Archivol : tipoarchivo; Registro1 : tiporegistro;

Operaciones bsicas con archivos


Instruccin ASSIGN Operacin Este procedimiento asigna un archivo lgico con su archivo fsico correspondiente. Despus de la asignacin, cualquier operacin sobre la variable archivo afectar al archivo Dos correspondiente. Procedimiento que abre un archivo para lectura posicionando el puntero de lectura del archivo en el primer elemento del archivo, y poniendo la variable booleana EOF asociada al archivo a False, o en la marca de fin de archivo s el archivo esta vaco, en cuyo caso la variable EOF toma el valor True. No se puede modificar el contenido de ningn registro.

Assign (Vararch,nomarch);
RESET

RESET (nomvararchivo);

Operaciones bsicas con archivos


Instruccin IORESULT Operacin Funcin que devuelve el nmero del tipo de error cometido en el tratamiento de archivos. Si no hay ningn error devuelve O. El procedimiento Rewrite abre un archivo para escritura destruyendo el contenido del archivo si este ya existe. No es posible ver datos de un archivo que est abierto con este procedimiento, ya que borra los datos existentes.

REWRITE

Operaciones bsicas con archivos


Instruccin READ Operacin Este procedimiento se utiliza para introducir el contenido de un registro del archivo en una variable de memoria definida del mismo tipo de dato que el registro ledo. READ (nomvararchivo,nomvarreg); EOF En la lectura del ltimo registro el salto del puntero posiciona ste sobre la marca de fin de archivo, colocando la funcin lgica EOF "fin de archivo" asociada a cada archivo a verdadero.

EOF (vararchivo)

Ejemplo
While not eof(pruebas) do Begin Read (pruebas,info); Write (info); End; WRITE: El procedimiento write escribe en un registro del archivo el contenido de una variable de memoria definida del mismo tipo. WRITE (nomvararchivo,nomvarreg);

Archivos de acceso directo (I)


Estn formados por registros del mismo formato y longitud por lo que permiten el acceso a un registro especifico mediante un nmero asociado al mismo, que se denomina su nmero de registro lgico. El nmero asociado es de tipo longint y se asigna al primer registro lgico el valor O. Para que un archivo pueda ser tratado por posicionamiento o acceso directo debe residir obligatoriamente en un dispositivo de almacenamiento de este tipo.

Archivos de acceso directo (II)


La declaracin de un archivo de acceso directo es idntica a la de otros archivos y slo se distingue de ellos por las funciones de posicionamiento en un registro. El contenido de un archivo directo se almacena en disco bajo forma binaria comprimida y no es visualizable directamente en pantalla, como los archivos de texto, con la orden TYPE de DOS o con editores.

Operaciones de archivo (I)


Las principales operaciones de archivos de acceso directo que se usan en Pascal son: RESET Abrir archivo existente. REWRITE Abrir un archivo nuevo. Son dos procedimientos para abrir el archivo de acceso directo, ya sea con un procedimiento u otro, el archivo se abrir para lectura y escritura. FILESIZE Tamao del archivo en formato longint, indica el nmero de registros almacenados. Si el fichero est vaco devuelve el valor O.

Operaciones de archivo (II)


SEEK Permite seleccionar un registro especfico del archivo por su nmero de registro, para su uso en una operacin de lectura o escritura.

READ Lectura del registro actual.


WRITE Escritura sobre el registro actual. CLOSE Cerrar el archivo.

Tratamiento de archivos desde Turbo Pascal


El Turbo Pascal permite manipular archivos y directorios en disco de modo similar al sistema operativo Ms-DOS. Pudiendose realizar las siguientes operaciones con archivos y directorios: Erase(nomvararchivo) Rename(nomvararchivo,'nombrenuevoarchivo') Chdir (directorio) Mkdir (directorio) Rmdir (directorio) Getdir(unidad,camino)

Tratamiento de archivos desde Turbo Pascal


Unidad = 0 unidad de arranque Unidad = 1 A: Unidad = 2 B: Unidad = 3 C: Camino contiene el directorio actual. Getdir obtiene la unidad y el camino del directorio actual de una unidad y lo almacena en las variables unidad, de tipo byte y cambio de tipo String.

Вам также может понравиться