Ce trebuie să realizezi?
Proiectul modulului este o aplicație C++ originală, construită și explicată integral de tine, care rezolvă o problemă reală de optimizare folosind metoda Greedy și verifică soluția cu metoda Divide et impera. Proiectul se susține oral în fața profesorului.
Tema proiectului
Tema: „Aplicație C++ care rezolvă o problemă de optimizare reală folosind metoda Greedy și verifică soluția cu metoda Divide et impera".
Exemple de probleme reale potrivite
- Planificarea livrărilor: un curier are o listă de comenzi cu termene; alege cât mai multe comenzi compatibile (Greedy: sortare după termen), iar o funcție D&I verifică că planul respectă ordinea termenelor.
- Încărcarea unui vehicul: obiecte cu valoare și greutate, capacitate limitată; umple greedy după eficiență (Greedy), iar o funcție D&I verifică că încărcătura totală respectă capacitatea pe segmente.
- Alocarea resurselor într-o bibliotecă: cărți cu intervale de împrumut dorite de cititori; număr maxim de cititori serviți (Greedy), verificare prin interclasare sau căutare binară (D&I).
- Gestionarea unui bufet: porții cu preț și timp de pregătire, buget și timp limitate; alegere greedy după raportul preț / timp (Greedy), verificarea încadrării prin funcții recursive pe intervale (D&I).
Poți alege orice altă problemă reală, cu condiția să folosești explicit ambele metode: Greedy pentru construirea soluției și D&I pentru verificarea ei sau pentru pregătirea datelor.
Recomandare: alege o problemă cu date reale, măsurabile (greutăți, ore, prețuri, termene) și descrie contextul în 5-10 rânduri, ca un mic studiu de caz. Originalitatea temei și calitatea contextului real se punctează distinct.
Cerințe pe niveluri de notă
| Nivel | Cerințe minime |
|---|---|
| Nota 5 - 6 |
|
| Nota 7 - 8 |
|
| Nota 9 - 10 |
|
Cum citești tabelul: cerințele se cumulează: nota 9-10 presupune și cerințele de la nota 5-6 și 7-8. Nu poți sări peste niveluri.
Criterii de evaluare și termen
Criteriile de evaluare
- Corectitudinea programului (40%): rezultate corecte pe exemplele date și pe cazurile limită; ambele metode utilizate corect.
- Calitatea codului (20%): modularizare, denumiri sugestive, comentarii pe pași logici, respectarea stilului BAC.
- Documentația (20%): enunț, pseudocod, exemple test, tabel de comparație experimentală (unde se cere), concluzii.
- Susținerea orală (20%): explicația codului linie cu linie, răspunsurile la întrebările profesorului, înțelegerea demonstrabilă a ambelor metode.
Termenul de predare
- Predarea fișierelor: cu cel puțin două săptămâni înainte de încheierea modulului, pe platforma clasei, într-o arhivă care conține: codul sursă (.cpp), documentația (.docx sau .pdf) și fișierele de test folosite.
- Susținerea orală: în ultima săptămână a modulului, în timpul orelor de informatică, conform programării afișate de profesor.
- Întârzierea: proiectele predate după termen se evaluează cu nota maximă posibilă 8, cu excepția situațiilor justificate medical.
- Lucrul în echipă: proiectul este individual; se acceptă discuții și consultații între colegi, dar fiecare elev predă un proiect propriu, scris de el.
Regula anti-AI - citește cu atenție
Nota se acordă DOAR în urma susținerii orale în fața profesorului, unde elevul explică codul linie cu linie și răspunde la întrebări despre funcționarea programului.
- Programul trebuie să fie înțeles integral de autor: orice funcție, orice variabilă, orice decizie de algoritm trebuie explicată la susținere.
- Un program generat automat și nedobândit este identificabil la susținere: dacă nu poți explica o linie sau nu poți modifica programul pe loc, nota se acordă pentru nivelul de înțelegere demonstrat, nu pentru textul predat.
- La susținere, profesorul poate cere modificarea programului în timp real (de exemplu, schimbarea criteriului de sortare sau adăugarea unei validări) pentru a verifica înțelegerea.
- Respectați regulamentul școlar privind folosirea instrumentelor digitale: acestea pot fi folosite ca ajutor la învățare, dar predarea presupune cunoașterea dovedită a fiecărei linii de cod.