Curs 1

11
Capitolul 1 INTRODUCERE Prof. dr. ing. Daniela Saru Curs - Programarea Calculatoarelor Anul I A Facultatea Automatica si Calculatoare - UPB

Transcript of Curs 1

Page 1: Curs 1

Capitolul 1

INTRODUCERE

Prof. dr. ing. Daniela Saru Curs - Programarea Calculatoarelor – Anul I A Facultatea Automatica si Calculatoare - UPB

Page 2: Curs 1

Algoritm

= metodă de rezolvare a unei probleme

Aceeaşi problemă - rezolvată în moduri diferite

Un minimum de condiţii:

– să fie descrisă clar, fără ambiguităţi

– să specifice toate operaţiile necesare, exprimate prin comenzi pe care executantul

• le cunoaşte

• le poate îndeplini

Prof. dr. ing. Daniela Saru Curs - Programarea Calculatoarelor – Anul I A Facultatea Automatica si Calculatoare - UPB

Page 3: Curs 1

Instrumente de scriere a algoritmilor

• schema logică (organigrama)

• limbajul pseudocod

Prof. dr. ing. Daniela Saru Curs - Programarea Calculatoarelor – Anul I A Facultatea Automatica si Calculatoare - UPB

Page 4: Curs 1

Schema logică (organigrama)

• Utilizează reprezentări grafice:

– forme geometrice pentru specificarea acţiunilor;

– săgeţi de legătură pentru precizarea ordinii în care se vor realiza acţiunile.

• Formele geometrice nu sunt standardizate (impuse)

Prof. dr. ing. Daniela Saru Curs - Programarea Calculatoarelor – Anul I A Facultatea Automatica si Calculatoare - UPB

Page 5: Curs 1

Limbajul pseudocod

• Utilizeaza limbajul natural prin: – enunţuri (fraze) standard sau nestandard, pentru

specificarea acţiunilor;

– gruparea şi alinierea enunţurilor, pentru precizarea ordinii în care se vor realiza acţiunile

• Enunţurile pot conţine cuvinte-cheie (cuvinte cu semnificaţie stabilită de către utilizator) - Citeşte , Read , Afişează etc.

• Exemplu: Să se scrie algoritmul pentru calcularea sumei primelor n numere întregi pozitive.

Prof. dr. ing. Daniela Saru Curs - Programarea Calculatoarelor – Anul I A Facultatea Automatica si Calculatoare - UPB

Page 6: Curs 1

NU DA

START

n

suma 0

i 1

i < n

suma suma + i

i i+1

STOP

Citeşte n

suma 0

Pentru i 1...n, cu Pas=1

Execută

suma suma + i

Afişează suma

Schemă logică Limbaj pseudocod

suma

Prof. dr. ing. Daniela Saru Curs - Programarea Calculatoarelor – Anul I A Facultatea Automatica si Calculatoare - UPB

Page 7: Curs 1

Etape de rezolvare a unei probleme

• Analiza problemei

– date de intrare

– date de ieşire

– funcţii

• Proiectare

• Implementare

• Testare şi validare -planuri de testare

• Etapa de întreţinere (maintenance – engl.)

Prof. dr. ing. Daniela Saru Curs - Programarea Calculatoarelor – Anul I A Facultatea Automatica si Calculatoare - UPB

Page 8: Curs 1

Limbaje de programare

• Algoritm = set de comenzi = set de instrucţi-uni

• Program = grup de instrucţiuni codificate numeric (binar) prin care se implementează algoritmul

• Sistemul de calcul - secvenţe de valori 0 şi 1

• Utilizatorul uman – un alt mod de exprimare… limbaj de programare

Prof. dr. ing. Daniela Saru Curs - Programarea Calculatoarelor – Anul I A Facultatea Automatica si Calculatoare - UPB

Page 9: Curs 1

• „Cod maşină”

– Un anumit tip de procesor

– Instrucţiuni în formă numerică binară

– Greu de folosit

– Nu asigura portabilitate

• Limbaj de asamblare

– convenţii de notaţie; exemplu: ADD 3, 25;

– Asamblor – program specializat (utilitar) care „traduce” programul în forma binară

Prof. dr. ing. Daniela Saru Curs - Programarea Calculatoarelor – Anul I A Facultatea Automatica si Calculatoare - UPB

Page 10: Curs 1

• Limbaje de programare de nivel înalt

– Uşor de înţeles şi de utilizat, flexibile

– Asigură portabilitate

– Compilator, interpretor, editor de legături (link-editor): programe utilitare ce contribue la „tradu-cerea” programului în forma binară

• Limbajul C

– limbaj de nivel mediu - combină avantajele limba-jelor de nivel înalt cu funcţionalitatea limbajelor de asamblare

– ISO/IEC: http://www.open-std.org/jtc1/sc22/wg14/

Prof. dr. ing. Daniela Saru Curs - Programarea Calculatoarelor – Anul I A Facultatea Automatica si Calculatoare - UPB

Page 11: Curs 1

– Poate fi utilizat cu succes în locul limbajului de asamblare, permiţând un control riguros al hardware-ului şi al dispozitivelor periferice

– A fost folosit iniţial pentru scrierea programelor de sistem (sisteme de operare, editoare, compilatoa-re, interpretoare etc.)

– A devenit treptat un limbaj utilizat tot mai des pentru scrierea programelor de aplicaţii (inclusiv a celor de timp real), cărora le asigură un nivel ridicat de eficienţă şi portabilitate.

Prof. dr. ing. Daniela Saru Curs - Programarea Calculatoarelor – Anul I A Facultatea Automatica si Calculatoare - UPB