Documente Academic
Documente Profesional
Documente Cultură
LIMBAJE DE PROGRAMARE
Limbaje de programare = limbaje artificiale destinate scrierii de programe (omul scrie programul calculatorul l execut). Generaia 1 Limbaj main (instruciuni n cod main) sunt programe foarte mici, dificil de scris Generaia 2 Limbaj de asamblare: instruciunile corespunztoare celor din limbajul main Textul este preluat i transformat n cod main de ctre asamblor (program). Acest limbaj se folosete tot pentru programe mici
2
LIMBAJE DE PROGRAMARE
Generaia 3 Limbaje universale de nivel superior: nu mai sunt dependente de main ca cele din generaiile I i II i sunt mai apropiate de limbajul uman dei sunt limbaje artificiale ce pot fi apoi executate de calculator. Ex. Fortran, Cobol, Basic, Pascal, C, Ada , Java, Translatorul (compilator) transform limbajul n cod main Generaia 4 Medii de lucru pentru domenii specifice (ex. Editoare de text Word; calcul tabelar Excel; Sisteme de baz de date FoxPro, MSQL, Postgres SQL, Oracle; Sisteme de editare desene) Generaia 5 Limbaje pentru inteligena 3 artificial (LISP, Prolog)
LIMBAJE DE PROGRAMARE
a. b. c.
d.
Paradigme n programare (mod de grupare, de clasificare a limbajelor de programare) Paradigma procedural sau imperativ Paradigma funcional Paradigma declarativ Paradigma orientat pe obiecte
LIMBAJE DE PROGRAMARE b). Limbaje funcionale (paradigma funcional) Programul din punct de vedere matematic este o funcie. Ex. Mulimea A i B i o aplicaie din A i B funcie (domeniul de definiie, codomeniu, corespondena datelor de intrare i ieire). Se pornete de la conceptul de func. elementar Ex. p*q - este o funcie scris: nmulire (p,q) pN, qN rezultatul NxNN Ex. a*b+c*d scris ca o funcie: adunare ( nmulire(a,b), nmulire(c,d) )
6
LIMBAJE DE PROGRAMARE
Orice program procedural poate fi realizat folosind trei structuri fundamentale. 1. Secvenial: programul este realizat din instruciuni care se realizeaz ntr-o anumit ordine
REPET CT TIMP <condiie> <corp ciclu> <corp ciclu> PN CND <condiie> SFRIT
Structura repetitiv
Ciclul cu contor PENTRU <contor>=<vi>,<vf>,<pas> <corp ciclu> REPET <contor> - contorul ciclului <vi> - valoarea initiala a contorului <vf> - valoarea finala a contorului <pas> - pasul ciclului
10
11
LIMBAJE DE PROGRAMARE
S calculm factorialul n abordare funcional folosind funcii recursive: fact (n) = n*fact(n-1) dac n>0 fact(0) = 1; Dac n=0 Atunci fact=1 Altfel fact=n*fact(n-1); Dac n < 0 problema nu poate fi abordat Exist dou tipuri fundamentale de algoritmi : procedurali i funcionali (folosesc funcii recursive)
12
LIMBAJE DE PROGRAMARE
c). Limbaje declarative: n ele se descrie problema n sine i nu modul n care trebuie rezolvat. Limbaj de simulare avem un obiect asupra cruia facem experimentri (semnale).
13
LIMBAJE DE PROGRAMARE
d). Limbaje orientate pe obiect = paradigma obiect: C++, C#, Java, etc. Universul problemei pe care l rezolv este un sistem de obiecte; dnd semnale de intrare ctre obiect obinem date de ieire.
14
Principalele limbaje de programare: Limbaje procedurale : Limbaj main, FORTRAN, Basic, C, Pascal, Cobol, APL; Limbaje funcionale : Lisp, KL Limbaje declarative : GPSS, Simula, Prolog Limbaje orientate pe obiect : C++, Java, Smalltalk, Object Pascal, etc. n concepia tradiional un program este alctuit din 2 pri: a). partea declarativ b). partea procedural. n Java i C++ cele dou pri se mbin.
15
a). Enunuri numite declaraii- instruciuni neexecutabile care sunt luate n consideraie de compilator. Cele mai multe sunt declaraii de tip. b). Instruciuni executabile, transfer intrare/ieire. Lexicul limbajului de programare cuprinde simbolurile folosite n limbaj numite lexeme.
16
Lexemele sunt: Identificatori; Cuvinte cheie; Literali : numerici, alfanumerici i logici; Operatori; Separatori; Cu ajutorul lexemelor se scriu enunuri ale limbajului numite instruciuni sau comenzi n limbaj procedural.
17
LIMBAJE DE PROGRAMARE Conceptele programrii clasice (tradiionale) Categorii de instruciuni : a. Declaraii sau instruciuni neexecutabile; b. Comenzi sau instruciuni executabile; c. Comentarii. Aceste instruciuni se scriu respectnd sintaxa limbajului respectiv. Sintaxa este strict formalizat. Semantica totalitatea regulilor dup care se stabilete semnificaia instruciunilor.
18
LIMBAJE DE PROGRAMARE Conceptele programrii clasice (tradiionale) Orice program sau modul de program respect definiia lui Wirth: Program = Date + Algoritm Descrierea datelor se face prin declaraii. Datele pot fi introduse sub form de : 1. Variabile 2. Literali Variabila este o entitate caracterizat prin: nume, adres de memorie, tip i valoare. Numele este un identificator: viteza, alfa, ab12
19
1. 2. 3. a. b.
Tip: valorile sunt grupate pe tipuri. Un tip de date se caracterizeaz prin: Mulime de valori; Modul de reprezentare intern a valorilor; Mulimea de operaii. Tipurile de date sunt: Primitive (fundamentale) Derivate (caz particular- structuri)
20
1.
2. 3.
1.
2.
Date primitive: Numerice ntregi, reale Logice Caractere Date derivate alctuite din alte date primitive sau alte date : Tablouri nregistrri
21
Tablouri : masiv de date omogen care ocup o zon compact de memorie (elementele au acelai tip i aceeai lungime). Exemple : vectorii v[v0, v1, v2, v3] matricile a11 a12 a13 A = a21 a22 a23 a31 a32 a33
22
LIMBAJE DE PROGRAMARE Conceptele programrii clasice (tradiionale) nregistarea (articol) structur neomogen de date
23