- Pochodzenie
- cechy
- Teoria programowania strukturalnego
- Struktury kontrolne
- Sekwencja lub struktura liniowa
- Struktura decyzji lub alternatywy
- Pętla lub powtarzająca się struktura z początkowym pytaniem
- Niezależny od języka programowania
- Przykłady programowania strukturalnego
- Sekwencja
- Powtórzenie
- Wybór
- Strukturalne programowanie w Visual Basic
- Sekwencja
- Powtórzenie
- Wybór
- Korzyść
- Jaśniejsze programy
- Łatwe zrozumienie
- Niedogodności
- Powtórzył się ten sam kod
- Zmiana typów danych jest uciążliwa
- Aplikacje
- Obsługa obiektów
- Bibliografia
Programowania strukturalnego jest przepisem w zakresie projektowania i budowy oprogramowania, w celu lepszego zarządzania złożonością, z uwzględnieniem specyfiki ludzkiej myśli. Każdy program jest oparty na algorytmie i może być reprezentowany przez schemat logiczny.
Wynikało to z rosnącej złożoności programów komputerowych. Stał się nowym schematem programowania, który stworzył nowe techniki umożliwiające tworzenie programów, które można bezpiecznie używać przez dłuższy czas.

Struktura decyzyjna i struktura sekwencji w programowaniu strukturalnym. Źródło: I.hidekazu CC BY-SA (httpscreativecommons.orglicensesby-sa4.0)
Dzięki szybkiemu rozwojowi komputerowego przetwarzania danych pod koniec lat 60. XX wieku udało się rozwiązać coraz bardziej złożone problemy. Jednak zrozumienie, debugowanie i modyfikowanie tych programów powodowało trudności, które sprawiały, że były one zawodne.
Duże programy komputerowe stworzone dla tych problemów miały kody źródłowe tak długie i nieustrukturyzowane, że dostęp do nich i nawigacja z pewną logiką stała się dość skomplikowana, nawet dla ich własnych autorów.
Pochodzenie
Programiści używali polecenia „goto” w językach programowania do wykonywania rozgałęzień warunkowych, co często prowadziło do czytelności, a kontekst logiczny nie był zachowywany.
Podczas tego kryzysu oprogramowania zaczęto rozważać, czy można systematycznie opracować ogólną i zdyscyplinowaną metodologię, która pozwoliłaby na bardziej dopracowane programy. W odpowiedzi na to podejście narodziła się metoda programowania strukturalnego.
W 1968 roku Dijkstra opublikował artykuł „Goto, polecenie uznane za szkodliwe”, w którym wskazał, że bezkrytyczne użycie tego polecenia ma negatywny wpływ na czytelność i zrozumienie programów komputerowych.
Niklaus Wirth zaprojektował nowy język programowania, nazwany Pascal, wydany w 1970 roku. Od tamtej pory jest on szeroko stosowany do nauczania projektowania programowania strukturalnego.
cechy
Ten tryb programowania charakteryzuje się tym, że programiści mogą fragmentować kod źródłowy swoich programów na bloki o strukturze logicznej, składające się z pętli, bloków logicznych i poleceń warunkowych.
Celem programowania strukturalnego jest tworzenie programów łatwych do pisania, debugowania i modyfikowania. Otrzymane programy są jasne, uporządkowane, zrozumiałe, bez skoków.
Teoria programowania strukturalnego
Dijkstra opracował teorię związaną z programowaniem strukturalnym, która wskazuje, że podczas projektowania dowolnego programu wygodnie jest wziąć pod uwagę następujące podstawy:
- Twierdzenie strukturalne, które stwierdza, że każdy program można skompilować przy użyciu tylko trzech podstawowych struktur sterowania: struktury sekwencyjnej, struktury alternatywnej i struktury powtarzalnej.
- Nakreślając programy, zaleca się stosowanie techniki zstępującej, zwanej także od góry do dołu.
- Zakresy ważności i widoczności zmiennych i struktur danych muszą być ograniczone.
Struktury kontrolne
Twierdzenie strukturalne wskazuje, że dowolny algorytm z jednym punktem początkowym i końcowym może być utworzony jako kompozycja trzech struktur sterujących.
Poprzez logiczne i przejrzyste programowanie tych obsługiwanych struktur sterowania, programowanie strukturalne umożliwia efektywne podejście do funkcji o dowolnym stopniu trudności.
Sekwencja lub struktura liniowa
Ta struktura to po prostu sekwencja lub ciąg dwóch lub więcej operacji lub poleceń.
Struktura decyzji lub alternatywy
Jest to wybór polecenia między dwiema możliwymi alternatywami. Dozwolony jest również wybór między więcej niż dwoma alternatywami.
Pętla lub powtarzająca się struktura z początkowym pytaniem
Pewne polecenia są powtarzane, o ile zostanie spełniony określony warunek. Cykl można również wykonać z licznikiem.
Niezależny od języka programowania
Programowanie strukturalne opiera się na dobrze zdefiniowanych modułach funkcjonalnych, uszeregowanych według specyfiki problemu. To programowanie jest niezależną metodą języka programowania, działającą bardziej jak styl programowania.
Jest to sposób na tworzenie programów zgodnie z dobrze ugruntowanymi zasadami, przy użyciu do tego określonego zestawu struktur kontrolnych.
Programowanie strukturalne umożliwia pisanie programów w pseudokodzie, niezależnie od języka maszynowego, zbliżonego do naturalnego, konwertowalnego na dowolny język programowania.
Przykłady programowania strukturalnego
Prawie każdy przykładowy fragment kodu w dowolnym nowoczesnym języku programowania będzie przykładem programowania strukturalnego.
To programowanie wykorzystuje pętle, warunki warunkowe i podprogramy do sterowania przepływem i modułowością, aby kod był łatwiejszy do odczytania i ponownego użycia.
Sekwencja
Listę instrukcji można wykonać w kolejności, od góry do dołu. W tym przypadku jako przykład podano program do pieczenia chleba w języku naturalnym:
- Dodaj mąkę.
- Dodaj drożdże.
- Dodać sól.
- Wymieszaj.
- Dodaj wodę.
- Ugniataj.
- Niech ciasto wyrośnie.
- Piec.
Powtórzenie
Blok instrukcji jest powtarzany, dopóki warunek jest prawdziwy. Na przykład: mycie naczyń.

Wybór
Co najwyżej jedno działanie jest wybierane z kilku alternatywnych warunków. Na przykład: zamów pocztę.

Strukturalne programowanie w Visual Basic
Sekwencja
Linie lub bloki kodu są zapisywane i wykonywane w kolejności sekwencyjnej. Na przykład masz:
x = 6
y = 12
z = x + y
WriteLine (z)
Powtórzenie
Blok kodu jest powtarzany, gdy warunek jest spełniony. Nie ma ograniczeń co do liczby wykonań bloku. Przykład:
x = 2
Dopóki x <100
WriteLine (x)
x = x * x
Koniec
Wybór
Blok kodu jest wykonywany, jeśli warunek jest prawdziwy. Blok kodu działa najwyżej raz. Przykład:
x = ReadLine ()
Jeśli x Mod 2 = 0
WriteLine ("Liczba jest parzysta")
Koniec tak
Korzyść
- To programy, które odpowiadają na potrzeby klientów.
- Chociaż początkowe wygenerowanie kodu trwa dłużej, często powoduje to, że kod działa bez błędów po pierwszym uruchomieniu.
- Jest podobny do słownictwa słów i symboli w języku angielskim.
- Łatwo jest obsługiwać zmiany w programie z nowymi specyfikacjami w przyszłości.
- Są łatwiejsze w utrzymaniu.
- Jest łatwy w obsłudze i zrozumiały. Ostatecznie potrzeba mniej czasu na napisanie kodu. Łatwiej jest się nauczyć.
- Program napisany w języku wysokiego poziomu można przetłumaczyć na wiele języków maszynowych. Dlatego można go uruchomić na dowolnym komputerze, dla którego istnieje odpowiedni tłumacz lub kompilator.
- Są głównie zorientowani na problemy, a nie na maszyny.
- Jest niezależny od komputera, na którym jest używany. Innymi słowy, programy opracowane w językach wysokiego poziomu można uruchamiać na dowolnym komputerze.
Jaśniejsze programy
Programowanie strukturalne ogranicza możliwość, że jedna funkcja wpłynie na inną. Dzięki temu programy są bardziej przejrzyste, ponieważ zmienne globalne są usuwane i zastępowane zmiennymi lokalnymi.
Dzięki tej zmianie można zaoszczędzić miejsce przydziału pamięci, które zajmuje zmienna globalna.
Łatwe zrozumienie
Organizacja pomaga łatwo zrozumieć logikę programowania, aby zrozumieć logikę programów.
Pomaga również nowicjuszom z dowolnej firmy technologicznej w zrozumieniu programów tworzonych przez innych pracowników branży, ułatwiając w ten sposób potencjalne debugowanie kodu.
Niedogodności
- Tłumacz lub kompilator musi przetłumaczyć język wysokiego poziomu na język maszynowy. Dlatego trzeba zapłacić cenę za korzystanie z czasu komputera.
- Kod obiektowy wygenerowany przez kompilator może być nieefektywny w porównaniu z równoważnym programem w języku asemblerowym.
Powtórzył się ten sam kod
Napisany kod może pojawić się w różnych częściach programu. Ze względu na swoje położenie może być podatny na różne problemy. Programy mają zmienne, co oznacza, że mogą przyjmować różne wartości w różnych częściach programu.
Zmiana typów danych jest uciążliwa
Rodzaj danych pochodzi z wielu funkcji. Dlatego w przypadku wystąpienia zmian w danych tego typu należy wprowadzić odpowiednią zmianę w każdej lokalizacji działającej na danych tego typu w programie. Jest to naprawdę czasochłonne zadanie, jeśli program jest bardzo duży.
Można rozważyć przypadek rozwoju oprogramowania, w którym kilku programistów pracuje jako zespół w aplikacji. W programie strukturalnym każdy programista zostanie przypisany do zbudowania określonego zestawu funkcji i typów danych.
Dlatego różni programiści będą oddzielnie obsługiwać różne funkcje, które mają wspólne typy danych.
Pozostali programiści w zespole powinni odzwierciedlić zmiany w typach danych wprowadzonych przez programistę w obsługiwanych przez nich typach danych. W przeciwnym razie trzeba będzie przepisać wiele funkcji.
Aplikacje
Programowanie strukturalne sprawdziło się w przypadku milionów programów i miliardów linii kodu. Nie ma powodu, aby go odrzucać.
W szczególności sprawdził się wyjątkowo dobrze w przypadku programów przetwarzających dane i przetwarzania liczb, z których oba są uruchamiane raz w celu wygenerowania odpowiedzi.
Dwie cechy zazwyczaj dobrze definiują problemy, do których można podejść w czysto ustrukturyzowany sposób:
- Przetwarzane dane ściśle odpowiadają typom danych zintegrowanych z językiem, na ogół są to liczby i ciągi znaków.
- Program podąża za dobrze zdefiniowanym przepływem sterowania, aby uzyskać pojedynczy wynik na podstawie pewnych danych wejściowych.
Programy komputerowe o tych cechach obejmują wiele aplikacji naukowych, inżynieryjnych i edytorów tekstu, oprócz wielu podręczników przykładów tradycyjnych kursów informatycznych.
Nic dziwnego, że właśnie takie programy chcieli rozwiązać pierwsi ludzie, którzy wymyślili języki programowania.
Obsługa obiektów
Większość współczesnych języków programowania ma taką strukturę: to, co masz w swoim programie, to obiekty, a większość kodu składa się z różnych metod wykorzystywania danych przechowywanych w tych obiektach.
Ustrukturyzowany program generalnie ma kontrolę nad tym, co się dzieje i kiedy to się dzieje, podczas gdy program oparty na zdarzeniach musi być w stanie reagować na zdarzenia w nieprzewidywalnych momentach.
Bibliografia
- MVPS (2020). Programowanie strukturalne. Zaczerpnięte z: mvps.net.
- Alexey (2019). Strukturalny paradygmat programowania. Średni. Zaczerpnięte z: medium.com.
- Dołącz pomoc (2020). Programowanie strukturalne, jego zalety i wady. Zaczerpnięte z: includehelp.com.
- Tim Trott (2019). Strukturalne języki programowania. Lonewolf Online. Zaczerpnięte z: lonewolfonline.net.
- Portal OO (2020). Zastosowania i zalety tradycyjnego programowania strukturalnego. Zaczerpnięte z: ooportal.com.
- Studeer Snel (2020). Recenzja końcowa - podsumowanie aplikacji programowania strukturalnego. Zaczerpnięte z: studeersnel.nl.
