๋ถ๋ฅ:ํ๋ก๊ทธ๋๋ฐ ์ธ์ด
์ด ๋ฌธ์์ ์๋ณธ์ ์ธ๋ถ ์ํค์์ ๊ฐ์ ธ์์ต๋๋ค.
1. ๊ฐ์[ํธ์ง]
์ฃผ๋ก BASIC์ ์์ฃผ์ฐ์ด๋ ํ๋ก๊ทธ๋๋ฐ ๊ตฌ๋ฌธ ์ค ํ๋.
GOTO๋ฌธ๊ณผ ๋น์ทํ ๋ช ๋ น๋ฌธ์ด๋ค. GOTO๋ฌธ๊ณผ ๋ค๋ฅธ ์ ์ด ์๋ค๋ฉด, ํน์ ์์น๋ก ๊ทธ๋ฅ ๋์ด๊ฐ๊ณ ๋ง๋ ๊ฒ ์๋๋ผ RETURN ๋ช ๋ น๋ฌธ์ ์จ์ GOSUB๋ฌธ์ ์ด๋์ ์ผ๋ ์ง ๊ทธ ์๋ฆฌ๋ก ๋ณต๊ท์ํฌ ์ ์๋ค. ์ฆ, ์ ์ญ๋ณ์์ ์ง์ญ๋ณ์์ ๊ตฌ๋ณ์ด ์๊ณ ํจ์๋ช ์ ์ค ์ ์์ง๋ง ์๋ธ ๋ฃจํด๊ณผ ๊ฐ์ ๊ฒ์ด๋ค. ๊ทธ๋ฆฌ๊ณ , GOTO๋ฌธ์ ๋นํด ์คํ๊ฒํฐ ์ฝ๋๊ฐ ๋ ์ํ์ด ์ ๋ค. ์๋ธ ๋ฃจํด์ด ๋ ๋ถ๋ถ์ ๋์ผ๋ก ์งฑ๋ฐ์๋๋ฉด ๋๋๊น.
GW-BASIC๊ฐ์ ์ด๊ธฐ ๋ฐฉ์์์ ๋ง์ด ์ผ๋ ์ฝ๋๋ก, ๊ตฌ์กฐ์ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์์๋ ์๋ธ ๋ฃจํด์ SUB๋ฌธ์ผ๋ก ๋ง๋ค ์ ์๋ค. QBASIC์ ๋์๋ง์ ๋ณด๋ฉด GOSUB๋ฌธ๋ณด๋ค SUB๋ฌธ์ผ๋ก ์๋ธ ๋ฃจํด์ ๋ง๋๋ ๊ฒ์ด ๋ ์ข๋ค๊ณ ๋์ค์ง๋ง, ๊ฒฝ์ฐ์ ๋ฐ๋ผ์๋ GOSUB๋ฌธ์ผ๋ก ์๋ธ ๋ฃจํด์ ๋ง๋๋ ๊ฒ ๋ ๋์ ์๋ ์๋ค.
์ด์ ๋ธ๋ฆฌ์ CALL ๋ฌธ๊ณผ ๋น์ทํ๋ค.
GOTO๋ฌธ๊ณผ ๋น์ทํ ๋ช ๋ น๋ฌธ์ด๋ค. GOTO๋ฌธ๊ณผ ๋ค๋ฅธ ์ ์ด ์๋ค๋ฉด, ํน์ ์์น๋ก ๊ทธ๋ฅ ๋์ด๊ฐ๊ณ ๋ง๋ ๊ฒ ์๋๋ผ RETURN ๋ช ๋ น๋ฌธ์ ์จ์ GOSUB๋ฌธ์ ์ด๋์ ์ผ๋ ์ง ๊ทธ ์๋ฆฌ๋ก ๋ณต๊ท์ํฌ ์ ์๋ค. ์ฆ, ์ ์ญ๋ณ์์ ์ง์ญ๋ณ์์ ๊ตฌ๋ณ์ด ์๊ณ ํจ์๋ช ์ ์ค ์ ์์ง๋ง ์๋ธ ๋ฃจํด๊ณผ ๊ฐ์ ๊ฒ์ด๋ค. ๊ทธ๋ฆฌ๊ณ , GOTO๋ฌธ์ ๋นํด ์คํ๊ฒํฐ ์ฝ๋๊ฐ ๋ ์ํ์ด ์ ๋ค. ์๋ธ ๋ฃจํด์ด ๋ ๋ถ๋ถ์ ๋์ผ๋ก ์งฑ๋ฐ์๋๋ฉด ๋๋๊น.
GW-BASIC๊ฐ์ ์ด๊ธฐ ๋ฐฉ์์์ ๋ง์ด ์ผ๋ ์ฝ๋๋ก, ๊ตฌ์กฐ์ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์์๋ ์๋ธ ๋ฃจํด์ SUB๋ฌธ์ผ๋ก ๋ง๋ค ์ ์๋ค. QBASIC์ ๋์๋ง์ ๋ณด๋ฉด GOSUB๋ฌธ๋ณด๋ค SUB๋ฌธ์ผ๋ก ์๋ธ ๋ฃจํด์ ๋ง๋๋ ๊ฒ์ด ๋ ์ข๋ค๊ณ ๋์ค์ง๋ง, ๊ฒฝ์ฐ์ ๋ฐ๋ผ์๋ GOSUB๋ฌธ์ผ๋ก ์๋ธ ๋ฃจํด์ ๋ง๋๋ ๊ฒ ๋ ๋์ ์๋ ์๋ค.
์ด์ ๋ธ๋ฆฌ์ CALL ๋ฌธ๊ณผ ๋น์ทํ๋ค.
2. ์์ [ํธ์ง]
10 FOR I = 1 TO 5
20 GOSUB 80
30 NEXT I
40 I = 8
50 GOSUB 80
60 PRINT "๋ฉ๋กฑ"
70 END
80 PRINT I ^ 2
90 RETURN
์ด ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ด ๋์จ๋ค.
1
4
9
16
25
64
๋ฉ๋กฑ