Instrukcja powrotu

Instrukcja powrotu (wyjścia) – instrukcja w określonym języku programowania powodująca opuszczenie aktualnie wykonywanego bloku programu (modułu, podprogramu: procedury, funkcji, metody, lub innych segmentów – bloków programowych – występujących w określonym języku programowana, a także całego programu, procesu) i przejście do następnej instrukcji występującej po instrukcji wywołania danego podprogramu.

Rodzaje instrukcji wyjścia

Instrukcja wyjścia:

  • niejawna: występuje na końcu danego bloku przed słowem zamykającym segment,
  • jawna:
    • bez wartości przekazywanej do miejsca wywołania
    • z wartością przekazywaną do miejsca wywołania
      • dla segmentu – podprogramu – będącego funkcją, wartość przekazywana zwykle zostaje użyta w określonym wyrażeniu do obliczeń (istnieją języki dopuszczające wywołanie funkcji poza wyrażeniem i tym samym ignorowanie tej wartości),
      • przy wyjściu z programu, wartość przekazywana jest do systemu (lub innego procesu wywołującego program), jako kod zakończenia programu.

Stosowanie instrukcji wyjścia

Blok, segment programu definiuje pewną część algorytmu do wykonania, program definiuje całość danego zagadnienia. Rozpoczęcie wykonywania instrukcji następuje po wykonaniu instrukcji wywołania:

Zakończenie natomiast następuje po ostatniej instrukcji zawartej w definicji bloku, co implikuje niejawne (o ile nie umieszczono jawnie instrukcji wyjścia) wystąpienie odpowiedniej instrukcji wyjścia. Często jednak występuje konieczność wcześniejszego zakończenia bloku, co wymaga jawnego użycia instrukcji wyjścia.

Języki programowania

Basic

 RETURN

C, C++, C#, Java, Javascript, PHP

 /* instrukcja wyjścia powoduje opuszczenia aktualnie wykonywanej funkcji (lub metody)
 w przypadku funkcji main() powoduje jej opuszczenie, a w konsekwencji opuszczenie
 całego programu */
 return wyrażenie;

Clipper

 RETURN [wyrażenie]

Instrukcja RETURN w języku Clipper zamyka blok podprogramu (jak end w Pascalu lub } w C).

Cobol

 nazwa EXIT.

Forth

  • koniec podprogramu: ;
  • wyjście z podprogramu ABORT

Fortran

  • zakończenie
 STOP [wartość]
 END
  • wyjście
 RETURN
  • przypisanie wartości funkcji
 nazwa_funkcji=wyrażenie

Icon

  • zakończenie programu
 stop(wyrażenie)
 exit(wyrażenie)
  • wyjście
 return [wyrażenie]
 fail
  • koniec procedury
 end

Jean

 DONE
 QUIT
 CANCEL

Pascal

  • koniec podprogramu
 end;
  • zwrócenie wartości przez funkcję
 { nazwa_funkcji traktowana jest jak zmienna lokalna, której wartość przy wyjściu jest przekazywana jako wartość funkcji }
 nazwa_funkcji:=wyrażenie;
  • Turbo Pascal (procedury standardowe dostępne w module System):
    • wyjście z programu
      • RunError(kod_błędu)
      • Halt(kod_powrotu)
    • wyjście z bieżącego bloku (programu lub podprogramu)
      • Exit;

PL/1

  • wyjście z procedury
 /* instrukcja wyjścia powoduje opuszczenia aktualnie wykonywanej procedury,
 w przypadku procedury z frazą OPTIONS(MAIN) powoduje jej opuszczenie, a w konsekwencji opuszczenie całego programu */
 RETURN [(wyrażenie)];
  • zakończenie procedury
 END nazwa;
  • zakończenie
 STOP
 EXIT

PL/M

  • wyjście
 RETURN [wyrażenie];
  • zakończenie
 END;

Python

  • wyjście
 return [wyrażenie]
  • zwrócenie wartości przez generator
 yield [wyrażenie]

Visual Basic

  • wyjście
 Exit Sub
 Exit Function
  • zakończenie
 End Sub
 End Function
  • przypisanie wartości funkcji
 ‘ nazwa funkcji traktowana jest jak zmienna lokalna, której wartość przy wyjściu jest przekazywana jako wartość funkcji
 nazwa_funkcji=wyrażenie

Zobacz też