Documente Academic
Documente Profesional
Documente Cultură
PROCEDURALĂ
Bogdan Alexe
bogdan.alexe@fmi.unibuc.ro
• 13 cursuri de PP (30 noiembrie fara curs): 10 cursuri în
2017 + 3 cursuri în 2017 (cursul de pe 4 ianuarie se face!!!)
Orar
• Curs – 2 ore/săptămână
• Laborator – 2 ore/săptămână (cu semi-grupa)
• Seminar – 2 ore/ 2 săptămâni (cu grupa): săptămâna
3-7 octombrie e săptămână impară
Orar
Formarea semigrupelor de la laborator:
– aveți libertatea să vă împărțiți cum vreți;
– dorim ca semi-grupele să fie echilibrate ca număr;
– dacă nu ajungeți la un consens formăm semigrupele după
ordinea alfabe7că (prima jumătate a catalogului = prima
semi-grupă, a doua jumătate = a doua semi-grupă);
– semi-grupe defini7vate începând cu săptămâna 3;
– nu permitem apoi să vă transferați de la o semi-grupă la
alta.
Materiale
• moodle.fmi.unibuc.ro
Obiec7vele cursului
1. Formarea deprinderilor de programare structurată
(modularizare) în limbaje de programare clasice si moderne
(descompunerea unei probleme complexe în subprobleme
rela7v simple și independente);
N ota = min
N ota (10,(10,
= min 1 +1Curs + Laborator
+ Curs + Seminar)
+ Laborator + Seminar
6p 4p 1p
Notele de acum 2 ani - ianuarie
74 (la secția Matema7că)
# STUDENȚI
17 17
15
12
10
4 5 6 7 8 9 10 NOTA
Notele de anul trecut - ianuarie
(la secția Informa7că)
58
# STUDENȚI
56
35
10
4
4 5 6 7 8 9 10 NOTA
Mulțumiri pentru materiale/slide-uri:
• Anca Dobrovăț (FMI)
• Radu Boriga (FMI)
• Cris7na Dăscălescu (FMI)
• Grigore Albeanu (FMI)
• Vlad Posea (Politehnică Bucureș7)
• Traian Rebedea (Politehnică Bucureș7)
• Kinga Marton (Politehnică Cluj)
• Ion Giosan (Politehnică Cluj)
• mulți alții …
Cuprinsul cursului de azi
Structura alterna7vă
Direcția fluxului
Operația de intrare/ieșire
Schemă logică
• alăturare de simboluri vizuale care
desemnează fluxul logic al pașilor
Algoritmul lui Euclid
NU DA
prin scăderi repetate
B > 0
cât timp B > 0
NU DA
dacă A > B
A > B A = A – B;
altfel
B = B - A A = A - B B = B – A;
afișează A
afișează A
Cursul 1:
1. Algoritmi
Limbaje high-level
C, C++, Java, PHP
Limbaj de asamblare
Set de instrucțiuni
Cod mașină
Hardware
Limbaje low-level (de nivel scăzut)
Limbaj mașină
q limbajul na7v al unui calculator (mașină);
q șabloane de numere binare (reprezintă
modul binar de codificare a instrucțiunilor
și datelor în memorie )
q depinde de arhitectura sistemului
Limbaj de asamblare
q în loc de cod mașină folosește o
desemnare simbolică a elementelor
programului (instrucțiuni, date)
q 01011011 = ADD, 01011100 = SUB
Limbaje high-level (de nivel înalt)
q cuprind mecanisme de exprimare apropiate de
limbajul natural;
Reprezentările în limbajul C, limbaj de asamblare și limbaj mașină a instrucțiunilor de interschimbare a două valori
Limbaje high-level (de nivel înalt)
q au o descriere sintac7că si seman7că bine definită
q limbaj eficient
q viteză mare de execuție a programelor, destinat și aplicațiilor implementate
în limbaj de asamblare
q reutilizarea ulterioară a subprogramelor
q limbaj portabil
q limbaj independent de hardware
q limbaj permisiv
q impune puține constrângeri, dă credit programatorului
q permite introducerea unor erori care sunt foarte greu de depistat
q limbaj dificil de înțeles
q un stil de programare adecvat este foarte important
q obfuscated C code contest: www.ioccc.org
hGp://www.ioccc.org/2014/endoh2/prog.c