GoSub...Return Statement

Π’Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ, ΠΈΠ· ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ, которая ΠΈΠ΄Ρ‘Ρ‚ Π·Π° ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ, выполняСтся Π΄ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ инструкции Return. Π—Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с инструкции, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π·Π° инструкциСй GoSub.

Бинтаксис

см. ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:

Sub/Function

Участок_ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Надпись

Участок_ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

GoSub ΠœΠ΅Ρ‚ΠΊΠ°

Exit Sub/Function

ΠœΠ΅Ρ‚ΠΊΠ°:

Участок_ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Return

End Sub/Function

Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ GoSub Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ, ΠΈΠ· ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Имя ΠΌΠ΅Ρ‚ΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ΠΌ (":").

Π—Π½Π°Ρ‡ΠΎΠΊ прСдупрСТдСния

Если ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° встрСчаСт ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Return, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π΅ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΠ΅Ρ‚ инструкция GoSub, LibreOffice Basic Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ сообщСниС ΠΎΠ± ошибкС. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Exit Sub ΠΈΠ»ΠΈ Exit Function, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹ΠΉΠ΄Π΅Ρ‚ ΠΈΠ· ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ достигнСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ инструкции Return.


Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ дСмонстрируСтся использованиС инструкций GoSub ΠΈ Return. Выполняя участок ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄Π²Π°ΠΆΠ΄Ρ‹, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° вычисляСт ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΡ€Π΅Π½ΡŒ Π΄Π²ΡƒΡ… чисСл, Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Sub ExampleGoSub

Dim iInputa As Single

Dim iInputb As Single

Dim iInputc As Single

    iInputa = Int(InputBox("Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ число: ","Π’Π²ΠΎΠ΄ числа"))

    iInputb = Int(InputBox("Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ число: ","Π’Π²ΠΎΠ΄ числа"))

    iInputc=iInputa

    GoSub SquareRoot

    Print "ΠšΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΡ€Π΅Π½ΡŒ ΠΈΠ·";iInputa;" Ρ€Π°Π²Π΅Π½";iInputc

    iInputc=iInputb

    GoSub SquareRoot

    Print "ΠšΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΡ€Π΅Π½ΡŒ ΠΈΠ·";iInputb;" Ρ€Π°Π²Π΅Π½";iInputc

    Exit Sub

SquareRoot:

    iInputc=sqr(iInputc)

    Return

End Sub