Documente Academic
Documente Profesional
Documente Cultură
Introducere in programare
Acest modul ofera o fundatie generala a programarii. Pe parcursul unei lectii sunt
prezentate o privire de ansamblu a partilor componente ale unui calculator, punandu-
se accent pe modul de organizare al memoriei; notiunile de program, programare si
limbaje de programare; notiunile de limbaj cod masina si limbaje de programare de
nivel inalt;modalitatile de compilare, link-are si executie a unui program; o scurta
istorie a celor mai importante si mai cunoscute limbaje de programare. Se introduc de
asemenea notiunile de algoritm si top-down design;
Cursul prezentat in acest material este despre programare, mai precis despre
scrierea programelor in limbajul C. In acest capitol vom discuta despre programarea
calculatoarelor in general.
Calculatorul poate fi privit ca o "masina" care primeste date de intrare,
proceseaza aceste date si produce date de iesire. De altfel primele calculatoare se
chemau data processing machines. Datele de intrare si iesire pot fi reprezentate sub
forma de text, imagin sau sunete. Ceea ce face ca un calculator sa fie diferit de orice
alta masina este faptul ca un calculator este controlat de catre un program stocat in
interiorul calculatorului. Modificand programul putem determina calculatorul sa
execute comenzi diferite.
1.1 Programe
balanta = 1000
an = 1
NU DA
an > 3 Scrie
balanta STOP
şi if condiţie then S1
if condiţie then S
endif else S2
endif
endif
în care S, S1, şi S2 sunt secvente de instrucţiuni. Efectul acestei instrucţiuni este
următorul: dacă condiţia este adevărată atunci secvenţa S1 este executată, dacă este
falsa atunci secvenţa S2 este executată. În cazul primei forme, dacă condiţia este
adevărată atunci este executată secvenţa S, în caz contrar neexecutându-se nici o
instrucţiune.
Structurile repetitive pot fi de două feluri: cu testare iniţială, adică se
testează întâi dacă condiţia este adevărată şi dacă da atunci se repetă instrucţiunile atât
timp cât condiţia rămâne adevărată şi cu testare finală, adică se repetă instrucţiunile şi
apoi se testează dacă condiţia este adevărată şi dacă da atunci se repetă instrucţiunile
atât timp cât condiţia rămâne adevărată. În pseudocod structurile repetitive au trei
forme: while, do-while şi for.
Instructiunea while:
while condiţie
S
endwhile
în care S este o secvenţă de instrucţiuni care se repetă atât timp cât condiţia este
adevărată. Această instrucţiune corespunde structurilor repetitive cu testare iniţială.
Instructiunea do-while:
do
S
while condiţie
în care S este o secvenţă de instrucţiuni care se execută întâi, apoi se testează condiţia,
după care S se repetă atât timp cât condiţia este adevărată. În consecinţă această
instrucţiune corespunde structurilor repetitive cu testare iniţială.
Instructiunea for se foloseşte în cazul în care se ştie de câte ori trebuie
repetată o
secvenţă de instrucţiuni S. De obicei există o variabilă contor care poate lua mai
multe valori şi în funcţie de care secvenţa S se repetă. Notăm cu val_iniţiala valoarea
iniţială a contorului pentru care S se repetă şi cu val_finala, valoarea finală, iar cu pas
valoarea care precizează modul de modificare a contorului. Atunci instrucţiunea for
se va scrie:
for contor = val_iniţiala, val_finala, pas
S
endfor
şi indică faptul că S se va repeta pentru valorile contorului: val_iniţiala, val_iniţiala
+ pas, val_iniţiala + 2 * pas, ..., val_finala. Această instrucţiune este echivalentă cu
următoarea secvenţă de algoritm, secvenţă ce foloseşte instrucţiunea while:
contor = val_iniţiala
while contor <= val_finala
S
contor = contor + pas
endwhile
În cazul în care valoarea pasului este 1, acesta de obicei nu se mai scrie, fiind
subînţeles.
Exemplu Să calculăm suma 1 + 2 + ... + n, n natural.
Un algoritm de rezolvare a acestei probleme, scris în pseudocod, este
următorul:
read n
suma = 0
i=1
while i <= n
suma = suma + i
i=i+1
endwhile
write suma
Acestă reprezentare este echivalentă cu următoarea:
read n
suma = 0
for i = 1, n
suma = suma + i
endfor
write suma
Exemplu : Se citesc n numere întregi. Să se calculeze suma numerelor citite.
Algoritm de rezolvare a acestei probleme, scris în pseudocod, foloseşte
instrucţiunea for şi este următorul:
read n
suma = 0
for i = 1, n
read x
suma = suma + x
endfor
write suma
Problema: Pune cele 5 CD-uri noi in suport pastrand in permanenta ordinea alfabetica.
Subprobleme:
1. Pentru fiecare CD nou executa:
1.1 Ia CD-ul de pe masa.
1.2 Pozitioneaza CD-ul in suport in ordine alfabetica.
Bibliografie recomandata: