deas 2015

La mejor manera de aprender un lenguaje de programación es escribiendo programas. Por lo general, el primer programa de principiantes es un programa llamado "Hello World", que simplemente imprime (print) "Hello World" en la pantalla de su computadora. Aunque este sea muy simple, contiene los componentes fundamentales que los programas C++ deben tener, veamos:
//mi primer programa en C++
#include <iostream>

int main()
{
std::cout << "Hello World!";
}

La figura anterior muestra el código C++ para este programa inicial. Luego el display de pantalla verde, nos muestra el resultado cuando el programa es ejecutado por un ordenador.

Explicando el Código línea por línea: 

Línea 1:


//mi primer programa en C++
Dos barras inclinadas comenzando, indican que el resto de la línea es un comentário insertado por el programador, pero que no tiene ningún efecto en el comportamiento del programa. Normalmente, los programadores los usan para incluir explicaciones u observaciones cortas sobre el código o el programa.
En este caso, se trata de una breve descripción introductoria del programa.

Línea 2:

#include <iostream>

Las líneas que comienzan con un signo hash (#) son directivas leídas e interpretadas por aquello que se conoce como preprocesador. Son líneas especiales interpretadas antes de que empiece la compilación del programa en curso. En este caso, la directiva #include <iostream>, indica al preprocesador que incluya una sección de código C++ estándar, conocida como encabezado iostream, el cual nos permite realizar operaciones de entrada y salida estándar, como escribir la salida de este programa (osea "Hello World!") en la pantalla.

Línea 3:


 
Las líneas en blanco no tienen ningún efecto en un programa. Simplemente mejoran la legibilidad del código.

Línea 4:

int main()

Esta línea inicia la declaración de una función. Esencialmente, una función es un grupo de sentencias de código que reciben un nombre: en este caso, esta dándole el nombre de "main" ó "principal" al grupo de instrucciones de código que le siguen.
Las funciones serán discutidas con mas detalles en un capítulo posterior, pero esencialmente, su definición se introduce con una sucesión de un tipo (int), un nombre (main) y un par de paréntesis(), que pueden incluir opcionalmente parámetros.
La función llamada "main" es una función especial en todos los programas C++; ella es llamada cuando se ejecuta el programa. La ejecución de todos los programas de C++ comienzan con esta función, independientemente de dónde se encuentre la función dentro del código.

Línea 5:

{ y } 
La llave abierta { en la línea 5 indica el comienzo de la definición de la función main y la llave de cierre } en la línea 7, indica su final. Todo entre estos apoyos es el cuerpo de la función que define lo que sucede cuando es llamada la función main. Todas las funciones utilizan llaves para indicar el comienzo y el final de sus definiciones.

Línea 6:


std::cout << "Hello World!";
Esta línea es una declaración de C++. Se considera una declaración a una expresión que realmente puede producir algún efecto. Es la 'carne' de un programa, la cual especifica su comportamiento real. Las sentencias se ejecutan en el mismo orden en que aparecen en el cuerpo de la función.
Esta declaración tiene 3 partes:
  1. std::cout
    que identifica el dispositivo de salida "cout" de caracteres estándar "std" (normalmente la pantalla de la computadora) ambos enlazados por :: que es el operador de Resolução de escopo que permite interactuar con "cout" que es la función contenida en la directiva iostream.
  2. << "Hello World!";
    el operador de inserción "<<"  indica que lo que sigue se insertará en std::cout. 
  3. Finalmente, una oración entre comillas ("Hello World!"), que es el contenido insertado en la sálida estándar. 
      • Observe que la sentencia termina con un punto y coma (;). Este carácter lo que hace es marcar el final de una declaración. Todas las instrucciones de C++ deben finalizar con un ';'. Uno de los errores de sintaxis más comunes en C++ es olvidar de terminar una instrucción con ';'.
El programa ha sido estructurado en diferentes líneas y correctamente sangrado, con el fin de hacer más fácil su entendimiento. Pero C++ no tiene reglas estrictas sobre sangría o sobre cómo dividir instrucciones en diferentes líneas. Por ejemplo en lugar de:
 

int main()
{
std::cout << " Hello World!";
}
Podríamos haber escrito lo siguiente:
int main () { std::cout << "Hello World!"; }

Todo en una sola línea y esto habría tenido exactamente el mismo efecto que el código anterior. En C++, la separación entre sentencias se especifica con un punto y coma (;), entonces la separación en líneas diferentes nada importa para este propósito. Muchas declaraciones pueden ser escritas en una única línea, o cada declaración puede estar en su propia línea. La división del código en diferentes líneas sirve apenas para tornarlo más legíble y esquemático para los seres humanos que pueden verlo, pero obviamente no tiene cualquier efecto sobre el comportamiento real del programa.

Ahora vamos a adicionar más una declaración a nuestro primer programa:
//mi segundo programa en C++
#include <iostream>

int main ()
{
std::cout << "Hello World! ";
std::cout << "Yo soy una nueva declaración";
}
En este caso el programa está ejecutando 2 inserciones dentro de std::cout en 2 sentencias diferentes. Una vez más, la separación en diferentes líneas de código simplemente sirve para dar mayor legilibilidad al programa, ya que la función "main" podría haber sido perfectamente válida si la definimos así:
int main () { std cout << "Hello World!"; std::cout << "Yo soy una nueva declaración";}
Tambien podría haber sido dividido en más líneas de código en vez de eso:

int main ()
{
std::cout <<
"Hello World! ";
std::cout <<
"Yo soy una nueva declaración";
}
Y el resultado habria sido el mismo que en los ejemplos anteriores.

No olvidemos que: Las Directivas de Preprocesador (Aquellas que comienzan con # no lo olviden) estan fuera de esta regla general, una vez que no son declaraciones. Son líneas leídas y procesadas por el pre-processador antes de que comience la compilación apropiada. Las directivas de preprocesador deben especificarse en su propia línea y, dado que no son declaraciones, no tienen que terminar con un punto y coma (;).

Comentários:

Como se señaló anteriormente, los comentários no afectan al funcionamiento del programa; sin embargo, proporcionan una herramienta importante para documentar directamente dentro del código fuente lo que hace el programa y cómo funciona.
C++ admite dos formas de comentar el código:
   
//Comentário en líneas
/*Comentário en Bloque */
El primero de ellos, conocido como comentário de línea, descarta todo lo que se encuentre en frente de la misma línea donde están las barras inclinadas //, osea solo sirve para una misma línea donde estan esas dos barras.
El segundo es conocido como comentario de bloque, este descarta todo lo que se encuentre entre los símbolos /* y */, tiene la opción de incluir múltiples líneas. Veamos un ejemplo:
/*  mi segundo programa en C++
con más comentarios */

#include <iostream>

int main()
{
std::cout << "Hello World"; //Imprime Hello World!
std::cout << " Yo soy la segunda declaración";
}
Si los comentarios se incluyen dentro del código fuente de un programa sin utilizar las combinaciones // ó /* */, el compilador los toma como si fueran expresiones de C++, lo más probable es que la compilación falle con uno o varios mensajes de error.

Uso del namespace std

Si usted ha visto código C++ en algun otro momento de su vida, puede haber visto el cout que es utilizado en vez de std::cout. Ambos nombran al mismo objeto: el primero utiliza su nombre no cualificado (cout), mientras que el segundo lo cualifica directamente dentro del espacio de nombres estándar std (tal es el caso de std::cout).
Cout forma parte de la biblioteca estándar y todos los elementos de la biblioteca estándar de C++ se declaran dentro de lo que se llama el namespace std.
Para referirse a los elementos del namespace std, un programa cualificará cada uno de los usos de los elementos de la biblioteca(como lo hemos hecho prefijando cout con std::) ó introducirá visibilidad a sus componentes. La forma más común de introducir la visibilidad de estos componentes es a traves de la utilización de declaraciones, veamos:   
using namespace std;
La declaración anterior permite que se acceda a todos los elementos del 'namespace std' de manera no cualificada (osea sin el prefijo std::): "using namespace std" "usando namespace std".
Conocido esto, el último ejemplo puede ser reescrito para hacer usos no cualificados de cout, miren como quedaría y practiquen:
//mi segungo programa en C++
#include <iostream>
using namespace std;

int main()
{
cout << "Hello World!";
cout << "Yo soy una nueva declaración";
}
Ambas formas de acceder a los elementos del namespace std (cualificación explícita y usando declaraciones) son válidas en C++ y producen exactamente el mismo comportamiento. Pero para simplificar y mejorar la legibilidad, los ejemplos de estos tutoriales usarán más a menudo este último enfoque con el uso de declaraciones, aunque tenga siempre en cuenta que la cualificación explícita es la única manera de garantizar que nunca se produzcan colisiones de nombres.
Culminado y entendido esto, habremos llegado a una parte importante de conocimientos para empezar a trabajar con C++, no podemos desistir si queremos llegar a desenvolver cualquier cosa con este maravilloso lenguaje!

Publicar un comentario

Con la tecnología de Blogger.