SUBROTINAS
• • • • • • • • • •
O CONCEITO DE SUBROTINA
No G-BASIC você pode criar uma seção de programa independente, facilitando a edição do programa. Estas seções isoladas são chamadas de Subrotinas. Quando se usa uma Subrotina economiza-se espaço na memória e no volume de trabalho. O formato básico para se utilizar uma Subrotina:
n GOSUB m
:
m (A primeira linha da subrotina)
:
:
k RETURN
10 PRINT "$ $ $ $ $ 1"
20 GOSUB 100 ; CHAMA A SUBROTINA DA LINHA 100
30 PRINT "$ $ $ $ $ 2"
40 END
100 PRINT “* * * * * 1"
110 RETURN ; RETORNA PARA A PRÓXIMA FUNÇÃO DA LINHA 30
RUN ↲
$ $ $ $ $ 1
* * * * * * 1
$ $ $ $ $ 2
NESTE PROGRAMA, AS LINHAS 10 A 40 SÃO O PROGRAMA PRINCIPAL, AS LINHAS 100 A 110 SÃO SUBROTINAS
REGRAS PARA CHAMAR UMA SUBROTINA
Para se chamar urna subrotina se usa o comando GOSUB ao invés do comando GOTO.
Podem haver várias entradas e saídas em uma subrotina, mas cada uma precisa ter o comando RETURN poro retornar seu fluxo.
Após o comando RETURN, o fluxo retorna à linha seguinte à linha onde estava o GOSUB.
Outra subrotina pode ser chamado dentro desta subrotina.
10 REM ADD & SUBTRACT & PRODUCT EXAM
20 S=0
30 FOR I-1 TO 10
40 A=RND (10)
50 B=RND (10)
60 B=RND (3)+1
70 ON C GOSUB 200, 300, 400
80 IF R=1 THEN S=S+10
90 NEXT
100 PRINT “PONTOS:” ,S
110 END
200 PRINT A; “+” ;B; “=”;
210 INPUT X
220 IF X= A+B THEM GOSUB 500: RETURN
230 Y= A+B
240 GOSUB 600
250 RETURN
300 IF A<B THEN SWAP A, B
310 PRINT A; “-” ;B; “=”;
320 INPUT X
330 IF X=A-B THEN GOSUB 500: RETURN
340 Y= A-B
350 GOSUB 600
360 RETURN
400 PRINT A; “*”; B; “=”
410 INPUT X
420 IF X=A*B THEN GOSUB 500: RETURN
430 Y=A*B
440 GOSUB 600
450 RETURN
500 PRINT “***** CERTO *****”
510 R=1
520 RETURN
600 PRINT “ERRADO!”
610 PRINT “O RESULTADO É:” ; Y
620 R+0
630 RETURN