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