Saltar al contenido
Topos Uranos

Resumen

Esta clase descompone el programa mínimo de C++ en sus piezas y explica el papel de cada una. La directiva de inclusión declara de qué partes de la biblioteca depende el programa, y cada componente exige su propia cabecera, aunque a veces otra la traiga «de rebote»; la función main es el punto de entrada, y su valor de retorno, el código de salida que recibe el sistema; el espacio de nombres std reúne los nombres de la biblioteca, y el curso los escribe siempre con su prefijo; las sentencias terminan en punto y coma, las llaves agrupan sentencias en bloques y los comentarios explican lo que el código no dice por sí mismo. La clase termina con la guía de estilo que el curso sigue en todos sus programas, y con la manera de leer el código ajeno que usa std::cout y std::endl.

Objetivos de aprendizaje

  1. Identificar en un programa la directiva de inclusión, la función main, las sentencias, los bloques y los comentarios, y explicar el papel de cada uno.
  2. Explicar qué hace #include y por qué cada componente de la biblioteca exige su propia cabecera, aunque el programa compile sin ella en un compilador determinado.
  3. Corregir un programa con errores de estructura (llave sin cerrar, punto y coma ausente, cabecera omitida) a partir de los mensajes del compilador, leídos desde el primero.
  4. Reescribir un programa según la guía de estilo del curso y justificar cada cambio.

El programa mínimo

En la clase anterior se compiló y se ejecutó un programa sin examinarlo. Ahora se lo lee línea por línea, porque cada línea responde a una exigencia distinta: una del lenguaje, otra del sistema operativo, otra de quien lee el código. El programa es este.

Programa en C++
// Primer programa: escribe una línea y termina.#include <print>​int main() {    std::println("Hola, mundo");}
Salida
Hola, mundo

La primera línea es un comentario: comienza con dos barras y llega hasta el final de la línea, y el compilador la descarta; está escrita para quien lea el programa. La segunda es una directiva de inclusión: pide que antes de compilar se incorpore la cabecera <print>, donde la biblioteca estándar declara std::println. La línea en blanco no tiene efecto alguno; separa la preparación del programa de su contenido. La cuarta línea abre la función main, el lugar donde comienza la ejecución, y la llave que la termina abre su bloque, que se cierra en la última línea. Dentro del bloque hay una sola sentencia, terminada en punto y coma: la llamada a std::println, que escribe el texto entre comillas y después un salto de línea.

Hay que advertir que el programa no contiene ninguna instrucción para terminar. Al llegar a la llave final de main, la ejecución termina, y el programa comunica al sistema que todo salió bien; más abajo se verá cómo. De ello se sigue que cinco piezas bastan para un programa completo: comentarios, directivas, la función main, bloques y sentencias. Las secciones siguientes las examinan en ese orden, salvo los comentarios, que se tratan junto con las sentencias y los bloques.

EjemploLas piezas, una por una

En el programa del saludo, la directiva es la línea 2; la función main ocupa las líneas 4 a 6; su bloque va de la llave de la línea 4 a la de la línea 6; la única sentencia es la línea 5, y el único comentario, la línea 1. Si se borra el comentario, el programa se compila igual y produce la misma salida; si se borra cualquiera de las demás piezas, deja de compilarse o de ser un programa.