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:

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.
Informacje
Ostatnia modyfikacja 14-03-2010 15:22 Ostatni autor papudrun
Ilość wyświetleń 9583 Wersja 3
Komentarz
koval_s dnia 19-03-2010 17:05
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
ŁF dnia 14-03-2010 16:24
pętle, procedury, funkcje, break, na upartego continue i wyjątki... btw od zadawania pytań jest forum.
mgx8 dnia 14-03-2010 16:20
pętla for, while, repeat
lub po prostu procedura lub funkcja:)
domel003 dnia 18-07-2009 18:48
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?
ŁF dnia 07-02-2006 17:48
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.
Kooba dnia 27-12-2005 13:27
to jest dział o c# ! :o

Copyright © 2000-2006 by Coyote Group 0.9.3-pre3
Czas generowania strony: 0.0245 sek. (zapytań SQL: 9)