Vous êtes sur la page 1sur 44

Asignatura:

Introduccin a la programacin

Docente:
Ing. Jorge Alberto Secchi Ruiz

Alumna:
Arias Arizmendi Cynthia Berenice

N de control:
16230003
Tema:
Dispositivos de entradas y salidas en general de software y hardware
Instrucciones para programar en lenguajes de programacin
Entradas y Salidas de Lenguajes de Programacin

Introduccin

Se realiz un trabajo de las diferentes entradas y salidas en


general de Hardware y Software, para identificarlos, tambin se
busc como introducir datos en diferentes lenguajes de
programacin para ir identificando cada uno, por ltimo se
encuentra

las

entradas

salidas

de

los

lenguajes

de

programacin, para ver como entran los datos en cada uno de


esos lenguajes, se pretende adquirir informacin buena y precisa,
para que se pueda entender.

ndice

Dispositivos de entradas y salidas en general de Software y


Hardwar..3-7

Instrucciones

para

programar

en

lenguajes

de

programacin......8-26

Entradas

Salidas

de

lenguajes

de

programacin.....27-43

Referencias de bsqueda..44

Dispositivos de entradas y salidas en general software y


hardware.
Dispositivos:
Los dispositivos son regmenes definibles, con sus variaciones y transformaciones.
Presentan lneas de fuerza que atraviesan umbrales en funcin de los cuales son
estticos, cientficos, polticos, etc. Cuando la fuerza en un dispositivo en lugar de
entrar en relacin lineal con otra fuerza, se vuelve sobre s misma y se afecta, no
se trata de saber ni de poder, sino de un proceso de individuacin relativo
a grupos o personas que se sustrae a las relaciones de fuerzas establecidas como
saberes constituidos.

Los dispositivos de entrada/salida:


Son aquellos que permiten la comunicacin entre la computadora y el usuario.
1. Teclado: Es el dispositivo ms comn de entrada de datos. Se lo utiliza
para introducir comandos, textos y nmeros. Estrictamente hablando, es un
dispositivo de entrada y de salida, ya que los LEDs tambin pueden ser
controlados por la mquina.
2. Unidades de almacenamiento: es un conjunto de componentes utilizados
para leer o grabar datos en el soporte de almacenamiento de datos, en
forma temporal o permanente. La unidad de disco junto con los discos que
graba, conforma un dispositivo de almacenamiento (device drive) o unidad
de almacenamiento
3. CD-ROM: Acrnimo de Compact Disc-Read Only Memory. Estndar de
almacenamiento de archivos informticos en disco compacto. Se
caracteriza por ser de slo lectura. Otros estndares son el CD-R o WORM
(permite grabar la informacin una sola vez), el CD-DA (permite reproducir
sonido), el CD-I (define una plataforma multimedia) y el PhotoCD (permite
visualizar imgenes estticas).

4. DVD: es el dispositivo que hace referencia a la multitud de maneras en las


que

se

almacenan

los

datos: DVD-ROM(dispositivo

de

lectura

nicamente), DVD-R y DVD+R (solo pueden escribirse una vez), DVDRW y DVD+RW (permiten grabar y luego borrar). Tambin difieren en la
capacidad de almacenamiento de cada uno de los tipos.
5. Modem: El mdem es un dispositivo de conversin de seales, que
transmite datos a travs de lneas telefnicas. La palabra MDEM es
derivada de las palabras modulacin y demodulacin. Utilizados para la
conexin a internet.
6. Fax: Es un dispositivo de entrada y salida que permite transmitir a distancia
por la lnea telefnica escrito o grficos y tambin permite recibir
infamacin. Este dispositivo ha pasado a ser el segundo terminal de
telecomunicaciones ms usado despus del telfono.
7. Memory Cards: Es el medio o soporte de almacenamiento de datos que
conserva los datos transferidos y guardados de forma correcta, en el tipo
de memoria flash.
8. USB: Son las siglas de Universal Serial Bus. En ordenadores, un bus es un
subsistema que transfiere datos o electricidad entre componentes del
ordenador dentro de un ordenador o entre ordenadores. Un bus puede
conectar varios perifricos utilizando el mismo conjunto de cables.
9. Router: Es un dispositivo que proporciona conectividad a nivel de red o
nivel tres en el modelo OSI. Su funcin principal consiste en enviar o
encaminar

paquetes

interconectar subredes,

de

datos

de

entendiendo

una
por

red
subred

otra,
un

es

decir,

conjunto

de

mquinas IP que se pueden comunicar sin la intervencin de un


encaminador (mediante puentes de red), y que por tanto tienen prefijos de
red distintos.
10. Pantalla Tctil: Que mediante un toque directo sobre su superficie permite
la entrada de datos y rdenes al dispositivo. A su vez, acta como perifrico
de salida, mostrndonos los resultados introducidos previamente. Este
contacto tambin se puede realizar con lpiz u otras herramientas similares.

Dispositivos de entrada:
Son aquellos que sirven para introducir datos a la computadora para su proceso.
Los datos se leen de los dispositivos de entrada y se almacenan en la
memoria central

interna.

Los

dispositivos

de

entrada

convierten

la informacin en seales elctricas que se almacenan en la memoria central.


Los dispositivos de entrada tpicos son los teclados, otros son: lpices pticos,
palancas de mando (joystick), CD-ROM, discos compactos (CD), etc. Hoy en da
es muy frecuente que el usuario utilice un dispositivo de entrada llamado ratn que
mueve un puntero electrnico sobre una pantalla que facilita la interaccin usuariomquina
1. Mouse: La funcin principal del ratn es transmitir los movimientos de
nuestra mano sobre una superficie plana hacia el ordenador. All,
el software denominado driver se encarga realmente de transformarlo a
un movimiento del puntero

por la

pantalla

dependiendo

de varios

parmetros. En el momento de activar el ratn, se asocia su posicin con la


del cursor en la pantalla.
2. Micrfono: Es un transductor electroacstica (dispositivo que transforma
la electricidad en sonido, o viceversa). Su funcin es la de traducir las
vibraciones debidas a la acstica ejercida sobre su cpsula por las ondas
sonoras en energa elctrica, lo que permite por ejemplo grabar sonidos de
cualquier lugar o elemento.
3. Webcam: Es una pequea cmara digital conectada a una computadora, la
cual puede capturar imgenes y transmitirlas a travs de internet, ya sea a
una pgina web o a otras computadoras de forma privada.
4. Lpiz ptico: Es un perifrico de entrada para computadoras, tomando en
la forma de una varita fotosensible, que puede ser usado para apuntar a
objetos mostrados en un monitor. Este perifrico es habitualmente usado
para sustituir al mouse. Est conectado a un cable elctrico y requiere de
un software especial para su funcionamiento. Haciendo que el lpiz toque
el monitor el usuario puede elegir los comandos de los programas (el

equivalente a un clic del mouse), bien presionando un botn en un lado del


lpiz ptico o presionando ste contra la superficie de la pantalla.
5. Escner: Se utiliza para introducir imgenes de papel, libros, negativos
o diapositivas. Estos dispositivos pticos pueden reconocer caracteres o
imgenes, y para referirse a este se emplea en ocasiones la
expresin lector ptico (de caracteres).
6. Escner de cdigos de barra: Escner que por medio de un lser lee
un cdigo de barras y emite el nmero que muestra el cdigo de barras, no
la imagen. Hay escner de mano y fijos, como los que se utilizan en las
cajas de los supermercados.
7. Joystick: Es un dispositivo de control de dos o tres ejes que se usa desde
una computadora o videoconsola para ejecutar los movimientos.

Dispositivos de salida:
Son los que permiten representar los resultados (salida) del proceso de datos. El
dispositivo de salida tpico es la pantalla o monitor. Otros dispositivos de salida
son: impresoras (imprimen resultados en papel), trazadores grficos (plotters),
bocinas, entre otros.
1. Monitor: Dispositivo de salida ms comn de las computadoras con el que
los usuarios ven la informacin en pantalla. Recibe tambin los nombres de
CRT, pantalla o terminal. En computacin se distingue entre el monitor,
que incluye todo el aparato que produce las imgenes, y la pantalla, que
es slo el rea donde vemos las imgenes. As, el dispositivo de salida es
todo el monitor, no solamente la pantalla.
2. Impresora: Es el perifrico que el ordenador utiliza para presentar
informacin impresa en papel. Las primeras impresoras nacieron muchos
aos antes que el PC e incluso antes que los monitores, siendo durante
aos el mtodo ms usual para presentar los resultados de los clculos en
aquellos primitivos ordenadores, todo un avance respecto a las tarjetas y
cintas perforadas que se usaban hasta entonces.

3. Parlantes: Cada vez las usa ms la computadora para el manejo de


sonidos, para la cual se utiliza como salida algn tipo de bocinas. Algunas
bocinas son de mesas, similares a la de cualquier aparato de sonidos y
otras son porttiles (audfonos). Existen modelos muy variados, de acuerdo
a su diseo y la capacidad en watts que poseen.
4. Plotter: Es un perifrico destinado a trabajos de impresin especficos
(planos, esquemas complejos, dibujo de piezas, grandes formatos, etc.). Se
utilizan en diversos campos: ciencias, ingeniera, diseo, arquitectura, etc.
5. Videbeam o video-proyector: Un proyector de vdeo o vdeo proyector es
un aparato que recibe una seal de vdeo y proyecta la imagen
correspondiente en una pantalla de proyeccin usando un sistema de
lentes, permitiendo as visualizar imgenes fijas o en movimiento.

Instrucciones para programacin de 3 lenguajes


1. JAVA
El kit de desarrollo Java (JDK):
Para escribir en Java hacen falta los programas que realizan el precompilado y la
interpretacin del cdigo, Hay entornos que permiten la creacin de los bytecodes
y que incluyen herramientas con capacidad de ejecutar aplicaciones de todo tipo.
El ms famoso (que adems es gratuito) es el Java Developer Kit (JDK) de Sun,
que se encuentra disponible en la direccin http://java.sun.com. Actualmente ya no
se le llama as sino que se le llama SDK y en la pgina se referencia la plataforma
en concreto.

Codificacin del texto:


Todo el cdigo fuente Java se escriben en documentos de texto con extensin
.java. Al ser un lenguaje para Internet, la codificacin de texto deba permitir a
todos los programadores de cualquier idioma escribir ese cdigo. Eso significa que
Java es compatible con la codificacin Unicode. En la prctica significa que los
programadores que usen lenguajes distintos del ingls no tendrn problemas para
escribir smbolos de su idioma. Y esto se puede extender para nombres de clase,
variables, etc. La codificacin Unicode2 usa 16 bits (2 bytes por carcter) e incluye la
mayora de los cdigos del mundo.

Notas previas:
Los archivos con cdigo fuente en Java deben guardarse con la extensin .java.
Como se ha comentado cualquier editor de texto basta para crearle. Algunos
detalles importantes son:
En java (como en C) hay diferencia entre maysculas y minsculas.
Cada lnea de cdigo debe terminar con ;
Los comentarios; si son de una lnea debe comenzar con // y si ocupan
ms de una lnea deben comenzar con /* y terminar con */

Tambin se pueden incluir comentarios javadoc (ver ms adelante)


8

A veces se marcan bloques de cdigo, los cuales comienza con { y

terminan con } El cdigo dentro de esos smbolos se considera interno al


bloque

El primer programa en Java:

Este cdigo escribe Mi primer programa! en la pantalla. El archivo debera


llamarse app.java ya que esa es la clase pblica. El resto define el mtodo main
que es el que se ejecutar al lanzarse la aplicacin. Ese mtodo utiliza la
instruccin que escribe en pantalla.

Proceso de compilacin:
Hay que entender que Java es estricto en cuanto a la interpretacin de la
programacin orientada a objetos. As, se sobrentiende que un archivo java crea
una (y slo) clase. Por eso al compilar se dice que lo que se est compilando es
una clase. La compilacin del cdigo java se realiza mediante el programa javac
incluido en el software de desarrollo de java. La forma de compilar es (desde la
lnea de comandos):

El resultado de esto es un archivo con el mismo nombre que el archivo java pero
con la extensin class. Esto ya es el archivo con el cdigo en forma de bytecodes.

Es decir con el cdigo precompilado. Si la clase es ejecutable (slo lo son si


contienen el mtodo main), el cdigo se puede interpretar usando el programa
java del kit de desarrollo. Sintaxis:

Estos comandos hay que escribirlos desde la lnea de comandos de en la carpeta


en la que se encuentre el programa. Pero antes hay que asegurarse de que los
programas del kit de desarrollo son accesibles desde cualquier carpeta del
sistema. Para ello hay que comprobar que la carpeta con los ejecutables del kit de
desarrollo est incluida en la variable de entorno path.
Esto lo podemos comprobar escribiendo path en la lnea de comandos. Si la
carpeta del kit de desarrollo no est incluida, habr que hacerlo. Para ello en
Windows 2000 o XP:
1> Pulsar el botn derecho sobre Mi PC y elegir Propiedades
2> Ir al apartado Opciones avanzadas
3> Hacer clic sobre el botn Variables de entorno
4> Aadir a la lista de la variable Path la ruta a la carpeta con los programas del
JDK. Ejemplo de contenido de la variable path:
Ejemplo de contenido de la variable path:

En negrita est sealada la ruta a la carpeta de ejecutables (carpeta bin) del kit de
desarrollo. Est carpeta vara segn la instalacin

Javadoc:
Javadoc es una herramienta muy interesante del kit de desarrollo de Java para
generar automticamente documentacin Java. Genera documentacin para
paquetes completos o para archivos java. Su sintaxis bsica es

10

El funcionamiento es el siguiente. Los comentarios que comienzan con los cdigos


/** se llaman comentarios de documento y sern utilizados por los programas de
generacin de documentacin javadoc.
Los comentarios javadoc comienzan con el smbolo /** y terminan con */ Cada
lnea javadoc se inicia con un smbolo de asterisco. Dentro se puede incluir
cualquier texto. Incluso se pueden utilizar cdigos HTML para que al generar la
documentacin se tenga en cuenta el cdigo HTML indicado.
En el cdigo javadoc se pueden usar etiquetas especiales, las cuales comienzan
con el smbolo @. Pueden ser:
@author. Tras esa palabra se indica el autor del documento.
@version. Tras lo cual sigue el nmero de versin de la aplicacin
@see. Tras esta palabra se indica una referencia a otro cdigo Java
relacionado con ste.
@since. Indica desde cundo est disponible este cdigo
@deprecated. Palabra a la que no sigue ningn otro texto en la lnea y que
indica que esta clase o mtodo est obsoleta u obsoleto.
@throws. Indica las excepciones que pueden lanzarse en ese cdigo.
@param. Palabra a la que le sigue texto qu describe a los parmetros que
requiere el cdigo para su utilizacin (el cdigo en este caso es un mtodo
de clase). Cada parmetro se coloca en una etiqueta
@param distinta, por lo que puede haber varios
@param para el mismo mtodo.
@return. Tras esta palabra se describe los valores que devuelve el cdigo
(el cdigo en este caso es un mtodo de clase)
El cdigo javadoc hay que colocarle en tres sitios distintos dentro del cdigo java
de la aplicacin:
1> Al principio del cdigo de la clase (antes de cualquier cdigo Java). En esta
zona se colocan comentarios generales sobre la clase o interfaz que se
crea mediante el cdigo Java. Dentro de estos comentarios se pueden
utilizar las etiquetas: @author, @version, @see, @since y @deprecated

11

2> Delante de cada mtodo. Los mtodos describen las cosas que puede
realizar una clase. Delante de cada mtodo los comentarios javadoc se
usan para describir al mtodo en concreto. Adems de los comentarios, en
esta zona se pueden incluir las etiquetas: @see, @param, @exception,
@return, @since y @deprecated

3> Delante de cada atributo. Se describe para qu sirve cada atributo en cada
clase. Puede poseer las etiquetas: @since y @deprecated

Ejemplo:

Tras ejecutar la aplicacin javadoc, aparece como resultado la pgina web de la


pgina siguiente.

12

Instruccin import.
Hay cdigo que se puede utilizar en los programas que realicemos en Java. Se
importar clases de objetos que estn contenidas, a su vez, en paquetes
estndares. Por ejemplo la clase Date es una de las ms utilizadas, sirve para
manipular fechas. Si alguien quisiera utilizar en su cdigo objetos de esta clase,

13

necesita incluir una instruccin que permita utilizar esta clase. La sintaxis de esta
instruccin es:

Esta instruccin se coloca arriba del todo en el cdigo. Para la clase Date sera:

Lo que significa, importar en el cdigo la clase Date que se encuentra dentro del
paquete til que, a su vez, est dentro del gran paquete llamado java. Tambin se
puede utilizar el asterisco en esta forma:

Esto significa que se va a incluir en el cdigo todas las clases que estn dentro del
paquete til de java.

14

2. C: Una instruccin puede estar compuesta por una nica lnea de cdigo
que finaliza en un punto y coma o por una serie de instrucciones de una
lnea incluidas en un bloque. Un bloque de instrucciones se encierra entre
corchetes {} y puede contener bloques aadidos. En el cdigo siguiente se
muestran dos ejemplos de instrucciones de una lnea y un bloque de
instrucciones de varias lneas:

15

Tipos de programacin:

16

17

Instrucciones incrustadas:
Algunas instrucciones, incluidas do, while, for y foreach, siempre cuentan con
instrucciones incrustadas a continuacin. Esta instruccin incrustada puede ser
una instruccin nica o varias instrucciones encerradas entre corchetes {} en un
bloque de instrucciones. Las instrucciones incrustadas de una lnea tambin se
pueden encerrar entre corchetes {}, tal como se muestra en el ejemplo siguiente:

Una instruccin incrustada que no se encierra entre corchetes {} no puede ser una
instruccin de declaracin ni una instruccin con etiquetas. Esto se muestra en el
ejemplo siguiente:

Coloque la instruccin incrustada en un bloque para corregir el error:

18

Bloques de instrucciones anidadas:


Los bloques de instrucciones pueden estar anidados, tal como se muestra en el
cdigo siguiente:

Instrucciones inalcanzables:
Si el compilador determina que el flujo de control nunca puede alcanzar una
instruccin determinada bajo ninguna circunstancia, generar la advertencia
CS0162, tal como se muestra en el ejemplo siguiente:

19

3. C++: Las instrucciones de C++ son los elementos de programa que


controlan cmo y en qu orden se manipulan los objetos.

Informacin general:
Las instrucciones de C++ se ejecutan secuencialmente, excepto cuando una
instruccin de expresin, una instruccin de seleccin, una instruccin de iteracin
o una instruccin de salto modifica especficamente esa secuencia.
Las instrucciones pueden ser de los tipos siguientes.

En la mayora de los casos, la sintaxis de la instruccin de C++ es idntica a la de


ANSI C. La principal diferencia entre los dos es que en C las declaraciones solo se
permiten al principio de un bloque; C++ agrega el elemento declaration-statement,
que elimina eficazmente esta restriccin. Esto permite introducir variables en un
punto del programa donde se puede calcular un valor de inicializacin
precalculado.
Declarar variables dentro de bloques tambin permite controlar con precisin el
mbito y la duracin de esas variables.
Los temas sobre instrucciones describen las siguientes palabras clave de C++:

20

Instrucciones con etiquetas


Las etiquetas se usan para transferir el control de programas directamente a la instruccin
especificada.

Comentarios:
Hay tres tipos de instrucciones con etiquetas. En todas ellas se utiliza el carcter
de dos puntos para distinguir el tipo de etiqueta de la instruccin. La etiqueta case
y las etiquetas predeterminadas son especficas para las instrucciones case.

21

Etiquetas en la instruccin case: Las etiquetas que aparecen


despus de la palabra clave case no pueden aparecer tambin fuera de
una instruccin switch.(Esta restriccin tambin se aplica a la palabra
clave default). En el fragmento de cdigo siguiente se muestra el uso
correcto de las etiquetas case:

Etiquetas en las instrucciones goto


La aparicin de una etiqueta identifier en el programa de origen declara una
etiqueta.Solo

una

instruccin goto puede

transferir

el

control

una

etiqueta identifier.En el siguiente fragmento de cdigo se muestra el uso de la


instruccin goto y una etiqueta identifier:

22

Expresin:
Las instrucciones de expresin hacen que se evalen las expresiones. No se
realiza ninguna transferencia de control o iteracin como resultado de una
instruccin de expresin.
La sintaxis de la instruccin de expresin es simplemente.

Null:
La "instruccin null" es una instruccin de expresin a la que le falta la expresin.
Es til cuando la sintaxis del lenguaje llama a una instruccin pero no a una
evaluacin de la expresin. Consta de un punto y coma.
Las instrucciones null se utilizan normalmente como marcadores de posicin en
instrucciones de iteracin o como instrucciones en las que se colocan etiquetas al
final de las instrucciones compuestas o funciones.
El siguiente fragmento de cdigo muestra cmo copiar una cadena a otra e
incorpora la instruccin null:

23

Instrucciones compuestas bloques:


Una instruccin compuesta consta de cero o ms instrucciones entre llaves
({ }).Una instruccin compuesta se puede utilizar en cualquier lugar donde se
espere una instruccin. Las instrucciones compuestas normalmente se denominan
"bloques".
Sintaxis:

Comentarios: En el ejemplo siguiente se utiliza una instruccin compuesta


como la parte statement de la instruccin if (vea Instruccin if para obtener
ms detalles sobre la sintaxis):

24

Instrucciones de seleccin:
Las instrucciones de seleccin de C++, if y switch, proporcionan un medio de
ejecutar secciones de cdigo de forma condicional.
Las

instrucciones __if_exists e __if_not_exists permiten

incluir

de

forma

condicional cdigo dependiendo de la existencia de un smbolo.


Vea en cada tema individual la sintaxis de cada instruccin .

Instrucciones de interaccin:
Las

instrucciones

de

iteracin

producen

instrucciones

(o

instrucciones

compuestas) que se ejecutarn cero o ms veces, segn determinados criterios


de la finalizacin de bucle. Cuando estas instrucciones son instrucciones
compuestas, se ejecutan en orden, excepto cuando se encuentra la instruccin
break o la instruccin continue.
C++ proporciona cuatro instrucciones de iteracin: while, do, for, y for basado en
intervalo. Cada una de ellas se repite hasta que la expresin de finalizacin se
evala como cero (false) o hasta que se fuerza la finalizacin del bucle con una
instruccin break. En la tabla siguiente se resumen estas instrucciones y sus
acciones; cada una se explica detalladamente en las secciones siguientes.

La parte de instruccin de una instruccin de iteracin no puede ser una


declaracin. Sin embargo, puede ser una instruccin compuesta que contenga una
declaracin.

25

Instrucciones de salto:
Una instruccin de salto de C++ realiza una transferencia de control local
inmediata.

Instrucciones de declaracin:
Instrucciones

de

declaracin

introducen nuevos nombres

en

el mbito

actual. Estos nombres pueden ser:

Los nombres de tipo ( (class, struct, union, enum, typede , y el puntero a


miembro).

Los nombres de objeto.

Los nombres de funcin.

Declaraciones pueden ser cualquiera de los siguientes:

26

Lenguajes de programacin que manejen entradas y salidas


1. Java: El paquete java.io contiene todas las clases relacionadas con las
funciones de entrada (input) y salida (output). Se habla de E/S (o de I/O)
refirindose a la entrada y salida. En trminos de programacin se
denomina entrada a la posibilidad de introducir datos hacia un programa;
salida sera la capacidad de un programa de mostrar informacin al usuario.

clases para la entrada y la salida Java:


Se basa en las secuencias para dar facilidades de entrada y salida. Cada
secuencia es una corriente de datos con un emisor y un receptor de datos en cada
extremo. Todas las clases relacionadas con la entrada y salida de datos estn en
el paquete java.io. Los datos fluyen en serie, byte a byte. Se habla entonces de un
stream (corriente de datos, o mejor dicho, corriente de bytes). Hay otro stream que
lanza caracteres (tipo char Unicode, de dos bytes), se habla entonces de un
reader (si es de lectura) o un writer (escritura). Los problemas de entrada / salida
suelen causar excepciones de tipo IOException o de sus derivadas. Con lo que la
mayora de operaciones deben ir inmersas en un try.

InputStream/OutputStream:
Clases abstractas que definen las funciones bsicas de lectura y escritura de una
secuencia de bytes pura (sin estructurar). Esas son corrientes de bits, no
representan ni textos ni objetos. Poseen numerosas subclases, de hecho casi
todas las clases preparadas para la lectura y la escritura, derivan de estas. Aqu
se definen los mtodos read() (Leer) y write() (escribir). Ambos son mtodos que
trabajan con los datos, byte a byte.

Reader/Writer:
Clases abstractas que definen las funciones bsicas de escritura y lectura basada
en caracteres Unicode. Se dice que estas clases pertenecen a la jerarqua de
lectura/escritura orientada a caracteres, mientras que las anteriores pertenecen a
la jerarqua orientada a bytes. Aparecieron en la versin 1.1 y no substituyen a las

27

anteriores. Siempre que se pueda es ms recomendable usar clases que deriven


de estas. Posee mtodos read y write adaptados para leer arrays de caracteres.

InputStreamReader/ OutputStreamWriter
Son clases que sirven para adaptar la entrada y la salida. El problema est en que
las clases anteriores trabajan de forma muy distinta y ambas son necesarias. Por
ello InputStreamReader convierte una corriente de datos de tipo InputStream a
forma de Reader.

DataInputStream/DataOutputStream
Leen corrientes de datos de entrada en forma de byte, pero adaptndola a los
tipos simples de datos (int, short, byte,..., String). Tienen varios mtodos read y
write para leer y escribir datos de todo tipo. En el caso de DataInputStream son:

28

29

ReadBoolean(). Lee un valor booleano de la corriente de entrada.


Puede provocar excepciones de tipo IOException o excepciones de tipo
EOFException, esta ltima se produce cuando se ha alcanzado el final del
archivo y es una excepcin derivada de la anterior, por lo que si se
capturan ambas, sta debe ir en un catch anterior (de otro modo, el flujo
del programa entrara siempre en la IOException).
readByte(). Idntica a la anterior, pero obtiene un byte. Las excepciones
que produce son las mismas
readChar,

readShort,

readInt,

readLong,

readFloat,

readDouble. Como las anteriores, pero leen los datos indicados.


readUTF(). Lee un String en formato UTF (codificacin norteamericana).
Adems de las excepciones comentadas antes, puede ocurrir una
excepcin del tipo UTFDataFormatException (derivada de IOException)
si el formato del texto no est en UTF.
Por su parte, los mtodos de DataOutputStream son:
writeBoolean, writeByte, writeDouble, writeFloat, writeShort, writeUTF,
writeInt, writeLong. Todos poseen un argumento que son los datos a
escribir (cuyo tipo debe coincidir con la funcin).

ObjectInputStream/ObjectOutputStream
Filtros de secuencia que permiten leer y escribir objetos de una corriente de datos
orientada a bytes. Slo tiene sentido si los datos almacenados son objetos. Aporta
un nuevo mtodo de lectura:
Read/Object. Devuelve un objeto Object de los datos de la entrada. En
caso de que no haya un objeto o no sea serializable, da lugar a
excepciones. Las excepciones pueden ser: ClassNotFoundExcepcion,
InvalidClassExcepcion, StreamCorruptedException, OptionalDataException
o IOException a secas.

30

La clase ObjectOutputStream posee el mtodo de escritura de objetos writeObject


al que se le pasa el objeto a escribir. Este mtodo podra dar lugar en caso de fallo
a excepciones IOException, NotSerializableException o InvalidClassException..

BufferedInputStream/BufferedOutputStream/BufferedReader
/BufferedWriter
La palabra buffered hace referencia a la capacidad de almacenamiento temporal
en la lectura y escritura. Los datos se almacenan en una memoria temporal antes
de ser realmente ledos o escritos. Se trata de cuatro clase que trabajan con
mtodos distintos pero que suelen trabajar con las mismas corrientes de entrada
que podrn ser de bytes (Input/OutputStream) o de caracteres (Reader/Writer).
La clase BufferedReader aporta el mtodo readLine que permite leer caracteres
hasta la presencia de null o del salto de lnea.

PrintWriter
Secuencia pensada para impresin de texto. Es una clase escritora de caracteres
en flujos de salida, que posee los mtodos print y println ya comentados
anteriormente, que otorgan gran potencia a la escritura.

FileInputStream/FileOutputStream/FileReader/FileWriter
Leen y escriben en archivos (File=Archivo). PipedInputStream/PipedOutputStream
Permiten realizar canalizaciones entre la entrada y la salida; es decir lo que se lee
se utiliza para una secuencia de escritura o al revs.

Entrada y salida estndar de java.


Las clases in y out java.lang.System:
Es una clase que poseen multitud de pequeas clases relacionadas con la
configuracin del sistema. Entre ellas estn la clase in que es un InputStream que

31

representa la entrada estndar (normalmente el teclado) y out que es un


OutputStream que representa a la salida estndar (normalmente la pantalla). Hay
tambin una clase err que representa a la salida estndar para errores. El uso
podra ser:

El mtodo read() permite leer un byte. Este mtodo puede lanzar excepciones del
tipo IOException por lo que debe ser capturada dicha excepcin.

No tiene sentido el listado anterior, ya que read() lee un byte de la entrada


estndar, y en esta entrada se suelen enviar caracteres, por lo que el mtodo read
no es el apropiado. El mtodo read puede poseer un argumento que es un array
de bytes que almacenar cada carcter ledo y devolver el nmero de caracteres
ledo

32

El lista anterior lee una serie de bytes y luego los escribe. La lectura almacena el
cdigo del carcter ledo, por eso hay que hacer una conversin a char. Para
saber que tamao dar al array de bytes, se puede usar el mtodo available() de la
clase InputStream la tercera lnea del cdigo anterior sera:

Conversin a forma de Reader:


El hecho de que las clases InputStream y OutputStream usen el tipo byte para la
lectura, complica mucho su uso. Desde que se impuso Unicode y con l las clases
Reader y Writer, hubo que resolver el problema de tener que usar las dos
anteriores.

La

solucin

fueron

dos

clases:

InputStreamReader

OutputStreamWriter. Se utilizan para convertir secuencias de byte en secuencias


de caracteres segn una determinada configuracin regional. Permiten construir
objetos de este tipo a partir de objetos InputStream u OutputStream. Puesto que
son clases derivadas de Reader y Writer el problema est solucionado. El
constructor de la clase InputStreamReader requiere un objeto InputStream y,
opcionalmente, una cadena que indique el cdigo que se utilizar para mostrar
caracteres (por ejemplo ISO-8914-1 es el cdigo Latn 1, el utilizado en la
configuracin regional). Sin usar este segundo parmetro se construye segn la
codificacin actual (es lo normal). Lo que hemos creado de esa forma es un objeto

33

convertidor. De esa forma podemos utilizar la funcin read orientada a caracteres


Unicode que permite leer caracteres extendidos. Est funcin posee una versin
que acepta arrays de caracteres, con lo que la versin writer del cdigo anterior
sera:

Lectura con readLine:


El uso del mtodo read con un array de caracteres sigue siendo un poco
enrevesado. Por ello para leer cadenas de caracteres se suele utilizar la clase
BufferedReader. La razn es que esta clase posee el mtodo ReadLine() que
permite leer una lnea de texto en forma de String, que es ms fcil de manipular.
Esta clase usa un constructor que acepta objetos Reader (y por lo tanto
InputStreamReader ya que desciende de sta) y, opcionalmente, el nmero de
caracteres a leer. Hay que tener en cuenta que el mtodo ReadLine (como todos
los mtodos de lectura) puede provocar excepciones de tipo IOException por lo
que, como ocurra con las otras lecturas, habr que capturar dicha lectura .

34

2. C: Es el lenguaje de programacin de propsito general asociado al


sistema operativo UNIX. Es un lenguaje de medio nivel. Trata con objetos
bsicos como caracteres, nmeros, tambin con bits y direcciones de
memoria. Posee una gran portabilidad. Se utiliza para la programacion de
sistemas: construccin de intrpretes, compiladores, editores de texto, etc.

Entrada y salida con formato:


1. El prototipo de estas funciones est en >stdio.h<
2. Si

queremos

hacer

la

entrada

salida

por

caracteres

int

tenemos
getchar()

int putchar(int c)
3. Para
char

cadenas

de

gets(char

caracteres
*s)

int puts(const char *s)


4. La funcin de entrada salida con formato es printf(. . . ]
5. El formato de printf es int printf(const char *format, ...)

Format: es una cadena de caracteres compuesta por:


Caracteres que son copiados a la salida estndar
Especificaciones de conversin: comienzan con le caracter % y terminan
con un caracter de conversin.
La primera especificacin de conversin se refiere al primer argumento
despus del format, la segunda al siguiente.
El significado de los caracteres en una especificacin de conversin es:
-El ajuste es a la izquierda

35

N.M N ancho mnimo (para float dgitos antes del . decimal). M nmero
mnimo de dgitos que se imprimirn para un entero (para float nmero de
dgitos a la derecha del . decimal)
h para entero corto l para entero largo
Carcter de conversin

Entrada y salida con formato a fichero.


Las funciones printf, scanf, puts, gets, putchar, getchar operan sobre la
entrada estndar y la salida estndar. Existen funciones totalmente
anlogas que operan sobre ficheros
Los ficheros podemos abrirlos con fopen y cerrarlos con fclose FILE
*fopen(const char *path, const char *mode); int fclose(FILE *fp);
Las funciones para entrada y salida a fichero son:
int

fprintf(FILE

*stream,

const

char

*format,

...);

int

fscanf(FILE

*stream,

const

char

*format,

...);

char
int

*gets(char
fputs(const

char

*s,

*s);
FILE

*stream);

int fgetc(FILE *stream); int fputc(int c, FILE *stream);

Entrada y salida con formato memoria


Existen tambin funciones que nos permiten simplemente hacer la
entrada/salida sobre variables en memoria.
Estas funciones operan exactamente igual que las que hemos visto, pero
requieren un argumento adicional
Una variable tipo puntero a carcter, donde se va a colocar la salida
formateada adecuadamente (o desde donde se pretende leer la entrada)
int sprintf(char *str, const char *format, ...);
int sscanf(const char *str, const char *format, ...);

36

3. C++: Es un lenguaje de programacin diseado a mediados de los aos


1980 por Bjarne Stroustrup. La intencin de su creacin fue el extender al
lenguaje de programacin C mecanismos que permiten la manipulacin
de objetos. En ese sentido, desde el punto de vista de los lenguajes
orientados a objetos, el C++ es un lenguaje hbrido.
Posteriormente se aadieron facilidades de programacin genrica, que se
sumaron a los paradigmas de programacin estructurada y programacin
orientada a objetos. Por esto se suele decir que el C++ es un lenguaje de
programacin multiparadigma.

En C++: Funciones E/S, biblioteca iostream.h


Comprobacin de los tipos de datos.
Tratamiento uniforme de los tipos de datos y clases de objetos.
Mecanismos para crear nuevas funciones de E/S para
dispositivos no estndar, con mismo tipo de tratamiento.

E/S estndar en C++:


Entrada estndar:
Representa al dispositivo de entrada por defecto, generalmente el teclado.
El stream asociado es cin, de la clase istream.
Salida estndar:
Representa al dispositivo de salida por defecto, generalmente la pantalla.
El stream asociado es cout, de la clase ostream.
Salida de error:
Representa al dispositivo de salida por defecto donde se envan los
mensajes de error, generalmente la pantalla.

Los streams asociados son cerr y clog, de la clase ostream.


Parmetros y flags de formato:
ios define una variable que agrupa 15 bits de estado de formato.

37

ios proporciona 15 constantes que permiten diferenciar los bits de


formato:

Establecimiento del formato con funciones:

Establecimiento del formato con manipuladores:


Operadores especiales que permiten la insercin de funciones de formato
en las operaciones de E/S

38

Manipuladores de formatos

Gestin de errores E/S:


Cuando ocurre un error en la E/S en un stream, este error se refleja en un
atributo de estado del stream

39

Ejemplo:

Clase Ostream:

40

Clase Istream:

Sobrecarga de los operadores y

41

42

Referencias de bsqueda
Microsoft. (2013). Instrucciones para programar en C. 2016, de MSDN
Sitio web: https://msdn.microsoft.com/es-es/library/ms173143.aspx
Jorge Sanchez . (2004). Java2 incluye Swing, Threads, programacin en
red, JavaBeans, JDBC y JSP / Servlets. 2016, de Jorge Sanchez Net Sitio
web: http://jorgesanchez.net/programacion/manuales/Java.pdf
Universidad de Corua. (2006). Lenguaje de Programacin C. 2015, de
universidad

de

corua

Sitio

web:

http://www.dc.fi.udc.es/~so-

grado/current/Varios/CursoC.pdf
Microsoft. (2004). Instrucciones para programar en C++. 2009, de MSDN
Sitio web: https://msdn.microsoft.com/es-mx/library/1zea45ac.aspx
Jorge Sanchez. (2007). Manuales de Programacin. 2009, de Creative
Commons

Sitio

web:

http://jorgesanchez.net/programacion/manuales/programacion2006.pdf

43

Vous aimerez peut-être aussi