SlideShare une entreprise Scribd logo
1  sur  29
Uso de las
clases iostream
Clase 04
Uso de las clases iostream
• Ahora ya tiene suficientes conocimientos para crear y compilar un
programa. Este programa usará las clases de flujo de entrada-salida
(iostream) del C++ estándar.
• iostream es capaz de leer y escribir en ficheros o en la entrada y salida
estándar (que suele ser la consola, pero que puede ser redirigida a ficheros
o dispositivos). En este programa simple, se usa un objeto stream (flujo)
para imprimir un mensaje en pantalla
Uso de las clases iostream
• Para declarar las funciones y los datos externos que contenga la clase
iostream hay que incluir el fichero de cabecera de la siguiente manera:
Uso de las clases iostream
• El primer programa usa el concepto de salida estándar, que significa un
lugar de propósito general, al que se le pueden enviar cosas. Se verá otros
ejemplos que utilizan la salida estándar de otras formas, pero aquí
simplemente usaremos la consola.
• El paquete iostream define una variable (un objeto) llamado cout de forma
automática que es capaz de enviar todo tipo de datos a la salida estándar.
Uso de las clases iostream
• Para enviar datos a la salida estándar, se usa el operador. Los
programadores de C lo conocen como operador de “desplazamiento a la
izquierda”. Basta decir que el desplazamiento a la izquierda no tiene nada
que ver con la salida. Sin embargo, C++ permite que los operadores sean
sobrecargados.
• Cuando se sobrecarga un operador, se le da un nuevo significado siempre
que dicho operador se use con un objeto de determinado tipo. Con los
objetos de iostream, el operador << significa “enviar a”. Por ejemplo:
Uso de las clases iostream
envía la cadena “¿Qué tal?” al objeto llamado cout (que es un diminutivo
de “console output” (salida por consola).
Espacios de nombres
• Como se menciona, uno de los problemas del lenguaje C es que “nos quedamos sin
nombres” para funciones e identificadores cuando los programas llegan a ser de cierto
tamaño. Por supuesto que realmente no nos quedamos sin nombres; aunque se hace
más difícil pensar en nombres nuevos después de un rato. Y todavía más importante,
cuando un programa alcanza cierto tamaño es normal fragmentarlo en trozos más
pequeños cada uno de los cuales es mantenido por diferentes personas o grupos. Como
C sólo tiene un problema para lidiar con todos los identificadores y nombres de función,
trae como consecuencia que todos los desarrolladores deben tener cuidado de no usar
accidentalmente los mismos nombres en situaciones en las que pueden ponerse en
conflicto. Esto se convierte en una pérdida de tiempo, se hace tedioso y en último
término, es más caro.
Espacios de nombres
• El C++ Estándar tiene un mecanismo para impedir estas colisiones: la
palabra reservada namespace (espacio de nombres). Cada conjunto de
definiciones de una librería o programa se “envuelve” en un espacio de
nombres, y si otra definición tiene el mismo nombre, pero está en otro
espacio de nombres, entonces no se produce colisión.
Espacios de nombres
• Hay una palabra reservada que le permite decir “quiero usar las
declaraciones y/o definiciones de este espacio de nombres”. Esa palabra
reservada, bastante apropiada por cierto, es using. Todas las librerías de
C++ Estándar están incluidas en un único espacio de nombres, que es std
(por “standard”). Como este curso se usa la librería estándar casi
exclusivamente, se verá la siguiente directiva using en casi todos los
programas
Espacios de nombres
• Esto significa que quiere usar todos los elementos del espacio de nombres
llamado std. Después de esta sentencia, ya no hay que preocuparse de si
su componente o librería particular pertenece a un espacio de nombres,
porque la directiva using hace que el espacio de nombres esté disponible
para todo el fichero donde se escribió la directiva using.
Espacios de nombres
• Exponer todos los elementos de un espacio de nombres después de que
alguien se ha molestado en ocultarlos, parece contraproducente, y de
hecho, el estudiante deberá tener cuidado si considera hacerlo (como
aprenderá más tarde en este curso). Sin embargo, la directiva using expone
solamente los nombres para el fichero actual, por lo que no es tan drástico
como suena al principio. (pero piénsalo dos veces antes de usarlo en un
fichero cabecera, eso es temerario).
Espacios de nombres
• Existe una relación entre los espacios de nombres y el modo en que se
incluyes los ficheros de cabecera. Antes de que se estandarizara la nueva
forma de inclusión de los ficheros cabecera (sin el “.h” como en
<iostream>), la manera típica de incluir un fichero de cabecera era con el
“.h” como en <iostream.h>. En esa época los espacios de nombres
tampoco eran parte del lenguaje, por lo que para mantener una
compatibilidad hacia atrás con el código existente, si se escribía:
Espacios de nombres
• En realidad, significaba:
Fundamentos de la estructura de los
programa
• Un programa C o C++ es una colección de variables, definiciones de
función, y llamada a funciones. Cuando el programa arranca, ejecuta el
código de inicialización y llama a una función especial, “main()”, que es
donde debe colocarse el código principal del programa.
• Como se mencionó anteriormente, una definición de función consiste en un
valor de retorno (que debe ser especificarse obligatoriamente C++), un
nombre de función, una lista de argumentos, y el código de la función entre
llaves. Aquí hay un ejemplo de definición de función:
Fundamentos de la estructura de los
programa
La función de arriba tiene una lista vacía de argumentos y un cuerpo que contiene únicamente un
comentario.
Puede haber varios pares de llaves en la definición de una función, pero siempre debe haber al menos
dos que envuelvan todo el cuerpo de la función. Como main( ) es una función, debe seguir esas reglas.
En C++, main( ) siempre devuelve un valor de tipo int (entero).
Fundamentos de la estructura de los
programa
• C y C++ son lenguajes de formato libre. Con un par de excepciones, el
compilador ignora los espacios en blanco y los saltos de línea, por lo que hay
que determinar el final de una sentencia. Las sentencias están delimitadas por
punto y coma.
• Los comentarios en C empiezan con /* y finalizan con */. Pueden incluir saltos
de línea. C++ permite este estilo de comentarios y añade la doble barra
inclinada:
• //. La // empieza un comentario que finaliza con el salto de línea. Es más útil
que /* */ y se usa ampliamente en este curso.
“Hello,World!”
• Y por fin, el primer programa:
“Hello,World!”
• Y por fin, el primer programa:
“Hello,World!”
• El objeto cout maneja una serie de argumentos por medio de los operadores
<<, que imprime los argumentos de izquierda a derecha. La función especial
endl provoca un salto de línea. Con los iostreams se puede encadenar una serie
de argumentos como aquí, lo que hace que se una clase fácil de usar.
• En C, el texto que se encuentra entre comillas dobles se denomina “cadena”
(string). Sin embargo, la librería Estándar de C++ tiene una poderosa clase
llamada string para manipulación de texto, por lo que usaremos el término más
preciso array de caracteres para el texto que se encuentre entre dobles
comillas
“Hello,World!”
• El compilador pide espacio de memoria para los arrays de caracteres y guarda el
equivalente ASCII para cada carácter en este espacio. El compilador finaliza
automáticamente este array de caracteres añadiendo el valor 0 para indicar el final.
• Dentro del array de caracteres, se pueden insertar caracteres especiales usando las
secuencias de escape. Consisten en una barra invertida () seguida de un código
especial. por ejemplo n significa salto de línea. El manual del compilador o la guía
concreta de C ofrece una lista completa de secuencia; entre otras se incluye: t
(tabulador),  (barra invertida), y b (retroceso).
• Tenga en cuenta que la sentencia puede continuar en otras líneas, y la sentencia
completa termina con un punto y coma.
“Hello,World!”
• Los argumentos de tipo array de caracteres y los números constantes están
mezclados en la sentencia cout anterior. Como el operador << está
sobrecargado con varios significados cuando se usa con cout, se pueden
enviar distintos argumentos y cout se encargará de mostrarlos
Más sobre iostreams
• Hasta ahora sólo ha visto los aspectos más rudimentarios de las clases
iostream.
• El formato de salida que permiten los iostreams también incluyen
características como el formato de números en decimal, octal, y
hexadecimal. Aquí tiene otro ejemplo del uso de los iostreams
Más sobre iostreams
Más sobre iostreams
Más sobre iostreams
• Este ejemplo muestra cómo la clase iostreams imprime números en
decimal, octal, y hexadecimal usando manipuladores (los cuales no
imprimen nada, pero cambian el estado del flujo de salida). El formato de
los números en punto flotante lo determina automáticamente el
compilador. Además, cualquier se puede enviar cualquier caracter a un
objeto stream usando un molde (cast) a char (un char es un tipo de datos
que manipula un sólo caracter). Este molde parece una llamada a función:
char( ), devuelve un valor ASCII. En el programa de arriba, el char(27) envía
un ¨escape¨ a cout.
Concatenar vectores de caracteres
• Una característica importante del preprocesador de C es la concatenación
de arrays de caracteres. Esta característica se usa en algunos de los
ejemplos de este curso. Si se colocan juntos dos arrays de caracteres
entrecomillados, sin signos de puntuación entre ellos, el compilador los
pegará en un único array de caracteres. Esto es particularmente útil cuando
los listados de código tienen restricciones de anchura.
Concatenar vectores de caracteres
Concatenar vectores de caracteres
Concatenar vectores de caracteres
• Al principio, el código de arriba puede parecer erróneo porque no está el ya
familiar punto y coma al final de cada línea. Recuerde que C y C++ son
lenguajes de formato libre, y aunque normalmente verá un punto y coma al
final de cada línea, el requisito real es que haya un punto y coma al final de
cada sentencia, por lo que es posible encontrar una sentencia que ocupe
varias líneas

Contenu connexe

Tendances

Algoritmo de planificación srt
Algoritmo de planificación srtAlgoritmo de planificación srt
Algoritmo de planificación srtCarlos Solano
 
Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)Maria Garcia
 
Programación Orientada a Objetos -Unidad 6 archivos
Programación Orientada a Objetos -Unidad 6 archivosProgramación Orientada a Objetos -Unidad 6 archivos
Programación Orientada a Objetos -Unidad 6 archivosJosé Antonio Sandoval Acosta
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacionLuis Igoodbad
 
Instrucciones de control de salto
Instrucciones de control de saltoInstrucciones de control de salto
Instrucciones de control de saltoAbrirllave
 
Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesIsrael Castillo Cruz
 
Procesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas OperativosProcesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas OperativosEmmanuel Fortuna
 
Paradigma Programación Orientada a Objetos (POO)
Paradigma Programación Orientada a Objetos (POO)Paradigma Programación Orientada a Objetos (POO)
Paradigma Programación Orientada a Objetos (POO)Fredy Nicolas Moreno Puerto
 
1.1 tipos de datos abstractos
1.1 tipos de datos abstractos1.1 tipos de datos abstractos
1.1 tipos de datos abstractoserwin_alexander
 
Diagramas Analisis
Diagramas AnalisisDiagramas Analisis
Diagramas Analisisinnovalabcun
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..NANO-06
 

Tendances (20)

Introducción al c#
Introducción al c#Introducción al c#
Introducción al c#
 
Algoritmo de planificación srt
Algoritmo de planificación srtAlgoritmo de planificación srt
Algoritmo de planificación srt
 
Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)
 
Programación Orientada a Objetos -Unidad 6 archivos
Programación Orientada a Objetos -Unidad 6 archivosProgramación Orientada a Objetos -Unidad 6 archivos
Programación Orientada a Objetos -Unidad 6 archivos
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacion
 
Presentación poo
Presentación pooPresentación poo
Presentación poo
 
C++ y sus librerias
C++ y sus libreriasC++ y sus librerias
C++ y sus librerias
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Instrucciones de control de salto
Instrucciones de control de saltoInstrucciones de control de salto
Instrucciones de control de salto
 
Teoría de autómatas
Teoría de autómatasTeoría de autómatas
Teoría de autómatas
 
Paradigmas de la programación
Paradigmas de la programación Paradigmas de la programación
Paradigmas de la programación
 
Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretes
 
Procesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas OperativosProcesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas Operativos
 
Presentacion de clases en c#
Presentacion de clases en c#Presentacion de clases en c#
Presentacion de clases en c#
 
Paradigma Programación Orientada a Objetos (POO)
Paradigma Programación Orientada a Objetos (POO)Paradigma Programación Orientada a Objetos (POO)
Paradigma Programación Orientada a Objetos (POO)
 
1.1 tipos de datos abstractos
1.1 tipos de datos abstractos1.1 tipos de datos abstractos
1.1 tipos de datos abstractos
 
Tutorial de JFLAP
Tutorial de JFLAPTutorial de JFLAP
Tutorial de JFLAP
 
Diagramas Analisis
Diagramas AnalisisDiagramas Analisis
Diagramas Analisis
 
Pilares de la POO
Pilares de la POOPilares de la POO
Pilares de la POO
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..
 

En vedette

Clase 03
Clase 03Clase 03
Clase 03Tensor
 
Practica 1
Practica 1Practica 1
Practica 1Tensor
 
Elementos basicos c++
Elementos basicos c++Elementos basicos c++
Elementos basicos c++Tensor
 
Clase 01
Clase 01Clase 01
Clase 01Tensor
 
Complementos
ComplementosComplementos
ComplementosTensor
 
Historia de la programacion
Historia de la programacionHistoria de la programacion
Historia de la programacionTensor
 
Fundamentos y Lógica de Programación
Fundamentos y Lógica de ProgramaciónFundamentos y Lógica de Programación
Fundamentos y Lógica de ProgramaciónTensor
 
Simulación ok
Simulación okSimulación ok
Simulación okTensor
 
Pseudocodigo
PseudocodigoPseudocodigo
PseudocodigoTensor
 

En vedette (9)

Clase 03
Clase 03Clase 03
Clase 03
 
Practica 1
Practica 1Practica 1
Practica 1
 
Elementos basicos c++
Elementos basicos c++Elementos basicos c++
Elementos basicos c++
 
Clase 01
Clase 01Clase 01
Clase 01
 
Complementos
ComplementosComplementos
Complementos
 
Historia de la programacion
Historia de la programacionHistoria de la programacion
Historia de la programacion
 
Fundamentos y Lógica de Programación
Fundamentos y Lógica de ProgramaciónFundamentos y Lógica de Programación
Fundamentos y Lógica de Programación
 
Simulación ok
Simulación okSimulación ok
Simulación ok
 
Pseudocodigo
PseudocodigoPseudocodigo
Pseudocodigo
 

Similaire à Uso de las clases iostream

Bibliotecas o librerias_para_c_
Bibliotecas o librerias_para_c_Bibliotecas o librerias_para_c_
Bibliotecas o librerias_para_c_Oziel Solis Juarez
 
Bibliotecas o libreria de c++
Bibliotecas o libreria de c++Bibliotecas o libreria de c++
Bibliotecas o libreria de c++Idalia Tristan
 
bibliotecasolibreriasenc-170322144450-1.pdf
bibliotecasolibreriasenc-170322144450-1.pdfbibliotecasolibreriasenc-170322144450-1.pdf
bibliotecasolibreriasenc-170322144450-1.pdfssuser948499
 
Bibliotecas de C
Bibliotecas de CBibliotecas de C
Bibliotecas de CLorenaCMtz
 
Bibliotecas que existen_para_c++
Bibliotecas que existen_para_c++Bibliotecas que existen_para_c++
Bibliotecas que existen_para_c++andreadelacruz002
 
Bibliotecas que existen_para_c++_ (2)
Bibliotecas que existen_para_c++_ (2)Bibliotecas que existen_para_c++_ (2)
Bibliotecas que existen_para_c++_ (2)andreadelacruz002
 
Material de apoyo: Componentes y tipos de Datos PDF
 Material de apoyo: Componentes y tipos de Datos PDF Material de apoyo: Componentes y tipos de Datos PDF
Material de apoyo: Componentes y tipos de Datos PDFLeider Sanchez
 
BIBLIOTECAS QUE EXITEN PARA C++
BIBLIOTECAS QUE EXITEN PARA C++BIBLIOTECAS QUE EXITEN PARA C++
BIBLIOTECAS QUE EXITEN PARA C++JazminIbarra1106
 
Centro de estudios_tecnologicos_industrial_y_de_servicios
Centro de estudios_tecnologicos_industrial_y_de_serviciosCentro de estudios_tecnologicos_industrial_y_de_servicios
Centro de estudios_tecnologicos_industrial_y_de_serviciosandreadelacruz002
 
Centro de estudios_tecnologicos_industrial_y_de_servicios
Centro de estudios_tecnologicos_industrial_y_de_serviciosCentro de estudios_tecnologicos_industrial_y_de_servicios
Centro de estudios_tecnologicos_industrial_y_de_serviciosMaztherprozh
 
Primera Clase
Primera ClasePrimera Clase
Primera Clasemandres
 
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1Nilson Payares
 
Presentacion de la Estructura basica para_c++
Presentacion de la Estructura basica para_c++Presentacion de la Estructura basica para_c++
Presentacion de la Estructura basica para_c++ValeriaBerrones
 
Estructura basica para_c_
Estructura basica para_c_Estructura basica para_c_
Estructura basica para_c_Jesus22barrera
 
Elementos básicos del lenguaje
Elementos básicos del lenguajeElementos básicos del lenguaje
Elementos básicos del lenguajemarbcm
 

Similaire à Uso de las clases iostream (20)

Bibliotecas o librerias_para_c_
Bibliotecas o librerias_para_c_Bibliotecas o librerias_para_c_
Bibliotecas o librerias_para_c_
 
BIBLIOTECAS PARA C++
BIBLIOTECAS PARA C++BIBLIOTECAS PARA C++
BIBLIOTECAS PARA C++
 
Bibliotecas o libreria de c++
Bibliotecas o libreria de c++Bibliotecas o libreria de c++
Bibliotecas o libreria de c++
 
bibliotecasolibreriasenc-170322144450-1.pdf
bibliotecasolibreriasenc-170322144450-1.pdfbibliotecasolibreriasenc-170322144450-1.pdf
bibliotecasolibreriasenc-170322144450-1.pdf
 
Bibliotecas de-c
Bibliotecas de-cBibliotecas de-c
Bibliotecas de-c
 
librerias.pptx
librerias.pptxlibrerias.pptx
librerias.pptx
 
Bibliotecas de c_
Bibliotecas de c_Bibliotecas de c_
Bibliotecas de c_
 
Bibliotecas de C
Bibliotecas de CBibliotecas de C
Bibliotecas de C
 
Bibliotecas que existen_para_c++
Bibliotecas que existen_para_c++Bibliotecas que existen_para_c++
Bibliotecas que existen_para_c++
 
Bibliotecas que existen_para_c++_ (2)
Bibliotecas que existen_para_c++_ (2)Bibliotecas que existen_para_c++_ (2)
Bibliotecas que existen_para_c++_ (2)
 
Material de apoyo: Componentes y tipos de Datos PDF
 Material de apoyo: Componentes y tipos de Datos PDF Material de apoyo: Componentes y tipos de Datos PDF
Material de apoyo: Componentes y tipos de Datos PDF
 
BIBLIOTECAS QUE EXITEN PARA C++
BIBLIOTECAS QUE EXITEN PARA C++BIBLIOTECAS QUE EXITEN PARA C++
BIBLIOTECAS QUE EXITEN PARA C++
 
Lenguaje
LenguajeLenguaje
Lenguaje
 
Centro de estudios_tecnologicos_industrial_y_de_servicios
Centro de estudios_tecnologicos_industrial_y_de_serviciosCentro de estudios_tecnologicos_industrial_y_de_servicios
Centro de estudios_tecnologicos_industrial_y_de_servicios
 
Centro de estudios_tecnologicos_industrial_y_de_servicios
Centro de estudios_tecnologicos_industrial_y_de_serviciosCentro de estudios_tecnologicos_industrial_y_de_servicios
Centro de estudios_tecnologicos_industrial_y_de_servicios
 
Primera Clase
Primera ClasePrimera Clase
Primera Clase
 
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
 
Presentacion de la Estructura basica para_c++
Presentacion de la Estructura basica para_c++Presentacion de la Estructura basica para_c++
Presentacion de la Estructura basica para_c++
 
Estructura basica para_c_
Estructura basica para_c_Estructura basica para_c_
Estructura basica para_c_
 
Elementos básicos del lenguaje
Elementos básicos del lenguajeElementos básicos del lenguaje
Elementos básicos del lenguaje
 

Plus de Tensor

Libertad
LibertadLibertad
LibertadTensor
 
Método de la regla falsa (o metodo de la falsa posición)
Método de la regla falsa (o metodo de la falsa posición)Método de la regla falsa (o metodo de la falsa posición)
Método de la regla falsa (o metodo de la falsa posición)Tensor
 
Metodo de la bisección
Metodo de la bisecciónMetodo de la bisección
Metodo de la bisecciónTensor
 
Transito vehicular
Transito vehicularTransito vehicular
Transito vehicularTensor
 
Teoria de colas
Teoria de colasTeoria de colas
Teoria de colasTensor
 
Practica 7 2016
Practica 7 2016Practica 7 2016
Practica 7 2016Tensor
 
Practica 6 2016
Practica 6 2016Practica 6 2016
Practica 6 2016Tensor
 
Game maker
Game makerGame maker
Game makerTensor
 
Practica 5 2016
Practica 5 2016Practica 5 2016
Practica 5 2016Tensor
 
Procesamiento de archivos
Procesamiento de archivosProcesamiento de archivos
Procesamiento de archivosTensor
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadenaTensor
 
Simulación en promodel clase 04
Simulación en promodel clase 04Simulación en promodel clase 04
Simulación en promodel clase 04Tensor
 
Reduccion de orden
Reduccion de ordenReduccion de orden
Reduccion de ordenTensor
 
Variación+de+parametros
Variación+de+parametrosVariación+de+parametros
Variación+de+parametrosTensor
 
Coeficientes indeterminados enfoque de superposición
Coeficientes indeterminados   enfoque de superposiciónCoeficientes indeterminados   enfoque de superposición
Coeficientes indeterminados enfoque de superposiciónTensor
 
Bernoulli y ricatti
Bernoulli y ricattiBernoulli y ricatti
Bernoulli y ricattiTensor
 
Practica no. 3 tiempo de servicio
Practica no. 3 tiempo de servicioPractica no. 3 tiempo de servicio
Practica no. 3 tiempo de servicioTensor
 
Clase 14 ondas reflejadas
Clase 14 ondas reflejadasClase 14 ondas reflejadas
Clase 14 ondas reflejadasTensor
 
Ondas em
Ondas emOndas em
Ondas emTensor
 
Clase 7 ondas electromagneticas
Clase 7 ondas electromagneticasClase 7 ondas electromagneticas
Clase 7 ondas electromagneticasTensor
 

Plus de Tensor (20)

Libertad
LibertadLibertad
Libertad
 
Método de la regla falsa (o metodo de la falsa posición)
Método de la regla falsa (o metodo de la falsa posición)Método de la regla falsa (o metodo de la falsa posición)
Método de la regla falsa (o metodo de la falsa posición)
 
Metodo de la bisección
Metodo de la bisecciónMetodo de la bisección
Metodo de la bisección
 
Transito vehicular
Transito vehicularTransito vehicular
Transito vehicular
 
Teoria de colas
Teoria de colasTeoria de colas
Teoria de colas
 
Practica 7 2016
Practica 7 2016Practica 7 2016
Practica 7 2016
 
Practica 6 2016
Practica 6 2016Practica 6 2016
Practica 6 2016
 
Game maker
Game makerGame maker
Game maker
 
Practica 5 2016
Practica 5 2016Practica 5 2016
Practica 5 2016
 
Procesamiento de archivos
Procesamiento de archivosProcesamiento de archivos
Procesamiento de archivos
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadena
 
Simulación en promodel clase 04
Simulación en promodel clase 04Simulación en promodel clase 04
Simulación en promodel clase 04
 
Reduccion de orden
Reduccion de ordenReduccion de orden
Reduccion de orden
 
Variación+de+parametros
Variación+de+parametrosVariación+de+parametros
Variación+de+parametros
 
Coeficientes indeterminados enfoque de superposición
Coeficientes indeterminados   enfoque de superposiciónCoeficientes indeterminados   enfoque de superposición
Coeficientes indeterminados enfoque de superposición
 
Bernoulli y ricatti
Bernoulli y ricattiBernoulli y ricatti
Bernoulli y ricatti
 
Practica no. 3 tiempo de servicio
Practica no. 3 tiempo de servicioPractica no. 3 tiempo de servicio
Practica no. 3 tiempo de servicio
 
Clase 14 ondas reflejadas
Clase 14 ondas reflejadasClase 14 ondas reflejadas
Clase 14 ondas reflejadas
 
Ondas em
Ondas emOndas em
Ondas em
 
Clase 7 ondas electromagneticas
Clase 7 ondas electromagneticasClase 7 ondas electromagneticas
Clase 7 ondas electromagneticas
 

Dernier

Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Katherine Concepcion Gonzalez
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesMarisolMartinez707897
 
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...JoseMartinMalpartida1
 
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfPROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfEduardoJosVargasCama1
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...jlorentemartos
 
Actividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxActividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxpaogar2178
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfJonathanCovena1
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxiemerc2024
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONamelia poma
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfMercedes Gonzalez
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxEliaHernndez7
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primariaWilian24
 
Código Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de VenezuelaCódigo Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de Venezuelabeltranponce75
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfcarolinamartinezsev
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024IES Vicent Andres Estelles
 

Dernier (20)

Novena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan EudesNovena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan Eudes
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfPROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
Actividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxActividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docx
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
Power Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptxPower Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptx
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdf
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
Código Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de VenezuelaCódigo Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de Venezuela
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 

Uso de las clases iostream

  • 1. Uso de las clases iostream Clase 04
  • 2. Uso de las clases iostream • Ahora ya tiene suficientes conocimientos para crear y compilar un programa. Este programa usará las clases de flujo de entrada-salida (iostream) del C++ estándar. • iostream es capaz de leer y escribir en ficheros o en la entrada y salida estándar (que suele ser la consola, pero que puede ser redirigida a ficheros o dispositivos). En este programa simple, se usa un objeto stream (flujo) para imprimir un mensaje en pantalla
  • 3. Uso de las clases iostream • Para declarar las funciones y los datos externos que contenga la clase iostream hay que incluir el fichero de cabecera de la siguiente manera:
  • 4. Uso de las clases iostream • El primer programa usa el concepto de salida estándar, que significa un lugar de propósito general, al que se le pueden enviar cosas. Se verá otros ejemplos que utilizan la salida estándar de otras formas, pero aquí simplemente usaremos la consola. • El paquete iostream define una variable (un objeto) llamado cout de forma automática que es capaz de enviar todo tipo de datos a la salida estándar.
  • 5. Uso de las clases iostream • Para enviar datos a la salida estándar, se usa el operador. Los programadores de C lo conocen como operador de “desplazamiento a la izquierda”. Basta decir que el desplazamiento a la izquierda no tiene nada que ver con la salida. Sin embargo, C++ permite que los operadores sean sobrecargados. • Cuando se sobrecarga un operador, se le da un nuevo significado siempre que dicho operador se use con un objeto de determinado tipo. Con los objetos de iostream, el operador << significa “enviar a”. Por ejemplo:
  • 6. Uso de las clases iostream envía la cadena “¿Qué tal?” al objeto llamado cout (que es un diminutivo de “console output” (salida por consola).
  • 7. Espacios de nombres • Como se menciona, uno de los problemas del lenguaje C es que “nos quedamos sin nombres” para funciones e identificadores cuando los programas llegan a ser de cierto tamaño. Por supuesto que realmente no nos quedamos sin nombres; aunque se hace más difícil pensar en nombres nuevos después de un rato. Y todavía más importante, cuando un programa alcanza cierto tamaño es normal fragmentarlo en trozos más pequeños cada uno de los cuales es mantenido por diferentes personas o grupos. Como C sólo tiene un problema para lidiar con todos los identificadores y nombres de función, trae como consecuencia que todos los desarrolladores deben tener cuidado de no usar accidentalmente los mismos nombres en situaciones en las que pueden ponerse en conflicto. Esto se convierte en una pérdida de tiempo, se hace tedioso y en último término, es más caro.
  • 8. Espacios de nombres • El C++ Estándar tiene un mecanismo para impedir estas colisiones: la palabra reservada namespace (espacio de nombres). Cada conjunto de definiciones de una librería o programa se “envuelve” en un espacio de nombres, y si otra definición tiene el mismo nombre, pero está en otro espacio de nombres, entonces no se produce colisión.
  • 9. Espacios de nombres • Hay una palabra reservada que le permite decir “quiero usar las declaraciones y/o definiciones de este espacio de nombres”. Esa palabra reservada, bastante apropiada por cierto, es using. Todas las librerías de C++ Estándar están incluidas en un único espacio de nombres, que es std (por “standard”). Como este curso se usa la librería estándar casi exclusivamente, se verá la siguiente directiva using en casi todos los programas
  • 10. Espacios de nombres • Esto significa que quiere usar todos los elementos del espacio de nombres llamado std. Después de esta sentencia, ya no hay que preocuparse de si su componente o librería particular pertenece a un espacio de nombres, porque la directiva using hace que el espacio de nombres esté disponible para todo el fichero donde se escribió la directiva using.
  • 11. Espacios de nombres • Exponer todos los elementos de un espacio de nombres después de que alguien se ha molestado en ocultarlos, parece contraproducente, y de hecho, el estudiante deberá tener cuidado si considera hacerlo (como aprenderá más tarde en este curso). Sin embargo, la directiva using expone solamente los nombres para el fichero actual, por lo que no es tan drástico como suena al principio. (pero piénsalo dos veces antes de usarlo en un fichero cabecera, eso es temerario).
  • 12. Espacios de nombres • Existe una relación entre los espacios de nombres y el modo en que se incluyes los ficheros de cabecera. Antes de que se estandarizara la nueva forma de inclusión de los ficheros cabecera (sin el “.h” como en <iostream>), la manera típica de incluir un fichero de cabecera era con el “.h” como en <iostream.h>. En esa época los espacios de nombres tampoco eran parte del lenguaje, por lo que para mantener una compatibilidad hacia atrás con el código existente, si se escribía:
  • 13. Espacios de nombres • En realidad, significaba:
  • 14. Fundamentos de la estructura de los programa • Un programa C o C++ es una colección de variables, definiciones de función, y llamada a funciones. Cuando el programa arranca, ejecuta el código de inicialización y llama a una función especial, “main()”, que es donde debe colocarse el código principal del programa. • Como se mencionó anteriormente, una definición de función consiste en un valor de retorno (que debe ser especificarse obligatoriamente C++), un nombre de función, una lista de argumentos, y el código de la función entre llaves. Aquí hay un ejemplo de definición de función:
  • 15. Fundamentos de la estructura de los programa La función de arriba tiene una lista vacía de argumentos y un cuerpo que contiene únicamente un comentario. Puede haber varios pares de llaves en la definición de una función, pero siempre debe haber al menos dos que envuelvan todo el cuerpo de la función. Como main( ) es una función, debe seguir esas reglas. En C++, main( ) siempre devuelve un valor de tipo int (entero).
  • 16. Fundamentos de la estructura de los programa • C y C++ son lenguajes de formato libre. Con un par de excepciones, el compilador ignora los espacios en blanco y los saltos de línea, por lo que hay que determinar el final de una sentencia. Las sentencias están delimitadas por punto y coma. • Los comentarios en C empiezan con /* y finalizan con */. Pueden incluir saltos de línea. C++ permite este estilo de comentarios y añade la doble barra inclinada: • //. La // empieza un comentario que finaliza con el salto de línea. Es más útil que /* */ y se usa ampliamente en este curso.
  • 17. “Hello,World!” • Y por fin, el primer programa:
  • 18. “Hello,World!” • Y por fin, el primer programa:
  • 19. “Hello,World!” • El objeto cout maneja una serie de argumentos por medio de los operadores <<, que imprime los argumentos de izquierda a derecha. La función especial endl provoca un salto de línea. Con los iostreams se puede encadenar una serie de argumentos como aquí, lo que hace que se una clase fácil de usar. • En C, el texto que se encuentra entre comillas dobles se denomina “cadena” (string). Sin embargo, la librería Estándar de C++ tiene una poderosa clase llamada string para manipulación de texto, por lo que usaremos el término más preciso array de caracteres para el texto que se encuentre entre dobles comillas
  • 20. “Hello,World!” • El compilador pide espacio de memoria para los arrays de caracteres y guarda el equivalente ASCII para cada carácter en este espacio. El compilador finaliza automáticamente este array de caracteres añadiendo el valor 0 para indicar el final. • Dentro del array de caracteres, se pueden insertar caracteres especiales usando las secuencias de escape. Consisten en una barra invertida () seguida de un código especial. por ejemplo n significa salto de línea. El manual del compilador o la guía concreta de C ofrece una lista completa de secuencia; entre otras se incluye: t (tabulador), (barra invertida), y b (retroceso). • Tenga en cuenta que la sentencia puede continuar en otras líneas, y la sentencia completa termina con un punto y coma.
  • 21. “Hello,World!” • Los argumentos de tipo array de caracteres y los números constantes están mezclados en la sentencia cout anterior. Como el operador << está sobrecargado con varios significados cuando se usa con cout, se pueden enviar distintos argumentos y cout se encargará de mostrarlos
  • 22. Más sobre iostreams • Hasta ahora sólo ha visto los aspectos más rudimentarios de las clases iostream. • El formato de salida que permiten los iostreams también incluyen características como el formato de números en decimal, octal, y hexadecimal. Aquí tiene otro ejemplo del uso de los iostreams
  • 25. Más sobre iostreams • Este ejemplo muestra cómo la clase iostreams imprime números en decimal, octal, y hexadecimal usando manipuladores (los cuales no imprimen nada, pero cambian el estado del flujo de salida). El formato de los números en punto flotante lo determina automáticamente el compilador. Además, cualquier se puede enviar cualquier caracter a un objeto stream usando un molde (cast) a char (un char es un tipo de datos que manipula un sólo caracter). Este molde parece una llamada a función: char( ), devuelve un valor ASCII. En el programa de arriba, el char(27) envía un ¨escape¨ a cout.
  • 26. Concatenar vectores de caracteres • Una característica importante del preprocesador de C es la concatenación de arrays de caracteres. Esta característica se usa en algunos de los ejemplos de este curso. Si se colocan juntos dos arrays de caracteres entrecomillados, sin signos de puntuación entre ellos, el compilador los pegará en un único array de caracteres. Esto es particularmente útil cuando los listados de código tienen restricciones de anchura.
  • 29. Concatenar vectores de caracteres • Al principio, el código de arriba puede parecer erróneo porque no está el ya familiar punto y coma al final de cada línea. Recuerde que C y C++ son lenguajes de formato libre, y aunque normalmente verá un punto y coma al final de cada línea, el requisito real es que haya un punto y coma al final de cada sentencia, por lo que es posible encontrar una sentencia que ocupe varias líneas