Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Orientada
a
Objetos
Iostream
(Clase
04.06.2015)
Prof.
J.Fiestas
Libreras
orientada
a
objetos
que
proveen
funciones
de
ingreso
y
salida
uIlizando
streams
Un
stream
es
un
objeto
que
transporta
y
formatea
bytes
<iostream>
Librera
que
dene
la
clase
iostream,
que
hereda
miembros
de
istream
y
ostream
iostream
es
para
C++
lo
que
stdio
para
C
Si
se
intenta
generar
una
clase
File
en
C++
con
las
funciones
usadas
en
C,
se
tendrn
las
siguientes
desventajas:
- Si
se
quiere
usar
una
funcin
como
prin%()
se
cargar
todo
el
ejecutable
asi
uno
necesite
solo
una
fraccin
de
l,
i.e.
para
Imprimir
un
entero
prin%(%i,i)
se
cargar
toda
la
funcin
que
imprima
oats,
caracteres,
etc.
- Se
interpreta
el
argumento
en
Iempo
de
ejecucin,
lo
que
hace
el
interprete
mas
lento
- No
se
comprueban
errores
durante
la
compilacin,
sino
durante
la
ejecucin
- La
familia
de
funciones
de
prin%()
no
es
extensible
(maneja
solo
los
Ipos
bsicos
de
C
y
sus
variaciones).
C++
permite
aadir
nuevos
Ipos
de
datos.
Insertadores
y
extractores:
Son
operadores
de
sobrecarga
<<
(para
insertar
caracteres).
UIliza
el
objeto
cout
int
i;
cin
>>
i;
oat
f;
cin
>>
f;
char
c;
cin
>>
c;
char
buf[100];
cin
>>
buf;
Insertadores
y
extractores:
Para
sobrecargar
operadores
usando
streams.
El
argumento
ser
una
referencia
no
constante
al
stream
(istream
o
ostream),
ya
que
el
procesado
de
datos
cambiarn
el
estado
del
stream.
Ejemplo:
salida
de
un
objeto
Date
en
formato
MM-DD-AAAA
getline():
get():
//Strle.cpp
//
Stream
I/O
with
les
#include
<fstream>
#include
<iostream>
using
namespace
std;
int
main()
{
const
int
sz
=
100;
//
Buer
size;
char
buf[sz];
{
ifstream
in("Strle.out");
assure(in,
"Strle.out");
//
More
convenient
line
input:
while(in.getline(buf,
sz))
{
char*
cp
=
buf;
cout
<<
cp
<<
endl;}
}
///:~
Formateo
de
streams
fmhlags
seL
(fmhlags
fmhl,
fmhlags
mask);
Dos
formas
de
formatear
un
string:
seL():
fm%l
es
la
bandera
de
formateo
a
ser
usada
mask
conIene
el
grupo
de
ags
que
ser
modicado
Formateo
de
streams
Dos
formas
de
formatear
un
string:
seL():
fm%l
es
la
bandera
de
formateo
a
ser
usada
mask
conIene
el
grupo
de
ags
que
ser
modicado
Formateo
de
streams
Variables
internas
son
leidas
y
escritas
por
funciones
miembro
del
mismo
nombre
Ejercicio:
Lea
el
documento
lat_lon.txt,
que
conIene
4
columnas:
ciudad,
laItud,
longitud,
hora
Para
ello:
Genere
una
clase
datos
con
miembros
correspondientes
a
la
informacin
(hora,
laItud,
longitud,
ciudad),
y
funciones
miembro
para
:
-
ConverId
laItud
y
longitud
al
formato
DDDMM
SS+direccin
-
ConverIr
la
hora
al
formato
WWW
MM
DD
HH:MM:SS
YYYY
Grabar
la
tabla
en
un
documento
lat_lon.bin
de
formaIo
binario
Comprobar
la
conversin
transformando
el
formato
binario
a
ASCII
nuevamente
y
llamarlo
lat_lon_conv.txt
Nota:
Puede
grabar
el
Iempo
en
una
estructura
de
Ipo
tm
y
uIlizar
la
funcion
mkRme
(struct
tm
*
Imeptr)
para
converIr
el
Iempo
en
una
variable
de
Ipo
Rme_t
que
pueda
ser
directamente
leido
y
escrito
por
cRme
(const
Ime_t
*
Imer)
en
un
string
del
formato
requerido
Ejercicio:
Ejercicio
terico-pracRco
1:
Dinmica
de
Poblaciones
(sistema
de
Volterra-Lotka)
Modelo
de
dos
especies
compiIendo
por
una
fuente
de
alimento
comn.
E.g.,
depredador-presa.
a,b,c,d
son
posiIvos.
I.e.
Crecimiento
de
N1
sin
N2
(depredador),
o
exIncin
de
N2
sin
N1
que
lo
alimente.
Expresin
a-dimensional:
Ejercicio
terico-pracRco
1:
Dinmica
de
Poblaciones
(sistema
de
Volterra-Lotka)
Anlisis
de
estabilidad
del
caso
mulI-dimensional.
Dado
un
sistema
de
ecuaciones
diferenciales
ConIene
componentes
que
crecen
en
el
Iempo,
si
A
Iene
valores
propios
con
parte
posiIva
real
(>0),
u*
no
es
estable.
u*
es
estable
si
los
valores
propios
son
<
0
Ejercicio
terico-pracRco
1:
Dinmica
de
Poblaciones
(sistema
de
Volterra-Lotka)
Estabilidad
de
soluciones
estacionarias
Si
A
es
diagonal,
y
soluciones
son
inestables
Solucin
general:
Tiene
caracter
oscilatorio.
v1,2
son
vectores
propios
de
A,
correspondientes
a
los
valores
propios
imaginarios
Ejercicio
terico-pracRco
1:
Dinmica
de
Poblaciones
(sistema
de
Volterra-Lotka)
Dada
la
matriz
:
que
representa
la
matriz
de
estabilidad
de
un
sistema
Volterra-Lotka
(3
predadores,
3
presas)
Calcule
los
valores
propios
y
vectores
propios
vi,
i=1,...6
de
la
matriz.
Para
calcular
los
valores
puede
uIlizar
eliminacin
Gauss-Jordan
(vea
codigo
de
librerias
en
Numerical
Recipes
en
el
portal
IMCA
)
Escoja
condiciones
iniciales,
con
c1=c2=3,
c3=c4=1,
c5=5,
c6=0.1
Simule
el
comportamiento
de
las
6
poblaciones
en
el
intervalo
de
Iempo
[0,10].
Observe
y
comente
estabilidad
Ejercicio
terico-pracRco
1:
Dinmica
de
Poblaciones
(sistema
de
Volterra-Lotka)
Escribir
un
informe
del
resultado
del
ejercicio
incluyendo
los
siguientes
puntos:
- Breve
descripcin
terica
de
dinmicas
de
poblacin
(puede
basarse
en
la
descripcin
dada
en
clase)
- Formular
el
problema
del
ejercicio
- Describir
el
resultado
uIlizando
por
lo
menos
un
grco
- Concluir
acerca
de
la
estabilidad
de
la
poblacin
considerada