You are on page 1of 20

PROGRAMACION DIGITAL - CB412-I

CICLO 2014-1

ARCHIVO
Definicin,Tipos,
ArchivoTipoTexto

122

PROGRAMACION DIGITAL - CB412-I

Archivo
Es un conjunto de bytes
que son almacenados en
un dispositivo.
Es identificado por un
nombre y la descripcin de
la carpeta o directorio que
lo contiene.
Ejemplos:
LAB7.C
DATOS.TXT
PLANO.DWG

CICLO 2014-1

123

PROGRAMACION DIGITAL - CB412-I

CICLO 2014-1

124

Tipos de Archivos
Texto:
Conjunto de caracteres ASCII
Cada grupo de 8bits corresponde a 1 byte o 1
carcter.
Binario:
Conjunto de bits de longitud variable.

PROGRAMACION DIGITAL - CB412-I

CICLO 2014-1

125

Archivo Tipo Texto


Esta formado por un conjunto de caracteres ASCII
organizados secuencialmente.
Utilizamos el archivo para entrada y/o salida del
programa.

Archivo de
Datos
ENTRADA

Programa

Archivo de
Resultados
SALIDA

PROGRAMACION DIGITAL - CB412-I

Tabla ASCII

Fuente: http://www.elcodigoascii.com.ar/

CICLO 2014-1

126

PROGRAMACION DIGITAL - CB412-I

Uso de Archivos Tipo Texto


Pasos a seguir:
1.
2.
3.
4.

Declarar variable FILE


Abrir el archivo
Leer / Escribir
Cerrar el archivo

CICLO 2014-1

127

PROGRAMACION DIGITAL - CB412-I

CICLO 2014-1

128

1. Declarar variable FILE


FILE*var_archi;
Donde:
FILE

Tipo especial de dato, establece un rea


de memoria temporal de transferencia
(Buffer) entre el programa y el archivo.

var_archi Variable (puntero), indica el inicio del


Buffer.
Programa

var_archi

Buffer

Archivo

PROGRAMACION DIGITAL - CB412-I

CICLO 2014-1

129

2. Abrir el Archivo
var_archi=fopen(archivo, modo);
Donde:
fopen

Conecta el archivo fsico con el programa.

archivo

Nombre del archivo (cadena de caracteres)


En diagrama de flujo:
var_archi fopen(archivo, modo)

PROGRAMACION DIGITAL - CB412-I

CICLO 2014-1

130

2. Abrir el Archivo
var_archi=fopen(archivo, modo);
Donde:
modo

Forma en que se utilizar el archivo.

Modo
Descripcin
Apertura
r
Abre un Archivo para lectura (ENTRADA)
w
Crea un Archivo para escritura (SALIDA)
a
Abre un Archivo para aadir al final (SALIDA)

PROGRAMACION DIGITAL - CB412-I

CICLO 2014-1

131

3. Leer y/o Escribir


fscanf(var_archi, formato,&variable);
Donde:
fscanf
Lee la variable desde el archivo segn el
formato.

~
Leer (var_archi)
variable

PROGRAMACION DIGITAL - CB412-I

CICLO 2014-1

132

3. Leer y/o Escribir


fprintf(var_archi, formato, expresin);
Donde:
fprintf Escribe la expresin al archivo segn el
formato.

~
Escribir (var_archi)
expresin

PROGRAMACION DIGITAL - CB412-I

CICLO 2014-1

133

4. Cerrar el Archivo
fclose(var_archi);
_fcloseall();
Donde:
fclose

Cierra el archivo.

_fcloseall Cierra todos los archivos abiertos.


fclose(var_archi)

fcloseall( )

PROGRAMACION DIGITAL - CB412-I

CICLO 2014-1

134

Fin de Archivo
Todo archivo tiene un inicio y un fin: EOF (End Of File)
inicio

Archivo
EOF

La funcin feof determina si se ha alcanzado el EOF.

PROGRAMACION DIGITAL - CB412-I

CICLO 2014-1

135

Fin de Archivo aplicado a archivos de


lectura
feof(var_archi) ser Verdadero si se alcanz el EOF y
ser Falso si an no se alcanza.
inicio
Archivo
de
Lectura
EOF

!feof(var_archi) ser Verdadero mientras no se alcance


el EOF.
negacin

PROGRAMACION DIGITAL - CB412-I

CICLO 2014-1

136

Lectura del archivo usando while con !feof()

!feof(var_archi)

V
sentencias

~
while(!feof(var_archi)){
//Sentencias de Lectura

PROGRAMACION DIGITAL - CB412-I

CICLO 2014-1

137

Ejercicio1
Un archivo contiene los promedios de los
alumnos FIC. Se pide determinar la cantidad de
aprobados, desaprobados y dado un cdigo
ingresado por teclado mostrar en pantalla su
promedio.
Promedios20132.txt
codigo letra promedio
20090205 K 11.553
20112053 C 11.559
20054511 H 08.506

PROGRAMACION DIGITAL - CB412-I

CICLO 2014-1

138

Ejercicio2
Un archivo contiene fechas y horas.
Escribir un programa que muestre en pantalla el
contenido del archivo.
Agenda.txt
12-01-2013
11-12-2012
13-12-2012
30-11-2012

18:15
15:30
16:00
19:00

PROGRAMACION DIGITAL - CB412-I

CICLO 2014-1

139

Ejercicio3
Escribir un programa que escriba en un archivo una
pirmide como el de la figura. El dato del programa
ser la altura de la pirmide. Por ejemplo:
h= 5
Piramide.txt

*
***
*****
*******
*********

PROGRAMACION DIGITAL - CB412-I

CICLO 2014-1

140

Ejercicio4
Un archivo contiene las coordenadas (x, y) de los
puntos de una poligonal cerrada. Determinar si es
una poligonal cncava o convexa. No se conoce
la cantidad de puntos. Por ejemplo:
Poligonal.txt
10,13
11,6
20,12
17,21
9,23
5,16

PROGRAMACION DIGITAL - CB412-I

CICLO 2014-1

141

Ejercicio5
Un archivo contiene una matriz por filas y
columnas. Usando un arreglo lineal leer la matriz
y escribir la transpuesta en otro archivo. El orden
de la matriz no es dato. Por ejemplo:
Matriz.txt
9 3 8 1
8 6 4 0
5 2 3 4

Matrizt.txt
9
3
8
1

8
6
4
0

5
2
3
4

You might also like