Goto
Słowo kluczowe używane w składni języka Pascal, Object Pascal (a także w wielu innych językach takich jak: C, C++, Fortran, Algol, COBOL, SNOBOL, Basic, Perl)
Generalnie jest to instrukcja która powoduje przeniesienie wykonywania kodu w inne miejsce.
Polecenie goto przenosi nas w dowolną część programu. Miejsce, gdzie przenieść ma nas to polecenie, musi być zaznaczone w kodzie programu. Poza tym, tak jak i zmienna - musi być wcześniej zdeklarowane. Miejsce takie nazywa się "kotwicą". Kotwice deklaruje się poleceniem "LABEL"
Przykład:
W przykładzie tym kotwica start1 została umieszczona na początku programu (co nie jest konieczne).
W przypadku gdy hasło nie będzie prawidłowe fragment kodu:
przeniesie nas na początek programu w celu ponownego wpisania hasła.
Generalnie jest to instrukcja która powoduje przeniesienie wykonywania kodu w inne miejsce.
Polecenie goto przenosi nas w dowolną część programu. Miejsce, gdzie przenieść ma nas to polecenie, musi być zaznaczone w kodzie programu. Poza tym, tak jak i zmienna - musi być wcześniej zdeklarowane. Miejsce takie nazywa się "kotwicą". Kotwice deklaruje się poleceniem "LABEL"
Przykład:
VAR pass:string; LABEL start1; BEGIN start1: write('Podaj hasło: '); read(pass); IF pass<>'tajnehaslo' THEN goto start1; writeln('OK. Haslo poprawne'); END.
W przykładzie tym kotwica start1 została umieszczona na początku programu (co nie jest konieczne).
W przypadku gdy hasło nie będzie prawidłowe fragment kodu:
... goto start1
przeniesie nas na początek programu w celu ponownego wpisania hasła.
Kategoria: Turbo Pascal
6 komentarzy
pętle, procedury, funkcje, break, na upartego continue i wyjątki... btw od zadawania pytań jest forum.
kilka lat opóźnienia z mojej strony, ale może mi ktoś wyjaśni (mam kiepskie zdolności) jak można ominąć goto i użyć czegoś innego?
zapomniałeś napisac, że używanie tej intrukcji świadczy o kiepskich zdolnościach programistycznych. poza tym za pomocą goto nie można skoczyć do innego bloku programu - do innej procedury, pętli itp.
Tyle lat się oduczałem stosowania GOTO, a tu nagle powrót do rewelacyjnego GOTO, to instrukcja rodem z BASIC'a i ASM, ale rzecz gustu, wolę procedury niż lawinowy program