Documente Academic
Documente Profesional
Documente Cultură
2.
3.
4.
5.
Algoritmi
Limbaje de programare
Ciclul de dezvoltare al unui program
Coduri
Reprezentarea informaiei n calculator
Algoritmul:
Noiune primar folosit n mod intuitiv pentru a desemna o
mulime finit i ordonat de operaii
o metod general de rezolvare a unui tip de problem
presupune o mulime finit i ordonat de operaii ce
transform un set de date de intrare n alt set de date de
ieire
Algoritmi
Algoritmi
Reprezentarea algoritmilor:
Limbaje dedicate formalizate ALGOL
Algoritmi
Algoritmi
Programare:
ansamblul comunicrii om-calculator (limbaj natural)
prin program utilizatorul transmite calculatorului un algoritm
12
Semantica:
set de reguli - determin semnificaia propoziiilor
14
Programele
se execut pe maini hardware
mai sunt numite i software
LP
rezultatul evoluiei calculatoarelor
rezultatul necesitii rezolvrii unor probleme complexe
Clasificarea LP
dup dependena de hardware:
LP de nivel cobort/sczut (low): cod main, asamblare
LP de nivel nalt (high): nu depind de hardware
LP de nivel mediu: combin avantajele LP de nivel nalt
cu funcionalitatea LP de nivel sczut
16
LP declarative:
definesc un set de fapte i relaii ce permit solicitarea
unor rezultate (Lisp, Prolog, SQL)
19
20
Etape:
Analiza i specificarea
Proiectarea
Implementarea
Documentarea
ntreinerea
Testarea
21
Analiza i specificarea
analiza: adunarea de informaii despre problema de rezolvat
specificaii:
ce trebuie s fac programul
evideniaz intrri, ieiri, prelucrri, interfee, relaii ntre componente
Proiectarea
mparte problema n subprobleme -> structura bloc i interfeele
stabilete modul de testare a validitii proiectului
stabilete modul de documentare
22
Implementarea
urmrete obinerea produsului finit
pe baza proiectului, prin codificarea i testarea modulelor program
i integrarea acestora
Documentarea
precizeaz structura, scopul, prelucrrile i metodele
utilizate
asigur ntreinerea uoar a unui program
se realizeaz prin:
comentarii inserate n program
documente referitoare la fazele de proiectare a programului
23
Intreinerea
activitatea de depanare, dezvoltare i documentare
servicii de instruire a utilizatorilor n utilizarea programelor
Testarea programelor
scopul: eliminarea erorilor logice din program
realizarea: executnd fiecare component cu anumite
seturi de intrare pentru care se cunosc ieirile
testarea efectuat dup implementare ocup >50% din
timpul necesar realizrii unui program
24
compilarea modulelor:
rezult module obiect
25
26
Activitate
27
Codul:
o coresponden ntre simbolurile a dou alfabete, avnd
drept scop trecerea de la o form de reprezentare a
informaiei la alta
La calculatoare, codificarea:
realizeaz reprezentarea informaiei ntr-o form accesibil
calculatorului pornind de la forma uzual de reprezentare
28
Cod alfanumeric
Se folosete pentru reprezentarea numerelor, literelor i altor
caractere
29
Cod alfanumeric
ASCII8 (ASCII extins)
pe 8 cifre binare
pentru reprezentarea caracterelor special
Exemple:
A - 41h
B - 42h
LF - 0ah
a - 61h
b - 62h
CR - 0dh
0 - 30h
1 - 31h
ESC - 1bh
Cod complement
Pentru un numr natural A cu n cifre se definesc:
B = qn - A
C = qn - 1 - A
B=C+1
Dac (baza) q=2 atunci:
B = 2n - A
(C2) complement fata de 2
C = 2n - 1 - A
(C1)
Dac n=4 i A=3 = 0011:
2n-1 = 15 = 1111
C1=11110011
------1100
31a lui A
Aceste cifre se obin prin complementarea fiecrei cifre
Reguli:
C1 : se complementeaz fiecare cifr binar (0->1 i 1 ->0)
C2 : se determin C1 i se adun 1
Exemple :
N = 7 = 0111
C1 =
1000
1000+
1
-----C2 =
1001
32
245
0010.0100.0101
1111.0101.0001.0010.0011.0100.0101
33
Acetia se grupeaz n:
octei (bytes) sau
cuvinte (words) (2, 4, 8 octei)
34
Alte noiuni:
adresa: numr de ordine al unui octet (cuvnt) n memorie (L-value);
locaia: zona din memorie rezervat unei anumite informaii (octet sau
cuvnt ce are o valoare estimata, R-value)
35
36
Exemple (I)
N=1
C1
C2:
0001
1110 + 1
1111 ->
-1
N=0
C1
C2:
0000
1111 + 1
0000 ->
-0 (ultimul 1 se pierde)
N=7
C1
C2:
0111
1000 + 1
1001 ->
-7
37
Exemple (II)
N=8
1000
Obs: Nu se poate reprezenta, prima poziie semn +, 0,
i se va elimina aceast valoare
C1
0111 + 1
C2:
1000 -8
Pentru 4 bii :
n general n bii :
Operaii n C2 (I)
Adunarea:
se adun cele dou numere n mod obinuit, cifr cu cifr, inclusiv
pentru poziia de semn, ignornd transportul de la poziia de semn
Scderea:
se adun desczutul cu C2 al scztorului
39
Operaii n C2 (II)
nmulirea/mprirea: se pot folosi tabele pentru
simbolurile de baz
La efectuarea de operaii poate s apar fenomenul de
depirea aritmetic (Arithmetic overflow) cnd se
depaete domeniul de valori alocat numrului
40
Exemple :
4
3
Ad: 0100+
0011
-----0111 = 7
Sc:
0100+
1101 C2(-3) 0011
-----0001 = 1
41
dac 0,5 < |X| < 1 atunci avem forma normalizat de reprezentare dup
unele standarde
n alte standarde mantisa este subunitar dar prima cifr din stnga este
diferit de zero, se spune c avem mantisa normalizat
n acest mecanism datorit limitrii preciziei nu se pot reprezenta toate
numerele reale.
Din cauza aproximrilor fcute apar erorile de rotunjire (rounding errors)
42
Domeniul de reprezentare:
+-(3,4x10-38 ... 3,4x10+38)
Erori de rotunjire
44
45
assignare
condiional/generalizat (if, switchcase)
cicluri (anterioare, posterioare): while(), for (),
dowhile()
alte tipuri
46