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

Proiectul final al Modulului 5 - specificație

Ce vei învăța astăzi: Tema proiectului, cerințele pe niveluri de notă, criteriile de evaluare și termenul de predare

Rezultat practic: Construiești o aplicație modulară completă în Python - gestionarea notelor cu funcții proprii, liste, fișiere text și interfață simplă - și o susții oral în fața profesorului (Competența 6.5).

Resursele Modulului 5 Recapitulare și evaluare
SINTEZĂ TEORETICĂ ȘI EXEMPLE GHIDATE

Ce cuprinde specificația proiectului?

Acest document descrie proiectul final al Modulului 5: tema, cerințele pe niveluri de notă, criteriile de evaluare și termenul de predare. Proiectul demonstrează toate competențele dobândite: funcții proprii, liste, fișiere text și interfață grafică.

Tema proiectului și aplicația cerută
Cerințele pe niveluri: nota 5-6, nota 7-8, nota 9-10
Criteriile de evaluare și termenul de predare
Susținerea orală obligatorie

Tema proiectului

Tema: Aplicație modulară completă în Python: gestionarea notelor cu funcții proprii, liste, fișiere text și interfață simplă.

Descrierea aplicației: utilizatorul introduce notele unei clase (numere întregi de la 1 la 10), iar aplicația le validează, le salvează într-un fișier text, calculează statistici (media, minimul, maximul, numărul de note peste medie) și afișează un raport complet, atât pe ecran, cât și într-un fișier de ieșire.

Analogia din viața reală:

Directorul unei școli nu ține notele în minte: el are un catalog (fișierul text), un profesor de matematică (funcția de medie) și un secretar (funcția de raport). Fiecare are un rol clar, iar împreună produc situația școlară a clasei. Exact așa este construită aplicația ta.

Cerințele pe niveluri de notă

NivelCerințe obligatoriiTehnici folosite
Nota 5-6
Funcționalitate de bază
Meniu simplu de alegere; citirea notelor; calculul mediei, minimului și maximului; afișarea rezultatelor pe ecranfuncții proprii cu def și return, liste, structuri de decizie și repetitive
Nota 7-8
Validări și fișiere
Toate cerințele de la nota 5-6; validarea notelor în intervalul 1-10 cu refuzul valorilor greșite; salvarea notelor în fișier text; raportul scris și în fișier; numărarea notelor peste medievalidare cu buclă while, open/write/close, funcții suplimentare
Nota 9-10
Modularizare avansată
Toate cerințele de la nota 7-8; un modul (funcție) pentru fiecare sarcină, cu nume clare; interfață grafică simplă Tkinter pentru introducerea și afișarea notelor; statistici suplimentare (sortarea notelor, histogramă); documentație completăarhitectură modulară, Tkinter (Tk, Label, Entry, Button, messagebox), docstring-uri și comentarii pe pași

Reține: nivelul de notă se stabilește prin cerințele îndeplinite, nu prin cantitatea de cod. Un program de nota 10 este scurt, clar și complet documentat, nu lung și confuz.

Regula anti-AI - susținerea orală obligatorie

Atenție - regulă obligatorie:

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. Un program care nu poate fi explicat de autor nu primește punctaj, indiferent de funcționalitatea lui. Programele generate integral cu instrumente de inteligență artificială, fără înțelegerea codului, sunt considerate nepredate.

Ce se verifică la susținere: rolul fiecărei funcții, funcționarea buclelor și a condițiilor, modul în care circulă datele între funcții, motivul pentru care fișierul se închide cu close(), comportarea programului la date greșite și posibile îmbunătățiri.

Criteriile de evaluare

CriteriuDetaliiPondere
Corectitudinea funcțiilordef, parametri, return, apeluri corecte30%
Validarea datelorrefuzul notelor în afara intervalului 1-1015%
Fișiere textsalvare, citire, raport, close() corect15%
Interfața grafică (nivel superior)Tkinter: fereastră, casete, butoane, mesaje15%
Documentațiadocstring-uri, comentarii pe pași, structură lizibilă10%
Susținerea oralăexplicarea codului linie cu linie, răspunsuri la întrebări15%

Termen de predare: termenul se comunică în clasă cu cel puțin două săptămâni înainte de susținere; predarea se face prin prezentarea codului sursă, a fișierelor de date generate și a susținerii orale.

Structura recomandată a proiectului

Algoritm Gestionarea notelor unei clase Functie citire_note() citeste notele de la utilizator (sau din fisier) returneaza lista de note Sfarsit functie Functie validare(x) returneaza 1 daca 1 <= x <= 10, altfel 0 Sfarsit functie Functie media(lista) / minim(lista) / maxim(lista) calculeaza si returneaza statisticile cerute Sfarsit functie Functie numara_peste_medie(lista, medie) returneaza cate note depasesc media Sfarsit functie Functie salveaza_fisier(fisier, lista) deschide fisierul si scrie notele, apoi il inchide Sfarsit functie Functie raport(lista) afiseaza pe ecran toate statisticile Sfarsit functie Start program note <- citire_note() valideaza fiecare nota salveaza_fisier("note.txt", note) raport(note) Stop program
Exemplu de bază - punctul de plecare al proiectului
def citire_note():
    n = int(input())
    v = list(map(int, input().split()))
    return v


def validare(x):
    return 1 <= x <= 10


def media(lista):
    return sum(lista) / len(lista)


def minim(lista):
    m = lista[0]
    for x in lista:
        if x < m:
            m = x
    return m


def maxim(lista):
    m = lista[0]
    for x in lista:
        if x > m:
            m = x
    return m


def raport(lista):
    print("Media:", round(media(lista), 2))
    print("Minimul:", minim(lista))
    print("Maximul:", maxim(lista))


note = citire_note()
raport(note)

Sfaturi: dezvoltă proiectul în etape - întâi funcționalitatea de bază (nota 5-6), apoi validările și fișierele (nota 7-8), apoi interfața grafică și documentația (nota 9-10). Testează fiecare etapă înainte de a trece la următoarea.