miércoles, 15 de mayo de 2013

Aprende C++: Estructura de un programa

Un programa de ordenador es una secuencia de instrucciones que le dice al computador qué hacer. Ahora verás la estructuras que estas instrucciones siguen para poder formar un programa.

Declaraciones y expresiones


El tipo de instrucción más común es la declaración. Una declaración en C++ es la unidad independiente más pequeña en el lenguaje. En el lenguaje humano, es el análogo a la oración. Nosotros escribimos oraciones en un orden para expresar una idea. En c++ escribimos declaraciones para decir al compilador que queremos que haga una tarea. Las declaraciones en C++ se terminan con un punto y coma " ; ".

Hay muchos tipos de declaraciones en C++. Las siguientes son las más comunes:

int x;
x = 5;
cout << x;

int x; le dice al compilador que "x" es una variable. Todas las variables en un programa deben ser declaradas antes de ser usadas. Hablaremos más sobre variables pronto.

x = 5; es una declaración de asignación. Le asigna a la variable "x" el valor 5.

cout << x; es una declaración de salida. Muestra en la pantalla el valor de "x" (que le asignamos el valor 5 en la declaración anterior).

El compilador también es capaz de resolver expresiones. Una expresión es una entidad matemática que equivale a un valor. Por ejemplo, en matemáticas, la expresión 2+3 equivale al valor 5. Las expresiones pueden contener valores (como 2) variables (como x), operadores (como +) y funciones (que devuelven un valor de salida basado en uno de entrada). Pueden ser singulares (2, o x) o compuestos (2+3, 2+x, x+y o (2+x)*(y-3)).

Por ejemplo, la declaración x = 2 + 3; equivale al valor 5. Este valor 5 es asignado entonces a x.

Funciones


En C++, las declaraciones son agrupadas típicamente en unidades llamadas funciones. Una función es una colección de declaraciones que se ejecutan secuencialmente. Todo programa de C++ debe tener alguna función especial llamada main(). Cuando el programa se ejecuta, la ejecución empieza por la primera declaración dentro de main(). Las funciones normalmente se escriben para hacer una tarea muy específica. Por ejemplo, una función llamada Max() contiene declaraciones para tratar de saber cuál de dos números es el mayor. Una función llamada CalcularNotas() debería calcular las notas de cada estudiante. Hablaremos más sobre funciones más adelante.

Bibliotecas


Las bibliotecas son un grupo de funciones que se han "empaquetado" para ser usadas en una gran variedad de programas. El núcleo de C++ realmente es muy pequeño y minimalista, aunque C++ viene con una gran cantidad de bibliotecas conocidas como "C++ standard libraries" (Bibliotecas estándar de C++) que proporciona al programador con funcionalidad extra. Por ejemplo, la biblioteca iostream contiene varias funciones de entrada y salida (como cout).

Echando un vistazo al programa de ejemplo


Ahora que tienes cierta comprensión sobre qué son las declaraciones, funciones y bibliotecas, echemosle un vistazo al programa "Hola Mundo"

#include <iostream>
 
int main()
{
   using namespace std;
   cout << "Hola mundo" << endl;
   return 0;


La primera línea es un tipo especial de declaración llamada directiva de preprocesador. Estas dicen al compilador que hagan una determinada tarea, en este caso, estamos diciéndole al compilador que queremos usar la biblioteca iostream. La biblioteca iostream contiene código que le dice al compilador qué hace cout y endl. En otras palabras, necesitamos esa biblioteca para escribir en la pantalla.

La linea 3 declara la función main(), que como has aprendido anteriormente, es la principal. Todos los programas deben tener una función main().

La línea 4 y 8 dicen al compilador qué lineas se incluyen en la función main(). Todo lo que este entre las llaves "{ }" se considera que está dentro de la función main().

La linea 5 es nuestra primera declaración (puedes decir que es una declaración debido a que termina con un punto y coma. Como has aprendido de la explicación de la línea 1, cout y endl se encuentran en iostream, en especial en un compartimiento llamado "std" (contracción de standard). Esa declaración le dice al compilador que mire en std si no encuentra cout y endl declarado en otra parte. En otras palabras, es necesario para que el compilador pueda encontrarlos en la linea 6.

La línea 6 es nuestra declaración de salida. Cout es un objeto especial que representa la consola/pantalla. El símbolo << es un operador (como +) llamado operador de salida. Cout entiende que todo lo enviado vía el operador << debería ser imprimido en pantalla. Endl es un símbolo especial que mueve el cursor a la siguiente línea.

Línea 7 es un nuevo tipo de declaración. Cuando un programa ejecutable termina su ejecución, devuelve un valor al sistema operativo que indica si ha habido errores o no. El valor devuelto por main() se usa para este propósito. En este caso, se devuelve el valor 0 al sistema operativo, diciéndole "todo ha ido de maravilla". Los números distintos a 0 se suelen usar para indicar que algo ha ido mal y el programa tiene que abortar. Discutiremos sobre las declaraciones return más adelante.

Conclusión


Todos los programas que vayamos a escribir seguirán esta estructura o una pequeña modificación. Hablaremos en más detalle de estas cuestiones más adelante.

Ejercicios


Los siguientes ejercicios están pensados para que entiendas mejor el material presentado arriba, las respuestas se muestras un poco más abajo.

1) ¿Cuál es la diferencia entre una expresión y una declaración?
2) ¿Cuál es la diferencia entre una función y una biblioteca?
3) ¿Qué símbolo se usa al final de cada declaración en C++?

Respuestas




1) Una declaración es una "oración" completa que dice al compilador que haga una determinada tarea. Una expresión es una entidad matemática que equivale a un valor. Las expresiones se usan dentro de una declaración.

2) Una función es una colección de declaraciones que se ejecutan secuencialmente, diseñadas para que realicen una tarea muy específica. Una biblioteca es una colección de funciones que pueden ser reusadas por muchos programas.

3) Con un punto y coma ( ; ).

No hay comentarios:

Publicar un comentario