Vous êtes sur la page 1sur 34

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


1

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.

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.

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.

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.

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).

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.

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.

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 float char string bool Almacena nmeros enteros. Almacena nmeros reales. Almacena un carcter (una letra). Almacena una cadena de texto. 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;
9

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

10

incrementa, mientras que del modo ++variable primero incrementa y luego se usa. Ejemplo: a = 5; b = a++; b = 5, 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: a = 5; b = ++a; b = 6, a = 6;

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.

11

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;

12

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 */

13

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

14

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.

15

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

16

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.

17

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

for (valor cambio) {

inicial;

condiciones;

forma

de

// 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.

18

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.

19

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 }

20

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.

21

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.

22

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];

23

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.

24

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;

25

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.

26

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 };

27

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.
28

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.

29

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;

30

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).

31

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.

32

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.

33

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.

34

Vous aimerez peut-être aussi