Sunteți pe pagina 1din 23

LIMBAJE DE PROGRAMARE

Noiuni generale despre limbaje de programare

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

a. Paradigma procedural (imperativ)


a). Limbaje procedurale (se ncadreaz n paradigma procedural sau imperativ) - Programul este de fapt un algoritm scris, folosind un limbaj de programare; - Unitatea de baz a limbajului este instruciunea; - Fiecare instruciune este o succesiune de operaii care se execut una dup alta. Aceat paradigm este cea mai apropiat de modul de lucru al mainii.
5

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

LIMBAJE DE PROGRAMARE 2. Structura alternativ

DAC <condiie> ATUNCI <aciune1> ALTFEL <aciune2>

LIMBAJE DE PROGRAMARE 3. Structura repetitiv

Ciclul cu test final

Ciclul cu test iniial

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

LIMBAJE DE PROGRAMARE Exemplu: S se calculeze fact(n) = n! n n! = 1*2*3**n = k


k 1

Se calculeaz factorialul n paradigma procedural: n! (n=4) fact=1*2*3*4 n=1,2,3,4

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

LIMBAJE DE PROGRAMARE Conceptele programrii clasice (tradiionale)

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

LIMBAJE DE PROGRAMARE Conceptele programrii clasice (tradiionale)

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

LIMBAJE DE PROGRAMARE Conceptele programrii clasice (tradiionale)

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

LIMBAJE DE PROGRAMARE Conceptele programrii clasice (tradiionale)

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

LIMBAJE DE PROGRAMARE Conceptele programrii clasice (tradiionale)

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

LIMBAJE DE PROGRAMARE Conceptele programrii clasice (tradiionale)

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

Nume Cantitate Pret televizor 12 7000000 costum 5 2500000

23

S-ar putea să vă placă și