Curs 1
-
Upload
cosmin-florea -
Category
Documents
-
view
52 -
download
3
Transcript of Curs 1
Capitolul 1
INTRODUCERE
Prof. dr. ing. Daniela Saru Curs - Programarea Calculatoarelor – Anul I A Facultatea Automatica si Calculatoare - UPB
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
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
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
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
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
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
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
• „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
• 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
– 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