+a( 9:;9 1 Cu0%()s 1. Prezentarea lucrrii. 3 1.1 Introducere.. 3 1.2 Limbajul HTML. 4 1.3 Limbajul C++ 1.4 Limbajul C!! " 1. Limbajul #a$a .. % 2. !c&ema conce'tual a lucrrii 1( 3. Te)tarea *n tim' real.. 1( 4. In)talarea a'lica+iei. 12 4.1 ,e)ur)e minimale. 12 4.2. In)talarea -i utilizarea a'lica+iei . 13 . .ne/e.. 13 0. 1iblio2ra3ie.. 10 2 ;.P%e<e)#a%ea *u&%2%(( ;.;. I)#%!du&e%e 4#a$a!cri't5 )e dore)te a 3i un in)trument educational 'roiectat 'entru in)u)irea )i e$aluarea cuno)tintelor 'ri$ind cate$a ca'itole ale in3ormaticii6 cu ajutorul com'uterului. Lucrarea de)crie 'artea teoretica in an)amblu 6 dar contine )i a'licatii 'ractice la ace)t ca'itol. Inter3ata lucrarii e)te 'rietenoa)a6 'utand 3i 3olo)ita cu u)urinta de catre orice 'er)oana6 indi3erent de cali3icare )au daca a mai 3olo)it )au nu un a)emenea )o3t educational. 7tilizatorul 'oate acce)a 3iecare )ectiunea unde $a 2a)i in3ormatii utile 'entru com'letarea cuno)tintelor )ale. Cand $a 3ace clic8 'e un lin86 il $a trimite la )ectiunea re)'ecti$a unde 'oate cauta in3ormatiile dorite 6 3iecare in3ormatie 3iind in)otita de o ima2ine core)'unzatoare )au de o animatie conce'uta )a re3lecte 3enomenul de)cri) )i )a 3aciliteze intele2erea de'endentelor din le2ile 'rezentate. Proiectul mai contine de a)emenea inca o )ectiune de)tinata lo2arii utilizatorului )i inre2i)trarii )ale intr9o baza de date. Lo2area )e 3ace 'rin intermediul unui 3ormular realizat in HTML )i PHP )i con)ta in cate$a cam'uri de identi3icare6 care )a 'ermita ulterior admini)tratorului )a 2e)tioneze 3elul in care e)te utilizata a'licatia. :n realizarea ace)tui 'roiect )9 au utilizat limbajul HTML6 limbajul C!! 6 limbajul #.;. )i limbajul PHP. ;.9. L(+,a-u* HTML <HTML <H='erte/t Mar8u' Lan2ua2e> e)te un limbaj creat *n )co'ul de a de)crie6 *n mod te/t6 3ormatul 'a2inilor ?eb@ 3i)ierele create *n ace)t limbaj $or 3i inter'retate de na$i2atoare6 care $or a3i)a 'a2inile *n 3orma doritA <cu te/te 3ormatate6 li)te6 tabele6 3ormule6 ima2ini6 &i'erle2Aturi6 obiecte multimedia etc.>. HTML a a'Arut ca o a'licatie I!B )tandard <a'artine )tandardului !CML 9 !tandard Ceneralized Mar8u' Lan2ua2e6 )'ecializat 'entru &i'erte/t )i ada'tat la ?eb>. 3 .)a cum )e 'oate deduce din numele limbajului6 HTML de)crie caracteri)ticile de 3ormat ale elementelor inclu)e 'rin 'rocedee de marcare. .ce)tea 'ot 3i a)emAnate intuiti$ cu marcajele 3olo)ite *n ti'o2ra3ie 'entru a indica )crierea unui te/t cu un anumit ti' de caractere. Diecare element $a 3i introdu) *ntre douA marcaje <Eta2)E6 *n limba en2lezA> 9 de *nce'ut )i )3Fr)it 9 <uzual> de 3orma GmarcajH GImarcajH. Caracterele )'eciale de delimitare a marcajelor EGE6 EHE 'ermit deo)ebirea ace)tora de te/tul 'ro'riu9zi). Je e/em'lu6 'entru te/tele aldine <*n2ro)ate>6 marcajul de *nce'ut e)te G1H iar de )3Fr)it 9 GI1H. Proce)ele de )tandardizare )i de includere a comenzilor de marcare *n 3i)ierele HTML 'ermit na$i2atoarelor )A citea)cA )i )A 3ormateze 'a2inile ?eb6 lucru 3oarte im'ortant *n conditiile *n care ele contin nu numai te/te alb9ne2ru6 ci )i culori6 ima2ini6 &i'erle2Aturi6 di$er)e obiecte. Practic6 marcajele HTML a)i2urA controlul a)u'ra modului de a3i)are a obiectelor core)'unzAtoare *n cadrul 'ro2ramelor de $izualizare a documentelor HTML 9 na$i2atoarele. Limbajul HTML a e$oluat *n $er)iuni )ucce)i$e6 odatA cu e$olutia 'rotocolului HTTP )i a 'ro2ramelor de na$i2are. .)t3el6 HTML 1.( era com'atibil cu Mo)aic6 'rimul 'ro2ram de na$i2are6 dar du'A a'aritia unor na$i2atoare noi6 a 3o)t nece)arA introducerea unui )tandard o3icial Internet 'entru con)truirea 'a2inilor <HTML 2.(> )i e/tinderea )a cu noi 3acilitAtiK 3ormule matematice6 tabele6 moduri a$an)ate de de)criere a or2anizArii 'a2inilor <*nce'Fnd cu HTML 3.(>. !tandardizarea o3icialA a limbajului HTML a 3o)t realizatA de con)ortiul ??? )i dez$oltatA de di$er)i 'roducAtori de )o3t <unii dintre ace)tia urmAre)c c&iar 'romo$area na$i2atoarelor 'ro'rii 'rin introducerea unor 'articularitAti *n 3ormatele o3iciale>. Pa2inile HTML )e 'ot crea cu orice editor de te/te de cAtre utilizatorii care cuno)c limbajul HTML )au6 mai )im'lu6 )e 'ot utiliza editoare )'eciale6 *n care obiectele )e introduc interacti$ iar codul HTML )e 2enereazA automat. ;.= L(+,a-u* C>> C e)te 'rezentat uneori ca Ea)amblor 'ortabilE6 3cFndu9)e a)t3el di3eren ele 'rinci'ale 3a de limbajele de a)amblareK codul unui 'ro2ram C 'oate 3i com'ilat i rulat 'e a'roa'e orice ti' de ma in < calculator>6 a)emntor altor limbaje de 'ro2ramare6 *n tim' ce limbajele de 4 a)amblare )unt )'eci3ice unui anumit model de ma in. Limbajul C a'ar ine cla)ei limbajelor de nivel sczut )au de nivel mediu6 acea)ta indicFnd )trFn)a le2tur *ntre intero'erabilitate i ec&i'amentul &ardLare. C a 3o)t creat a$Fnd dre't )co' im'ortant de a 3ace ca 'ro2ramele mari ) 'oat 3i )cri)e mai u or i cu mai 'u ine erori *n 'aradi2ma 'ro2ramrii 'rocedurale6 dar 3r a 'une un ob)tacole *n )criereacom'ilatorului de C6 care e)te *ncrcat de caracteri)ticile com'le/e ale limbajului. C are urmatoarele caracteri)tici im'ortanteK M)te un limbaj de baz )im'lu6 cu im'ortante 3unc ionalit i cum ar 3i 3unc iile matematice )au cele de mani'ulare ale 3i ierelor M)te 3ocalizat 'e 'aradi2ma 'ro2ramrii 'rocedurale6 care 3aciliteaz 'ro2ramarea *ntr9un mod )tructurat 7tilizeaz un )et )im'lu de ti'uri de date ce *m'iedic multe o'era ii neinten ionate Dolo)e te un limbaj 're'roce)or6 're'roce)orul C6 'entru )arcini cum ar 3i de3inirea de macrouri i includerea mai multor 3i iere )ur) Permite acce)area la ni$el )czut a memoriei calculatorului 'rin utilizarea 'ointerilor Permite 3olo)irea 'arametrilor6 care )unt comunica i 3unc iilor 'rin $aloare i nu 'rin re3erin Pointeri la 3unc ii6 ce 'ermit 3orme rudimentare de *nc&idere <en2lez closure> i 'olimor3i)m Jeclararea $ariabilelor !tructuri de date )au ti'uri de date a2re2ate6 de3inite de utilizator 'rin <)truct>6 ce 'ermit ca date *nrudite ) 3ie combinate i mani'ulate ca un *ntre2 Printre caracteri)ticile ce li')e)c *n C6 dar care 'ot 3i 2)ite *n alte limbaje de 'ro2ramare )e enumerK 7n )i)tem automat de colectare a reziduurilor <de memorie> <en2lez Garbage collection> Cla)ele i obiectele <'ro2ramarea orientat 'e obiecte> 7n )i)tem a$an)at de ti'uri de date Pro2ramarea 2eneric !u'ra*ncrcarea Meta'ro2ramarea
!u'ort nati$ 'entru 'ro2ramarea multi3ir <en2lez multithreaded> i 3unc iile de re ea
Proce)area li)telor Je i li)ta minu)urilor limbajului C e)te de)tul de lun26 acea)ta nu re'rezint un deza$antaj )u3icient de mare 'entru in&iba utilizarea limbajului C *n 'ractic6 deoarece 'ermite ca noi com'ilatoare ) 'oat 3i )cri)e 'e noi ti'uri de 'lat3orme i 'entru c 'ermite 'ro2ramatorului ) in bine )ub control 'ro2ramul 'e care *l )crie. .ce)ta e)te unul din moti$ele care 3ace ca un cod )cri) *n C ) 3ie mult mai e3icient decFt dac ar 3i )cri) *n alte limbaje de 'ro2ramare. Numai un cod )cri) cu 3oarte mare 2rij *ntr9un limbaj de a)amblare 'oate 3i mai 'er3ormant6 deoarece are control inte2ral a)u'ra ma inii6 dar 'er3orman a a$an)at a com'ilatoarelor6 combinat cu com'le/itatea noilor ti'uri de 'roce)oare6 a 3cut ca limbajul C ) 3ie 're3erat i ) 3ie acce'tat din ce *n ce mai mult de 'ro2ramatori. 7na din con)ecin ele acce'trii i e3icien ei C9ului e)te aceea c multe com'ilatoare6 biblioteci i inter'retoare ale limbajelor de ni$el *nalt )unt ade)ea im'lementate *n C. ;.? L(+,a-u* CSS C!! e)te un acronim 'ro$enind din Ca)cadin2 !t=le !&eet)6 care *n)eamnA E3oi de )til *n ca)cadAE. In documentele ?3C6 C!! nu e de3init ca un nou limbaj6 ci ca un mecani)m care 'ermite 3ormatarea documentului HTML. C!!9ul nu e/clude HTML9ul din 'a2ina Leb. Nu )e 'oate realiza o 'a2inA Leb 3olo)ind numai C!!6 care a 3o)t 'roiectat a)t3el *ncFt )A conlucreze cu HTML9ul. Proiectantii C!!9ului au urmArit *ndeo)ebi )e'ararea *ntreK continutul 'a2inii < te/tul de)tinat $izitatorului )i ima2inile din 'a2inA> codul9)ur)A Dolo)ind C!!6 )e ajun2e laK un control mai 3in a)u'ra 'a2inii Leb @ )cAderea dimen)iunii *n octeti a 'a2inii Leb6 atunci cFnd codul C!! e continut *ntr9un 3i)ier e/tern @ 0 mai mare comoditateK modi3icFnd 3i)ierul C!! e/tern6 modi3icAm )imultan toate 'a2inile Leb *n care ace)ta e inclu)@ e3ecte mai )o3i)ticate decFt cele 'rodu)e de codul HTMLK )u'ra'unerea unei ima2ini 'e)te altA ima2ine6 a unui te/t 'e)te alt te/t6 im're)ia de relie36 e3ectul &o$er6 a3i)area unor 3onturi mai mari decFt &1 etc. Jeza$antajK Pa2ina continand cod C!! 'oate arata di3erit in na$i2atoare di3erite6 deoarece nu toate broL)erele inter'reteaza codul C!!. Internet M/'lorer cite)te corect )i com'let codul C!!6 )'re deo)ebire de Net)ca'e Na$i2ator. .dAu2Fnd cod #a$a!cri't6 )e obtin e3ecte )i mai )o3i)ticate6 c&iar de animatie. C!! + #a$a!cri't O JHTML < J=namic HTML >. .ce)te e3ecte )'ectaculoa)e ju)ti3icA titulatura de Earti)ti C!!E )au Eartizani C!!E acordatA unor creatori de 'a2ini Leb. ;.@ L(+,a-u* .A4A #a$a e)te un limbaj de 'ro2ramare orientat9obiect6 'uternic ti'izat6 conce'ut de ctre #ame) Co)lin2 la !un Micro)=)tem) <acum 3ilial Bracle> la *nce'utul anilor P%(6 3iind lan)at *n 1%%. Limbajul *m'rumut o mare 'arte din )inta/ de la C i C++6 dar are un model al obiectelor mai )im'lu i 'rezint mai 'u ine 3acilit i de n$iel jo). 7n 'ro2ram #a$a com'ilat6 corect )cri)6 'oate 3i rulat 3r modi3icri 'e orice 'lat3orm care e in)talat o ma in $irtual #a$a < en2lez Java Virtual Machine6 're)curtat #;M>. .ce)t ni$el de 'ortabilitate <ine/i)tent 'entru limbaje mai $ec&i cum ar 3i C> e)te 'o)ibil deoarece )ur)ele #a$a )unt com'ilate *ntr9un 3ormat standard numit cod de octe i < en2lez byte-code> care e)te intermediar *ntre codul ma in <de'endent de ti'ul calculatorului> i codul )ur). Q 9. S&Ae+a &!)&e0#ua*2 a *u&%2%((
=. Tes#a%ea () #(+0 %ea* Intrand in broL)er )i introducand calea catre 3i)ierul inde/.&tm6 )e $a de)c&ide 'a2ina 'rinci'ala a )o3t9ului.;eti ob)er$a )u) meniul 3ormat din lin8uri re'rezentate de animatii 'e buton <,oll9o$er ima2e)>.Pa2inarea )e 'oate $edea )i mai jo). " M/ecutand clic8 'e unul din butoanele meniului6 $eti 'utea acce)a di$er)e in3ormatii de)'re cate$a a)'ecte teoretice. Diecare 'a2ina e)te conce'uta a)t3el incat )a o3ere in3ormatii cat mai concrete6 a$and )co'ul de a 3acilita intele2erea conce'telor abordate.
?. I)s#a*a%ea a0*(&a'(e( % ?.; Resu%se +()(+a*e Pro2ramul a 3o)t realizat *n a-a 3el *ncFt ) ruleze cel mai bine 'e o rezolu+ie de 1(24/Q0". Je a)emenea6 )i)temul $a trebui ) aib cel 'u+in 12" M1 ,.M )i (( MHz -i o 'lac $ideo cu cel 'u+in 10 Mb ,am. Pro2ramul mai are ne$oie de un )'a+iu 'e &ard de a'ro/imati$ 2( M1. Mai e)te nece)ar 'e &ard un )'a+iu liber de cel 'u+in 3( M1. Jac ace)te cerin+e nu )unt re)'ectate6 nu $a 'utea 3i co'iat. Je a)emenea6 'entru 3unc+ionarea de'lin a te)tului 2ril6 e)te nece)ar in)talarea 'realabil a unui )er$er ?M1 de ti' .P.CHM6 im'reun cu 'ro2ramul PHP6 )au a 'ac&etului ?.MP )er$er6 care con+ine toate 'ro2ramele nece)are rulrii o'time a a'lica+iei. ?.9. I)s#a*a%ea B( u#(*(<a%ea a0*(&a'(e( Jezin)talarea )e realizeaz 3oarte u-or 'rin -ter2erea e3ecti$ a 3older9ului R#a$a!cri't5 C.A)eDe Dra2mente din )ur)ele 'a2inilor 'roiectuluiK Dra2ment din 'a2ina 'rinci'alaK Gdi$ idOEtem'latemoScontainerEH Gdi$ idOEtem'latemoSto')ectionEH Gdi$ idOEtem'latemoStitleEH#a$a!cri'tGIdi$H Gdi$ cla))OEtem'latemoSto'menuEH GulH GliHGa &re3OEinde/.&tmE cla))OEcurrentEHI)toricGIaHGIliH 1( GliHGa &re3OEteorie.&tmEHTeorieGIaHGIliH GliHGa &re3OE2eneralitati.&tmEHCeneralitatiGIaHGIliH GliHGa &re3OEe/em'le.&tmEHM/em'leGIaHGIliH GIulH GIdi$H GIdi$H Gdi$ idOEtem'latemoSle3tS)ectionEHGIdi$H Gdi$ idOEtem'latemoSmiddleS)ectionEH G&1HI)toric #a$a!cri'tGI&1H G'H#a$a!cri't a 3o)t initial dez$oltat de Net)ca'e )ub numele de Moc&a6 care mai tarziu a 3o)t redenumit in Li$e!cri't6 iar a'oi in #a$a!cri't. !c&imbarea de la Li$e!cri't la #a$a!cri't a coinci) cu adau2area de )u'ort #a$a 'entru broL)erele Net)ca'e. Prima a'aritie a 3o)t in 1%%6 iar numele a creat con3uzie dand im're)ia ca e)te o $arianta de #a$a.GI'H G'HGim2 )rcOEima2e)Item'latemoS'&oto.j'2E altOEtem'latemo.comE Lidt&OE2(2E &ei2&tOE1"1E IH#a$a!cri't a de$enit unul dintre cele mai 3olo)ite limbaje de 'ro2ramare 'e internet. Initial multi 'ro2ramatori 'ro3e)ioni)ti au deni2rat ace)t limbaj deoarece tinta lui erau EamatoriiE care 3aceau )iteuri. GI'H G'H.'aritia .#.T a readu) #a$a!cri't acolo unde ii e)te locul. ,ezultatul a 3o)t a'aritia de librarii )i 3rameLor89uri care imbunatate)c te&nicile de 'ro2ramare #a$a!cri't )i cre)c 3olo)irea lui in a3ara broL)erului.GI'H Gdi$ idOEtem'latemoSL&oS)ectionEH,e$ieL #a$a!cri'tGIdi$H Gdi$ cla))OEtem'latemoScontentSte/tEH Jou2la) Croc83ord6 creatorul #!BN6 i una dintre 'er)oanele care au in$e)tit mult 'a)iune *n #a$a)cri't6 'rezint i)toricul < i $iitorul> limbajului *ntr9o )e)iune la MIT1(. :n cFte$a linii6 'o$e)tea )t a aK 11 'rototi'ul 'entru ELebE e)te un 'ro2ram numit H='erCard )cri) de .''le <1%"Q>6 care a$ea ima2ini6 butoane i c&iar un limbaj e$ent9dri$en Tim 1erner)9Lee 'ro'une HTML *n 1%%16 limbaj in3luen at de !CML. Ini ial6 ace)ta nu 're)u'unea e/i)ten a ima2inilor6 ci doar a unui )et de documente te/t re3erite 'rin lin89uri :n 1%%36 un 2ru' de )tuden i de la 7ni$er)it= o3 Illinoi) 7rbana9C&am'ai2n creeaz Mo)aic 9 'rimul broL)er Leb 9 ce $a de$eni 'o'ular datorit introducerii )u'ortului 'entru ima2ini #im Clar86 3o)t an2ajat la !ilicon Cra'&ic)6 con$in2e o 'arte dintre creatorii Mo)aic ) lucreze *m'reun cu el la un nou )tart9u' numit Net)ca'e :n 1%%6 1rendan Mic&6 acum CTB la Mozilla6 )crie 'rima $er)iune a unui limbaj de )cri'tin2 ce rula *n Net)ca'e6 numit Li$e!cri't Net)ca'e redenume te limbajul *n #a$a)cri't du' ce )e aliaz cu !un <creatorii noului limbaj $edet 9 #a$a>6 *n *ncercarea de a9i mul umi 'e ace tia. Cele dou com'anii )'erau ca #a$a+#a$a)cri't+Net)ca'e Na$i2ator ) *n$in2 mono'olul a)u'ra a'lica iilor 'e care *l a$ea Micro)o3t. Micro)o3t an2ajeaz o alt 'arte dintre creatorii Mo)aic 'entru a crea un broL)er. :n 1%%06 'entru Internet M/'lorer 3.(6 Micro)o3t 3ace re$er)e9en2ineerin2 'e codul Net)ca'e i ie)e cu o clon a'roa'e identic a #a$a)cri't numit #!cri't6 'entru a e$ita 'roblemele de co'=ri2&t Net)ca'e6 de teama aca'arrii #a$a)cri't de ctre Micro)o3t6 *ncearc ) creeze o )'eci3ica ie 'ublic 'entru limbaj6 i mer2e la ?3C6 care *i i2nor. :ntr9un 3inal au ajun) la MCM. i )'eci3ica ia a luat numele ace)tora <MCM.!cri't>. #a$a)cri't a rma) cel mai comun nume 'entru im'lementrile din broL)ere. La )3Fr itul anilor U%(6 Net)ca'e e di)tru) )ub 're)iunea Micro)o3t. Internet M/'lorer cF ti2 'rimul rzboi al broL)erelor. 12 Micro)o3t e *ncFntat de rezultat i du' relea)e9ul de IM06 *n 2((16 dezmembreaz ec&i'a i o a)i2neaz la alte 'roiecte. ?eb9ul era E2ataE.