0% encontró este documento útil (0 votos)
343 vistas9 páginas

Manual Teórico - Práctico C++

El documento introduce el lenguaje de programación C++. C++ es un lenguaje de propósito general desarrollado originalmente por Bjarne Stroustrup en 1983 y que soporta programación procedimental, orientada a objetos y genérica. Incluye una biblioteca estándar poderosa y es compatible con C para aprovechar ventajas de bajo nivel como eficiencia. Los programas en C++ tienen una estructura básica que incluye la función principal main y muestran cómo usar cout y printf para la entrada y salida de datos.

Cargado por

Zabdi Muhammad
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
343 vistas9 páginas

Manual Teórico - Práctico C++

El documento introduce el lenguaje de programación C++. C++ es un lenguaje de propósito general desarrollado originalmente por Bjarne Stroustrup en 1983 y que soporta programación procedimental, orientada a objetos y genérica. Incluye una biblioteca estándar poderosa y es compatible con C para aprovechar ventajas de bajo nivel como eficiencia. Los programas en C++ tienen una estructura básica que incluye la función principal main y muestran cómo usar cout y printf para la entrada y salida de datos.

Cargado por

Zabdi Muhammad
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 9

CAPÍTULO I

INTRODUCCIÓN AL LENGUAJE C++

¿Qué es C++?

C++ es un lenguaje de programación de propósito general y de alto nivel con


facilidades para la programación a bajo nivel. Tiene un modelo de tipos de dato estático y
es un lenguaje que soporta tres paradigmas de programación: programación
procedimental, programación orientada a objetos y programación genérica. Cuenta con
abstracción de datos e identificación de tipo de dato en tiempo de ejecución. Desde 1990,
C++ ha sido uno de los lenguajes comerciales de programación más populares.

Desarrollado originalmente por Bjarne Stroustrup en 1983 en los Laboratorios Bell,


es empleado desde entonces y hasta el día de hoy. A pesar de su antigüedad, el primer
estándar del lenguaje fue ratificado en 1998 como ISO/IEC 14882:1998, cuya última
versión se dio en 2003 bajo ISO/IEC 14882:2003. Actualmente se está desarrollando una
nueva versión del lenguaje (informalmente conocida como C++0x).

En particular, este lenguaje está pensado para seguir siempre los siguientes
lineamientos de diseño:

 C++ es diseñado para ser un lenguaje estáticamente tipado, de propósito general,


tan eficiente y portable como C.
 C++ es diseñado para soportar directa y comprensivamente múltiples estilos de
programación: procedimental, abstracción de datos, orientación a objetos y
programación genérica.
 C++ es diseñado para ofrecer al programador la posibilidad de escoger, aún cuando
éste pueda escoger incorrectamente.
 C++ es diseñado para ser tan compatible con C como sea posible, por ende
ofreciendo una transición suave desde C.
 C++ se abstiene de incluir características que puedan ser específicas de una
plataforma o que no sean de propósito general.
 C++ no añade sobrecarga de características que no son usadas.
 C++ es diseñado para funcionar sin un ambiente de programación sofisticado.

Antes de la ratificación del estándar en 1998, HP creó una librería basada en plantillas,
que posteriormente amplió SGI. Originalmente conocida como la Standard Template
Library (STL), el estándar ratificado en 1998 la incorporó y extendió dando lugar a la
Librería Estándar de C++. Esta librería incorpora herramientas poderosas como los
contenedores, iteradotes, manipulación de cadenas de texto, flujos de datos (streams) y
manipulación de archivos, y algoritmos comunes (i.e. búsqueda y ordenamiento de
contenedores), entre otros.

1
Debido a que siempre se ha pretendido que sea compatible lo más posible con C, C++
acepta la programación procedimental. Esto permite aprovechar ventajas como diseño a
bajo nivel, eficiencia en uso de memoria y en tamaño de los binarios finales, así como
simplicidad en la codificación. En particular, la manipulación de memoria y la posible
incorporación de lenguaje ensamblador hacen que C++ tenga mucha potencia para
trabajar a bajo nivel.

Por otro lado, C++ acepta también el paradigma de programación orientada a objetos,
y tiene como suyas las siguientes características.

 Abstracción.
 Encapsulación.
 Herencia simple y herencia múltiple.
 Polimorfismo estático.

 Sobrecarga de funciones.
 Sobrecarga de operadores.
 Plantillas en clases y funciones.

 Polimorfismo dinámico.

 Conversión entre tipos de datos heredados (up-cast y down-cast).


 Funciones miembros virtuales.

Finalmente, C++ también soporta la programación genérica o metaprogramación.


Este paradigma permite que una clase o función trabaje con tipos de datos abstractos,
especificándose posteriormente cuáles serán los que se utilizarán. Una de las
características más importantes es la especialización parcial de plantillas, lo que permite
implementar un polimorfismo genérico, en donde una función o clase cambia su
comportamiento cuando el parámetro genérico es un determinado tipo de dato.

2
Estructura básica de un programa:

Chequemos el siguiente programa:

//Mi primer programa en C++

# include <iostream>

using namespace std;

int main (){

count << "hello World";

return 0;

El programa anterior es típico de los programadores aprendices, el resultado de su


impresión en pantalla es la frase:

”hello World”

Es uno de los más simples programas que pueden estar escritos en C++, pero ya
contiene los componentes fundamentales que todos los programas escritos en C++.
Vamos a ver línea por línea en el código lo que hemos escrito:

//Mi primer programa en C++

Se trata de una l´ınea de comentario. Todas las líneas que comiencen con dos
signos barra se consideran comentarios y no tienen ningún efecto sobre el
comportamiento del programa. El programador puede usar para incluir breves
explicaciones o alegaciones dentro del código fuente en sí. En este caso, la línea es una
breve descripción de lo que es nuestro programa.

# include <iostream>

Las líneas que comienza con un símbolo de sostenido # son directivas para el
preprocesador. En este caso, la directiva # include <iostream> le dice al preprocesador
que incluya el iostream estándar de archivo. Este archivo específico (iostream) incluye las
declaraciones de la norma básica de entrada y salida de la biblioteca de C++.

3
using namespace std;

Todos los elementos del modelo de librería de C++ se declaran dentro de lo que se
denomina un espacio de nombres. Por lo tanto, para poder acceder a su funcionalidad
declaramos 7 con esta expresión que vamos a utilizar estas entidades. Esta línea es muy
frecuente en los programas que utilizan la biblioteca est´andar, y de hecho ser´a incluido
en la mayoría de los códigos.

int main ()

Esta línea se corresponde con el comienzo de la definición de la función principal.


La función principal es el punto por donde todos los programas inician su ejecución,
independientemente de su ubicación dentro del código fuente. No importa si hay otras
funciones con otros nombres definidos antes o después de las instrucciones que figuran
dentro de esta función, ya que por definición será siempre la primera en ser ejecutada.
Por esa misma razón, es esencial que todos los programas tengan una función principal. Lo
que se contiene dentro de las llaves que delimitan la función es lo que hace cuando se
ejecuta.

count <<"hello World";

Esta línea es una declaración de C++, en términos simples es una expresión que
produce algún efecto. De hecho, esta declaración lleva a cabo la única acción que genera
un efecto visible en nuestro programa. Representa el flujo de salida y su objetivo es
insertar una secuencia de caracteres ( ”hello World”) en el flujo de salida estándar
(pantalla).

return 0;

Esta declaración hace que la función principal termine. Un código de retorno es 0,


cuando la función principal interpreta de manera general que el programa trabajó como
se esperaba, sin ningún error durante su ejecución. Esta es la forma más habitual para
poner fin a un programa C++ en la consola.

4
Entrada y salida de datos en C++. Uso de cin, cout, scanf y printf:

La entrada y salida de datos en C++ es simple, al menos para los casos más
comunes. Con esto, se hace una comparación entre C++ y Java, pues leer una entrada del
usuario por teclado en C++ es bastante simple mientras que en Java implica una serie de
conceptos adicionales que la hacen un tanto más complicado. Por suerte para nosotros en
este trabajo veremos cómo leer por teclado en C++, en otras palabras, asignar a una
variable el valor que el usuario escriba por el teclado. Adicional a esto veremos también
cómo mostrar texto por pantalla en C++, es decir, salida de datos.

Vamos a comenzar primero con aprender a mostrar texto por pantalla en C++. Este
orden se debe a que cuando queremos pedirle algún dato al usuario primero debemos
hacerle saber lo que queremos que ingrese y para hacérselo saber debemos mostrarle un
mensaje con las indicaciones, por tal motivo es importante primero saber mostrar texto
en pantalla en C++ y luego a leer texto por teclado en C++.

SALIDA DE TEXTO POR PANTALLA EN C++

Mostrar texto por pantalla en C++ es muy simple. Para imprimir una salida de texto
en C++ se hace uso de la instrucción cout, junto con <<. Es importante tener en cuenta
que la instrucción cout siempre va acompañada de << para controlar el flujo de datos que
sale. No se debe fijar mucho en ellos, solo tengamos siempre presente que cout viene
acompañado de << para tener cout <<como resultado.

Veamos algunos ejemplos para mostrar texto por pantalla en C++:

Ejemplo de impresión de texto por pantalla en C++, usando cout:

5
El ejemplo presentado es bastante sencillo, excepto por un detalle. Si se ejecuta
este código en la pantalla, aparecerá un mensaje diciendo “Hola Mundo Desde
ProgramarYa”. Tal como se habrá notado el operador “ <<” se usa para concatenar o unir
dos cadenas de texto, por eso el resultado es el obtenido. Luego se usa “\n” lo cual crea un
salto de línea. No es obligatorio, pero es recomendable.

Ahora veamos un ejemplo, pero usando la función printf de C++, la cual también es
útil para imprimir valores en pantalla.

Ejemplo de impresión de texto por pantalla en C++, usando printf:

Como podemos observar, al ejecutar el código, el resultado sería el mismo del


ejemplo de cout: "Hola Mundo Desde ProgramarYa", con su respectivo salto de línea al
final. Sin embargo, el código es bastante diferente, pues printf no nos permite concatenar
valores directamente en un solo llamado, así que debemos hacer llamadas sucesivas para
imprimir cada parte del mensaje. Por supuesto, podríamos simplemente hacer un solo
llamado a printf con el mensaje completo y sería mucho más sencillo.

Adicionalmente, los llamados a printf requieren que los valores estén al interior de


los paréntesis (), pues printf es más una función que una instrucción propia de C++.

Ya tenemos claro cómo mostrar texto por pantalla en C++ ahora haremos uso de
este concepto y veremos cómo leer texto por teclado en C++.

ENTRADA O LECTURA DE DATOS EN C++

Tal como se mencionó hace un momento, la lectura de datos en C++ es bastante


simple. Leer datos por teclado en C++ se hace usando el comando cin>> es importante
notar el uso de los dos signos >> que son usados para controlar el flujo de datos. No se

6
debe de preocupar mucho por ellos, solo se debe tomar en cuenta que cada vez que vaya
a usar la instrucción cin se debe agregar >> para quedar con un cin>>. Una manera muy
sencilla de recordar esta instrucción es que in significa entrar y como se está programando
en C++ le añadimos la letra C al comienzo quedando así cin>>  (sin olvidar los >>).

A continuación, miraremos unos ejemplos simples para leer datos en C++.


Recordemos que lo ideal para leer datos es indicarle al usuario qué es lo que esperamos
que ingrese por lo que en estos ejemplos usaremos también lo recién aprendido (mostrar
texto por pantalla).

Ejemplo de lectura de datos en C++, usando cin:

En este ejemplo hemos hecho un pequeño sistema de bienvenida personalizado


para el usuario leyendo el valor por teclado de su nombre. En el comando cin>> se debe
poner, después de >>, el nombre de la variable en la cual se almacenará el valor que el
usuario ingrese. Por tal motivo primero se declaró una variable llamada nombre y luego se
usó cin >> nombre indicando que lo que el usuario ingrese se almacenará en dicha
variable.

Ahora bien, el ejemplo anterior es funcional. Sin embargo, presenta problemas


para mostrar los valores, cuando el nombre que ingresas contiene espacios. Y como es
muy posible que un nombre contenga espacios, debemos repararlo.

7
Ejemplo mejorado para leer datos en C++ usando getline y cin:

En este ejemplo hemos hecho exactamente lo mismo, pero hemos modificado el


modo de leer la información desde la consola, de modo que, aunque el valor del nombre
incluya espacios, no haya fallas y se use el valor completo introducido por el usuario.

USO DE SCANF PARA LEER VALORES Y CADENAS DE TEXTO (STRING) EN C++

El operador scanf al igual que printf fueron ideados para el lenguaje C (no para C+
+), por lo cual su uso es más primitivo y, en cierto modo, complejo. Leer datos con scanf
implica comprender un poco el concepto de punteros y particularmente en el caso de
string (que es una librería de C++) se complica aún más, pues debemos convertir ese string
en un array definido de caracteres (char).

Observaremos un ejemplo sobre el uso de scanf y string en C++ para tener una
idea más concreta acerca de estas dificultades:

8
Como podemos ver, necesitamos seguir usando la sintaxis tipo "%s" para leer una
serie de caracteres, pero en esta ocasión debimos además especificar el tamaño del
mismo (100). Adicionalmente, en los siguientes argumentos de scanf, pasamos entonces
el nombre de la variable a la cual asignar el valor ingresado por el usuario.

Ahora, es un código un tanto curioso. Y siendo sincero, el uso de string es


completamente innecesario en ese código (por desgracia). Tanto scanf como printf nos
obligan a usar tipos muy primitivos, como char, así que si queremos usar string es poco lo
que podemos hacer, pues, aunque en nuestro código finalmente hemos usado string, en
realidad se trata de un array de 100 caracteres (char) disfrazado.

El código funciona y te permitirá entonces leer valores por medio de scanf y


asignarlos a una variable. Esto funciona muy bien con números, pero con string o
básicamente en este caso un array de caracteres, debemos lidiar con tamaños constantes
(como el 100 que tenemos allí).

También podría gustarte