Liceum Klasa III 45 minut PP: IV.1+II.2 | s. 343-345

Lekcja 26: Projekt koncowy - realizacja (2)

Budowanie projektu koncowego - implementacja glownych funkcji

📋 Podstawa programowa: IV.1+II.2
implementacjakodowanieprojektrealizacjasprint
00:00
Status check
5 min
00:05
Wskazowki
5 min
00:10
Praca wlasna
30 min
00:40
Podsumowanie
5 min
📚

Teoria

Faza realizacji - porady praktyczne

Dzis skupiamy sie na implementacji projektu. Wiekszosc lekcji to praca wlasna, ale najpierw kilka waznych porad.

Cel dzisiejszej lekcji: Pod koniec lekcji powinnas/powinienes miec dzialajace MVP (Minimum Viable Product) - najprostsza wersje programu, ktora realizuje glowna funkcje.

1. Strategia implementacji

  • Krok 1: Zacznij od szkieletu - zdefiniuj wszystkie funkcje (nawet puste)
  • Krok 2: Zaimplementuj najwazniejsza funkcje (rdzen programu)
  • Krok 3: Dodawaj kolejne funkcje po kolei, testujac kazda
  • Krok 4: Na koncu dodaj obsluge bledow i walidacje

2. Czeste problemy i rozwiazania

# PROBLEM: Program sie zawiesza
# ROZWIAZANIE: Dodaj print() do debugowania
def moja_funkcja(dane):
    print(f"DEBUG: dane = {dane}")  # tymczasowe
    # ... reszta kodu
    print(f"DEBUG: wynik = {wynik}")  # tymczasowe
    return wynik

# PROBLEM: Plik nie znaleziony
# ROZWIAZANIE: Sprawdz sciezke i uzyj try/except
import os
sciezka = "dane.txt"
if os.path.exists(sciezka):
    with open(sciezka, "r", encoding="utf-8") as f:
        dane = f.read()
else:
    print(f"Plik {sciezka} nie istnieje!")

# PROBLEM: Blad kodowania znakow
# ROZWIAZANIE: Zawsze uzywaj encoding="utf-8"
with open("plik.txt", "r", encoding="utf-8") as f:
    tekst = f.read()

# PROBLEM: Program nie konczy dzialania
# ROZWIAZANIE: Sprawdz warunki petli
while warunek:  # czy warunek kiedys bedzie False?
    # ... operacje zmieniajace warunek
    pass

# PROBLEM: Funkcja zwraca None
# ROZWIAZANIE: Sprawdz, czy jest return
def oblicz(a, b):
    wynik = a + b
    return wynik  # Nie zapomnij o return!

3. Przydatne biblioteki Pythona

  • random - losowanie (shuffle, randint, choice)
  • os - operacje na plikach i folderach
  • json - zapisywanie i wczytywanie danych w formacie JSON
  • csv - praca z plikami CSV
  • datetime - operacje na datach i czasie
  • tkinter - interfejs graficzny (GUI)
  • matplotlib - wykresy i wizualizacje
  • sqlite3 - baza danych SQLite

4. Kontrola wersji - zapisuj czesto!

# Jesli uzywasz Git:
git add .
git commit -m "Dodano funkcje wczytywania danych"

# Jesli nie uzywasz Git - reczne kopie zapasowe:
# Kopiuj plik co 15 minut z nowa nazwa:
# projekt_v1.py -> projekt_v2.py -> projekt_v3.py
# NIGDY nie pracuj bez kopii zapasowej!
Checklist na koniec lekcji:
☐ Mam dzialajace MVP (glowna funkcja programu)
☐ Zaimplementowalem co najmniej 3 funkcje
☐ Kazda funkcja ma docstring
☐ Mam kopie zapasowa kodu
☐ Przetestowalem podstawowe scenariusze
✏️

Zadania

Latwe

Zadanie 1: Status projektu

Na poczatku lekcji wypelnij krotki raport statusu: a) Co udalo sie zrobic do tej pory? b) Co jeszcze zostalo? c) Jakie problemy napotkales? d) Czy harmonogram jest realizowany?

Srednie

Zadanie 2: Implementacja MVP

Skup sie na zaimplementowaniu najprostszej dziajacej wersji projektu. Program powinien realizowac swoja glowna funkcje od poczatku do konca (wczytanie danych → przetwarzanie → wyswietlenie wyniku).

Srednie

Zadanie 3: Dodatkowe funkcje

Po ukonczeniu MVP dodaj co najmniej 2 dodatkowe funkcje z listy wymagan. Przetestuj kazda funkcje oddzielnie i sprawdz, czy nie zepsola istniejacego kodu.

Trudne

Zadanie 4: Zapis danych do pliku

Dodaj do projektu trwalosc danych - zapis wynikow/ustawien/postepow do pliku (JSON, CSV lub TXT). Program powinien wczytywac dane z pliku przy starcie i zapisywac przy zamknieciu. Dodaj obsluge sytuacji, gdy plik nie istnieje.

🎥

Materialy wideo

Jak zrobić swój pierwszy projekt do druku 3D
Majster Szef TV
Jak generować projekty w EdWord?
Dalej Razem Edu
🎧

Podcasty

✔️

Quiz - sprawdz sie!

📜

Podstawa programowa

← Lekcja 25: Projekt - planowanie Lekcja 27: Projekt koncowy - realizacja (3) →