Enrere Mòdul 1
Fonaments de Programació. Llenguatge C/C++---
Pràctica    Resum teòric Exercicis

 
HOLA MÓN

L'objectiu d'aquesta pràctica és conèixer l'entorn Visual C++ i poder escriure, compilar i executar la primera aplicació senzilla.

El resultat d'aquesta pràctica serà només una aplicació que treu per pantalla el text "HOLA MON". Aquest és tradicionalment la primera aplicació que es fa en qualsevol llenguatge de programació. És una aplicació extremadament senzilla i amb ella aprendrem només com començar a escriure codi i construir aplicacions executables.

 

Desenvolupament de la pràctica

Tal i com es pot consultar en el Resum teòric, Visual C++ permet mantenir una estructura complexa d'espais de treball, projectes i arxius. Es proposa per tot el curs que cada mòdul diferent correspongui a un nou espai de treball, i cada pràctica o exercici correspongui a un nou projecte. Tots els projectes tindran, doncs, un únic arxiu. Els projectes del mòdul 1 es posaran en un espai de treball anomenat m1, els del mòdul 2 a l'espai de treball m2 i així successivament.

Per tant, el primer que s'ha de fer és crear un nou espai de treball en blanc i anomenar-lo m1, per això s'han de seguir els següents passos:

  • Per tal de crear un nou espai de treball seleccioneu en el menú: File->New->fitxa Workspaces, Blank Workspace. Trieu el directori on es posaran tots els arxius (es recomana el directori c:\curs visual c++). Ompliu amb el nom d'aquest directori el camp Location i poseu el nom m1 en el camp Workspace name.

Ara que ja tenim un espai de treball nou crearem un nou projecte:

  • Fey clic amb el botó dret del ratolí damunt el text: Workspace 'm1' 0 projects i seleccioneu l'opció Add New Project to Workspace. Seleccioneu l'opció Win32 Console Application. D'aquesta forma podreu veure el quadre de diàleg de la figura:

  • Ompliu els camps: Project name i Location amb el nom del projecte i la seva ubicació. El quadre del camp Location afegeix automàticament una barra invertida, seguida del nom del projecte inserit en el quadre del camp Project name.

Anomeneu el projecte m1p01. Deixeu activat l'opció Add to current workspace i Platforms: Win32 i feu clic en OK.

  • Apareixerà un quadre de diàleg amb el títol Win32 Console Application -Step 1 of 1. Deixeu activada l'opció An empty project i feu clic en Finish.

  • Apareix una altre quadre de text: New Project Information amb la informació d'allò que ha construït l'assistent Win32 Console Application. En aquest cas, no ha creat cap arxiu. Feu clic en OK.

  • Ara que ja tenim un projecte anomenat m1p01 i un espai de treball anomenat m1, hem d'afegir un nou arxiu al projecte on escriurem el codi font de l'aplicació. Seleccioneu File -> New->fitxa Files ->C++ Source File. Deixeu activada l'opció Add to project m1p01 i ompliu el camp File name amb el nom m1p01. Visual C++ afegeix automàticament l'extensió ".cpp". Feu clic a OK.

  • Ja podem escriure el codi del programa a la finestra de text. Escriviu el següent codi:
  •  

    /*m1p01.cpp: Hola món */

    #include <stdio.h> /*declaració de funció printf*/

    void main(){

        printf("HOLA MON\n"); /* de moment sense accents*/

    }

     

    Deixarem per al final l'explicació d'aquest codi.

  • Ara crearem l'arxiu m1p01.exe: Seleccionem Build -> Build m1p01.exe (o bé la tecla F7). D'aquesta forma es crearà un arxiu anomenat m1p01.exe a la carpeta \...\m1p01\debug\. 

  • Si tot ha anat bé, a la finestra Output, que es troba a la part inferior de la pantalla, sortirà el següent missatge:
  • m1p01.exe - 0 error (s) , 0 warning (s)

  • Seleccioneu Build->Execute m1p01.exe (o bé la tecla Ctrl F5). D'aquesta forma s'obrirà una finestra d'MS-DOS en la qual podeu observar el resultat de la instrucció; el text "HOLA MON".

El procés de creació de l'arxiu m1p01.exe porta la creació de molts arxius intermedis. Tots aquests arxius, a més del mateix arxiu m1p01.exe, s'ubiquen a la carpeta \...\m1p01\debug\..

Si ens fixem en la mida de l'arxiu executable veurem que és massa gran (més de 150 kb). Aquest arxiu tan gran permet la depuració o correcció d'errors (debug). El tema de la depuració serà tractat més endavant. Si ja hem comprovat que el programa funciona, podem fer una compilació optimitzada que crearà un arxiu executable més petit.

  • Seleccioneu Build ->Clean. Això esborrarà tots els arxius de la carpeta \...\m1p01\debug\, incloent l'arxiu m1p01.exe.

  • Seleccioneu Build ->Set Active Configuration ->m1p01: Win21 Release i feu clic a OK.

  • Torneu a construir l'arxiu pract1.exe amb Build -> Build m1p01.exe i veureu que aquesta vegada ha construït l'arxiu m1p01.exe a la carpeta \...\m1p01\release\ amb una mida sensiblement més petita.

Podem comprovar que aquest és un arxiu executable de consola executant-lo en una finestra MS-DOS fora de l'entorn de Visual C++. Això es pot fer des del Windows 95/98/2000 amb inici->Programes->MSDOS. Una vegada en la finestra, podem desplaçar-nos per les diferents carpetes del disc amb el comandament MS-DOS:

  • cd <nom de carpeta> per anar a una carpeta filla específica.
  • cd .. per anar a la carpeta mare.

Una vegada a la carpeta \...\m1p01\release\ proveu d'escriure m1p01 (no fa falta escriure el nom de l'extensió).

Explicació del programa

Ara farem una breu explicació del codi del programa "Hola món":

*m1p01.cpp: Hola món */

#include <stdio.h> /*declaració de funció printf*/

void main(){

    printf("HOLA MON\n"); /* de moment sense accents*/

}

 

El primer que podem observar en el text del codi és els tres colors: verd, blau i negre.

El text entre dues marques /* i */ es posa de color verd, és el color predeterminat per als comentaris. A la pràctica següent farem servir altres formes de posar comentaris.

Les paraules #include i void es posen automàticament de color blau, és el color predeterminat per les paraules reservades de C i de les directives del preprocessador.

La resta del codi queda de color negre.

#include <stdio.h> indica al compilador que es farà servir alguna funció, la declaració de la qual es troba a l'arxiu de capçalera stdio.h. En aquest cas es tracta de la funció printf().

Tot programa C conté sempre la funció main(). En aquest cas, la funció main() no torna cap valor de retorn (això és el que vol dir la paraula void que es posa davant).

L'única sentència d'aquest programa és una crida a la funció de la llibreria estàndard d'entrada i sortida: printf(). En aquest cas, la funció només té un argument que és una cadena de caràcters tancats entre dobles cometes. Aquesta cadena de caràcters conté caràcters per imprimir per pantalla i un codi de format especial: \n. Aquest és un codi de nova línia i serveix perquè, el que s'imprimeixi a la pantalla després, es faci a la següent línia.

Recordeu que tota sentència acaba amb el caràcter ; (punt i coma).