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