Școala Româno-Britanică
Modulul 3 Clasa a X-a | C++

Proiectul Modulului 3: Aplicație C++ cu matrice și liste sortate

Tema proiectului: „Aplicație C++ cu matrice și liste sortate: gestionarea notelor pe clase (matrice), căutare binară și interclasare a clasamentelor"

Ce verifică proiectul: toate competențele modulului: matricea cu prelucrările ei, căutarea binară și interclasarea listelor sortate, aplicat într-un program complet, comentat pe pași logici.

Predare: ultima săptămână a modulului Limbaj: C++ Nota 5 - 10
SPECIFICAȚIA PROIECTULUI

Descrierea aplicației

Aplicația gestionează notele elevilor pe clase: notele sunt organizate într-o matrice (o linie pentru fiecare elev, o coloană pentru fiecare disciplină sau evaluare). Pe baza matricei se calculează mediile elevilor, se construiește un clasament sortat și se răspunde la întrebări rapide despre poziția unui elev în clasament, folosind căutarea binară și interclasarea clasamentelor de la două clase.

Cum arată aplicația în viața reală?

Directorul unei școli vrea să știe, la un click distanță: care este media fiecărui elev, cine sunt primii trei dintr-o clasă, cum arată clasamentul comun al două clase și pe ce poziție se află un anumit elev. Exact aceste patru întrebări rezolvă aplicația ta, folosind algoritmii învățați în modul.

Cerințe minime obligatorii (pentru toate notele)

  • Program C++ complet, care compilează fără erori și rulează corect pe exemplele date.
  • Citirea notelor într-o matrice: m elevi, n discipline (note cu valori între 1 și 10).
  • Afișarea matricei citite, pentru verificare.
  • Calculul și afișarea mediei fiecărui elev (o medie aritmetică pe linie).
  • Determinarea notei maxime din matrice și a poziției primei apariții.
  • Cod comentat pe pași logici, cu diacritice, în limba română.

Nivelurile de notare

Nivel Cerințe Algoritmi folosiți
Nota 5 - 6 Cerințele minime obligatorii, funcționale complet: matrice citită și afișată, medii calculate, maxim determinat cu poziție parcurgerea matricei cu două bucle, suma pe linii, maximul cu poziție
Nota 7 - 8 Cerințele de la nota 6 plus: validări (note între 1 și 10, dimensiuni corecte), clasamentul elevilor sortat după medii, căutarea binară a poziției unui elev în clasament, interclasarea clasamentelor a două clase validări, sortare, căutare binară, interclasare
Nota 9 - 10 Cerințele de la nota 8 plus: modularizare (funcții pentru citire, medii, sortare, căutare, interclasare), eficiență (complexități menționate în comentarii, căutare binară în loc de secvențială acolo unde se poate), documentație (descrierea aplicației, structura datelor, explicația fiecărei funcții, exemple de rulare) funcții, analiza complexităților, documentație completă

Observă: nivelurile sunt cumulative - pentru nota 8 trebuie să funcționeze și tot ce s-a cerut la nota 6. Nu sări peste niveluri: un program care nu compilează nu poate lua decât punctajul parțial al pașilor corecți.

Criterii de evaluare

Criteriu Pondere Ce se urmărește
Corectitudinea funcțională 30% programul compilează și produce rezultate corecte pe exemplele testate
Algoritmii și eficiența 25% algoritmi corecți, complexități adecvate, căutare binară și interclasare folosite corect
Modularizarea și stilul codului 15% funcții cu roluri clare, variabile cu nume sugestive, comentarii pe pași logici
Documentația 15% descriere, structura datelor, explicații, exemple de rulare
Susținerea orală 15% explicarea codului linie cu linie și răspunsurile la întrebări

Observă: fără susținerea orală, proiectul nu se notează, indiferent de calitatea codului - vezi secțiunea de mai jos.

REGULI OBLIGATORII

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.

  • Fără susținere orală, proiectul nu se notează, chiar dacă codul funcționează perfect.
  • Programele generate integral de inteligență artificială sau copiate vor fi respinse la prima întrebare la care elevul nu poate răspunde despre propriul cod.
  • Este permisă folosirea instrumentelor de ajutor pentru înțelegere, dar fiecare linie din codul predat trebuie explicată oral de către elev.
  • Profesorul poate cere modificarea „pe loc" a unei părți a programului (de exemplu, schimbarea unei condiții sau adăugarea unei funcții) pentru a verifica înțelegerea reală.
  • Elevul poate consulta caietul și materialele modulului în timpul susținerii - nu este un test de memorie, ci de înțelegere.

Termenul de predare și formatul

  • Termen de predare: în ultima săptămână a modulului, înaintea evaluării finale. Predarea după termen reduce nota cu un punct, cu excepția situațiilor justificate medical.
  • Formatul de predare: fișierul .cpp (sau arhivă cu fișierele sursă) și documentația în format electronic sau pe hârtie, împreună cu exemplele de rulare.
  • Susținerea orală: se programează individual, în orele de curs, în ordinea predării.
  • Lucrul în echipă: nu este permis pentru acest proiect - fiecare elev predă și susține propriul program.

Plan de lucru recomandat

  1. Prima săptămână: proiectează structura datelor (matricea) și scrie versiunea de bază: citire, afișare, medii, maxim.
  2. A doua săptămână: adaugă validările, sortarea clasamentului, căutarea binară și interclasarea clasamentelor.
  3. A treia săptămână: modularizează programul în funcții și scrie documentația.
  4. A patra săptămână: testează pe exemple proprii, pregătește susținerea orală și explică programul cu voce tare, de la prima la ultima linie.

Recomandare: exersează susținerea orală explicând programul unui coleg. Dacă nu poți explica o linie, înseamnă că nu ai înțeles-o - revino la lecțiile modulului (ora 1 - ora 12) și la sinteza modulului.