서브루틴이란 프로그램 실행 도중 호출되어 사용되는 또다른 프로그램을 말한다. 이것은 보통 한 프로그램 내에서 여러번 반복되어지는 프로그램들을 하나로 묶어놓은 것으로, 메인 프로그램에서는 이들 서브 프로그램들을 필요할 때마다 수시로불러서 사용할 수 있다. 구구단 프로그램을 통해 좀 더 자세히 알아 보도록 하자. CLS PRINT "GUGUDAN" INPUT "INPUT THE GUGUDAN NUMBER";A GUGUDAN(A) PRINT "END OF GUGUDAN" SUB GUGUDAN(N) FOR I = 1 TO 9 PRINT N; "*";I;"=";I*N NEXT I 위 프로그램에서 위 다섯 줄이 메인 프로그램이고 아래 네 줄이 서브 프로그램이다. 구성을 보면 우선 메인 프로그램에서는 사용자에게 원하는 구구단을 입력하도록 하고 있으며 숫자가 입력되면 GUGUDAN이라는 서브 프로그램을 호출하도록 되어 있다. 그리고 일단 서브 프로그램이 호출되면 서브 프로그램은 그에 해당하는 작업(여기서는 넘겨진 숫자에 1부터 9까지를 곱하여 출력하는 일)을 하고 작업이 끝나면 다시 메인 프로그램으로 돌아가 다음 작업을 수행하게 된다. 물론 위의 프로그램의 경우는 간단하기 때문에 굳이 GUGUDAN이라고 는 서브프로그램을 만들 필요없이 메인 프로그램 내에서 바로 처리하여도 무리가 없다. 그러나 좀 더 복잡한 프로그램의 경우에는 메인 프로그램 내에서 같은 작업을 반복하는 프로그램을 포함시켜 작성함으로써 프로그램의 방대함으로 인해 효율성이 떨어질 염려가 있으므로 적절한 서브루틴 작업이 필요하다.