Limbaje de Programare

Curs
8/10 (1 vot)
Conține 1 fișier: doc
Pagini : 95 în total
Cuvinte : 29990
Mărime: 1.06MB (arhivat)
Publicat de: Susana Marginean
Puncte necesare: 0
Profesor îndrumător / Prezentat Profesorului: Anca Bujor

Extras din curs

1. Definirea şi clasificarea limbajelor de programare

Limba (DEX) – sistem de comunicare alcătuit din sunete articulate, specifice omului, prin care acesta îşi exprimă gândurile sau dorinţele.

Noţiunea de limbaj: este definită ca un sistem pentru comunicare. Limbajele scrise folosesc simboluri (care sunt caractere) pentru a construi cuvinte. Întreg setul de cuvinte formează vocabularul limbajului. Modul în care cuvintele pot fi combinate pentru a fi înţelese este definit de sintaxa şi gramatica limbajului. Sensul dat de cuvinte sau combinaţii de cuvinte este definit de semantica limbajului.

În domeniul computerelor, limbajele umane sunt denumite limbaje naturale. Din nefericire computerele nu sunt de ajuns de sofisticate pentru a înţelege limbajele naturale. Prin urmare comunicarea cu computerele se face prin intermediul unor limbaje specifice computerelor denumite limbaje de programare. Limbajele de programare sunt sisteme convenţionale (limbaje artificiale) create de om şi care servesc la exprimarea sub formă de acţiuni executabile mijlocit sau nemijlocit de către sistemul de calcul a algoritmului sau logicii de rezolvare a unei probleme.

Noţiunea de limbaj de programare: este definită ca fiind ansamblul format de un vocabular şi un set de reguli gramaticale, necesar instruirii unui computer pentru a realiza anumite activităţi. Altfel spus limbajul de programare este o notaţie sistematică prin care se descrie un proces de calcul. Orice limbaj (natural sau artificial) presupune definirea sintaxei, semanticii şi pragmaticii lui.

Sintaxa este un set de reguli ce guvernează alcătuirea propoziţiilor dintr-un limbaj. În cazul limbajelor de programare echivalentul propoziţiei este programul.

Semantica este un set de reguli ce determină „înţelesul” sau semnificaţia propoziţiilor într-un limbaj.

Pragmatica indică utilitatea practică a limbajului )uşurinţa utilizării, independenţa de sistemul de calcul etc.)

După modul cum au evoluat în timp limbajele de programare pot fi:

- limbaje de prima generaţie: limbajul maşină (machine language);

- limbaje de generaţia a doua: limbajul de asamblare (assembly language);

- limbaje de generaţia a treia: limbajele de înalt nivel (high-level programming languages);

- limbaje de generaţia a 4-a : limbaje mai apropiate de limbajul uman decât limbajele de înalt nivel;

- limbaje de generaţia a 5-a – îndreptate spre exploatarea bazelor de cunoştinţe , crearea sistemelor expert şi spre rezolvarea problemelor legate de inteligenţa artificială.

Limbajul maşină

Reprezintă nivelul cel mai elementar al limbajelor de programare.

Când un computer urmează instrucţiunile unui program se spune că programul este în execuţie (running). Înainte de a fi executat programul trebuie să fir rezident în memorie.. Adică programul trebuie să ocupe un set de bytes consecutivi în memorie. Totodată programul trebuie scris într-un limbaj maşină intern. Fiecare tip de procesor are propriul limbaj maşină. Acesta este conceptul de bază cu privire la modul de execuţie a unui program. Faptul că programul ce se execută este stocat (chiar şi parţial) în memoria principală (RAM) duce la concluzia că numai prin schimbarea programului din memoria RAM computerul poate trece la execuţia altui proces (task)/program. Aşa cum s-a prezentat mai sus toate computerele au un limbaj maşină intern (specific tipului de procesor). Acest limbaj este codat într-o reprezentare binară şi este foarte greoi (plictisitor) de utilizat pentru scrierea unui program. Majoritatea instrucţiunilor programului vor conţine astfel două părţi:

- o parte care se referă la operaţia de codare – se vor indica ordinea operaţiilor;

- o parte care se referă la adresa din meorie - indică locaţia de memorie ce se va utiliza ca operand al instrucţiunii.

operation address meaning

code

00010101- 10100001- load c(129) into accumulator

00010111- 10100010- add c(130) to accumulator

00010110- 10100011 store c(accumulator) in location 131

Astfel programatorii care utilizează limbajul maşină vor trebuie să fie atenţi în ce zone de memorie se vor stoca date şi în ce zone de memorie se vor executa programele (instrucţiunile). Astfel pot apărea erori de programare datorate suprapunerii scrierii instrucţiunilor peste date. Prin urmare programarea în limbaj maşină presupune o bună capacitate de a interpreta datele şi instrucţiunile la nivel de bit. Totodată aceasta reprezintă si posibilitatea de a se genera alte programe şi de a le executa.

Concluzii:

- este limbajul pe care computerul îl înţelege în mod direct;

- în limbajul maşină programele se scriu în cod binar: succesiuni de 0 şi 1;

- fiecare instrucţiune din limbajul maşină este o combinaţie de 4 bits (LOAD-0000; ADD-0001);

- programatorul trebuie să cunoască detaliat structura hardware a computerului;

- programatorul trebuie să gestioneze fără greşeală alocarea adreselor de memorie pentru un program;

- pot apărea multe erori datorită: concepţiei programului, sintaxei, suprapunerii adreselor de memorie, etc.

Limbajul de asamblare

Permite folosirea codurilor simbolice pentru adrese, date şi operaţii.

Atenţia necesară evitării ocupării aceloraşi adrese de memorie este foarte solicitantă (greoaie) în programarea în limbaj maşină. Astfel dacă programatorul modifică un program şi decide să mai introducă ceva atunci toate celelalte adrese de memorie utilizate până atunci se vor schimba şi trebuie să examineze întregul program din nou şi să decidă iarăşi cu privire la modul cum va aloca memoria datelor şi instrucţiunilor.

Astfel au apărut începând cu 1950 limbajele de asamblare care sunt forme mai prietenoase ale limbajului maşină. Astfel comenzile limbajului maşină au fot înlocuite de comenzi mnemonice (gestionează memoria!!! – nu e foarte ortodoxă). Astfel limbajul de asamblare are grijă să convertească comenzile mnemonice în comenzile corespunzătoare limbajului maşină. Programatorul poate folosi adrese simbolice pentru reprezentarea datelor. Acest limbaj va atribui adresele în limbaj maşină şi va verifica dacă datele distincte nu se suprapun la stocare.

Astfel scurtul program de mai sus se poate scrie în limbaj de asamblare astfel:

Operation address

code

LOAD- A

ADD-- B

STORE- C

Evident acest limbaj evită o multitudine de erori de alocare a memoriei. Limbajul de asamblare presupune existenţa unui program numit assembler (asamblor) care să traducă programele în limbaj maşină. Asamblorul înlocuieşte codarea mnemonica (cum ar fi ADD) cu coduri binare corespunzătoare limbajului maşină şi alocă adrese de memorie pentru toate variabilele simbolice utilizate (A, B, C ) şi se asigură că aceste adrese sunt distincte. Astfel prin uşurarea procesului de programare s-a introdus un nou nivel de procesare pentru computer. Astăzi limbajele de asamblare sunt încă utilizate pentru unele programe critice deoarece aceste limbaje conferă programatorului un control foarte precis a ceea ce se întâmplă în computer. Limbajele de programare încă necesită ca programatorul să aibă foarte bune cunoştinţe cu privire la structura internă a computerului. Limbajele de asamblare sunt şi ele specifice computerului pe care rulează astfel că programatorul trebuie sa-şi rescrie programul pentru un alt tip de computer.

Preview document

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

Conținut arhivă zip

  • Limbaje de Programare.doc

Alții au mai descărcat și

Manual Limbaj C

1. Generalitati asupra limbajului C 1.1. Introducere Limbajul C a fost creat la începutul anilor '70 de catre Brian W Kernigham si Dennis M...

Clase și Programare C++ Builder

1. Un tur rapid al C++Builder Pentru moment, nu vom acorda decât o privire rapidă mediului de dezvoltare C++Builder, urmând ca în lecţia a şasea...

Sisteme de Gestiune a Bazelor de Date Relaționale

2.1. Definirea SGBDR SGBDR este un sistem software complet care implementeză modelul de date relaţional, precum şi cel puţin un limbaj relaţional....

Algoritmi - 1

Introducere Un algoritm este o metoda de rezolvare a unei probleme printr-un numar finit de pasi. Printr-un pas se întelege o operatie...

Proiectare orientată pe obiect

POO  CURS Nr. 1 DISCIPLINA: PROIECTAREA SISTEMELOR INFORMATICE ORIENTATA PE OBIECTE (POO): 2C/2L Obiective: 1. - Pregatirea studentilor in...

Inginerie Software

• Modele de proces software • Metode ale ingineriei software • Modelarea sistemelor software folosind UML • Metode de testare a sistemelor...

Algoritmi și Structuri de Date

1. ALGORITMI SI MODURI DE REPREZENTARE Prelucrarea datelor cu ajutorul calculatorului se realizeazã prin executia unor operatii simple...

Te-ar putea interesa și

Comanda unei Stații Automate de Spălat Autovehicule cu Automatul Programabil LG Glofa GM7

I. PARTEA TEORETICA 1. Automate programabile 1.1 Introducere Sistemele automate de control a proceselor sunt un conglomerat de dispozitive...

Validarea datelor de intrare și manipularea erorilor în programarea web

INTRODUCERE Într-o epocă modernă ca aceasta în care se poate rezolva totul cu ajutorul internetului printr-un simplu ”click” - o singură apăsare a...

Limbaje de Programare

Cap.I ARGUMENT Lucrarea de fata “Limbaje de programare” isi propune sa pregateasca cititorul in scopul insusirii si utilizarii unui limbaj de...

Medii de Programare

MODULUL 1. INTRODUCERE IN STUDIUL LIMBAJELOR DE PROGRAMARE 1.1 Notiuni generale privind limbajele de programare 1.2 Clasificarea limbajelor de...

Limbaje de Programare Utilizate în Inteligenta Artificială

INTRODUCERE Obiectul inteligenţei artificiale este obţinerea de artefacte care să se comporte inteligent, similar unui om. Câteva exemple...

Limbaje de programare - prezentare generală

Introducere Limbajul de programare este un limbaj artificial, folosit pentru a scrie o secventa de instructiuni care pot fi rulate de un computer....

Compilatoare

Grace Murray Hooper a fost o figură importantă în domeniul informaticii. Aceasta a fost un ofiţer în marina militară a Statelor Unite ale Americii...

Programarea Calculatoarelor și Limbaje de Programare

MODULUL 1. ALGORITMI 1.1. GENERALITATI Termenul de produs program desemneazã atât programul sursã propiu-zis cât ºi documentaþia necesarã pentru...

Ai nevoie de altceva?