Documente Academic
Documente Profesional
Documente Cultură
MIDPS Teorie PDF
MIDPS Teorie PDF
Lector universitar
Boleac Ruslan
Definiii
Limbaj de programare: notaie sistematic
prin care este descris un proces de calcul
n Procesul de calcul este constituit dintr-o
mulime de pai pe care o main i
execut pentru a rezolva o problem
n Limbaj main: limbajul nativ al unui
computer
n
Limbaj main
Operaii aritmetice i logice,
n Operaii de intrare-ieire
n Funcii speciale, funcii de control
n Strns legat de arhitectur
0000101011110000
0010111111111111
0010000000000101
n
Limbaj de asamblare
Atribuie nume simbolice (mnemonici)
codificrilor operaiilor mainii i locaiilor de
memorie asociate
LOAD I
ADD
J
STORE K
n
K := I + J
Paradigme de programare
Colecii individualizate de caracteristici de
evaluare i criterii de abstractizare care
determin i difereniaz clasele de
limbaje de programare
n Criterii:
n
structura
programului
noiunea de stare a execuiei
metodologia programrii
Paradigme de programare
1.
2.
3.
4.
5.
Paradigme de programare
6.
7.
8.
9.
10.
Generaii de limbaje
1954-1958 Limbajele de programare de
prima generaie (FORTRAN I, ALGOL 58).
n Acestea au fcut pasul decisiv de la asm
la lb de nivel nalt.
n Rolul lor primordial a constat n
promovarea i dezvoltarea conceptelor ce
stau la baza limbajelor de programare de
nivel nalt precum i a implementrii lor.
n
Primul limbaj
Ada
Istorie (cont.)
n
Asamblare
Asambloarele
Istorie (cont.)
n
IBM
Limbaj dedicat calculelor matematice
n
Istorie (cont.)
n
Mac Carthy
Limbaj funcional pentru procesarea listelor.
Este recursiv, nu este iterativ.
Nu exist diferen ntre cod i date.
Istorie (cont.)
n
Istorie (cont.)
n
Cobol - 1960
COmmon
Istorie (cont.)
n
Basic 1964
Beginners
Istorie (cont.)
n
Logo 66
W
Fuerzeig, S Papert,
Folosit pentru a-i nva pe copii programare.
Asemntor cu Lisp
Se bazeaz pe micarea unei broate
estoase pe ecran.
Istorie (cont.)
n
Istorie (cont.)
n
n
n
n
n
n
n
n
n
Istorie (cont.)
n
Sql - 1970+
Standard
Query Language
IBM Limbaj pentru interogarea bazelor de
date relaionale.
SELECT * from table where ...
n INSERT INTO ....
n UPDATE ...
n
Istorie (cont.)
n
Istorie (cont.)
n
Istorie (cont.)
n
Istorie (cont.)
n
Istorie (cont.)
n
pointeri,
interfee, multi-tasking
Varietate de limbaje ce pot fi compilate n MSIL
Structurile sunt speciale fiind transmise prin valoare
Identificatorii sunt obiecte cu metode
Atributele sunt obiecte descriptive ataate
elementelor programului i folosite la execuie
Proprieti (get/set)
Foreach pentru parcurgerea unor liste de obiecte
Delegai (nlocuiesc pointerii la funcii din C)
MIDPS
Ciclul de viata de creare a software-ului
Proiectarea i specificarea
software-ului
n
Implementarea
n
n
Certificarea
n
n
n
n
Certificarea (cont.)
Se realizeaz testarea sistemului, care
verific sistemul n ansamblul su.
n Rezultatul acestei faze este un sistem
verificat i certificat complet, livrabil
utilizatorilor.
n n aceast faz se includ toate activitile
care sunt legate de verificarea
corectitudinii programelor scrise
n
ntreinerea
Modificri, provocate fie de detectarea
unor erori care au scpat din faza 4,
n Adugarea de noi specificaii (cerine).
n Costul ntreinerii unei aplicaii ntrece
costul tuturor celorlalte faze luate
mpreun.
n
Factorii externi
Corectitudinea (abilitatea produsului de a
executa exact sarcinile sale, n
conformitate cu cerinele)
n Robusteea (abilitatea sistemului de a
funciona chiar i n condiii anormale)
n Fiabilitate = corectitudine+robustee
n
Factori interni
Modularitatea: structural produsul program
trebuie s fie alctuit din module,
urmrindu-se principiul descentralizrii.
n Documentarea complet: presupune
existena unei documentaii clare i adus
la zi pentru fiecare faz din ciclul de via
al programului.
n
Modele de proces
Modelul Cascad
n Modelul Spiral
n Modelul MSF
n
Modelul cascad
n
n
n
Milestone
n
Milestone
Milestone
Milestone
Modelul Spiral
Se bazeaz pe rafinarea continu a
cerinelor i a diferitelor estimri asupra
proiectului
n Util la aplicaii mici ce trebuie fcute
repede
n Nu exist puncte de control foarte clare
n Procesul de dezvoltarea poate deveni
haotic
n
Modelul MSF
Bazat pe faze
n Are puncte de control i trecere
n Iterativ
n Poate fi folosit pentru dezvoltarea oricrui
tip de aplicaie
n Combinaie ntre modelul cascad i
spiral
n
Triunghiul compromisurilor
Deadline
Resurse
Funcionalitate
MIDPS
Traducerea programelor
Limbaj de programare,
program surs
n
Translatoare
Compilatoarele,
n Asambloarele
n Interpretoarele
n
Compilatoare - asambloare
La compilator PD se numete program
obiect sau cod obiect (apropiat de codul
main)
n Asamblorul este compilatorul unui limbaj
de asamblare
n Traducerea este urmat de link-editare
n
Link-editarea
n
Interpretor
n
Preprocesor - macroprocesor
Traduc PS din limbaje de nivel nalt n PD
scrise tot n limbaje de nivel nalt,
compilabile.
n De ex. preprocesorul C #include...
n
Cross-compilatoarele
Cross-asambloarele
Se execut pe un calculator gazd i
genereaz cod obiect pentru o alt main
obiect
n Exemplu - maina gazd minicalculator
sau calculator mare, iar maina obiect
este un microcalculator cu memorie mic,
pe care nu se poate implementa
programul de traducere)
n
Compilarea
Compilatorul este un program complex, a
crui realizare presupune abordarea
sistematic a procesului de traducere.
n n procesul de compilare, PS sufer un ir
de transformri n cascad, din ce n ce
mai apropiate de codul obiect
n
10
SINTEZ
ir de atomi
lexicali
Analiz
lexical
Arbore
sintactic
Analiz
sintactic
Tratarea erorilor
Cod
intermediar
Analiz
semantic
Cod intermediar
optimizat
Optimizare
de cod
Generare
de cod
Cod obiect
Gestiunea tabelelor
11
Analiza lexical
n
12
Analiza sintactic
n
13
Analiza semantic
n
15
16
se continu cu ignorarea
elementului ce conine eroarea;
Se ncearc corectarea erorii
Se abandoneaz procesul de traducere.
17
inteligent
erori fatale, care provoac abandonarea procesului
de compilare.
18
Gestionarul de tabele
n
19
Gestionarul de tabele
n
Uniti de program
n
principal
Unul sau mai multor subprograme
n
Comunicarea prin:
Parametri,
n Variabile globale.
n
21
Program - subprogram
n
2 pri
partea
n
partea
22
Compilare separat
Posibil datorit modularizrii programelor
n Fiecare modul are un rol bine precizat
n La modificarea unui modul nu trebuie
recompilat tot programul.
n Combinarea modulelor o face link-editorul
n Rezultatul = economie de timp
n Demonstraie n C (cuv. cheie extern)
n
23
Link-editarea
n
24
Execuia programelor
n
rezultatului compilrii
(numit i mediu de execuie runtime environment),
depanator simbolic
componente de legtur cu mediul exterior (de regul
cu sistemul de operare cu care lucreaz
27
Medii de programare
Visual Studio de la Microsoft,
n Builder de la Borland
n Eclipse
n ZEND Studio (PHP)
n
28
Interpretarea
Interpretorul este un program care execut
pas cu pas instruciunile descrise ntr-un
limbaj
n Viteza de interpretare este mult mai mic
dect codului compilat
n Mult mai simplu de implementat
n
29