Analiza problemu, specyfikacja projektu, planowanie implementacji
ð Podstawa programowa: II.1+II.2W ramach projektu indywidualnego kazdy uczen samodzielnie zaprojektuje i zaimplementuje program w Pythonie, ktory rozwiazuje wybrany problem. Projekt rozlozony jest na 4 lekcje: planowanie (L19), implementacja (L20), testowanie (L21) i prezentacja (L22).
Kazdy uczen powinien przygotowac dokument specyfikacji zawierajacy:
Mozesz wybrac jeden z ponizszych tematow lub zaproponowac wlasny (do zatwierdzenia przez nauczyciela):
Wybierz temat projektu z listy propozycji lub zaproponuj wlasny. Napisz 3-5 zdan uzasadniajacych wybor: dlaczego ten temat? jaki problem rozwiazuje? dla kogo jest przeznaczony?
Wypelnij szablon specyfikacji projektu: tytul, opis problemu, dane wejsciowe/wyjsciowe, lista funkcji, narzedzia. Oddaj dokument nauczycielowi do zatwierdzenia.
Narysuj schemat blokowy lub napisz pseudokod glownej logiki Twojego programu. Uwzglednij: wczytanie danych, przetwarzanie, wyswietlenie wynikow, obsluge bledow.
PSEUDOKOD - Quiz tematyczny:
1. Wczytaj pytania z pliku (lista slownikow)
2. Wymieszaj kolejnosc pytan
3. Ustaw wynik = 0
4. DLA KAZDEGO pytania:
a. Wyswietl tresc pytania
b. Wyswietl odpowiedzi A, B, C, D
c. Wczytaj odpowiedz uzytkownika
d. JESLI odpowiedz poprawna:
- wynik = wynik + 1
- Wyswietl "Dobrze!"
e. W PRZECIWNYM RAZIE:
- Wyswietl "Zle! Poprawna: ..."
5. Wyswietl wynik koncowy: X / N
6. Zapisz wynik do pliku rankingowego
Zaplanuj strukture kodu: jakie funkcje beda potrzebne? Co kazda funkcja robi? Jakie parametry przyjmuje i co zwraca? Zapisz to w formie "szkieletu" programu (same naglowki funkcji z komentarzami).
# quiz.py - Quiz tematyczny
def wczytaj_pytania(plik):
"""Wczytuje pytania z pliku JSON.
Zwraca liste slownikow."""
pass
def wyswietl_pytanie(pytanie, numer):
"""Wyswietla pytanie i odpowiedzi.
Parametry: slownik pytania, numer pytania."""
pass
def sprawdz_odpowiedz(pytanie, odpowiedz):
"""Sprawdza poprawnosc odpowiedzi.
Zwraca True/False."""
pass
def zapisz_wynik(nazwa, wynik, plik_ranking):
"""Zapisuje wynik do pliku rankingowego."""
pass
def pokaz_ranking(plik_ranking):
"""Wyswietla ranking najlepszych wynikow."""
pass
def main():
"""Glowna funkcja programu."""
pass
if __name__ == "__main__":
main()