0% encontró este documento útil (0 votos)
21 vistas21 páginas

Unidad1 PII

La asignatura de Programación II tiene como objetivo enseñar a los alumnos a programar en C, enfocándose en técnicas recursivas, ordenación, búsqueda y estructuras de datos. Se evalúa a través de tres parciales, con criterios de evaluación que incluyen producto, conocimiento y desempeño. Además, se abordan conceptos sobre archivos, incluyendo su definición, tipos (texto y binarios), operaciones y funciones relacionadas con la lectura y escritura en C.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
21 vistas21 páginas

Unidad1 PII

La asignatura de Programación II tiene como objetivo enseñar a los alumnos a programar en C, enfocándose en técnicas recursivas, ordenación, búsqueda y estructuras de datos. Se evalúa a través de tres parciales, con criterios de evaluación que incluyen producto, conocimiento y desempeño. Además, se abordan conceptos sobre archivos, incluyendo su definición, tipos (texto y binarios), operaciones y funciones relacionadas con la lectura y escritura en C.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd

Programación II

M.C. Rebeca Rodríguez


Huesca
Objetivo de la asignatura
 Desarrollar la capacidad en el
alumno para programar en el
lenguaje de programación “C” las
técnicas recursivas, de ordenación
y búsqueda de información, así
como la construcción y uso de
estructuras de datos básicas
Unidades de aprendizaje
 Archivos
 Tipos de estructuras de datos
 Recursividad
 Ordenación
 Búsqueda
Políticas de evaluación
 Calificación mínima 7
 3 parciales “oficiales”
 Criterios de evaluación:
 Producto 40%
 Conocimiento 40%
 Desempeño 20%
Archivos
Definición de Archivo
 Es una secuencia de bits
almacenados en algún dispositivo
externo
 En C++, es simplemente un flujo
externo, una secuencia de bytes
almacenados en disco
Tipos de archivos
 Texto
 Binarios
Archivos de texto
 Es un secuencia de caracteres organizados
en líneas terminadas por un carácter de
nueva línea.
 Almacenan datos como códigos ascii. Los
valores simples, tales como números y
caracteres únicos, están separados por un
espacio.
 Se pueden utilizar para almacenamiento
de datos o crear imágenes de salida
impresa que se pueden enviar más tarde a
una impresora
Archivos binarios
 Almacenan flujos de bits, sin prestar
atención a los códigos ascii o a la
separación de espacios.
 Son adecuados para almacenar objetos.
Sin embargo, el uso de los archivos
binarios requiere usar la dirección de
una posición de almacenamiento
 Ejemplos: fotografías, imágenes, texto
con formato, archivos ejecutables, etc.
Biblioteca de Flujos
 ifstream
 ofstream
 fstream

Se declaran en fstream.h
Operaciones con archivos
 Abrir
 Cerrar
 Leer
 Escribir
 Buscar
 Borrar
Apertura de un archivo
 Identifica la posición del archivo en
el programa.
 Para abrir un archivo de texto para
lectura, se crea un objeto (un flujo)
de la clase ifstream
 Para abrirlo para escritura, se crea
un objeto de la clase ofstream
Formas de abrir con
ofstream
 en un modo salida (ios_base ::out)
 en modo añadir (ios_base::app)

Ejemplo:
ofstream archsal("[Link]",
ios_base::out);
Precaución
if (!archsal) // apertura fallida
{
cerr <<”no se puede abrir el archivo para salida \
n";
exit(-1);
}
Ejemplo
//Se debe tener un archivo de texto que se pueda leer y mostrar en la pantalla
#include <fstream.h>
#include <iostream.h>
int main () {
char nombre_arch[10];
cout<< "Nombre del archivo: ";
cin>> nombre_arch;
ifstream archent(nombre_arch);
if (!archent){
cout <<"No se puede abrir el archivo";
return 1;
}
char car;
while ([Link](car))
[Link](car);
[Link]() ;
return 0;
}
Prototipo de la función
Open
void open(const char*nomarch, int modo, int acceso = filebuf::openprot);
Argumento Modo
Donde:
ios::in Modo de entrada
 nomarch: es el nombre
del archivo que puede ios:app Modo añadir
incluir la ruta de acceso ios:out Modo salida
 modo: determina cómo ios:ate Abrir y buscar el fin de
se abrirá el archivo. archivo
ios::nocreate Genera un error si no
 acceso: especifica el existe el archivo
permitido de acceso por
ios::trunc Trunca el archivo a 0 si
defecto que se asigna a ya existe
un archivo si se crea por
ios::noreplac Genera un error si el
la función constructor. El e archivo ya existe
valor por defecto es
ios:binary El archivo se abre en
filebuf::openprot modo binario
Ejemplos
 Abre el archivo [Link] para entrada de texto
char cAutoExec = \\[Link];
fstream f;
[Link] (cAutoExec, ios::in);
 Abre el archivo [Link] para salida de textos fstream f;
[Link] ("[Link]", ios:out);
 Abre el archivo [Link] para entrada y salida binaria
fstream f;
[Link] ("[Link]', ios::in I ios::out I ios::binary);

Aunque es válido abrir un archivo mediante la función


open(), no se suele hacer, ya que las clases ifstream,
ofstream y fstream disponen de las funciones que lo abren
automáticamente.
Función Close
 Cierra el archivo al que se conecta
el objeto de flujo.
 Su sintaxis es:
void close()
Otras funciones
 good: devuelve un valor distinto de cero si no existe ningún
error en una operación de flujo. Su declaración es:
int good()
 fail: devuelve un valor distinto de cero si existe un error en una
operación de flujo. Su declaración es:
int fail()
 eof: devuelve un valor distinto de cero si el flujo alcanzó el
final del archivo. Su declaración es:
int eof();
 El operador sobrecargado ! determina el estado del error. Este
operador toma un objeto de flujo como su argumento.
 void attach(int fd): conecta el objeto flujo al flujo
referenciado por el descriptor del archivo fd.
 filebuf* rdbuf(): devuelve un array filebuf asociado con el
objeto flujo
Lectura y escritura de
archivo de texto
Se pueden realizar con los
operadores
<<
>>
con el flujo abierto.
Ejemplo: Escribe un entero, un valor
de coma flotante y una cadena en
un archivo llamado demo
#include <fstream.h>
#include <iostream.h>
int main()
{
ofstream sal("[Link]");
if (!sal){
cout <<"No se puede abrir el archivo";
return 1;
}
sal <<10 << " " <<325.45 <<endl;
sal <<"Ejemplo de archivo de texto" <<endl;
[Link]();
return 0;
}

También podría gustarte