Está en la página 1de 8

• FICHEROS en PÍLDORAS

INFORMÁTICA
Sagrario Lantarón
Veremos unos ficheros con datos.
Suponiendo que el fichero está abierto con
identificador f1
f1=fopen(‘fichero.txt’,’r’);
¿qué hay que hacer para leer los datos y
conseguir los resultados que se piden?

Diapositiva 2
PÍLDORA 1

Fichero con números reales,


en disposición variable

¿Qué hay que


conseguir?
La media de todos los
datos que hay en el fichero

Respuesta
[v,n]=fscanf(f1,’%f’);
media=sum(v)/n;

Diapositiva 3
PÍLDORA 2

Fichero con números reales,


con cuatro datos por línea.
Número cualquiera de líneas

¿Qué hay que


conseguir?
Una matriz con todos los
datos del fichero, en
disposición idéntica a éste

Respuesta
[A,cont]=fscanf(f1,’%f’,[4,inf]);
A=A’;

Diapositiva 4
PÍLDORA 4

Fichero con números reales,


con cuatro datos por línea.
Número cualquiera de líneas

¿Qué hay que


conseguir?
Leer todos los datos de la
línea 5 del fichero

Respuesta
[A,cont]=fscanf(f1,’%f’,[4,inf]); for i=1:4
A=A’; fgets(f1);
V=A(5,: ); end
V=fscanf(f1,’%f’,4);

Diapositiva 5
PÍLDORA 5

Fichero con un número


indeterminado de líneas.
En cada línea hay una
palabra y varios números.

¿Qué hay que


conseguir?
Leer todos los segundos
números de cada línea en
un vector
Respuesta
v=[ ];
while ~feof (f1)
fscanf(f1,’%s’,1);
fscanf(f1,’%f’,1);
x=fscanf(f1,’%f’,1);
v=[v , x];
end
Diapositiva 6
PÍLDORA 3

Fichero con números reales,


en disposición variable

¿Qué hay que


conseguir?
Leer todos los datos de la
línea 5 del fichero

Respuesta
for i=1:4
fgets(f1);
end
linea=fgets(f1);
V=sscanf(linea,’%f’ );

Diapositiva 7
PÍLDORA 6
Fichero con un número
indeterminado de líneas.
En cada línea hay una palabra y
una cantidad variable de
números.
¿Qué hay que
conseguir?
Leer todos los últimos
números de cada línea en
un vector
Respuesta
v=[ ];
while ~feof (f1)
linea=fgets(f1);
pal=sscanf(linea,’%s’,1);
linea(1:length(pal))=[];
x=sscanf(linea,’%f’);
v=[v , x(end)];
end
Diapositiva 8

También podría gustarte