Programowanie strukturalne, proceduralne, obiektowe i funkcyjne – czym różnią się podejścia do organizowania kodu.
Paradygmat to sposób myślenia o organizacji programu – nie konkretny język, lecz styl, w jakim buduje się rozwiązanie. Jeden język często pozwala pracować w kilku paradygmatach naraz.
Programowanie strukturalne opiera się na trzech konstrukcjach: sekwencji, wyborze i pętli. Odrzuca skoki do dowolnego miejsca programu, dzięki czemu kod czyta się od góry do dołu. To fundament, na którym stoją pozostałe podejścia i to w nim pisze się rozwiązania maturalne.
Programowanie proceduralne dokłada podział na funkcje i procedury. Powtarzalny fragment zamyka się w funkcji i wywołuje w wielu miejscach, zamiast kopiować. Program staje się krótszy i łatwiejszy w poprawianiu.
Programowanie obiektowe grupuje dane razem z operacjami na nich w obiekty. Pojęcie warto znać, bo pada w pytaniach, ale zadania maturalne rozwiązuje się proceduralnie.
Programowanie funkcyjne opiera się na funkcjach w sensie matematycznym: dla tych samych danych zawsze zwracają ten sam wynik i nie zmieniają stanu zewnętrznego.
| Paradygmat | Podstawowa jednostka | Główna idea |
|---|---|---|
| Strukturalne | blok instrukcji | sekwencja, wybór, pętla |
| Proceduralne | funkcja | podział zadania na podprogramy |
| Obiektowe | obiekt | dane razem z operacjami na nich |
| Funkcyjne | funkcja bez efektów ubocznych | ten sam wynik dla tych samych danych |
Pytania są definicyjne: rozpoznanie paradygmatu po opisie albo wskazanie trzech konstrukcji programowania strukturalnego.
Warto pamiętać, że rozwiązania zadań maturalnych pisze się strukturalnie i proceduralnie – z użyciem funkcji, pętli i warunków. Podejście obiektowe pozostaje pojęciem do zdefiniowania, a nie techniką do stosowania na egzaminie.
Tak, i większość współczesnych języków tak działa. Ten sam kod można napisać proceduralnie albo w innym stylu – decyduje programista.
Żeby nie powtarzać tego samego kodu, łatwiej go testować i poprawiać w jednym miejscu. Krótkie funkcje o jasnych nazwach czyta się znacznie szybciej.
Że funkcja nie zmienia niczego poza zwracanym wynikiem – nie modyfikuje zmiennych zewnętrznych ani plików. Taki kod łatwiej przewidzieć i przetestować.
Zagadnienia z tego samego obszaru matury – warto je powtórzyć razem: