Está en la página 1de 34

1

EN BUSCA DEL
CONOCIMIENTO
Curso bsico al lenguaje C++

Mxico, Diciembre de 2013


Apuntes extrados de:
www.mibean.bogspot.com


Juan Valadez
juan.valadezmx@gmail.com
2

Introduccin del autor
Bienvenidos sean todos a este pequeo documento en el que
encontrars pequeas dosis de conocimiento compartidas para ti
de la manera ms simple y entendible posible.

Al leer este libro te embarcars en el magnfico lenguaje de
programacin C++, el cul se deriva del ms grande de todos, el
lenguaje C para sistemas Unix y la informtica tal cual hoy la
conocemos, sin estos lenguajes todo fuera diferente y a lo mejor
en vez de leer este libro estuvieras programando haciendo
hoyitos en un papel.

Este libro est pensado para iniciarse en C++ y tener unas buenas
bases del mismo, dando pequeas dosis de conocimiento de
diferentes temas para facilitar el aprendizaje.

El objetivo principal de este libro es disponer de un documento
pequeo con explicaciones simples pero entendibles con cdigos
de ejemplo para poder empezar a aprender el lenguaje C++.

Introduccin a la programacin
La programacin es el proceso de desarrollar software que
realicen una tarea en especfica para solucionar o facilitar alguna
actividad.

3

El cdigo fuente es el cdigo que escribe el programador, para
que este ms tarde se traduzca a un lenguaje que pueda
entender la mquina llamado cdigo binario o cdigo mquina.

Para desarrollar software no slo se necesita tener
conocimientos sobre los diferentes comandos de algn lenguaje
de programacin, sino tambin tener la lgica suficiente para
pensar un poco como ordenador y saber en qu forma se deben
de utilizar los comandos para lograr nuestro objetivo, el
funcionamiento de un programa o software.

Introduccin a C++
C++ es un lenguaje de programacin creado en 1980 por Bjarne
Stroustrup, con el objetivo de extender al lenguaje C.
Actualmente existe un estndar denominado ISO C++. Es un
lenguaje compilado, esto quiere decir que el cdigo que escribe
el programador se traduce directamente a cdigo mquina para
poder ejecutarlo. Este lenguaje se encuentra disponible para gran
cantidad de sistemas actuales como Windows, Linux, etc.

Existen diferentes compiladores, entre ellos GCC, el cual es
desarrollado y mantenido por la comunidad de seguidores de
software libre.




4

Por qu aprender C++
C++ es un lenguaje extenso, veloz y poderoso, y tiene mucha
similitud con el lenguaje C, por lo que al aprender C++ ests
aprendiendo gran parte de C.

C++ junto a C son utilizados para desarrollar sistemas
computacionales, software y videojuegos grandes. Cabe
mencionar que Linux est desarrollado en lenguaje C.

Es ideal para personas nuevas, con conocimiento medio y
profesionales.

Peculiaridades de C++
Su pronunciacin correcta es c plus plus
Es sensible a maysculas o minsculas (case sensitive), por
lo que no es lo mismo Cout que cout.
Al igual que en gran cantidad de lenguajes, al terminar con
las instrucciones el programa se cierra.
Cada instruccin termina con un punto y coma.






5

Requisitos para poder programar en C++
Para poder desarrollar programas en el lenguaje C o C++ es
necesario tener algunas herramientas para el mismo. La gran
mayora de estas herramientas se encuentran disponibles
totalmente gratis por internet.

Editor: En este programa escribiremos el cdigo de nuestros
programas. La mayora integran algunas caractersticas para
hacernos ms fcil la vida, como el resalto de sintaxis.

Compilador: En pocas palabras traduce nuestro cdigo fuente a
cdigo mquina.

Podemos conseguir tambin algn IDE o Entorno de Desarrollo
Integrado el cual incluye todo lo necesario en un solo paquete. Se
puede usar cualquiera, C++ sigue siendo el mismo.

Entre los ms usados se encuentran code::blocks y DevC.






6

Estructura bsica de un programa en C++
Siguiendo una gran costumbre, empezaremos con el programa
denominado HelloWorld! (Hola Mundo). Este programa lo
nico que hace es mostrar un mensaje por pantalla. Aqu el
cdigo.



Recordemos que al terminar con todas las instrucciones el
programa se cierra, por lo que se mostrar el mensaje Hola
Mundo y despus el programa finalizar, para evitar esto
podemos usar system(pause), en Windows en la librera
windows.h

Luego de tener el cdigo, lo guardamos con extensin .cpp
tenemos que compilar y ejecutar el cdigo para ver que funcione,
as que buscamos la opcin build o construir. Si nuestro
cdigo tiene errores de sintaxis nos mostrar un poco de
informacin de los mismos y el programa no correr (no se
ejecutar).



7

Ahora explicaremos lnea por lnea.

#include <iostream>
Incluye la librera bsica de C++ para entrada y salida de datos.

using namespace std;
Esto es algo complicado de entender por el momento, pero es
necesario para no tener que escribir std:: antes de cada comando.

int main(void) { }
Funcin principal de nuestro programa, todo el cdigo del
programa debe de estar aqu, dentro de las llaves.

cout << Hola Mundo << endl;
Muestra el mensaje Hola Mundo y salta al siguiente rengln.

return 0;
Indica que el programa ha terminado con cero errores.




8

Mostrando informacin por pantalla
El comando cout nos da la posibilidad de mostrar mensajes por
pantalla, y se usa de la siguiente manera:

cout << Mensaje entre comillas;

Si es que deseamos pasar a la siguiente lnea agregamos el
comando endl. Algo as:

cout << Mensaje entre comillas << endl;

Esto nos da la idea de que en un mismo comando cout podemos
imprimir tantos mensajes como queramos en un solo comando,
agregando nicamente <<.

Las variables y su manipulacin
Gran parte del software que se desarrolla maneja datos, ya sean
introducidos por algn dispositivo como el teclado, o definidos
en el mismo cdigo del programa.

Una variable en matemticas, es un valor representado por
alguna letra o smbolo que como su nombre lo indica, puede
variar, algo parecido sucede en la programacin.

9

En un programa, una variable es un pequeo espacio en memoria
que almacena datos que pueden variar o modificarse, a estos
espacios en memoria se les asigna un tipo de dato y un nombre.

Los tipos de datos bsicos son los siguientes:
int Almacena nmeros enteros.
float Almacena nmeros reales.
char
Almacena un carcter (una
letra).
string Almacena una cadena de texto.
bool
Almacena un dato verdadero o
falso.

Antes de usar un espacio para guardar datos, es necesario
crearlo, a esto se le conoce como declaracin de variables, y su
estructura es la siguiente:

tipo nombre_variable;

Ejemplo:

int numero;

Para asignarle un valor basta con agregar el signo igual (=).

numero = 5 + 10;
10

Algo importante de mencionar es que el nombre de estas
variables debe de empezar obligatoriamente con una letra,
haciendo a un lado los acentos y la letra .

Operadores aritmticos
Estos operadores, son esenciales para realizar operaciones
bsicas, y los operadores son: +, -, *, /. Ejemplo:

area_circulo = 3.1416 * (radio * radio);

Si deseamos sumarle o restarle un dato a el valor actual de
nuestra variable, simplemente agregamos el signo + o -, seguido
del signo igual y el valor a agregar. Ejemplo:

personas = 10;
personas += 5;

Con esto, ahora la variable tendr un 15 como valor.

Incremento o decremento
Para incrementar o decrementar 1 en el valor de una variable,
podemos usar los operadores ++ y - -. Ambos se pueden agregar
antes o despus de la variable, la diferencia principal, es que al
usar el modo variable++ primero se usa la variable y luego se
11

incrementa, mientras que del modo ++variable primero
incrementa y luego se usa. Ejemplo:
a = 5;
b = a++;
a = 5;
b = ++a;
b = 5, a = 6 b = 6, a = 6;

Leer valor de teclado
Si es que deseamos leer algn valor de teclado e ingresarlo en
nuestra variable simplemente usamos el comando cin. Se usa
de la siguiente manera:

cin >> variable;

Mostrar valor de variable
Para mostrar el valor que contiene la variable simplemente se usa
cout. De la siguiente manera:

cout << variable;

Como podemos observar, en este caso no lleva comillas en el
cout, de lo contrario, en vez de mostrar el contenido de la
variable, mostraramos el mensaje variable.



12

Ejemplo prctico. Suma de dos nmeros
El programa pide dos nmeros, posteriormente muestra el
resultado de la suma de los mismos.



Como podemos observar, no es necesario crear una variable en la
que se guarde el resultado de la suma de los dos nmeros, sino
que simplemente en el mismo cout agregamos la operacin.

Las constantes
Una constante es un valor que no puede variar, se declara de
igual forma que una variable, slo agregando la palabra const al
inicio. Ejemplo:

const float valor_pi = 3.1416;



13

Los comentarios en un programa
Para un programador resulta un poco complicado leer y entender
el cdigo de otro programador, o cdigo del mismo pero escrito
hace un tiempo. Para dar una idea ms fcil de que hace el
programa existen los comentarios, los cuales se agregan entre las
lneas del cdigo sin afectar el funcionamiento del mismo.

Existen dos tipos bsicos de comentarios en C++, el comentario
de lnea y el multi-lnea.

Ambos no necesitan una explicacin tan extensa, slo basta dar
un ejemplo de los mismos.

// Esto es un comentario

/*Esto es un comentario
de varias lneas */






14

Sentencias if
Una sentencia if, se usa para marcar condiciones en los
programas, si se cumple cierta condicin se realizan ciertas taras.
Su estructura es la siguiente:

if (condiciones) {
// Instrucciones
}

Si slo es una instruccin no se necesitan las llaves.

Operadores comparativos
Los operadores comparativos, como su nombre lo indica, nos
ayudan a comparar datos. Estos comparadores son los
siguientes:
== Igual que
> Mayor que
< Menor que
>= Mayor o igual que
<= Menor o igual que
!= Diferente que




15

else
La instruccin else, se traduce a sino, y se usa en un if, de la
siguiente manera:

if (condiciones) {
// Instrucciones si se cumplen condiciones
} else {
// Instrucciones si no se cumplen condiciones
}

Ejemplo prctico. Mayor o menor de edad
El programa pide la edad, y determina si la persona es mayor o
menor de edad.




16

if else if
Si cierta condicin no se cumple y queremos que se cumpla otra
podemos agregar un else if. Funciona igual que el primer if, pero
este slo se ejecuta si la condicin anterior no se cumpli.

Ejemplo prctico. Determina peso
Si peso es menor a 50, es ligero, si es 50, es medio, si es mayor a
50 es pesado.



Operadores lgicos
Si deseamos realizar alguna accin slo si varias condiciones se
cumplen, o si no se cumple una instruccin pero otra s, podemos
usar los siguientes operadores.
&& Y
|| O


17

Ejemplo prctico. Aprobado, reprobado
Si calificacin es mayor a 5 y menor o igual a 10, alumno pasa, si
es menor o igual a 5, reprueba, si nada de esto se cumple manda
mensaje de error.



Bucles o ciclos
Los bucles tienen la funcionalidad de repetir una tarea mientras
ciertas condiciones se cumplan. En C++ existen dos elementales,
For y While.






18

For
Este ciclo se usa principalmente cuando se intenta repetir
instrucciones un nmero determinado de veces, su estructura es
la siguiente:

for (valor inicial; condiciones; forma de
cambio) {
// Instrucciones a repetir
}

Ejemplo prctico. Saluda 10 veces
El programa muestra el mensaje Hola Mundo 10 veces.



En este caso podemos observar que la variable i, incrementa de
forma i++, pero como no necesitamos hacer otra cosa ms que
incrementarla, se recomienda ms ++i por ser ms veloz.


19

While
El ciclo while es algo menos complejo, simplemente se encarga
de repetir una accin mientras ciertas condiciones se cumplan. Su
estructura es la siguiente:

while (condiciones) {
// Instrucciones a repetir
}

Ejemplo prctico. Pide nmero 6
El programa sigue pidiendo un nmero mientas no sea el nmero
6.






20

Do-while
Existe una alternativa a el ciclo while, denominada do-while, la
cual funciona de la misma manera que el while, slo su estructura
es diferente.

do {
// Instrucciones a repetir
} while (condiciones);

Las funciones o subprogramas
Una funcin o subprograma, es un cdigo escrito fuera de la
funcin principal (main), para realizar algunas tareas simplificar
el cdigo de un programa, estas funciones pueden ser llamadas
las veces que sea necesario y con esto se evita tener que copiar el
mismo cdigo en otra parte del programa. Simplemente la
llamamos de nuevo y listo.

Una funcin en C++ tiene el siguiente formato:

Tipo nombre_funcion(parmetros) {
// Cdigo del subprograma
}


21

Como podemos observar, se declara el tipo, esto simplemente
porque las funciones pueden o no regresar algn dato que
podremos obtener en la funcin principal. Se utilizan los mismos
tipos que en una variable, adems de poder usar tambin el tipo
void el cual indica que la funcin no regresar ningn valor,
sino que simplemente realizar las instrucciones ya marcadas.

Los parmetros, son datos que se pueden compartir con la
funcin, para poder ser usados en algunas tareas.

Ejemplo prctico. rea de un crculo
El programa pide el radio de un crculo y muestra el rea total del
mismo.




22

Se recomienda declarar las funciones arriba del main, dejando as
el main hasta abajo, de lo contrario, se tendrn que declarar de
nuevo las funciones.

Como podemos observar, la funcin se puede usar como
cualquier variable. En este caso, imprimiendo su contenido desde
cout.

Parmetros por referencia
Un parmetro por referencia es aquel que puede modificar el
valor de la variable que se ingresa como parmetro. Se
recomienda ms hacer una funcin que retorne el valor que
necesitamos, pero si no lo deseamos hacer, simplemente el
parmetro se agrega de la siguiente manera.

void funcin ( int &variable) {
// Instrucciones a realizar
}

La nica diferencia que podemos notar, es la integracin del
smbolo & antes del nombre de la variable.




23

Arrays. Vectores y matrices
Un array o arreglo en programacin, es una estructura de datos
que permite agrupar elementos del mismo tipo y almacenarlos en
un solo bloque de memoria. Su creacin es muy sencilla.

Vector o array unidimensional
Si deseamos crear un vector o array unidimensional, simplemente
agregamos corchetes en seguida del nombre de la variable:
tipo variable[num_de_datos];

Al llamar a un dato, es necesario saber que el primero se nombra
como cero, por lo que si tenemos, por ejemplo, un array de 10
espacios, los espacios seran: 0,1,2,3,4,5,6,7,8,9.




Matriz o array de dos dimensiones
Si deseamos crear un array con dos dimensiones de datos, es
decir, en forma de tablas, simplemente agregamos otros
corchetes.

tipo variable[numx][numy];

24

Manipulacin de arrays
Un espacio del array, se usa de igual manera que una variable,
simplemente especificando el espacio del array al que deseamos
acceder.

Ejemplo prctico. Suma de 10 nmeros
El programa pide 10 nmeros, los suma, y muestra el resultado.








25

Estructuras
Una estructura es un tipo de dato que podemos crear con
variables y funciones dentro del mismo. Usado frecuentemente
para agrupar datos correspondientes a caractersticas de una
cosa. Su estructura es la siguiente:

struct nombre {
// Datos a agrupar
};

Como podemos observar, al final de su declaracin es necesario
agregar un ; el cual indica que la estructura se ha finalizado.

Posteriormente se declara como cualquier otra variable, tipo
creado, espacio, nombre. Ejemplo:

humano Juan;

Y para acceder a cada uno de sus datos simplemente escribimos
el objeto creado seguido de un punto y el nombre del dato.
Posteriormente se usa como cualquier otra variable.

cout << Juan.edad << endl;

26

Su uso es muy simple, no hace falta mucha prctica para dominar
este tema, aun as, es necesario repasar un poco.

Ejemplo prctico. Humano y caractersticas
El programa crea una estructura llamada humano, se declara un
objeto de nombre Juan a base de esta estructura,
posteriormente pide edad, peso y estatura.








27

Programacin orientada a objetos en C++
Lo que se ha aprendido hasta ahora es programacin
estructurada, la cual es el tipo de programacin bsico en C puro,
ahora aprenderemos lo que es el ++ de C++.

La programacin orientada objetos es aquella en la que como su
nombre lo dice todo es un objeto, algo parecido a lo que es una
clase, un tipo con muchos datos, a este tipo de datos se le
conoce como clases, las cuales tienen algunas funciones ms que
las estructuras.

La declaracin de una clase es muy parecida a la de una
estructura, las diferencias principales estn en sus ms opciones
y funciones frente a una estructura. Su forma de declarar es la
siguiente:

class tipo {
// Datos
};






28

Private y public
Una diferencia principal frente a una estructura es que en una
clase es posible proteger algunos datos dentro del comando
private, y dejar pblicos otros con el comando public. De la
siguiente manera:

class tipo {
private:
// datos privados
public:
// datos publicos
};

Los datos privados pueden ser usados y modificados slo desde
funciones propias de la clase.

Si es necesario obtener algn valor privado en cualquier parte del
programa, podemos simplemente crear una funcin dentro de la
clase para que retorne este valor.

Constructor
Otra diferencia frente a las estructuras, es que en una clase no se
pueden inicializar los datos ms que dentro de una funcin, es
decir, no se puede asignar valores a las variables si no se hace
desde una funcin propia de la clase.
29

Para estos casos podemos usar lo que se le conoce como un
constructor, lo cual es una funcin sin tipo, y la cual se ejecuta al
declarar la clase. Este constructor se debe de declarar de forma
pblica, y su estructura es la siguiente:

nombre_clase() {
// Inicializar variables
}

Como podemos observar, tambin se le pueden pasar
parmetros.












30

Ejemplo prctico. Perros y caractersticas
Crear una clase llamada perro, declarar un tipo perro con el
nombre max, dar edad al perro, ladrar.



Si deseamos crear una clase y declarar directamente un solo tipo
de esta lo podemos hacer en seguida de la llave de cierre de la
clase y antes del ;.

class mi_clase {
// Datos
} Clase;


31

Herencia
La herencia en programacin es aquella parte en la que se crea
una clase que como su nombre lo dice hereda caractersticas de
otra llamada clase base.

Su forma de declarar es la siguiente:

class clase_base {
// Datos
};

Class clase_hija : public clase_base {
// Datos clase_base (no se ven en el codigo)
// Datos clase_hija
};

Headers (libreras.h)
Una librera de cabecera o header en C++ es un archivo de C++
con extensin .h los cuales integran principalmente funciones
ya escritas totalmente funcionales para ser llamadas desde
nuestros programas. En C++ estndar existen muchas de estas,
entre ellas la iostream, la cual integra todo lo necesario para
poder manipular datos (lectura por teclado e impresin por
pantalla).

32

Nosotros podemos crear estos headers fcilmente, simplemente
escribimos el cdigo de nuestras funciones y lo guardamos con
algn nombre que integre terminacin .h

Posteriormente podemos incluirla en nuestros programas,
simplemente copiando nuestra librera al directorio de nuestro
espacio de trabajo, es decir, la carpeta en la que se encuentra el
programa que deseamos que use esta librera.

Ya por ltimo, simplemente incluimos la librera como cualquier
otra, simplemente con la diferencia, de que se incluir como
librera local, lo cual se hace de la siguiente manera:

#include mi_libreria.h

Como se puede observar la nica diferencia se encuentra en que
el nombre de la librera se agrega entre comillas.

Ahora simplemente llamamos a las funciones de la librera en
nuestro programa principal.





33

Lo ms criticado o poco usado
Switch
Switch se usa como una alternativa al if, sin embargo su uso y
estructura no es la ms recomendada y puede llevar a entorpecer
el entendimiento del programa. De cualquier manera se tena que
dar un poco de informacin, porque existe y est ah por si lo
deseamos usar.

Goto
Goto, es una funcin muy conocida pero tambin muy criticada.
Su funcin es nombrar la parte de un programa y poder regresar
a ella cuando lo necesitemos, si bien parece til pierde
totalmente la estructura del programa por lo que no se
recomienda usar, en todo caso, se recomienda ms usar
funciones.

Conio.h, gotoxy, getch
Es una librera que se encuentra principalmente en compiladores
Borland para C++, estos incluyen algunas funciones como gotoxy
y getch que pueden resultar algo tiles pero pueden daar la
velocidad el programa adems de su portabilidad a otros
compiladores o plataformas. Conio.h no es una librera estndar
de C++. En todo caso, existen buenas alternativas o las podemos
crear manualmente.



34

System()
Las funciones de este comando slo estn disponibles en algunos
sistemas por lo que al pasar el cdigo a otro sistema puede fallar
provocando as errores en el programa. Adems de que esta
funcin puede llegar a ralentizar el programa.

También podría gustarte