Enrere
Fonaments de Programació. Llenguatge C/C++---
  Guia    
 
Presentació

Aquest és un curs eminentment pràctic en el qual s'introduirà simultàniament tècniques de programació elemental i la sintaxi del llenguatge C/C++ en l'entorn Visual C++. 

El curs se centra en la programació estructurada i modular i no entrarà pas en la programació orientada a objectes ni en la programació en l'entorn Windows

S'ha tingut un interès especial de no fer un simple manual de C/C++, dels quals hi ha molts i més complets que aquest. Aquest curs se centra en la realització de pràctiques on es va introduint conceptes  generals de programació i específic de C/C++.

Gairebé tots els programes proposats, tant els de les pràctiques com els dels exercicis, tenen una característica comú: són molt curts. Pensem que aquesta característica és bona qualitat per a un curs d'aprenentatge. Encara que els codis de la majoria de les aplicacions que es poden fer estan formats per moltes (centenars o milers) línies, la majoria d'aquestes fan referència a aspectes de presentació, comprovació de dades i d'errors i documentació, molt necessàries per a una aplicació final, però que fan més difícil la comprensió de la part fonamental del programa: l'algorisme. Una vegada que l'alumne aprengui aquesta part fonamental, és necessari que complementi els seus programes amb els elements necessaris per donar-li el nivell d'acabament adequat. 
 

Estructura del curs

El curs s'estructura en 8 mòduls. Cada mòdul està pensat per dedicar-hi dues setmanes. Consta d'un resum teòric, un conjunt de 6 a 9 pràctiques i uns exercicis. A més, la majoria de mòduls contenen també alguna pràctica addicional d'ampliació i exercicis relacionats també d'ampliació que no són de lliurament obligatori.

Resum teòric

En cada mòdul es troba una pàgina amb un resum de tots els elements que es tractaran en el mòdul. Està redactat com un manual amb exemples molt curts i està pensat sobretot per consultar elements concrets del llenguatge C/C++.

Pràctiques

En tots els mòduls es poden trobar de 6 a 9 pràctiques, més algunes d'ampliació. A cadascuna d'aquestes pràctiques hi podem trobar un o dos programes comentats en els quals es fa servir un nombre reduït d'elements del llenguatge treballats en el mòdul. 

Podem dir que hi ha dos tipus de pràctiques repartides en tots els mòduls: 

  • Pràctiques d'exemples directes d'ús d'algun element del llenguatge, per entendre bé el seu funcionament.
  • Pràctiques d'aplicacions a altres camps: geometria, probabilitat, estadística,  física, economia, informàtica, teoria de jocs, criptografia, mètodes numèrics, etc.
En molts mòduls hi ha alguna pràctica d'ampliació que, o bé utilitza aspectes avançats del llenguatge, o bé s'utilitzen elements coneguts en situacions no immediates. En qualsevol cas, aquestes pràctiques d'ampliació es poden ometre sense perdre el fil del curs.
Tots els codis de les pràctiques es poden trobar com a material del curs i, per tant, no és necessari tornar a escriure'ls. Sí que es demana a l'alumne que faci la compilació i la construcció del fitxer executable, i que provi de fer l'execució del programa en diverses situacions, així com fer lleugeres modificacions al codi font i tornar a construir l'executable per veure les conseqüències d'aquestes modificacions.
Exercicis

En tots els mòduls hi ha una proposta d'entre quatre i sis exercicis. Aquests exercicis són els elements que permeten al tutor del curs fer un seguiment avaluatiu de l'alumnat. Normalment consisteixen en aplicacions que suposen lleugeres modificacions de les pràctiques del mòdul o noves aplicacions basades en aquestes. 

També, en alguns mòduls es pot trobar algun exercici d'ampliació. Aquests exercicis no són obligatoris però el tutor els guiarà i corregirà també en el cas que l'alumnat els lliuri.

La resolució dels exercicis, perquè tingui el seu efecte avaluatiu, es recomana que sigui personal, és a dir, que cada alumne resolgui de manera individual l'exercici, proposant la solució més adient. En cas de trobar qualsevol problema l'ha de comunicar al seu tutor, que el guiarà adequadament.

Excepte en el primer mòdul, que per comprovar que s'ha fet la construcció de l'executable correctament, es demana tant el codi font com l'arxiu executable de cada exercici, a la resta de mòduls només s'ha de lliurar els arxius font (amb extensió .cpp). El nom de cada arxiu està indicat en cada exercici. 

Un cop corregits els exercicis, el tutor o la tutora es dirigirà a l'interessat fent-li les observacions, rectificacions i anotacions que siguin d'interès. Els aspectes d'interès general que es puguin extreure de les diferents solucions presentades es comentaran en un missatge genèric a tot l'alumnat. 
 

Material del curs

Juntament amb el contingut del curs es pot trobar dues carpetes amb els fitxers font de les pràctiques i amb els fitxers executables dels exercicis. Aquestes carpetes s'anomenen practiques i exercicis.

Els fitxers font de les pràctiques serveixen per tal que l'alumnat s'estalviï de teclejar el codi que apareix a cadascuna de les pràctiques dels mòduls. És necessari compilar aquests fitxers per obtenir els corresponents fitxers executables.

Els fitxers executables dels exercicis serveixen per tal que l'alumnat entengui bé el funcionament de cada exercici i pugui reproduir-los correctament. És necessari executar aquests programes en una finestra de MSDOS oberta prèviament ja que l'execució directa des de l'Explorador de Windows tanca automàticament la finestra i impossibilita la visualització dels resultats.
 
 

Tutoria
A cada participant se li assigna un tutor o tutora que l'assessorarà i l'orientarà en l'estudi dels diferents mòduls i a qui podrà formular, per via missatgeria, les consultes, les preguntes que calgui i pugui demanar orientacions en el desenvolupament del projecte de final de curs. El tutor farà una assistència personalitzada a cada participant.

Per a consultes i comentaris sobre aspectes de qualsevol mòdul que faci necessari aclarir conceptes o dubtes generalitzats, arrodonir exemples, fer puntualitzacions o qualsevol particularitat que demani una intervenció per part del tutor a tots els alumnes, es farà mitjançant missatges genèrics a tot el grup d'alumnes assignats al mateix tutor. 
 

Forma recomanada de treball

És convenient començar el mòdul amb una lectura (no fa falta que sigui en profunditat) del resum teòric. A continuació, i de forma ordenada, s'hauran de treballar les pràctiques. Treballar les pràctiques consisteix en:
 

  • Llegir atentament el text de la pràctica on s'explica el funcionament del programa, l'explicació del codi i algunes indicacions teòriques.
  • Compilar i executar el programa. En alguns programes s'hauria d'executar el programa amb diferents dades per tal de veure el comportament en diverses situacions.
  • Fer lleugeres modificacions al codi, tornar a compilar-lo i observar les conseqüències d'aquests canvis. 
  • A les primeres pràctiques es pot fer diferents tipus de compilació i observar la mida i la velocitat de les aplicacions creades.
  • Quan hi hagi algun dubte del funcionament d'alguna funció o sentència es pot tornar a consultar el resum teòric del mòdul actual, de mòduls anteriors o altres pràctiques.

  •  
Una vegada treballades totes les pràctiques es pot afrontar la resolució dels exercicis.
 

Lliurament dels exercicis

Excepte en el primer mòdul, només s'ha d'enviar un arxiu per exercici. Una vegada acabats tots els exercicis obligatoris del mòdul (i si es vol, els d'ampliació) s'han d'enviar tots junts en un únic arxiu comprimit em format .zip (amb l'aplicació Winzip, per exemple). El nom d'aquest arxiu comprimit estarà format per l'identificatiu (username) de l'alumne seguit d'un nombre de l'1 al 8 corresponent al mòdul que es lliura. Per exemple, si l'identificatiu de l'alumne és fruiz1, els exercicis del mòdul 3 es lliuraran en un arxiu amb el nom fruiz13.zip.

És clar, que en molts casos s'hauran de enviar exercicis solts, quan el tutor sol·liciti alguna modifiació d'un exercici en particular. En aquest cas, el tutor i l'alumne es posaran d'acord en la forma de fer aquests lliuraments.
 
 

Projecte fi de curs

Una vegada acabat l'estudi dels diferents mòduls, el participant que vulgui tenir dret al certificat del curs haurà de finalitzar-lo en el mateix curs acadèmic que ha realitzat els exercicis, desenvolupant un projecte que globalitzi la utilització dels diferents recursos apresos i que sigui una aplicació didàctica de les proposades a l'apartat projecte. De manera excepcional i tenint en compte l'especialitat del participant en el curs, es podria considerar alguna aplicació diferent, sempre amb l'aprovació del seu tutor o tutora.

Fases del projecte

El projecte es realitzarà seguint les següents fases:
 
 

  • Tria d’un projecte. En el cas que l’alumna o alumne tingui un especial interès en un tema que no estigui relacionat en la llista de possibles projectes que forma part del curs, haurà de presentar la seva proposta al tutor completament detallada. Aquest,  juntament amb l’equip formador del curs, podrà aprovar, modificar o refusar aquest projecte. 
  • Presentació de l’estructura del projecte. Una vegada triat el projecte a realitzar, l’alumne haurà de presentar per escrit una estructura d’aquest format per tots els programes (en el cas que hi hagi més d’un), totes les funcions, el format dels arxius de disc, el menú d’inici etc. Abans de passar a la següent fase, el tutor haurà de donar el vist-i-plau a aquesta estructura.
  • Presentació del projecte provisional. Quan el projecte estigui acabat, depurat i provat. Haurà de lliurar al tutor el codi font del projecte juntament amb un document en format Word, html o en forma de comentaris C/C++ amb l'explicació detallada del funcionament del o dels programes i explicació del funcionament de cada funció per separat. En el cas que el tutor ho consideri, aquesta serà considerada com la fase final del projecte, en cas contrari, el tutor comunicarà a l’alumne sobre les modificacions que haurà de fer en el seu projecte per tal de considerar-lo com el projecte definitiu.
  • Presentació del projecte definitiu. En cas que el tutor assignat hagi indicat la necessitat de fer alguna modificació al projecte provisional, l’alumne l’haurà de fer, i haurà de tornar a lliurar el projecte al tutor. 
 

Calendari
Inici del curs: dimarts, dia 6 de novembre de 2001
Fi del curs: dimarts, dia 21 de maig de 2002
Mòdul 1: dimarts, dia 20 de novembre de 2001
Mòdul 2: dimarts, dia 4 de desembre de 2001
Mòdul 3: dimarts, dia 18 de desembre de 2001
Mòdul 4: dimarts, dia 22 de gener de 2002
Mòdul 5: dimarts, dia 5 de febrer de 2002
Mòdul 6: dimarts, dia 19 de febrer de 2002
Mòdul 7: dimarts, dia 5 de març de 2002
Mòdul 8: dimarts, dia 19 de març de 2002
Proposta del projecte: divendres, dia 22 de març de 2002
Inici del projecte: dimarts, dia 9 d’abril de 2002
Revisió/seguiment del projecte: dimarts, dia 23 d’abril de 2002
Fi del projecte: dimarts, dia 7 de maig de 2002
 
Bibliografia

1. Pappas, C.H., Murray, W.H. Visual C++ 6.0. Manual de referencia. Osborne McGraw-Hill. 1999

2. Gascón Sánchez M.F., García-Bermejo Giner, J. R.Visual C++ 6. Guia en 10 minutos o menos. Prentice Hall. 1999

3. Zaratian Beck. Microsoft Visual C++ 6.0 Manual del programador. Microsoft Press. McGrawHill. 1999 

4. Schildt, H. Programación en Turbo C. Borland-Osborne/McGraw-Hill 1988

5. Schildt, H. Turbo C. Programación avanzada. Borland-Osborne/McGraw-Hill 1990

6. B. Kernighan y D. Ritchie.El lenguaje de programación C (2ª ed.). Prentice-Hall. 1991

7. Stroustrup, Bjarne.El lenguaje de programación C++ 3ª ed.Addison-Wesley Turpial, 1997

Adreces electròniques de referència:

http://cfp401.freeservers.com/cursos/c1/c.htm

http://proton.ucting.udg.mx/tutorial/c/

http://www.crysoft.com/cursos/endetalle.asp?pide=C        (molt elemental)

http://www.uib.es/c-calculo/cursc.htm

http://www.elrincondelc.com/      (es pot trobar codi font de molts exemples)

http://www.ciudadfutura.com/cworld/cursodec.htm