Plik programowanie strukturalne Jest to przepis przy projektowaniu i konstruowaniu programów komputerowych, mający na celu usprawnienie zarządzania jego złożonością, z uwzględnieniem specyfiki ludzkiej myśli. Każdy program oparty jest na algorytmie i można go przedstawić za pomocą schematu logicznego.
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..
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..
Indeks artykułów
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.
W tym kryzysie oprogramowania pojawiło się pytanie, czy można by systematycznie rozwijać ogólną i zdyscyplinowaną metodologię, która pozwoliłaby na bardziej wyrafinowane 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 masowe 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 tego czasu był on szeroko stosowany do nauczania projektowania programowania strukturalnego..
Ten tryb programowania charakteryzuje się tym, że programiści mogą fragmentować kod źródłowy swoich programów na bloki o strukturze logicznej, które składają się z pętli, bloków logicznych i poleceń warunkowych..
Celem programowania strukturalnego jest tworzenie programów łatwych do pisania, debugowania i modyfikowania. Osiągnięte programy są jasne, uporządkowane, zrozumiałe, bez przeskoków.
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 kontrolnych: struktury sekwencyjnej, struktury alternatywnej i struktury powtarzalnej.
- Nakreślając programy, zaleca się stosowanie techniki zstępującej, zwanej także zstępującą..
- Zakresy ważności i widoczności zmiennych i struktur danych muszą być ograniczone.
Twierdzenie strukturalne wskazuje, że każdy 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.
Ta struktura to po prostu sekwencja lub ciąg dwóch lub więcej operacji lub poleceń.
Jest to wybór polecenia między dwiema możliwymi alternatywami. Dozwolony jest również wybór między więcej niż dwoma alternatywami.
Pewne polecenia są powtarzane tak długo, jak długo jest spełniony określony warunek. Cykl można również wykonać z licznikiem.
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 według ustalonych reguł, przy użyciu określonego zestawu struktur kontrolnych..
Programowanie strukturalne umożliwia pisanie programów w pseudokodzie, niezależnie od języka maszyny, zbliżone do naturalnego, konwertowalne na dowolny język programowania.
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ą w celu ułatwienia odczytu i umożliwienia ponownego wykorzystania kodu.
Lista instrukcji może być wykonywana po kolei, od góry do dołu. W tym przypadku jako przykład podano program w języku naturalnym do pieczenia chleba:
- Dodaj mąkę.
- Dodaj drożdże.
- Dodać sól.
- Mieszać.
- Dodaj wodę.
- Ugniatać.
- Niech ciasto wyrosnie.
- Piec.
Blok instrukcji jest powtarzany tak długo, jak długo warunek jest spełniony. Na przykład: mycie naczyń.
Co najwyżej jedno działanie jest wybierane z kilku alternatywnych warunków. Na przykład: sortowanie poczty.
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)
Blok kodu jest powtarzany tak długo, jak długo jest spełniony warunek. Nie ma ograniczeń co do liczby wykonań bloku. Przykład:
x = 2
Podczas gdy x<100
WriteLine (x)
x = x * x
Koniec
Blok kodu jest wykonywany, jeśli warunek jest prawdziwy. Blok kodu jest wykonywany najwyżej raz. Przykład:
x = ReadLine ()
Jeśli x Mod 2 = 0
WriteLine ("Liczba jest parzysta")
Koniec tak
- Są to programy spełniające potrzeby klientów.
- Chociaż początkowe wygenerowanie kodu zajmuje więcej czasu, 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.
- Łatwe do obsługi zmiany programu 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 jest odpowiedni tłumacz lub kompilator..
- Są one głównie zorientowane na problem, a nie na maszynę.
- Jest niezależny od komputera, na którym jest używany. Oznacza to, że programy opracowane w językach wysokiego poziomu można uruchamiać na dowolnym komputerze.
Programowanie strukturalne zmniejsza prawdopodobieństwo, że jedna funkcja wpłynie na inną. Dzięki temu pisanie programów jest 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.
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 z branży, ułatwiając w ten sposób potencjalne debugowanie kodu..
- 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.
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..
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, która oddziałuje na dane 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ół nad aplikacją. 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ą osobno 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.
Programowanie strukturalne sprawdziło się w przypadku milionów programów i miliardów wierszy 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 zwykle dobrze definiują problemy, do których można podejść w czysto ustrukturyzowany sposób:
- Obsługiwane dane ściśle odpowiadają typom danych zintegrowanym z językiem, na ogół są to liczby i ciągi znaków..
- Program podąża za dobrze zdefiniowanym przepływem sterowania, aby wygenerować pojedynczy wynik na podstawie pewnych danych wejściowych.
Programy komputerowe o tych cechach obejmują wiele aplikacji naukowych, inżynieryjnych i edytorów tekstu, a także wiele przykładów podręcznikó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..
Większość współczesnych języków programowania jest zbudowana w ten sposób: to, co masz w programie, to obiekty, a większość kodu składa się z różnych metod wykorzystania 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..
Jeszcze bez komentarzy