Upload
osler-meza-torres
View
215
Download
1
Embed Size (px)
DESCRIPTION
Programacion digital UNI
Citation preview
ARCHIVO
Definicin,Tipos,ArchivoTipoTexto
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 122
Archivo
Es un conjunto de bytesque son almacenados enun dispositivo.Es identificado por unnombre y la descripcin dela carpeta o directorio quelo contiene.Ejemplos:
LAB7.C DATOS.TXT PLANO.DWG
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 123
Tipos de Archivos
Texto:Conjunto de caracteres ASCIICada grupo de 8bits corresponde a 1 byte o 1carcter.
Binario:Conjunto de bits de longitud variable.
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 124
Archivo Tipo Texto
Esta formado por un conjunto de caracteres ASCIIorganizados secuencialmente.
Utilizamos el archivo para entrada y/o salida delprograma.
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 125
ProgramaArchivo de
DatosENTRADA
Archivo de Resultados
SALIDA
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 126
Tabla ASCII
Fuente: http://www.elcodigoascii.com.ar/
Uso de Archivos Tipo Texto
Pasos a seguir:
1. Declarar variable FILE2. Abrir el archivo3. Leer / Escribir4. Cerrar el archivo
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 127
1. Declarar variable FILE
FILE*var_archi;Donde:
FILE Tipo especial de dato, establece un reade memoria temporal de transferencia(Buffer) entre el programa y el archivo.
var_archi Variable (puntero), indica el inicio delBuffer.
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 128
Programa Buffer Archivo
var_archi
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:
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 129
var_archi fopen(archivo, modo)
2. Abrir el Archivo
var_archi=fopen(archivo, modo);
Donde:
modo Forma en que se utilizar el archivo.
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 130
Modo Apertura
Descripcin
r Abre un Archivo para lectura (ENTRADA)w Crea un Archivo para escritura (SALIDA)a Abre un Archivo para aadir al final (SALIDA)
3. Leer y/o Escribir
fscanf(var_archi, formato,&variable);
Donde:
fscanf Lee la variable desde el archivo segn elformato.
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 131
Leer (var_archi)variable
~
~
3. Leer y/o Escribir
fprintf(var_archi, formato, expresin);
Donde:
fprintf Escribe la expresin al archivo segn elformato.
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 132
Escribir (var_archi)expresin
~
~
4. Cerrar el Archivo
fclose(var_archi);
_fcloseall();
Donde:
fclose Cierra el archivo.
_fcloseall Cierra todos los archivos abiertos.
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 133
fclose(var_archi) fcloseall( )
Todo archivo tiene un inicio y un fin: EOF (End Of File)
La funcin feof determina si se ha alcanzado el EOF.
Fin de Archivo
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 134
Archivo
inicio
EOF
feof(var_archi) ser Verdadero si se alcanz el EOF yser Falso si an no se alcanza.
!feof(var_archi) ser Verdadero mientras no se alcanceel EOF.
Fin de Archivo aplicado a archivos de lectura
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 135
negacin
Archivode
Lectura
inicio
EOF
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 136
!feof(var_archi)
sentencias
~
V
F
~Lectura del archivo usando while con !feof()
while(!feof(var_archi)){//Sentencias de Lectura
}
Ejercicio1
Un archivo contiene los promedios de losalumnos FIC. Se pide determinar la cantidad deaprobados, desaprobados y dado un cdigoingresado por teclado mostrar en pantalla supromedio.
Promedios20132.txt
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 137
codigo letra promedio20090205 K 11.55320112053 C 11.55920054511 H 08.506
Ejercicio2
Un archivo contiene fechas y horas.Escribir un programa que muestre en pantalla elcontenido del archivo.
Agenda.txt
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 138
12-01-2013 18:1511-12-2012 15:3013-12-2012 16:0030-11-2012 19:00
Ejercicio3
Escribir un programa que escriba en un archivo unapirmide como el de la figura. El dato del programaser la altura de la pirmide. Por ejemplo:h= 5
Piramide.txt
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 139
*************************
Ejercicio4
Un archivo contiene las coordenadas (x, y) de lospuntos de una poligonal cerrada. Determinar si esuna poligonal cncava o convexa. No se conocela cantidad de puntos. Por ejemplo:
Poligonal.txt
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 140
10,1311,620,1217,219,235,16
Ejercicio5
Un archivo contiene una matriz por filas ycolumnas. Usando un arreglo lineal leer la matrizy escribir la transpuesta en otro archivo. El ordende la matriz no es dato. Por ejemplo:
Matriz.txt Matrizt.txt
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 141
9 3 8 18 6 4 05 2 3 4
9 8 53 6 28 4 31 0 4