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

Lekcja 17: Programowanie - projekt indywidualny (1): analiza problemu

Wybor tematu, analiza problemu, projektowanie algorytmu, pseudokod

📋 Podstawa programowa: II.1+II.2
algorytmyanalizaplanowanieprogramowanieprojekt indywidualny
00:00
Wprowadzenie
5 min
00:05
Teoria
15 min
00:20
Cwiczenia
15 min
00:35
Podsumowanie
10 min
📚

Teoria

Etapy realizacji projektu programistycznego

Kazdy powazny projekt informatyczny sklada sie z kilku kluczowych etapow. Dzis skupimy sie na pierwszym i najwazniejszym: analizie problemu.

Cykl zycia projektu: 1. Analiza problemu → 2. Projektowanie rozwiazania → 3. Implementacja (kodowanie) → 4. Testowanie → 5. Dokumentacja → 6. Prezentacja

1. Wybor tematu projektu

Dobry temat projektu powinien byc:

  • Praktyczny - rozwiazuje realny problem lub spelnia konkretna potrzebe
  • Realistyczny - mozliwy do zrealizowania w wyznaczonym czasie
  • Interesujacy - motywujacy do pracy
  • Odpowiedni - na poziomie Twoich umiejetnosci (z pewnym wyzwaniem)

Przykladowe tematy projektow

  • Quiz edukacyjny z wybranego przedmiotu
  • Kalkulator BMI z historia pomiarow
  • Gra tekstowa (przygodowa, quiz, wisielec)
  • Program szyfrujacy/deszyfrujacy wiadomosci
  • Prosty system zarzadzania kontaktami
  • Analizator tekstu (statystyki, czestotliwosc slow)
  • Generator hasel o zadanej sile
  • Notatnik z zapisem do pliku

2. Analiza problemu

Analiza problemu to systematyczne okreslenie:

  • Co program ma robic? - lista funkcji (wymagania funkcjonalne)
  • Jakie dane wejsciowe? - co uzytkownik podaje
  • Jakie dane wyjsciowe? - co program zwraca/wyswietla
  • Jakie ograniczenia? - czas, technologia, zakres

3. Projektowanie algorytmu i pseudokod

Pseudokod to sposob zapisu algorytmu w jezyku zblizonym do naturalnego, ale z zachowaniem struktury programistycznej:

PROGRAM: Quiz edukacyjny
POCZATEK
    Wczytaj pytania z pliku
    Wymieszaj pytania
    liczba_punktow = 0
    DLA kazdego pytania:
        Wyswietl pytanie i odpowiedzi
        Pobierz odpowiedz uzytkownika
        JEZELI odpowiedz == poprawna:
            liczba_punktow = liczba_punktow + 1
            Wyswietl "Dobrze!"
        W PRZECIWNYM RAZIE:
            Wyswietl "Zle! Poprawna odpowiedz to: ..."
    Wyswietl wynik koncowy: liczba_punktow / liczba_pytan
    Zapisz wynik do pliku
KONIEC

4. Specyfikacja projektu

Przed rozpoczeciem kodowania warto przygotowac krotka specyfikacje:

SPECYFIKACJA PROJEKTU
=====================
Tytul: Quiz edukacyjny z geografii
Autor: [Imie i Nazwisko]
Jezyk programowania: Python

OPIS: Program quizu z pytaniami wielokrotnego wyboru
z zakresu geografii. Pytania wczytywane z pliku.

FUNKCJE:
- Wczytywanie pytan z pliku tekstowego
- Losowa kolejnosc pytan
- Sprawdzanie odpowiedzi
- Zliczanie punktow
- Zapis wynikow do pliku

DANE WEJSCIOWE: plik z pytaniami, odpowiedzi uzytkownika
DANE WYJSCIOWE: pytania na ekranie, wynik koncowy, plik z wynikami

STRUKTURA PLIKU Z PYTANIAMI:
pytanie;odpA;odpB;odpC;odpD;poprawna
Wskazowka: Im lepiej przeanalizujesz problem na poczatku, tym latwiej bedzie pisac kod. Dobrze zaprojektowany program jest jak dobrze zaplanowany dom - buduje sie go szybciej i pewniej.
✏️

Zadania

Latwe

Zadanie 1: Wybor tematu

Wybierz temat swojego projektu indywidualnego z listy propozycji lub zaproponuj wlasny. Napisz krotkie uzasadnienie wyboru (3-5 zdan): dlaczego ten temat jest interesujacy i jak moze byc praktycznie uzyteczny?

Srednie

Zadanie 2: Specyfikacja projektu

Przygotuj pelna specyfikacje swojego projektu wedlug podanego szablonu. Okresl: tytul, opis, liste funkcji (min. 5), dane wejsciowe i wyjsciowe, planowane moduly/funkcje w kodzie.

Srednie

Zadanie 3: Pseudokod

Napisz pseudokod glownego algorytmu swojego programu. Uwzglednij: wczytanie danych, przetwarzanie (z petlami i warunkami), wyswietlenie wynikow. Pseudokod powinien miec co najmniej 15 linii.

Trudne

Zadanie 4: Schemat modulow

Narysuj (na kartce lub w programie) schemat modulowy swojego projektu. Podziiel program na funkcje/moduly i pokaz, jak dane przeplywaja miedzy nimi. Okresl, jakie parametry przyjmuje i co zwraca kazda funkcja.

🎥

Materialy wideo

kurs podstaw Pythona w godzinę
Matura z Lewusem
PORADNIK DLA POCZĄTKUJĄCYCH | Modelowanie 3D w darmowym programie | FreeCAD 0.21
Damian Lewczuk
🎧

Podcasty

✔️

Quiz - sprawdz sie!

📜

Podstawa programowa

← Lekcja 16: Algorytmy - powtorzenie Lekcja 18: Projekt - implementacja →