Actualizado el 15 de Diciembre del 2018 (Publicado el 12 de Diciembre del 2018)
835 visualizaciones desde el 12 de Diciembre del 2018
11,0 MB
139 paginas
Creado hace 11a (20/11/2013)
Fundamentos de la programación
3333
Doble Grado en Matemáticas e Informática
Doble Grado en Matemáticas e Informática
Ana Gil
Ana Gil Luezas
Luezas
(adaptadasdeloriginaldeLuisHernándezYáñez)
(adaptadasdeloriginaldeLuisHernándezYáñez)
(adaptadas del original de Luis Hernández Yáñez)
(adaptadas del original de Luis Hernández Yáñez)
FacultaddeInformática
FacultaddeInformática
Facultad de Informática
Facultad de Informática
Universidad Complutense
Universidad Complutense
Archivos de texto
Archivos de texto
Secuencias
Secuencias
Secuencias
Secuencias
I
l
l
Instrucción condicional
I
Instrucción condicional
Recorrido
Recorrido
Búsqueda
Búsqueda
t
t
La escala ifif--elseelse--ifif
La escala
Anidamientos de ifif
Anidamientos de
di i
di i
ió
ió
Instrucción iterativa
Instrucción iterativa
El bucle forfor
El bucle
B l
id d
B l
Bucles anidados
Bucles anidados
id d
Ámbito y visibilidad
Ámbito y visibilidad
22
2121
2121
2727
3838
4343
4343
4444
5252
5555
5757
6464
6464
6868
Tipos de datos
Conversión
Conversión
Declaración
Tipos enumerados
Arrays de datos simples
Recorrido
Búsqueda
Arrays no completos
Cadenas de caracteres
Cadenas a la C
Cadenas a la C
Flujo de ejecución
La instrucción switch
El bucle do-while
El bucle do-while
78
81
81
84
85
92
99
102
105
110
114
114
121
125
133
133
Fundamentos de la programación: Más sobre tipos e instrucciones
Fundamentos de la programación: Más sobre tipos e instrucciones
Fundamentos de la programación: Más sobre tipos e instrucciones
Fundamentos de la programación: Más sobre tipos e instrucciones
Página
Página 22
TT
::
↵↵
AA
……
11
..
44
aa
ll
oo
tt
22
33
A0A0 2525 2F2F 0404 D6D6 FFFF 0000 2727 6C6C CACA 4949 0707 5F5F A4A4
Archivo de texto: secuencia de caracteres (código binario ASCII)
Archivo de texto: secuencia de caracteres (código binario ASCII)
Archivobinario:contieneunasecuenciadecódigosbinarios
Archivobinario:contieneunasecuenciadecódigosbinarios
Archivo binario: contiene una secuencia de códigos binarios
Archivo binario: contiene una secuencia de códigos binarios
(Códigos representados en notación hexadecimal)
(Códigos representados en notación hexadecimal)
(Códigos representados en notación hexadecimal)
(Códigos representados en notación hexadecimal)
bytesterminadaenEOF(
Secuenciasde
Secuenciasde bytes
Secuencias de
Secuencias de bytes
bytesterminada en EOF (
terminadaenEOF(EndEndOfOfFileFile))
terminada en EOF (EndEndOf Of FileFile))
Los archivos se manejan en los programas por medio de
Los archivos se manejan en los programas por medio de
Archivo de texto:
Archivo de texto: flujo de caracteres organizados en líneas
Similar a la E/S por consola
Similar a la E/S por consola
flujo de caracteres organizados en líneas
stream))
flujos de bytes (
flujos de bytes (stream
flujos de bytes (
flujos de bytes (stream
stream). ).
EOLEOL ((↵↵))
<EOL> ((↵↵))
<EOF>
<EOF>
mediante el uso de una marca :
mediante el uso de una marca : <EOL>
di
di
d
d
t
t
l
l
……
<EOF>
<EOF>
Fundamentos de la programación: Más sobre tipos e instrucciones
Fundamentos de la programación: Más sobre tipos e instrucciones
Página
Página 33
Un flujo de texto se puede utilizar para lectura o para escritura:
Un flujo de texto se puede utilizar para lectura o para escritura:
Lectura del archivo, flujo de entrada, variables de tipo
Lectura del archivo, flujo de entrada, variables de tipo
p
p
Escrituraenelarchivoflujodesalidavariablesdetipo
Escrituraenelarchivoflujodesalidavariablesdetipo
Escritura en el archivo, flujo de salida, variables de tipo
Escritura en el archivo, flujo de salida, variables de tipo
Biblioteca
Biblioteca fstream
ifstream
ifstream
ofstream
ofstream
fstream
,
,
j
j
,
,
#include <fstream>
using namespace std;
Fundamentos de la programación: Más sobre tipos e instrucciones
Fundamentos de la programación: Más sobre tipos e instrucciones
Página
Página 44
Flujos de texto de salida
Flujos de texto de salida
ofstream
ofstream
ofstream
ofstream
Para crear un archivo de texto y escribir en él:
Para crear un archivo de texto y escribir en él:
Declaraunavariabledetipo
Declaraunavariabledetipo ofstream
11 Declara una variable de tipo
Declara una variable de tipo ofstream
Asocia la variable con el archivo de texto (
Asocia la variable con el archivo de texto (abre el archivo
abre el archivo))
22 Realiza las escrituras por medio del operador
Realiza las escrituras por medio del operador <<<<((insertor
insertor), ),
yylafunción
33 y y la función
lafunción putput((char
la función putput((char
Desliga la variable del archivo de texto (cierra el archivo
Desliga la variable del archivo de texto (
cierra el archivo))
it
hi
hbi
Si
Si
hbi
l
l
hi
it
td l
td l
Si el archivo ya existe, se borra todo lo que hubiera
Si el archivo ya existe, se borra todo lo que hubiera
Si no se cierra el archivo se puede perder información
Si no se cierra el archivo se puede perder
información
11
44
char))
char))
b
b
¡Atención!
¡Atención!
Fundamentos de la programación: Más sobre tipos e instrucciones
Fundamentos de la programación: Más sobre tipos e instrucciones
Página
Página 55
intint valor =
valor = 999999;;
11 ofstream
ofstream archivo;
archivo;
22 archivo.open
archivo.open(("output.txt"
"output.txt"); ); // Apertura
// Apertura
33 archivo <<
33
archivo << 'X''X' << << " Hola! "
<< endl << valor <<
<< endl << valor << ""ByeBye!"!";;
" Hola! " << << 123.45
123.45
44 archivo.close
archivo.close();
(); // Cierre
// Cierre
22
11
!!
aa
ll
oo
HH
XX
Programa
Flujo de salida
Flujo de salida
Flujo de salida
Flujo de salida
jj
jj
archivo
archivo
archivo
archivo
Fundamentos de la programación: Más sobre tipos e instrucciones
Fundamentos de la programación: Más sobre tipos e instrucciones
Página
Página 66
#include <iostream
#include <
iostream>>
##include
include <<fstream
##include
include <<fstream
fstream>>
fstream>>
using
using namespace
namespace std;
std;
int main()
int
main()
{{
hi
hi
ofstream archivo;
ofstream
archivo;
archivo.open(
archivo.open("output2.txt"
"X
archivo <<
"
<< "X
" <<<< 123 45
<<
archivo << "X = "
"X = " << << 123.45
archivo <<
archivo << "Y = "
"Y = " << << 6.1145
<< << 15637
Z =
archivo <<
"Z = " <<<< 15637
archivo << "Z = "
archivo <<
archivo << Z =
archivo.close
archivo.close();
(); // Cierre del archivo
// Cierre del archivo
"output2.txt"); ); // Apertura
// Apertura
<<
123 45 <<
dl
dl
123.45 << endl;
<< endl;
6.1145 << endl;
<< endl;
15637 << endl;
15637 << endl;
<< endl;
<< endl;
return
return 00;;
}}
Fundamentos de la programación: Más sobre tipos e instrucciones
Fundamentos de la programación: Más sobre tipos e instrucciones
Página
Página 77
Flujos de texto de entrada
Flujos de texto de entrada
ifstream
ifstream
11
ifstream
ifstream
Para leer de un archivo de texto:
Para leer de un archivo de texto:
Declaraunavariabledetipo
Declaraunavariabledetipo ifstream
11 Declara una variable de tipo
Declara una variable de tipo ifstream
Asocia la variable con el archivo de texto (
Asocia la variable con el archivo de texto (abre el archivo
abre el archivo))
22 Realiza las lecturas por medio del operador
Realiza las lecturas por medio del operador >>>>(extractor),
(extractor),
y las funciones
y las funciones getget((char
33 yy
))yy gg
char))y y getline
string))
gg))
cierra el archivo))
Desliga la variable del archivo de texto (cierra el archivo
Desliga la variable del archivo de texto (
44Extractor (>>): igual que en la E/S por consola,
Extractor (>>): igual que en la E/S por consola, primero se
primero se
separadores (espacios,
saltan los
saltan los separadores
(espacios, tabtab, , intro
intro, ...)
, ...)
getline((istream
,,
gg ((
((
istream,,string
Fundamentos de la programación: Más sobre tipos e instrucciones
Fundamentos de la programación: Más sobre tipos e instrucciones
Página
Página 88
intint i;i;
char c1, c2;
char
c1, c2;
double d1, d2;
double
d1, d2;
11 ifstream
ifstream archivo;
archivo;
22 archivo.open
"input.txt"); ); // Apertura
archivo.open(("input.txt"
// Apertura
33
33 archivo >> c1 >> d1 >> i >> c2 >> d2;
1 >> d1 >> i >>
archivo >> c1 >> d1 >> i >> c2 >> d2;
2 >> d2
2 >> d2
1 >> d1 >> i >>
44 archivo.close
(); // Cierre
// Cierre
archivo.close();
>>
>>
hi
hi
cout << c1 <<
cout << c1 << "|""|" << d1 <<
<< d1 << "|""|" << i
<< i
<< c2 << "|""|" << d2;
<<<< "|""|" << c2 <<
<< d2;
<< c2 <<
<< << ||
<< c2 << ||
<< d2;
<< d2;
Flujo de entrada
Flujo de entrada
Flujo de entrada
Flujo de entrada
archivo
archivo
archivo
archivo
55
44
44
..
33
22
22
11
zz
P
Programa
Fundamentos de la programación: Más sobre tipos e instrucciones
Fundamentos de la programación: Más sobre tipos e instrucciones
Página
Página 99
Apertura del archivo
Apertura del archivo
Conecta la variable con el archivo de texto del dispositivo
Conecta la variable con el archivo de texto del dispositivo
is_open()::
truetruesi el archivo
si el archivo
sehapodidoabrir
sehapodidoabrir
se ha podido abrir
se ha podido abrir
falseen caso contrario
en caso contrario
Desconecta la variable del archivo de texto del dispositivo
dld
dld
Desconecta la variable del archivo de texto del dispositivo
pp
flujo.open
flujo
f
f
j
j
ifstream
ifstream archivo;
archivo;
archivo open
archivo open(("abc txt"
archivo.open
archivo.open(( abc.txt
if if ((archivo.is_open
¡El archivo debe existir!
¡El archivo debe existir!
()
()
is_open()
i
i
archivo.is_open()) ...
()) ...
bl dl
bl dl
h
h
d
d
Cierre del archivo
Cierre del archivo
false
.open((cadena
cadena););
););
((
"abc txt"););
abc.txt ););
l
l
flujo.close
.close();();
flujo
archivo.close
archivo.close();();
Fundamentos de la programación: Más sobre tipos e instrucciones
Fundamentos de la programación: Más sobre tipos e instrucciones
Página
Página 1010
#include <iostream>
#include <iostream>
using namespace
using namespace std;
using namespace
using namespace std;
std;
std;
#include <fstream>
#include <
Comentarios de: 3 - Más sobre tipos e instrucciones - Fundamentos de la programación (0)
No hay comentarios