Table of Contents

Laboratorul 01: Introducere

1. Introducere

Bine ati venit la primul laborator al materiei Programare Orientata pe Obiecte!

Laboratorul de astazi are ca scop acomodarea voastra cu toate resursele necesare pentru un parcurs lin al materiei. Dupa cum vedeti, pe dreapta sunt dispuse mai multe sectiuni. Pe langa cele sugestive (Cursuri si Laboratoare), avem resursele puse la dispozitie pentru a va ajuta in abordarea materiei, atat din punct de vedere administrativ, cat si practic.

2. Etapele initiale organizarii pentru aceasta materie sunt:

Stim ca toate lucrurile pot parea intimidante la inceput. Cu toate acestea, incercam constant sa oferim modalitati intuitive de a invata, care sa asigure o intelegere cat se poate de buna asupra materiei, intr-o maniera cat mai abordabila.

Consideram ca succesul la Programare Orientata pe Obiecte este consecventa, adica ore depuse saptamanal pentru a intelege si a deprinde noile concepte prezentate. Ritmul impus nu este deloc unul lent, dar nici infricosator. Speram ca ne veti crede pe cuvant.

Recomandarile noastre sunt sa fiti prezenti la cursuri si sa cititi laboratorul inainte de a-l avea efectiv. Laboratoarele sunt gandite astfel incat sa va ofere o sumarizare a conceptelor necesare in exercitiile pentru laboratoare. Acestea ofera atat explicatii intuitive, cat si exemple efective. Veti observa ca unele concepte 'par ok', dar pot deveni relativ complexe atunci cand trebuiesc implementate concret.

3. Instalarea unui IDE si crearea primului proiect

Recomandam Dev-C++, din prisma unor erori/probleme ce mai pot aparea in folosirea CodeBlocks, chiar daca acestea sunt rare.

3.1. Dev-C++

Pasul 1: Download

Ultima varianta a Dev-C++ poate fi descarcat de la urmatoarea adresa: Download
Aceasta varianta contine atat IDE-ul, cat si compilatorul GCC/G++, necesar crearii unei aplicatii C/C++. Fara un compilator, un IDE este nimic mai mult decat un editor de text mai interesant

Pasul 2: Instalare

Instalarea programului se realizeaza similar cu cea a altor aplicatii. Pentru a nu intampina probleme, selectati varianta de instalare “Full”

Pasul 3: Rulare Dev-C++

Cand rulati pentru prima oara aplicatia, puteti configura setari precum limba, fontul sau aspectul butoanelor

Interfata Dev-C++ arata astfel:

Pasul 4: Crearea unui proiect

Un proiect nou este creat astfel:
1. Selectati File → New → Project

2. Selectati Console Application, C++ si denumiti proiectul

3. Selectati calea dorita si creati un director nou (de preferat cu numele identic cu cel al proiectului)

4. Deschideti directorul si salvati in el fisierul cu numele nume_proiect.dev

5. In acest moment o sa se genereze automat un fiser care contine functia main(). Proiectul este vizibil in fereastra din partea stanga

6. Salvati acest fisier pentru a putea compila si rula proiectul

Pasul 5: Rularea proiectului

Pentru a compila si rula proiectul, apasati CompileRun sau Compile & Run, butoane aflate in zona de sus a ferestrei

De asemenea, puteti utiliza si urmatoarele shortcuts:
Compile - F9
Run - F10
Compile & Run - F11

Pasul 6: Adaugarea fisierelor

Dupa cum veti vedea in laboratoarele viitoare, un pas important va fi reprezentat de crearea unor noi fisiere si adaugarea acestora in proiect. Pentru a realiza acest lucru, trebuie sa:
1. Selectati File → New → Source File. Raspundeti Yes pentru a adauga fisierul in cadrul proiectului curent SAU Click-dreapta pe numele proiectului → New File

2. Salvati fisierul apasand pe butonul Save sau CTRL + S

3. Completati numele fisierului si selectati tipul acestuia: sursa sau header

Ce este un fisier header?
Fisierele de tip header sunt utilizate pentru a declara diferite elemente ce pot fi utilizate de fisierele sursa. De exemplu, fisierul “math.h” contine declarari de functii matematice precum cos, sin, radical (sqrt) sau exponential (exp). Astfel, putem utiliza aceste functii fara a mai fi necesara implemetarea acestora, atat timp cat fisierul header este specificat in fisierul sursa (.cpp), prin utilizarea directivei preprocesor #include. Un alt exemplu poate fi utilizarea functiilor cin si cout, atat timp cat fisierul “iostream.h” este inclus.

Cele doua tipuri de fisiere header sunt:
* Fisiere header din Standard Library (detalii aici). Sunt cuprinse in biblioteci preexistente (Input/output library, Strings library, Containers library etc). Exemple de fisiere header: iostream.h, math.h, string.h, stdlib.h etc
* Fisiere header user-defined, ce contin declarari ale utilizatorului

Mai mult informatii despre fisierele header puteti gasi aici si despre directivele preprocesor aici

6. Selectati “Save”. Fisierul nou adaugat poate fi editat si compilat

3.2. CodeBlocks

Pasul 1: Alegerea variantei potrivite

CodeBlocks poate fi descarcat de la urmatoarea adresa: Download

Pentru a putea crea aplicatii in C/C++, este necesara instalarea unui compilator. CodeBlocks ofera posibilitatea de a instala compilatorul GCC/G++, parte a proiectului MinGW (detalii aici), impreuna cu mediul de dezvoltare, prin descarcarea variantei codeblocks-x.xmingw-setup.exe

Versiunea “nosetup” permite utilizarea CodeBlocks fara ca acesta sa fie instalat. Totusi, recomandam varianta “setup” pentru o functionare fără probleme

Descarcati varianta dorita de pe unul dintre link-urile oferite

Pasul 2: Instalare

Instalarea programului se realizeaza similar cu cea a altor aplicatii. Pentru a nu intampina probleme, selectati varianta de instalare “Full”

Pasul 3: Rulare CodeBlocks

In momentul rularii, interfata CodeBlocks arata astfel:

Pasul 4: Crearea unui proiect

Un proiect nou este creat astfel:
1. Apasati butonului “Create a new project” aflat in centrul interfetei sau prin selectarea File → New → Project

2. Alegeti optiunile “Console application”, respectiv “C++“

3. Denumiti proiectul si alegeti folder-ul in care va fi creat

4. Alegeti compilatorul GNU GCC

Pasul 5: Rularea proiectului

In acest moment, proiectul a fost creat. Acesta contine o singura sursa, “main.cpp”, ce contine functia main()

Pentru a compila si rula proiectul, utilizati Build → Run sau Build & Run, butoane aflate in partea de sus a ferestrei. Fisierul editat este salvat automat inainte de a fi compilat

Puteti utiliza si urmatoarele shortcuts:
Build and Run - F9
Build - CTRL + F9
Run - F10
Compilare fisier curent - CTRL + Shift + F9

Aplicatia va rula in consola

Pasul 6: Adaugarea fisierelor

Dupa cum veti vedea in laboratoarele viitoare, un pas important va fi reprezentat de crearea unor noi fisiere si adaugarea acestora in proiect. Pentru a realiza acest lucru, trebuie sa:
1. Selectati File → New → File

2. Selectati tipul: Fisier header sau sursa

Ce este un fisier header?
Fisierele de tip header sunt utilizate pentru a declara diferite elemente ce pot fi utilizate de fisierele sursa. De exemplu, fisierul “math.h” contine declarari de functii matematice precum cos, sin, radical (sqrt) sau exponential (exp). Astfel, putem utiliza aceste functii fara a mai fi necesara implemetarea acestora, atat timp cat fisierul header este specificat in fisierul sursa (.cpp), prin utilizarea directivei preprocesor #include. Un alt exemplu poate fi utilizarea functiilor cin si cout, atat timp cat fisierul “iostream.h” este inclus.

Cele doua tipuri de fisiere header sunt:
* Fisiere header din Standard Library (detalii aici). Sunt cuprinse in biblioteci preexistente (Input/output library, Strings library, Containers library etc). Exemple de fisiere header: iostream.h, math.h, string.h, stdlib.h etc
* Fisiere header user-defined, ce contin declarari ale utilizatorului

Mai mult informatii despre fisierele header puteti gasi aici si despre directivele preprocesor aici

3. Selectati “C++“

4. Specificati calea fisierului si numele acestuia (cu sau fara extensie, deoarece este setata automat)

5. Bifati optiunea “Add file to active project”, impreuna cu optiunile “Debug” si “Release

6. Selectati “Finish”. Fisierul nou adaugat va fi deschis automat pentru editare si va aparea in fereastra “Management”

Fisierele de tip header vor fi adaugate intr-un folder separat fata de fisierele sursa