C++ de la 0 la 1 - Introducere

C++ de la 0 la 1 - Introducere

Postby Dexter » 03 May 2010, 21:34

C++ pas cu pas


Pasul 1 - Introducere

Ce este C/C++?


Cea mai simplă definiţie pentru C/C++ îl descrie ca un limbaj de programare , orientat pe obiecte. Un limbaj de programare este, de obicei, un limbaj intermediar între om şi maşină, care îi permite omului să dea instrucţiuni calculatorului.

Microprocesorul calculatorului execută aceste instrucţiuni, însă el "înţelege" doar instrucţiuni formate din zero şi unu (numite "cod maşină", "cod binar" sau "cod executabil"). Problema cu codul maşină este aceea că este foarte greu (spre imposibil) de înţeles şi creat de oameni şi este nevoie de programe speciale care să traducă instrucţiuni uşor de înţeles pentru oameni, în instrucţiuni care pot fi "înţelese" şi executate de procesor.

O scurtă paranteză - exemplu de cod maşină


Pentru a afişa un caracter pe ecran (o literă, o cifră, un simbol), procesorul are nevoie de următoarele instrucţiuni:
  1. mov ah,2
  2. mov dl,61h
  3. int 21h

Codul maşină corespunzător ar fi: 10110100 00000010 10110010 01100001 11001101 00100001
Executat, codul de mai sus afişează litera "a" pe ecran, dar pentru un om este extrem de dificil de înţeles. Spre exemplu, octetul al doilea (00000010) corespunde cifrei 2, în timp ce octetul al cincilea (01100001) corespunde numărului 97 (61h), care, la rândul lui, corespunde literei "a" din tabelul ASCII. Acestea sunt simplu de ghicit, pentru că avem ca sursă de inspiraţie instrucţiunile de mai sus, însă ceilalţi octeţi sunt aproape imposibil de descifrat fără a consulta o carte de sute de pagini, despre instrucţiunile procesorului. Scrierea unui program de la zero, direct în cod maşină este, aşadar, aproape imposibilă pentru un om.

Image


Ce este un limbaj de programare?


După cum am spus mai devreme, un limbaj de programare este un limbaj intermediar, între om şi maşină, care îi permite omului să dea instrucţiuni calculatorului. Programe specializate traduc instrucţiunile date de om în cod maşină, pe care calculatorul îl poate înţelege.

Un limbaj de programare este, de cele mai multe ori, un set de reguli, bine definit care (folosind cuvinte din limba engleză, paranteze, acolade, semne de punctuaţie, etc.), permite omului să creeze programe de calculator.

În prezent, există o varietate de limbaje de programare, C/C++ fiind unul dintre cele mai populare limbaje, folosit în industrie la scară largă pentru realizarea programelor de calculator, sistemelor de operare, jocurilor video, chiar şi pentru programarea micro-controlerelor (folosite în produse electronice/electrocasnice, utilaje computerizate, roboţi, etc.).


Cum se foloseşte un limbaj de programare?


Pentru a realiza un program pentru calculator, vom avea nevoie:


Editarea fişierelor text


Pentru a creea programe într-un limbaj de programare, vom avea nevoie, în primul rând, de un program de editare a fişierelor text, cum ar fi Notepad, Emacs, Gedit.
A nu se confunda cu programele de procesare a textelor, cum ar fi Microsoft Word, Wordpad, OpenOffice, al căror scop este crearea de documente, iar fişierele salvate nu sunt compatibile cu compilatoarele.


DE REŢINUT! -- Fişierele care conţin instrucţiuni în limbaj de programare se numesc fişiere sursă, iar conţinutul fişierelor reprezintă codul sursă. Acest cod sursă este analizat de către programe specializate numite compilatoare, care îl folosesc pentru a genera codul maşină corespunzător. Acesta, la rândul lui, poate fi executat direct de către procesor, şi îndeplineşte sarcinile descrise de codul sursă.


Rolul unui compilator


Un compilator este un program care citeşte conţinutul unui fişier sursă, interpretează instrucţiunile, şi crează codul maşină corespunzător.

Să luăm un exemplu:
  1. #include <stdio.h>
  2.  
  3. void main()
  4. {
  5.     putchar('a');
  6. }


Acesta este un cod sursă în C/C++. Salvăm textul într-un fişier text numit exemplu.cpp, iar apoi îl compilăm. Compilatorul analizează fişierul, interpretează instrucţiunile, şi creează un fişier exemplu.obj ce conţine fragmente de cod maşină.


Rolul unui "linker"


Linker-ul este un program care, reuneşte fragmentele de cod maşină din exemplu.obj într-un fişier executabil exemplu.exe, pe care, dacă îl lansăm în execuţie, va afişa litera "a" într-o fereastră tip consolă.

Ce este un I.D.E.?


I.D.E. este o prescurtare pentru Integrated Development Environment (tradus: Mediu Integrat de Dezvoltare), şi reprezintă un pachet de programe, printre care un editor de cod, un compilator şi un linker, la care se adaugă o interfaţă grafică pentru toate acestea. Avantajul IDE-urilor este acela că uşurează procesul de compilare (din punctul de vedere al utilizatorului), pentru că toţi paşii necesari sunt efectuaţi automat, la apăsarea unei taste.


De unde obţin IDE-ul?


Există o varietate de IDE-uri, pentru tot felul de limbaje de programare/scripting, iar o listă bogată poate fi găsită pe Wikipedia.

Pentru lecţiile din acest tutorial am ales programul MinGW Developer Studio, deoarece nu ocupă mult spaţiu pe harddisk (între 43.0 şi 62.21 MB), este relativ uşor de utilizat, şi se foloseşte la olimpiada de informatică (în loc de Borland C++ 3.1).




Instalarea programului


Instalarea se realizează destul de simplu, în câţiva paşi (pe principiul Next, Next, Finish). Implicit, programul se instalează la adresa C:\MinGWStudio, iar dintre cele patru componente ale programului, ultimele două sunt opţionale (ca în imaginea de mai jos).

Image


Interfaţa programului

Fereastra principală a programului se împarte în 3 panouri:
-- panoul stâng, pentru selectarea fişierelor proiectului
-- panoul inferior, pentru afişarea mesajelor de compilare (erori, avertismente, informaţii)
-- panoul drept, pentru editarea fişierelor sursă

Image

Bara de unelte


Cuprinde majoritatea operaţiilor şi se împarte în câteva secţiuni:

Interfaţă şi editare

Image
Primele 4 butoane sunt pentru crearea, deschiderea şi salvarea fişierelor sursă.
Următoarele 5 butoane sunt pentru editarea codului sursă.
Următoarele 2 butoane permit afişarea/ascunderea celor 2 panouri (cel din stânga pentru fişierele proiectului, cel de jos pentru mesajele de compilare).
Ultimele 2 butoane schimbă poziţia cursorului între poziţii recente.

Compilare şi depanare

Image

Butonul 1 - compilare - plecând de la fişierele sursă, programul crează fişiere-obiect (conţinând fragmente de cod maşină)
Butonul 2 - construire - plecând de la fişierele-obiect, crează executabilul final
Butonul 3 - stop - întrerupe procesul de compilare (dacă este în desfăşurare)
Butonul 4 - executare - dacă programul a fost compilat cu succes, îl lansează în execuţie
Următoarele 7 butoane se folosesc în depanare şi le voi explica mai târziu.



Dicţionar de termeni (recapitulativ)


programator - o maşină care transformă băuturile bogate în cofeină, în linii de cod ~O)
limbaj de programare - un set de reguli bine definite, care permit programatorului să comunice calculatorului un set de instrucţiuni, pe care acesta să le urmeze
fişier sursă - un fişier de tip text, care conţine cod într-un limbaj de programare
cod sursă - instrucţiuni scrise într-un limbaj de programare, care urmează a fi interpretate de un compilator
cod maşină - instrucţiuni în formă binară, pe care procesorul le poate executa direct
compilator - program care transformă codul sursă în cod maşină
IDE - pachet de programe care simplifică scrierea şi compilarea programelor, pentru un anume limbaj de programare

Observaţie: Codul sursă poate fi scris în orice limbaj de programare, în timp ce codul maşină este independent de limbajul de programare original, şi are nevoie doar de unele resurse ale sistemului de operare pentru a rula.
7p / 3 votes
User avatar
Dexter
Word
 
Joined: 04 Jan 2010
Location: Secret Lab
Status: 44.5

Return to Tutoriale C++

Who is online

Users browsing this forum: No registered users and 0 guests