Instrukcja skoku: Różnice pomiędzy wersjami
[wersja przejrzana] | [wersja przejrzana] |
Usunięta treść Dodana treść
m MalarzBOT: {{Seealso}} jest redirectem {{Zobacz też}} |
poprawa przek., dodanie parametru do szablonu {{Dopracować}}, kategoryzacja problemów występujących w artykułach |
||
Linia 1:
{{dopracować|uzupełnić|w artykule opisano skok ''bezwarunkowy'', napisać coś więcej o skoku ''warunkowym'' (odsyłając do [[instrukcja warunkowa|instrukcji warunkowej]])}}
{{spis treści}}
'''Instrukcja skoku''' – [[instrukcja (informatyka)|instrukcja]] w [[język programowania|językach programowania]], która powoduje [[przepływ sterowania|przekazanie sterowania]] w inne miejsce, tzw. ''skok''. Występuje w tak odległych od siebie językach, jak [[Fortran]], [[
== Przykład ==
Linia 21:
== Przepływ sterowania ==
{{Osobny artykuł|przepływ sterowania}}
Do zaprogramowania każdego diagramu przepływu czy każdego [[Deterministyczny automat
Obserwacja ta znalazła zastosowanie w konstrukcji [[procesor]]ów i wyrażenia tego w języku [[asembler]]a, gdzie dostępne są te właśnie instrukcje (instrukcje skoku bezwarunkowego <code>JMP</code> i warunkowego <code>Jxx</code> w architekturze [[x86]], gdzie <code>xx</code> symbolizują stan [[flaga (informatyka)|flag]] [[rejestr stanu|rejestru stanu]] zmienianego przez część instrukcji procesora).
Pierwsze języki, przede wszystkim ze względu na nacisk na łatwość konstrukcji [[kompilator]]ów nie odbiegały znacząco zasobem instrukcji od asemblera, np. w pierwszych wersjach [[Fortran
te same instrukcje z wielopoziomowymi pętlami (<code>X: foreach $a(@A) { foreach $b(@B) { …; if (…) { last X; }} }</code>), [[wyjątek|wyjątki]], [[iterator]]y, [[funkcja wyższego rzędu|funkcje wyższego rzędu]], [[wątek (informatyka)|wątki]] itd., co uczyniło z instrukcji skoku instrukcję na wskroś przestarzałą.
== Paradygmaty programowania ==
{{Zobacz też|paradygmat programowania}}
Instrukcja skoku jest instrukcją [[programowanie imperatywne|paradygmatu imperatywnego]] stosowanego przede wszystkim do nauki [[
Istnieją paradygmaty, jak np. [[programowanie obiektowe|obiektowy]], [[programowanie funkcyjne|funkcyjny]], czy [[programowanie sterowane zdarzeniami|zdarzeniowy]], w których instrukcja ta nie występuje, choć mimo wszystko wiele języków realizujących kilka paradygmatów (przede wszystkim opartych na [[C (język programowania)|C]]) ją zawiera. Nie zaleca się mieszania paradygmatów ze względu na możliwość zaciemnienia struktury kodu – często przytaczanym przykładem jest właśnie użycie imperatywnej instrukcji skoku w kodzie obiektowym (zwłaszcza, gdy skok odbywa się między dwoma nie związanymi ze sobą blokami kodu, np. z ciała jednej [[Klasa (programowanie obiektowe)|klasy]] do drugiej). Umiejętnie zastosowana instrukcja skoku może jednak znacząco ułatwić opuszczenie imperatywnej bądź proceduralnej części obiektowego kodu (np. wielokrotnie zagnieżdżone instrukcje warunkowe lub wyboru; należy zauważyć, że często stosowane instrukcje [[instrukcja kontynuacji|kontynuacji]], [[instrukcja opuszczenia|opuszczenia]], czy [[instrukcja powrotu|powrotu]] to w istocie inne formy instrukcji skoku, za jej dość rozwiniętą wersję można uważać [[instrukcja wywołania|instrukcję wywołania]]).
== Zobacz też ==
|