• No se han encontrado resultados

Algorítmica y Lenguajes de Programación. Ficheros

N/A
N/A
Protected

Academic year: 2021

Share "Algorítmica y Lenguajes de Programación. Ficheros"

Copied!
8
0
0

Texto completo

(1)

Algorítmica y Lenguajes de Programación

Ficheros

2

Ficheros.

Introducción

n Un fichero es una unidad de información almacenada en

disco a la que se asigna un identificador único.

n Los ficheros nos ofrecen la posibilidad de almacenar datos de una manera permanente.

n Pueden considerarse estructuras secuenciales en las que se

almacenan datos pertenecientes a un mismo tipo: de texto (caracteres), de tipo entero, de registros (datos de los alumnos de una asignatura).

n Hay dos formas de acceso a los mismos: secuencial y

directo.

n En el acceso secuencial para leer o escribir un registro es necesario pasar por todos los registros previos (de manera análoga a como se trabajaría con una cinta).

n En el acceso directo cada registro tiene asociada una clave que permite un acceso inmediato sin tener que recorrer previamente otros registros.

(2)

3

Ficheros.

Notación algorítmica (i)

n

En la notación algorítmica sólo se empleará el

acceso secuencial.

n

Para poder utilizar un fichero es necesario, en

primer lugar, declarar el tipo del mismo:

variable

fichero de tipo

n

Por ejemplo:

numeros

fichero de entero

carta

fichero de caracter

matriculacion

fichero de alumno

Ficheros.

Notación algorítmica (ii)

n

Una vez declarado un fichero, es posible

abrirlo

y

cerrarlo

.

n

La primera operación prepara el fichero para poder

escribir o leer del mismo; si imaginamos el fichero

como una cinta esta acción colocaría la “cabeza de

lectura” al comienzo de la misma.

n

La segunda indica que las operaciones con el fichero

han finalizado (los cambios se grabarán en disco).

n

La sintaxis de ambas operaciones es la siguiente:

abrir (fichero) cerrar (fichero)

(3)

5

Ficheros.

Notación algorítmica (iii)

n Una vez un fichero está abierto es posible leer y escribirdatos

del mismo.

n Los datos leídos/escritos serán del tipo básico del fichero. n La sintaxis de ambas operaciones es la siguiente:

leer (fichero, variable) escribir (fichero, expresión) n Por ejemplo:

leer (matriculacion, datos_alumno) leer (carta, letra)

escribir (matriculacion, datos_alumno) escribir (numeros, 7)

escribir (carta, “Queridos Reyes Magos...”)

n Cuando se ejecuta una acción de lectura/escritura la “cabeza de

lectura” avanza una posición en el fichero (al siguiente entero/carácter/registro...)

6

Ficheros.

Notación algorítmica (iv)

n

Al leer de un fichero es necesario saber

si se ha llegado al final del mismo.

n

Existe una función lógica que indica si

ya se ha alcanzado el fin de fichero:

fin_fichero (fichero)

n

Por ejemplo:

(4)

7

Ficheros.

Ejemplo algorítmico (i)

n

Algoritmo que lee enteros mayores o iguales

que 0 por teclado y los almacena en un

archivo:

n El algoritmo debe utilizar una variable de tipo entero para leer los números por teclado y una variable de tipo fichero de enteros para almacenar en dicho fichero los números. n Al principio del algoritmo el fichero debe abrirse.

n Al final del algoritmo el fichero debe cerrarse.

n El algoritmo se basará en un bucle que leerá números mientras dichos números no sean negativos.

n Si el número leído es mayor o igual que 0 lo almacena en el fichero.

Ficheros.

Ejemplo algorítmico (ii)

variables

numeros∈∈ fichero de entero numero ∈∈ entero

inicio

escribir ‘Introduzca enteros positivos:’ numero ßß 0

abrir (numeros)

mientras numero 0 hacer leer numero

si numero 0 entonces escribir (numeros, numero) fin si

(5)

9

Ficheros.

Ejemplo algorítmico (iii)

n

Algoritmo que recorre un fichero con

datos de alumnos y los muestra por

pantalla:

n

El algoritmo debe utilizar una variable de tipo fichero

de registros de alumnos que almacena los datos (este

algoritmo no lo ha escrito) y una variable de tipo

registro para leer desde el fichero y mostrarlo por

pantalla.

n

Al principio del algoritmo el fichero debe abrirse.

n

Al final del algoritmo el fichero debe cerrarse.

n

El algoritmo se basará en un bucle que leerá registros

del fichero mientras no se llegue al final del mismo; el

contenido de cada registro leído se mostrará por

pantalla.

10

Ficheros.

Ejemplo algorítmico (iv)

tipos

alumno = tupla

nombre, apellidos ∈∈ caracter fin tupla

variables

datos_alumno ∈∈ alumno

matriculacion ∈∈ fichero de alumno inicio

abrir (matriculacion)

mientras no fin_fichero (matriculacion) hacer leer (matriculacion, datos_alumno)

escribir ‘Nombre: ‘, datos_alumno.nombre escribir ‘Apellidos: ‘, datos_alumno.apellidos fin mientras

cerrar (matriculacion) fin

(6)

11

Ficheros.

Notación FORTRAN (i)

n FORTRAN permite manejar ficheros, sin embargo, ¡¡no tiene un tipo fichero!!

n Es posible utilizar ficheros de acceso secuencial y directo, nosotros sólo utilizaremos ficheros secuenciales.

n Para acceder a los ficheros, FORTRAN utiliza números de unidad; estos números varían entre 1 y 99y podemos utilizar los que queramos para cada fichero a excepción del 5 y el 6(teclado y pantalla, respectivamente).

n Para abrir en FORTRAN un fichero y asociarlo a un número de unidad (y a una ruta de fichero) se emplea la siguiente sintaxis:

open (unit =unidad,file=ruta fichero,status=‘new’|’old’|’unknown’ ) n El valor unknownes muy útil si no sabemos si el fichero existe

(correspondería old) o existe (equivaldría a new).

n Por ejemplo:

n Abrir el inexistente fichero carta.txt:

open (unit=1, file=‘carta. txt’, status=‘ new’)

n Abrir el fichero ya existente matriculacion.dat: open (unit=2, file=‘matriculacion .dat’ , status=‘old’ )

Ficheros.

Notación FORTRAN (ii)

n Para cerrar un fichero en FORTRANse utiliza la acción:

close (unidad)

n Por ejemplo,

n Para cerrar el anterior fichero carta.txt close (1)

n Para cerrar el fichero matriculacion.dat close (2)

n También existen acciones de lectura y escrituracon la siguiente sintaxis: read (unidad, formato) variable

write (unidad, formato) expresión

n Al igual que con la entrada y salida estándar prescindiremos del formato y emplearemos el formato libre, *.

n Ejemplos:

open (unit =1,file=’matriculacion.dat’,status=‘ old’) read (1,*) datos_alumno

(7)

13

Ficheros.

Notación FORTRAN (iii)

n

En FORTRAN también es posible saber si se

ha llegado al final del mismo.

n

Existe una función intrínseca que indica esta

situación:

eof (unidad)

n

Por ejemplo:

open (unit=1,file=’matriculacion .dat’,status=‘old’) eof (1)

14

Ficheros.

Ejemplos FORTRAN (i)

n Programa que lee enteros mayores o iguales que 0 por teclado

y los almacena en un archivo: program programa

implicit none integer numero

print *, 'Introduzca enteros positivos:' numero = 0

open (unit=1,file= 'numeros.dat',status='unknown' )

do while (numero>=0) read *, numero if (numero>=0) then write (1,*) numero end if end do close (1) end

(8)

15

Ficheros.

Ejemplos FORTRAN (ii)

n Programa que recorre un fichero con datos de alumnos y los

muestra por pantalla: program programa

implicit none type alumno

character*64 nombre character*128 apellidos end type alumno

type (alumno) datos_alumno

open (unit=1,file=‘matriculacion .dat’,status=‘unknown’) do while (.not.eof(1))

read (1,*) datos_alumno

print *,'Nombre: ',datos_alumno%nombre,'Apellidos: ',datos_alumno%apellidos end do

close (1) end

Ficheros.

Resumen

1. Un fichero es una unidad de información almacenada en disco a

la que se asigna un identificador único.

2. Los ficheros son estructuras secuenciales en las que se

almacenan datos pertenecientes a un mismo tipo.

3. Hay dos formas de acceso a ficheros: secuencial y directo.

4. En la notación algorítmica sólo existen ficheros secuenciales y

para utilizar un fichero es necesario declararlo.

5. En FORTRAN aunque existen ficheros de acceso directo no los

utilizaremos; además, no existe un tipo fichero sino que se emplean números de unidad.

6. Las operaciones básicas con un fichero son: n Apertura.

Referencias

Documento similar

Luis Miguel Utrera Navarrete ha presentado la relación de Bienes y Actividades siguientes para la legislatura de 2015-2019, según constan inscritos en el

D) El equipamiento constitucional para la recepción de las Comisiones Reguladoras: a) La estructura de la administración nacional, b) La su- prema autoridad administrativa

b) El Tribunal Constitucional se encuadra dentro de una organiza- ción jurídico constitucional que asume la supremacía de los dere- chos fundamentales y que reconoce la separación

Debido al riesgo de producir malformaciones congénitas graves, en la Unión Europea se han establecido una serie de requisitos para su prescripción y dispensación con un Plan

Como medida de precaución, puesto que talidomida se encuentra en el semen, todos los pacientes varones deben usar preservativos durante el tratamiento, durante la interrupción

Abstract: This paper reviews the dialogue and controversies between the paratexts of a corpus of collections of short novels –and romances– publi- shed from 1624 to 1637:

entorno algoritmo.

Habiendo organizado un movimiento revolucionario en Valencia a principios de 1929 y persistido en las reuniones conspirativo-constitucionalistas desde entonces —cierto que a aquellas