Pascal

Solo disponible en BuenasTareas
  • Páginas : 23 (5555 palabras )
  • Descarga(s) : 4
  • Publicado : 24 de mayo de 2010
Leer documento completo
Vista previa del texto
Tipos de datos definidos por el usuario :
• de tipo simple :
• Subrango
• Enumerados
• de tipo estructurado :
• Conjunto

SUBRANGO.
Se define a partir de un ordinal estableciendo unos límites inferior y superior para el tipo subrango.
Declaración :
Type
Subrango =liminf...limsup ;
Var
s :Subrango ;

Las variables de un tiposubrango admiten las mismas operaciones que el ordinal del cual proceden. También resulta posible asignar a una variable de tipo subrango otra que ha sido declarada como perteneciente al tipo ordinal del cual se deriva el subrango. Los subrangos se utilizan para dar una mayor legibilidad a los programas.
Type
Meses = 1..12 ;
Var
m :meses ;
i :byte ;
Begin
Repeat
Readln(i) ;
Until(i >= 1) AND (i ,=,= Un conjunto incluye a otro conjunto.
, ‘*’ do
Begin
Writeln(f, cad) ; {f,nombre variable tipo fichero}
Readln(cad) 
End ;
Close(f) ; {Cerramos el fichero}
End.

Cuando queremos leer información, ha de haber sido primero cerrado, si ya está asignado.
Reset (f) ;{Abrir lectura }
While NOT EOF(f) do
Begin
Readln(f,cad) ;
Writeln(cad) ;End ;
Close(f) ;
La apertura de lectura pone el puntero al principio del archivo en modo lectura. Con la lectura del último registro, se detecta la marca de fin de archivo (EOF).

• Mezcla de 2 ficheros ordenados :
Comenzamos leyendo 2 registros (uno de cada fichero). Los comparamos, escribimos el más pequeño y se lee del que se ha escrito. Repetimos esto hasta que se detecta EOF de uno delos archivos. Si en el otro aún quedan registros, se escriben todos los que faltan (hasta detectar EOF de este fichero) y por último cerramos todos los archivos.
• Longitud de un fichero de texto :
Var
f :text ;
n1,n2 :integer ;
Begin
Assign(f,’num.dat) ;
Rewrite(f) ;
Readln(n1) ;
While n10 do
Begin
Readln(n2) ;
Writeln(f,n1,n2) ;
Readln(n2)
End ;
Close(f) ;Reset(f) ;
While NOT EOF(f) do
Begin
Readln(n1,n2) ; (error (84(n1, porque sobra n2, al no haber espacio separador lo
almacena como una sóla variable.
Writeln(n1,n2) ; Solución :dar formato.
End ; Writeln(f,n1 :5,n2 :4) o bien Writeln(f,n1,’ ‘,n2) {escribiendoseparador}
Close(f)
End.

Var
f :text ;
n1,n2 :real ;
Idem.
El contenido del fichero está en notación exponencial.

Funciones :
En archivos secuenciales se puede escribir con : Write y Writeln.
Write (id, lista expresiones) ;
Writeln (id, lista expresiones) ;
Y se puede escribir con : Read y Readln.
Read (id, lista variables) ;
Readln (id, lista variables) ;
{En archivos deacceso directo NO se pueden usar WriteLn ni tampoco ReadLn}
La impresora (asi como el teclado y la pantalla), también se con sidera como un archivo de texto :
Cada vez que se ejecuta un Write o un Read, el puntero avanza al siguiente registro (tanto en secuencial como en acceso directo).
While NOT EOF(f) do {secuencial : el puntero de registro avanza automáticamente}
Begin
ReadLn(f,v) ;WriteLn(v) ;
End ;

Var
Impresora :text ;
Begin
Assign(Impresora,’LPT1’) ;
Rewrite(Impresora) ;
WriteLn(Impresora,’archivo’,’hola’,’adios’,’5’) ;
Close(Impresora) ;
End.
Esto es similar a lo que hay en la unidad PRINTER, por lo que se indica el Uses Pinter, sólo hay que hacer :
WriteLn(LST, ’archivo’,’hola’,’adios’,’5’) ;

Apertura de archivo :
• 1ª vez ( Rewrite(f) ; {abierto para escritura}
• Si ya existe ( Reset (f) ; {abre para lectura}
Append(f) ; {abre para escritura, al final (añadir)}

ARCHIVOS CON TIPO.

Además de archivos de texto, Pascal cuenta con archivos con tipo, que se caracterizan porque los datos son almacenados en disco de la misma manera que se almacenan en memoria. Son archivos de acceso directo, por lo que para acceder a...
tracking img