• Artykuły
  • Forum
  • Ciekawostki
  • Encyklopedia
  • Spaghetti code

    Przeczytaj także...
    Instrukcja warunkowa jest elementem języka programowania, które pozwala na wykonanie różnych obliczeń w zależności od tego czy zdefiniowane przez programistę wyrażenie logiczne jest prawdziwe, czy fałszywe. Możliwość warunkowego decydowania o tym, jaki krok zostanie wykonany w dalszej kolejności jest jedną z podstawowych własności współczesnych komputerów – dowolny model obliczeń zdolny do wykonywania algorytmów (tj. równoważny maszynom Turinga) musi ją posiadać.Podprogram (inaczej funkcja lub procedura) - termin związany z programowaniem proceduralnym. Podprogram to wydzielona część programu wykonująca jakieś operacje. Podprogramy stosuje się, aby uprościć program główny i zwiększyć czytelność kodu.
    Język proceduralny (ang. procedural language) – język programowania umożliwiający tworzenie oprogramowania w postaci programu głównego oraz wielu procedur (lub podprogramów), z których każda realizuje określoną funkcję i może być wywoływana wielokrotnie przez program główny.

    Spaghetti code – termin określający skomplikowany, trudny do zrozumienia kod źródłowy programu. Z takiego kodu skompilowano wiele programów w starszych językach proceduralnych, typu Fortran czy BASIC. Było to jeszcze przed powstaniem metody programowania strukturalnego.

    Używano wielu instrukcji warunkowych i następnych w nich zagnieżdżonych, konstrukcji GOTO czy wyjątków. Droga przez kolejne rozkazy była tak poplątana, że odczytanie takiego kodu i zrozumienie go było bardzo uciążliwe, a ewentualne modyfikacje zwykle prowadziły do błędów w programie.

    Definicja intuicyjna: Kod źródłowy to zapis programu komputerowego w formie czytelnej dla człowieka umożliwiający jego modyfikację i rozwój.Programowanie strukturalne to paradygmat programowania zalecający hierarchiczne dzielenie kodu na bloki, z jednym punktem wejścia i jednym lub wieloma punktami wyjścia. Chodzi przede wszystkim o nieużywanie (lub ograniczenie) instrukcji skoku (goto). Dobrymi strukturami są np. instrukcja warunkowe (if, if...else), pętle (while, repeat), wyboru (case, ale nie switch z C i potomnych). Strukturalność zakłócają instrukcje typu: break, continue, switch (w C itp.), które jednak w niektórych przypadkach znacząco podnoszą czytelność kodu.

    Programowanie strukturalne, w myśl zasady od ogółu do szczegółu, wprowadziło znaczne uporządkowanie w procesie tworzenia programów. W skrócie taka metodologia programowania polega na dzieleniu zadania do wykonania na mniejsze, aż do uzyskania wystarczająco prostych fragmentów do zrealizowania. Łatwiej wtedy jest zaimplementować w poszczególnych modułach procedury, które w całości dadzą pożądany efekt. W praktyce zazwyczaj dzieli się program na funkcje, z których każda realizuje określony cel i może być wywoływana wielokrotnie. Tak napisany kod jest już znacznie bardziej czytelny.

    Fortran (od wersji 90 do aktualnej) a dawniej FORTRAN (do wersji 77 włącznie) (od ang. FORmula TRANslator) – język programowania pierwotnie zaprojektowany do zapisu programów obliczeniowych, był niegdyś językiem proceduralnym, obecnie jest nadal rozwijanym językiem ogólnego przeznaczenia. Umożliwia programowanie strukturalne, obiektowe (Fortran 90/95), modularne i równoległe (Fortran 2008). Jego zastosowaniami są, między innymi, obliczenia naukowo-inżynierskie, numeryczne, symulacja komputerowa itp.W programowaniu pętla to jedna z trzech podstawowych konstrukcji programowania strukturalnego (obok instrukcji warunkowej i instrukcji wyboru). Umożliwia cykliczne wykonywanie ciągu instrukcji określoną liczbę razy, do momentu zajścia pewnych warunków, dla każdego elementu kolekcji lub w nieskończoność.

    Przykłady[ | edytuj kod]

    10  INPUT count
    20  LET steps = count
    30  LET bbk = 0
    40  LET bk = 1
    50  IF count < 1 THEN GOTO 100
    60  LET k = bbk + bk
    70  LET bbk = bk
    80  LET bk = k
    90  LET count = count - 1
    100 PRINT "Wyraz nr "; steps - count; "ciagu Fibonacciego wynosi: "; k
    110 IF count > 0 THEN GOTO 50
    120 END
    

    Program wyświetla podaną przez użytkownika liczbę pierwszych wyrazów ciągu Fibonacciego. W kilku liniach trywialnego programu dwukrotnie użyto bezwarunkowej instrukcji skoku – GOTO. Przy bardziej złożonym kodzie i większej liczbie skoków pojawi się problem z jego zrozumieniem.

    C – imperatywny, strukturalny język programowania wysokiego poziomu stworzony na początku lat siedemdziesiątych XX w. przez Dennisa Ritchiego do programowania systemów operacyjnych i innych zadań niskiego poziomu.Instrukcja skoku – instrukcja w językach programowania, która powoduje przekazanie sterowania w inne miejsce, tzw. skok. Występuje w tak odległych od siebie językach, jak Fortran, Algol, COBOL, SNOBOL, Basic, C/C++, Perl, Pascal, PHP i wielu innych. Miejsce skoku identyfikuje się za pomocą numeru wiersza programu (zwykle w językach interpretowanych) bądź etykiety (najczęściej w językach kompilowanych).

    Ten sam cel zrealizowany przez programowanie strukturalne (w C):

    scanf ("%d",&steps);
    for (count = 0; count < steps; count++){
        static int bbk = 0, bk = 1;
        int k = bbk + bk;
        bbk = bk; bk = k;
        printf ("Wyraz nr %d ciagu Fibonacciego wynosi: %d\n",
        steps - count,k);
    }
    

    Poszczególne kroki wykonywane są w przejrzystej i formalnej pętli. Ciąg instrukcji do wykonania w programowaniu strukturalnym nie może być dowolnie zmieniany, „przejścia” do poszczególnych bloków są obsługiwane przez zaimplementowane konstrukcje (np. for, while, do while czy if else).

    Wyjątek (ang. exception) jest mechanizmem przepływu sterowania używanym w mikroprocesorach oraz współczesnych językach programowania do obsługi zdarzeń wyjątkowych, a w szczególności błędów, których wystąpienie zmienia prawidłowy przebieg wykonywania programu. W momencie zajścia niespodziewanego zdarzenia generowany jest wyjątek, który musi zostać obsłużony poprzez zapamiętanie bieżącego stanu programu i przejście do procedury jego obsługi. W niektórych sytuacjach po obsłużeniu wyjątku można powrócić do wykonywania przerwanego kodu, korzystając z zapamiętanych informacji stanu. Przykładowo obsługa błędu braku strony pamięci polega najczęściej na pobraniu brakującej strony z pliku wymiany, co umożliwia kontynuowanie pracy programu, natomiast błąd dzielenia przez zero powoduje, że wykonywanie dalszych obliczeń nie ma sensu i musi zostać przerwane na trwałe.Blok podstawowy to taki ciąg instrukcji, który ma tylko jedno wejście i tylko jedno wyjście, przy czym wejście do bloku znajduje się na jego początku, a wyjście na końcu. Instrukcje bloku podstawowego wykonują się wszystkie i w kolejności, w jakiej są zapisane (bezpośrednio po wykonaniu pierwszej musi zostać wykonana druga, trzecia, itd. aż do końca, zaś bezpośrednio przed wykonaniem ostatniej musiała być wykonana przedostatnia, przed-przedostatnia, itd. aż do pierwszej instrukcji bloku).




    Warto wiedzieć że... beta

    Implementacja (wdrożenie, przystosowanie, realizacja, łac.ang. implementation) – w informatyce – proces przekształcania abstrakcyjnego opisu systemu lub programu na obiekt fizyczny: komputer lub działający program zapisany w konkretnym języku programowania; także obiekt fizyczny będący efektem takiego przekształcenia, np. implementacja systemu operacyjnego (wdrożenie systemu) lub kompilatora dla konkretnego typu komputera.

    Reklama

    Czas generowania strony: 0.619 sek.