Programare C++

Curs
8.3/10 (4 voturi)
Domeniu: Calculatoare
Conține 17 fișiere: pdf
Pagini : 82 în total
Cuvinte : 31535
Mărime: 4.38MB (arhivat)
Publicat de: Mihai Pricop
Puncte necesare: 0

Extras din curs

1.1. Etapele de rezolvare a unei probleme tehnice cu ajutorul calculatorului (folosind un limbaj de programare)

A.

Stabilirea datelor iniţiale (de pornire) şi a modelului matematic pentru problema de rezolvat;

B.

Întocmirea unui algoritm pentru rezolvarea problemei (eventual schema logică);

C.

Scrierea programului sursă utilizând un limbaj de programare (limbajul C), cu ajutorul unui editor de texte. Fişierul rezultat va avea extensia C sau CPP;

D.

Compilarea fişierului sursă şi obţinerea fişierului obiect (fişier cu extensia OBJ). Această operaţie este realizată de compilator care transcrie fişierul sursă în cod obiect;

E.

Link-editarea (ediţia de legături). În această etapă se rezolvă referinţele externe şi se face legătura între modulele obiect. În urma acestei etape rezultă un fişier executabil (extensia EXE);

F.

Lansarea în execuţie a programului executabil (rularea programului).

Mediu de dezvoltare = Un mediu de dezvoltare (engl. development environment, sau integrated development environment - „mediu integrat de dezvoltare”) este un set de programe care ajută programatorul în scrierea de alte programe. Un mediu de dezvoltare combină toţi paşii necesari creării unui program (ex.: editarea codului sursă, compilarea, depanarea, testarea, generarea de documentaţie) într-un singur soft, care de regulă, oferă o interfaţă cu utilizatorul grafică, prietenoasă.

Principalele componente ale unui mediu de dezvoltare sînt editorul de cod sursă şi depanatorul. Mediile de dezvoltare apelează compilatoare, sau interpretoare, care pot veni în acelaşi pachet cu mediul însuşi, sau pot fi instalate separat de către programator. Printre facilităţile prezente în mediile de dezvoltare mai sofisticate se numără: exploratoare de cod sursă, sisteme de control al versiunilor, designere de interfeţe grafice, sau unelte de ingineria programării (ex. generarea de diagrame UML).

De obicei un mediu de dezvoltare este specific unui anumit limbaj de programare, însă există la ora actuală şi medii de dezvoltare care pot lucra cu mai multe limbaje, de ex. Eclipse sau Microsoft Visual Studio.

1.2. Tipuri de limbaje de programare. Clasificare.

Limbajul de programare reprezintă un sistem de convenţii adoptate pentru realizarea unei comunicări între programator şi calculator.

Limbajele de programare sunt foarte asemănătoare limbajelor naturale, astfel ele sunt compuse din: cuvinte rezervate, punctuaţie, propoziţii şi fraze, reguli sintactice, etc. Aşa cum, pentru învăţarea unei limbi străine este necesar să se înveţe cuvintele acesteia şi regulile prin intermediul cărora acestea pot fi manevrate, pentru învăţarea unui limbaj de programare trebuie studiate cuvintele şi semnele care îl compun, precum şi ansamblul de reguli pentru manevrarea acestora.

După modul în care este conceput ansamblul de reguli de comunicare, limbajele de programare se clasifică astfel:

-

limbaje de nivel scăzut - nivel înalt:

Nivelul unui limbaj este dat de poziţia pe care acesta îl ocupă pe o scară de la nivelul recunoscut de microprocesor (limbaj maşină) şi până la limbajul natural al programatorului (limba engleză, limba română etc). Un limbaj de nivel scăzut este un limbaj foarte apropiat de maşină şi care lucrează cu elemente de nivel hardware, cum ar fi: regiştrii, microprocesor, locaţii de memorie, porturi de intrare/ieşire etc. Un limbaj de nivel înalt utilizează concepte apropiate de limbajul natural, concepte de nivel logic, cum ar fi: colecţii de date, nume de operaţii, variabile, constante etc.

O deosebire extrem de importantă între cele două tipuri de limbaje de programare o constituie portabilitatea acestora, adică posibilitatea transferării programelor pe un alt tip de maşină decât cea pe care au fost realizate. Limbajele de nivel scăzut sunt neportabile, deoarece sunt legate de tipul procesorului utilizat de maşină. În ceea ce priveşte limbajele de nivel înalt, acestea permit transferul programelor deoarece între program şi calculator se interpune compilatorul (numit şi interpretor) care rezolvă transformarea fişierului sursă în fişier executabil, ţinând cont de caracteristicile maşinii.

-

Limbaje procedurale - neprocedurale:

Cele două tipuri de limbaje se deosebesc prin nivelul de organizare (structurare) a programelor. În cazul limbajele neprocedurale programele sunt gândite la nivel de instrucţiune, pe când la cele procedurale programatorul concepe programele la nivel de bloc de instrucţiuni. În limbajele procedurale programele sunt scrise instrucţiune cu instrucţiune, însă ele sunt organizate logic în blocuri (grupuri de instrucţiuni) care realizează acţiuni specifice.

-

Limbaje orientate sau de uz general:

Din acest punct de vedere, limbajele pot fi orientate pe o anumită problemă sau pot fi concepute pentru soluţionarea oricărui tip de problemă.

-

Limbaje concurente:

Un limbaj concurent permite definirea de procese ( prelucrări ) care se desfăşoară în paralel, la un anumit moment execuţia putându-se ramifica. În cazul limbajelor neconcurente (aşa cum sunt majoritatea limbajelor) execuţia are o desfăşurare liniară, la un moment dat fiind activ un singur proces. Procesele concurente necesită în mod obligatoriu un sistem multi-tasking ce poate gestiona mai multe „ sarcini „ în acelaşi moment.

Un exemplu de limbaj de nivel scăzut este limbajul de asamblare. Limbaje de nivel înalt sunt: BASIC (Beginner’s Allpurpose Symbolic Instruction Code - Cod de instrucţiuni simbolice, de uz general, destinat începătorilor), FORTRAN (FORmula TRANslation), PASCAL (numele acestui limbaj provine de la matematicianul şi filosoful BLAISE PASCAL, în semn de recunoaştere a contribuţiilor sale în conceperea maşinilor de calcul), ADA, precum şi limbajul C.

1.3. Limbajul C. Scurt istoric.

La un anumit moment s-a pus problema conceperii unui sistem de operare universal, care să poată funcţiona, teoretic, pe orice tip de maşină - sistemul UNIX. Pentru aceasta era nevoie de un limbaj care să exploateze toate posibilităţile unei maşini de calcul, dar care nu putea fi limbajul de asamblare deoarece acesta este specific maşinii de calcul, astfel că o nouă implementare presupunea rescrierea integrală a sistemului.

Limbajul C a apărut în anul 1972, autorii acestuia fiind Brian W. Kerningham şi Dennis M. Ritchie de la Bell Laboratories. Limbajul C a fost proiectat pentru a asigura implementarea portabilă a sistemului de operare UNIX. Ca o consecinţă a acestui fapt programele scrise în limbajul C au o portabilitate foarte bună.

Multe din cele mai importante idei din C îşi au originea în limbajul BCPL, dezvoltat de Martin Richards de la Universitatea din Cambridge, în anul 1960. Din limbajul BCPL a derivat un nou limbaj, limbajul B, scris de Ken Thompson in 1970. Limbajului B i s-au adus o serie de îmbunătăţiri, apărând chiar şi o formă nouă, numită NB (New B). Din acest limbaj a derivat limbajul C.

Limbajul C, deşi este un limbaj de nivel înalt, introduce şi concepte de nivel scăzut (registru, adresă, locaţie de memorie etc). Peste 90% din sursele primului sistem de operare UNIX au fost scrise utilizând limbajul C, pentru restul mlelor utilizându-se limbajul de asamblare. S-a dorit astfel transformarea acestui sistem de operare într-unul universal, motiv pentru care sistemul a fost distribuit împreună cu codul sursă şi cu descrierea limbajului. Acest fapt a incitat o serie de programatori să-l dezvolte, să creeze noi module şi să-l implementeze pe alte maşini prin rescrierea modulelor elaborate în limbajul de asamblare. Astfel, limbajul C a devenit un limbaj de referinţă.

Principalele caracteristici ale limbajului C sunt :

-

limbaj structurat de nivel înalt ;

-

posedă concepte de nivel scăzut, ceea ce permite exploatarea portabilă a caracteristicilor interne ale unei maşini;

-

posedă rutine de conversie a datelor foarte evoluate;

-

tipuri de date definibile de către utilizator;

-

gestionarea elaborată a datelor de tip dinamic;

-

posibilitatea definirii de noi funcţii;

-

adresări indirecte ale datelor, variabilelor (pointeri);

-

recursivitate;

-

set complet de funcţii matematice;

-

funcţii pentru realizarea de grafică elementară 2D;

-

funcţii de apel servicii DOS;

-

posibilitatea definirii de overlay-uri pentru un program;

-

concizie deosebită a limbajului.

Bibliografie

1. Antal, T.A. - The C ANSI programming language, Editura RISOPRINT, 2001, ISBN 973-656-065-1.

2. Arghir, M. – Limbajul C standard. Ghid de programare & Aplicaţii tehnico-inginereşti, Editura Didactică şi Pedagogică, Bucureşti, 1998;

3. Damian, C. – Iniţiere în limbajul C, Editura Teora, Bucureşti, 1996;

Deshpande, P.S., Kakde, O.G. - C & Data Structures, Charles River Media, 2004 (700 pages)

4. Kernigham, B., Ritchie, D. – The C Programming Language, Prentice – Hall, Inc, Englewood Cliffs, New Jersey, 1978;

5. Lupea, I., Lupea, M. – Limbajul C. Teorie şi aplicaţii. Editura Casa Cărţii de Ştiinţă, Cluj-Napoca, 1998;

6. Muşlea, I. – Iniţiere în C++, Editura MicroInformatica, Cluj-Napoca, 1993

7. Negrescu, L. – Limbajele C şi C++ pentru începători, Vol. I. – Limbajul C, Editura Albastră, Cluj-Napoca, 1996;

8. Perry, G. - C by Example, Que Corporation, 2000, ISBN 0-7897-2239-9

9. Petrovici, V., Goicea, F. – Programarea în limbajul C, Editura Tehnică, Bucureşti, 1993;

10. Popescu, D.I. – Programarea în limbajul C, Editura DSG Press, Dej, 1999;

11. Schildt, H. - C/C++ Programmer's Reference, Third Edition, McGraw-Hill/Osborne, 2003 (358 pages)

12. Sedgewick, R. – Algorithms in C, Addison – Wesley, 1990 ISBN 0-201-51425-7

Smiley, J. – Learn to program with C++, MacGraw-Hill, 2003

13. Stroustrup, B. – The C++ Programming, Addison – Wesley, 1997, ISBN 0-201-88954-4

14. Ursu-Fischer, N., Ursu, M. – Programarea cu C în inginerie, Editura Casa Cărţii de Ştiinţă, Cluj-Napoca, 2001;

Preview document

Programare C++ - Pagina 1
Programare C++ - Pagina 2
Programare C++ - Pagina 3
Programare C++ - Pagina 4
Programare C++ - Pagina 5
Programare C++ - Pagina 6
Programare C++ - Pagina 7
Programare C++ - Pagina 8
Programare C++ - Pagina 9
Programare C++ - Pagina 10
Programare C++ - Pagina 11
Programare C++ - Pagina 12
Programare C++ - Pagina 13
Programare C++ - Pagina 14
Programare C++ - Pagina 15
Programare C++ - Pagina 16
Programare C++ - Pagina 17
Programare C++ - Pagina 18
Programare C++ - Pagina 19
Programare C++ - Pagina 20
Programare C++ - Pagina 21
Programare C++ - Pagina 22
Programare C++ - Pagina 23
Programare C++ - Pagina 24
Programare C++ - Pagina 25
Programare C++ - Pagina 26
Programare C++ - Pagina 27
Programare C++ - Pagina 28
Programare C++ - Pagina 29
Programare C++ - Pagina 30
Programare C++ - Pagina 31
Programare C++ - Pagina 32
Programare C++ - Pagina 33
Programare C++ - Pagina 34
Programare C++ - Pagina 35
Programare C++ - Pagina 36
Programare C++ - Pagina 37
Programare C++ - Pagina 38
Programare C++ - Pagina 39
Programare C++ - Pagina 40
Programare C++ - Pagina 41
Programare C++ - Pagina 42
Programare C++ - Pagina 43
Programare C++ - Pagina 44
Programare C++ - Pagina 45
Programare C++ - Pagina 46
Programare C++ - Pagina 47
Programare C++ - Pagina 48
Programare C++ - Pagina 49
Programare C++ - Pagina 50
Programare C++ - Pagina 51
Programare C++ - Pagina 52
Programare C++ - Pagina 53
Programare C++ - Pagina 54
Programare C++ - Pagina 55
Programare C++ - Pagina 56
Programare C++ - Pagina 57
Programare C++ - Pagina 58
Programare C++ - Pagina 59
Programare C++ - Pagina 60
Programare C++ - Pagina 61
Programare C++ - Pagina 62
Programare C++ - Pagina 63
Programare C++ - Pagina 64
Programare C++ - Pagina 65
Programare C++ - Pagina 66
Programare C++ - Pagina 67
Programare C++ - Pagina 68
Programare C++ - Pagina 69
Programare C++ - Pagina 70
Programare C++ - Pagina 71
Programare C++ - Pagina 72
Programare C++ - Pagina 73
Programare C++ - Pagina 74
Programare C++ - Pagina 75
Programare C++ - Pagina 76
Programare C++ - Pagina 77
Programare C++ - Pagina 78
Programare C++ - Pagina 79
Programare C++ - Pagina 80
Programare C++ - Pagina 81
Programare C++ - Pagina 82

Conținut arhivă zip

  • Curs_06.pdf
  • Curs_07+08.pdf
  • Curs_09.pdf
  • Curs_10.pdf
  • Curs_11+12.pdf
  • Curs_13+14.pdf
  • Curs_1-5.pdf
  • Lab_01.pdf
  • Lab_02+03.pdf
  • Lab_04.pdf
  • Lab_05.pdf
  • Lab_06.pdf
  • Lab_07.pdf
  • Lab_08.pdf
  • Lab_09.pdf
  • Lab_10+11+12.pdf
  • Lab_13-14.pdf

Alții au mai descărcat și

Baza de date - magazin de cărți

1 Introducere Prin bază de date se înţelege orice colecţie de date sau informaţii, care este organizată special, în vederea consultării rapide a...

Probleme Rezolvate în C

1. Calculati suma elementelor unui vector #include <stdio.h> #include <conio.h> void main() { int v[10], n, i, s=0; clrscr(); printf ("dati...

Clasificarea programelor de instruire asistată de calculator

Software-ul pedagogic/educaţional reprezintă un program informatizat, proiectat special pentru rezolvarea unor sarcini sau probleme...

Comparație intre Windows si Linux

Capitolul 1. Introducere în sistemele de operare 1.1 Ce este un sistem de operare? Un sistem de operare, prescurtat SO (engleză operating system,...

Arhitectura calculatoarelor

Scopul lucrării a) Elemente de limbaj de asamblare. b) Instructiuni de transfer. c) Instructiuni aritmetice. Desfășurarea lucrării...

Ingineria programării

În “Ghidul cunoștințelor esențiale referitoare la Ingineria Programării” (Guide to the Software Engineering Body of Knowledge -...

Securitatea bazelor de date

Astăzi vom discuta despre sucuritatea bazelor de date. Ne vom uita în mod deosebit la diferite comenzi şi construcţii SQL care să ne ajute să...

Microprocesoare

1)initiarea in programare ASM. 2)stodierea modului periferic GPIO. Problema: Sa se dezvolte o aplicatie care ar permite trecerea starii unui led...

Te-ar putea interesa și

Monitorizarea și Controlul Temperaturii într-o Casă Inteligentă Utilizând Mediul de Programare Grafică Labview

CAPITOLUL I CARACTERISTICILE GENERALE ALE UNEI LOCUINŢE INTELIGENTE 1.1. Prezentare generală. O întrebare care ne frământa din ce în ce mai des,...

Proiectare și verificarea unui sașiu spațial folosind programe soft dedicate

Memoriu justificativ Tema lucrării de diplomă este “Proiectarea şi verificarea unui şasiu spatial sudat utilizând pachete software dedicate”. Ea...

Dezvoltarea firmei prin intermediul programelor europene de finanțare

INTRODUCERE Tema aleasă de mine pentru prezenta lucrare de licență este ”Dezvoltarea firmei prin intermediul programelor europene de finanțare”....

Rolul programelor de consiliere în asigurarea parteneriatului școală-familie

Daca lumea devine din ce in ce mai complexa dar si mai problematica si contradictorie, educatia este chemata sa raspunda din ce in ce mai adecvat...

Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java

Introducere Am ales lucrarea intitulată „Ilustrarea și simularea unor algoritmi de inteligență artificială folosind programarea orientată pe...

Fonduri și Programe ale Uniunii Europene

2.1. FONDURILE STRUCTURALE ALE UNIUNII EUROPENE Exista 4 tipuri de Fonduri Structurale prezentate pe site-ul Parlamentului European, fiecare...

Proiectarea și Realizarea Bazei de Date cu Ajutorul Programelor Mysql și Foxpro

INTRODUCERE Progresele realizate recent în domeniile tehnologiei de calculatoare, telecomunicaţii şi software, precum şi în alte domenii ale...

Fonduri și Programe ale Uniunii Europene

Cap 1.Fonduri ale Uniunii Europene 1.1.Fondurile structurale ale Uniunii Europene Fondurile Structurale si de coeziune reprezintă instrumente...

Ai nevoie de altceva?