You are on page 1of 4

Fonaments

d'Informtica

Aplicaci

PrimersprogramesI
Objectius:
PodercrearunprogramasenzillamblIDEescollit.
Saberexecutarunprogramaenelterminal.
Entendrequsignificaendl.
Saberutilitzarcinicoutenunprograma.
(Objectius:B1,B3,B4,B5,1.2.1i1.3.3)
[Explicaci breu del professor (1520 minuts) sobre com fer servir lIDE, el cicle de vida d'un programa, i
comexecutarprogramesambelterminal].
Documentsrelacionats:Introducci_SSOO.pdf)
Fer servir la plantilla que trobareu al final del document (o una similar) que permeti documentar els
programescorrectament.

1.Elprimerprograma
Crea primer unacarpeta pera la sessi quees digui"FI_Sessio1",en el teu espai personal (unitat H:). Aqu
posars els programes que vagis fent, de vegades al final de la sessi els haurs d'entregar per Atenea.
Editaun fitxer hola.cppamb

el segent contingut.Si encompilarapareixenerrorsde compilaci, repassa


belcodiihotornesaintentar.Sobretotnot'encallisidemanaajudaalprofessorsinote'nsurts.
#include<iostream>
usingnamespacestd
intmain()
{
cout<<"Hola,mon!"<<endl
return0
}
Aquest programa cont moltes instruccions que no s'entenengairearamateix, per els primers programes
sempre sn difcils d'entendre, no et preocupis. A mesura que avancielcurs anirsentenent msdetalls. El
nom "main", de fet, significa "principal" en angls, o sigui que estem escrivint el"programaprincipal". Els
includes sn necessaris per utilitzar llibreries (trossos de programes fcilment utilitzables fets per
tercers).

2.Executarelprogramaalterminal(Documentrelacionat:Introducci_SSOO.pdf)
S'anomena terminal a una finestra de MSDOS. Obre una finestra de MSDOS (men Inici, Utilitats,
Intrpret de comandes o Smbol del sistema). Pregunta al professor si no ho trobes. T'ha de sortir una

finestradefonsnegreambelsmbol'C:\>'iuncursor.
Suposant que hagis creat la carpeta "FI_Sessio1" a la mateixa arrel de la unitat H:, ara pots entrar les
segentscomandes:
C:\>cdH:
H:\>cdFI_Sessio1
H:\FI_Sessio1>hola
Hola,mn!

En taronja est el que has d'escriure tu, i l'altra part l'ha de mostrar l'ordinador. Quan ests en el directori
del programa, si fas "dir", surt una llista dels fitxers del directori (o carpeta), ho pots comprovar obrint la
mateixa carpeta amb Windows. En el llistat del terminal (de la finestra MSDOS), ha de sortir el fitxer
"hola.exe", que s executable, per l'extensi "exe". Aquest s el programa que has compilat, al costat
hihad'haverel"hola.cpp"queselprogramaC++.

3.Qusignificaendl?
Tornaelcompilarelprogramacanviantlasentncia:
cout<<"Hola,mon!"<<endl
per
cout<<"Hola,mon!"
L'nicquehemfetstreureendl,perqucreusqueserveix?
Qusortiriasiposssim:
cout<<"Hola,"<<endl<<"mon!"<<endl<<endl
Observa qu succeeix si executes el programa "hola" des del terminal (la finestra MSDOS) en ambds
casos.

4.Visualitzadossalutacions1.
Apartirdelprogramadelexercici1fetqueesmostriperpantalla:
Hola,mon!
Bondiaatothom!

5.Perquserveix'#include<iostream>'i'usingnamespacestd'?
Ara torna a deixar el programa com estava al principi i esborra (o comenta) la lnia que diu 'using
1

AdaptatsunexercicidelJutge

namespacestd'. Compila el programa per veure quin s l'efecte. T'ha de sortir un error de compilaci
amb la lnia a qu esrefereix.Potsfer dobleclica l'error iel programaes posar en ellloc i marcarlalnia
de qu estracta. Malgrat s en angls, l'error ve a dirque el smbolcouts
desconegut, i el compilador no
entn d'on ha sortit, ja que no ha estat definit prviament. De fet, '#include<iostream>' introdueix
(inclou)aquestadefiniciimoltesd'altresenelprograma,i'usingnamespacestd'permetfernes.
Comprovaquinerroresprodueixentreurelesdueslniesinonomsel'using',selmateix?

6.Unpetitdibuix
Fent servir cout, fes ara un programa que dibuixi una creu per pantalla. Guarda el programa en el fitxer
creu.cpp
Lasortidadelprogramahadeser,exactament:
*
***
*
Presioneunateclaparacontinuar...
Encaraquesunprogramacurt,hihavriesmaneresdeferlo,intentatrobarlamssenzilla.

7.Salutaci
El segent programa t com a missi simplement saludarte.No s gaire espectacular: et pregunta elnom
(que haurs d'entrar pel teclat) i desprs et saluda fent servir el teu nom. Per poderho fer, ha
d'emmagatzemarenmemriaelnomquelidius,idesprsutilitzarloquanmostraelmissatgedesalutaci.
#include<iostream>
usingnamespacestd
intmain(){
stringnom//1
cout<<"Elteunom?"
cin>>nom//2
cout<<"Moltbones,"<<nom//3
<<",etsungranprogramador!"<<endl
return0
}
Potser et semblar una mica exagerada aquesta expressi d'autoestima, per ara al principi necessitarem
unainjeccidemoralperpoderafrontarambmsganesladificultatdelC++,noetsembla?
Fixa't que el programa necessita guardar el nom en algun lloc i per ferho declara una variable de tipus
string, s a dir, una cadena de carcters. La declaraci d'aquesta variable s a dalt (1). Desprs la
variable es fa servir a 2 llocs. Primer se li demana a cinque

ompli la variable amb el que l'usuari escriu


ambelteclat(2).Desprsesfaservirelvaloremmagatzematpermostrarloperpantalla(3).
Quan volem reclamar el valor que cont una variable en un programa, simplement escrivim el seu nomall
on volem quevagiaquestvalor. Esfar servirelvalor quehiha alavariable enaquell moment (jaque aquest
valor pot anar canviant al llarg delprograma). En el cas de la salutaci, primers'ha deposar "Molt bones, ",
desprs el nom, i finalment ", ets un gran programador". Fixa't que els espais que hi ha a dins de les

cometessurtentalqual.

8.Salutaciambedat
Implementa un programa (edat.cpp) que demani l'edat de l'usuari amb la frase "introdueixlateva edat",i
desprs mostri, "Hola, tens X anys" a on X s l'edat que l'usuari ha entrat. La sortida del programa hade
ser:
Introdueixlatevaedat:67
Hola,tens67anys
Presioneunateclaparacontinuar...
Entaronjaesmarcaelquehaescritl'usuarienelmomentd'executarelprograma.

Plantilla

/********************************************************/
/*Nomautor:XXXX
*/
/*Data:
SessiX(DD/MM/AA)*/
/*Descripcio:XXXXXXXXX*/
/********************************************************/

#include<iostream>
usingnamespacestd
//DECLARACIODECONSTANTS
/*******************PROGRAMAPRINCIPAL*****************/
intmain()
{
//DECLARACIODEVARIABLES
//SENTNCIES

return0
}

You might also like