![]() |
Mòdul
1
![]() |
Fonaments de
Programació. Llenguatge C/C++![]() |
Pràctica
![]() ![]() ![]() ![]() ![]() ![]() |
![]() |
Resum Teòric
Elements bàsics d'un ordinador Un ordinador és un sistema capaç d'emmagatzemar i processar amb molta rapidesa una gran quantitat d'informació. Una de les parts més importants d'un ordinador és la memòria. La memòria d'un ordinador està constituïda per un gran nombre d'unitats elementals anomenades bits. Per tal de facilitar l'accés a aquests elements, els bits s'agrupen en grups de vuit, anomenats bytes o octets. La memòria es sol mesurar en Kbytes (1024 bytes), Mbytes (1024 Kbytes) i Gbytes (1024 Mbytes). La CPU (Central Processing Unit) o Unitat Central de Processament, accedeix a la memòria per paraules (words) constituïdes per 2, 4 o 8 bytes (16 bits, 32 bits o 64 bits). Els ordinadors personals habituals –des del processador 386– tenen arquitectura de 32 bits (4 bytes). Aquesta dada és important a l'hora d'escriure un programa. La memòria d'un ordinador s'utilitza per emmagatzemar diversos tipus d'informació: dades i programes. Dintre dels programes es pot distingir entre aplicacions i el propi sistema operatiu. Aquest últim és un conjunt de programes encarregats de la gestió interna de l'ordinador i la comunicació amb els diferents perifèrics.
Els programes i els llenguatges informàtics Un programa està constituït bàsicament per un conjunt d'instruccions que s'executen seqüencialment, una darrera de l'altra (s'ha de mencionar, no obstant, l'existència de programes paral·lels, és a dir, que es poden executar simultàniament en més d'un processador). Les instruccions que entén un processador estan constituïdes per uns i zeros. A això se li diu llenguatge màquina o binari. Des dels primers anys en què existeixen els ordinadors es varen desenvolupar llenguatges d'alt nivell, més propers al llenguatge natural. Al llarg de tota la història dels ordinadors, han existit molts llenguatges de programació d'alt nivell. Aquests han sofert una diversificació i una evolució (el mateix que ha passat amb les llengües naturals). Cada llenguatge disposa d'una sintaxi o conjunt de regles per construir les diferents instruccions. Els llenguatges d'alt nivell són més o menys comprensibles per l'usuari però no pel processador. Perquè aquest pugui utilitzar-los és necessari traduir-los al seu propi llenguatge màquina. Aquesta és la tasca que es pot fer amb un intèrpret (com tradicionalment fa el BASIC) o amb un programa especial anomenat compilador. Aquest últim tradueix el programa al llenguatge propi de la màquina. Aquesta tasca es sol fer en dues parts: compilat i enllaçat (linkat). La primera part, o compilat, crea un fitxer objecte en un llenguatge pròxim a l'ordinador. La segona part, fa el procés de muntatge del programa amb les llibreries necessàries per crear el programa executable. Aquestes dues parts es poden fer d'un sol cop o bé per separat. Un dels avantatges més importants dels llenguatges d'alt nivell és la portatibitat. Això vol dir que un programa desenvolupat en un PC podrà, en principi, ser executat en una altra plataforma (Macintosh, UNIX, etc.). Uns llenguatges asseguren més que d'altres aquesta característica. C és un dels destacats respecte a la portatibitat. De totes formes, per qüestions comercials i tècniques, la portatibitat no és mai 100%.
Els llenguatges C i C++ El llenguatge C La invenció del llenguatge C s'adjudica a Dennis Ritchie a mitjans del 70 en els laboratoris Bell de la AT&T. Va ser posteriorment estandarditzat per un comitè de l'ANSI (American National Standard Institute), per poder garantitzar la compatibilitat de les diferents implementacions, donant lloc a l'estàndard ANSI C. De fet, C no és exactament un llenguatge d'alt nivell, és més aviat, un llenguatge de nivell mitjà, ja que combina elements d'un llenguatge d'alt nivell, com el COBOL o el PASCAL, amb elements propis del llenguatge ensamblador, que és un llenguatge molt proper al llenguatge màquina. Aquesta característica fa de C una eina adequada per a la programació, tant a nivell de sistema com a nivell d'aplicacions. Un aspecte a destacar de C és que conté només un nombre molt reduït de paraules clau (32 en ANSI C). Aquestes són:
Com a comparació es pot dir que el BASIC de l'IBM PC té 159 paraules clau. El llenguatge C està constituït per tres elements:
El compilador és l'element més característic del llenguatge C. La seva missió és la de traduir a llenguatge màquina el programa C contingut en un o més arxius font. El compilador és capaç de detectar alguns errors durant el procés de compilació, enviant a l'usuari els corresponents missatges d'error. El preprocessador és un component característic de C que no existeix en altres llenguatges de programació. El preprocessador actua sobre el programa font abans que comenci la compilació. Fonamentalment pot fer dues coses: cridar llibreries i definir constants simbòliques. Amb l'objectiu de mantenir el llenguatge el més senzill possible, moltes sentències incorporades a altres llenguatges no tenen contrapartida a C. Per exemple, en C no hi ha sentències d'entrada i sortida de dades. Aquesta i altres operacions importants es fan mitjançant funcions preprogramades que venen incorporades al compilador o es poden aconseguir d'alguna altra forma. Aquestes funcions estan agrupades en un conjunt de llibreries que formen l'anomenada llibreria estàndard. Les declaracions i definicions d'aquestes funcions estan en arxius capçalera amb extensió .h que s'han d'invocar des del preprocessador amb la directiva #include, com ja veurem. El codi de qualsevol programa escrit en C s'emmagatzema en un o més arxius en el disc de l'ordinador. Aquests arxius que contenen el codi font han d'acabar amb l'extensió .c. Això és així per tal que el compilador pugui reconèixer que, efectivament, és codi C. El llenguatge C++ El llenguatge C++ va ser desenvolupat a la dècada dels 80 a partir del estàndard ANSI C i la seva característica principal és la incorporació de les classes i la programació orientada a objectes (POO) De fet, C++ és pot fer servir de dues formes diferents:
En aquest curs d'introducció al C/C++ només desenvoluparem la primera forma de fer servir C++ . Per tal d'informar al compilador que el codi que estem compilant està en C++ els arxius font han de fer servir l'extensió .cc en lloc de .c. Al llarg de tot el curs s'indicarà si una sentència o funció és pròpia de C++ o bé és compatible amb l'estàndard ANSI C. Els Entorns Integrats de Desenvolupament Dins el mon del codi obert hi ha altres EID per desenvolupar programari i que ens permeten escriure aplicacions C/C++ per consola. Per Linux els mes coneguts son: Emacs.
Vim.
KDevelop
Per Microsoft Windows entre altres EID tenim: DevC++.
Visual-MinGW.
L'entorn Anjuta Per escriure les pràctiques i els exercicis d'aquest curs, podeu utilitzar qualsevol editor. Per facilitar l'edició i execució dels programes és mostrara l'ús d'Anjunta. Aquesta eina és un entorn intregat de desenvolupament ( EID ) que permet desenvolupar programari en diferents llenguatges de programació com C, C++, C#, Java, Perl, Python i altres, en sistemes GNU/Linux. Inclou un administrador de proyectes, assistents, plantilles, un depurador i un editor que verifica i ressalta la sintaxis escrita. Per obtenir més informació visita la pàgina oficial http://www.anjuta.org i http://anjuta.sourceforge.net. Trobareu aquest EID en Menú Principal/Aplicacions/Programació de la distribució Linkat del Departament d'Educació. Dins el mon del programari lliure : La interfície d'AnjutaL'aspecte que té la interfície d'Anjuta és la següent: A la part superior tenim el menú de l'aplicació i unes barres d'eines. Al costat esquerre es troba la finestra Projecte. Aquesta finestra mostrarà tots els arxius que componen el projecte. Aquest curs treballarem només amb arxius independents. A la part central de la pantalla tenim l'editor per poder escriure els programes. Comprovarem com ens facilitarà l'edició posant amb colors certes paraules del llenguatge. A la part inferior de la pantalla es troba la finestra de sortida, (Output) on es visualitzaran els resultats de les compilacions i depuracions. Introducció a la sintaxi de C Abans de començar un estudi detallat de tots els elements de C, s'ha de tenir una idea superficial dels elements d'un programa escrit en C:
Tota funció C, incloent la funció main(), pot tornar un valor. El tipus de valor de retorn s'ha de posar davant del nom de la funció en la seva definició. Si no es posa cap tipus se sobreentén el tipus per defecte que és int. Si volem que no torni cap valor hem de posar tipus void. |
|||||||||||||||||||||||||||||||||||||
![]() |
![]() |