Școala Româno-Britanică
Modulul 3 Clasa a IX-a | Python

Proiectul Modulului 3 - Calculator de prelucrări numerice

Tema proiectului: Aplicație Python - calculator de prelucrări numerice (cifre, divizori, CMMDC, conversii între baze)

Competențe evaluate: Competențele 1.2 - 6.2 din Modulul 3, prin implementare, documentare și susținere orală.

Competențele 1.2, 2.2, 3.2, 4.2, 5.2, 6.2 Termen de predare: a doua săptămână după finalizarea modulului
TEMA PROIECTULUI ȘI CERINȚELE

Descrierea proiectului

Vei construi o aplicație de tip meniu interactiv care permite utilizatorului să aleagă o operație de prelucrare numerică, să introducă datele și să primească rezultatele. Aplicația va folosi algoritmii învățați în Modulul 3: operații cu cifrele, oglinditul și palindromul, divizorii, descompunerea în factori primi, CMMDC/CMMMC și conversiile între baze.

Meniu interactiv cu alegerea operației
Validarea datelor introduse de utilizator
Modularizare cu funcții pentru fiecare operație
Documentație: explicația algoritmilor și a testelor

Operațiile obligatorii ale aplicației

Aplicația trebuie să ofere cel puțin următoarele operații, selectabile din meniu:

Nr. Operație Algoritm folosit
1 Ultima cifră și eliminarea ultimei cifre n % 10 și n // 10
2 Oglinditul și verificarea palindromului og = og * 10 + n % 10
3 Afișarea divizorilor și numărul lor n % d == 0, varianta cu radical
4 Verificarea numărului perfect suma divizorilor proprii până la n // 2
5 Descompunerea în factori primi împărțiri repetate de la d = 2
6 CMMDC și CMMMC algoritmul lui Euclid
7 Conversia din baza 10 în baza 2 și invers resturile împărțirilor la 2

Cerințe pe niveluri de notare

Nota 5 - 6: Funcționalitate de bază
  • Aplicația conține un meniu simplu și implementează corect cel puțin 3 operații (de exemplu: ultima cifră, oglinditul, divizorii).
  • Programul citește datele, calculează rezultatul corect și îl afișează.
  • Codul rulează fără erori de sintaxă pentru datele de intrare obișnuite.
  • Explicația orală acoperă algoritmul fiecărei operații implementate.
Nota 7 - 8: Validări și meniu complet
  • Sunt implementate cel puțin 5 operații din tabelul de mai sus.
  • Meniu interactiv care rulează în buclă și permite revenirea la alegerea operației.
  • Validarea datelor: numerele negative, 0 acolo unde nu este permis și valorile ne-numerice sunt tratate cu mesaje de eroare clare.
  • Tratarea cazurilor particulare: n = 0 la numărarea cifrelor, n = 1 la factori primi, numere prime, pătrate perfecte.
  • Afișarea rezultatelor este clară și ușor de citit.
Nota 9 - 10: Modularizare, eficiență și documentație
  • Toate cele 7 operații sunt implementate și funcționează corect.
  • Fiecare operație este o funcție separată, cu nume sugestiv și comentarii pe pași logici.
  • Programul principal este scurt: citește opțiunea și apelează funcția potrivită.
  • Variante eficiente: numărul de divizori cu radical, Euclid cu împărțiri, descompunere optimizată.
  • Documentație scrisă (fișier .txt sau comentarii în cod): explicația fiecărui algoritm, exemple de rulare și tabelul de testare cu cazuri limită.
  • Cod reutilizabil: funcțiile pot fi apelate și din alte programe.

Regula anti-AI și susținerea orală

Condiție obligatorie de notare

Nota se acordă DOAR în urma susținerii orale în fața profesorului, unde elevul explică codul linie cu linie.

  • Fiecare elev prezintă programul pe calculator, rulează operațiile cerute și explică raționamentul din spatele fiecărei funcții.
  • Profesorul poate cere modificări în timp real (de exemplu: „adaugă validare pentru 0" sau „explică de ce bucla se oprește").
  • Elevul care nu poate explica propriul cod nu primește nota, indiferent de calitatea programului predat.
  • Codul identic sau aproape identic între elevi duce la repetarea proiectului pentru toți cei implicați.

Recomandare: scrie singur codul, pe etape, verificând fiecare funcție pe rând. Un proiect înțeles cu adevărat se explică ușor, iar susținerea orală devine o discuție, nu un examen.

Criteriile de evaluare

Criteriu Ce se verifică Pondere
Corectitudinea funcțională Rezultate corecte pentru toate operațiile, inclusiv cazurile limită 30%
Structura codului Funcții, comentarii pe pași, nume sugestive, program principal scurt 20%
Validări și tratarea cazurilor Mesaje de eroare, cazuri particulare, niciun blocaj la date nevalide 15%
Eficiența algoritmilor Radical la divizori, Euclid cu împărțiri, descompunere optimizată 15%
Documentația Explicații, exemple de rulare, tabel de teste 10%
Susținerea orală Explicarea codului linie cu linie și răspunsurile la întrebări 10%

Termenul și modalitatea de predare

Termen de predare: a doua săptămână după finalizarea modulului, înainte de ora de informatică.

Modalitate de predare: fișierul Python (proiect_modul3.py) trimis pe platforma clasei, plus susținerea orală în timpul orei. Documentația se predă ca fișier text separat sau ca antet comentat al programului.

Întârzierile: fiecare zi de întârziere nejustificată scade 10% din punctajul documentației. Nepredarea proiectului atrage repetarea modulului.

Sugestii de extindere pentru nota 10

  • Conversie generalizată în orice bază b (2 - 16), cu litere pentru cifrele peste 9.
  • Verificarea numerelor prietene și afișarea perechilor sub o limită dată.
  • Istoricul rezultatelor salvate într-un fișier text la fiecare rulare.
  • Statistici pentru un număr: numărul de cifre, suma, produsul, cifra minimă și maximă într-o singură funcție.
  • Teste automate: o funcție care verifică automat programul cu un set de date cunoscute.