d라이브러리









PC의 표준언어, BASIC을 배우자

BASIC 강좌 ①

컴퓨터 언어는 점점 다양해지고 있다. 각 언어는 고유의 사용목적이 있고 그 효율이 다르다. 퍼스널컴퓨터를 처음 배우는 사람은 BASIC를 철저히 습득한 후 다른 고급언어를 배우면 더욱 효과적일 것이다.
 

퍼스널컴퓨터가 등장한 후 현재까지 국내에 수많이 보급되어 있는 기종이라면 APPLE II를 빼놓을 수 없다. 이 APPLE II 호환기종의 맹활약으로 인해 국내에서는 컴퓨터 사용 인구의 저변확대를 이룩했다해도 과언은 아닐 것이다. 그러나 처리 속도와 기억용량의 한계 때문에 사무용으로 상승세는 타지 못했다. 다만 소규모의 사무처리 및 교육 연구용으로 주로 이용되었던 것 같다. 초기의 퍼스널컴퓨터는 자체에 BASIC 언어를 탑재하여 퍼스널컴퓨터의 기본기능들을 최대한 활용하려 하였다. 때문에 BASIC 언어의 사용인구는 급증하게 되었고 사용자를 위한 교재도 무수히 출판되었다. 이렇듯 퍼스널컴퓨터의 표준 언어로 위치를 확고하게 지키고 있는 BASIC은 그 기능이 계속 향상되어 최근에는 다목적으로 활용될 수 있는 BASIC으로 개발되고 있다.

 

천리길도 한걸음부터
 

모든 퍼스널컴퓨터에서 기본적으로 사용되고 있는 BASIC 언어를 강좌 형식으로 연재할 본고에서는 다른 BASIC 언어 학습서와는 달리 이론적 접근은 되도록 피하고 비전문가일지라도 부담없이 컴퓨터를 활용할 수 있도록 내용의 전개에 신경을 쓸 것이다. BASIC 언어를 제대로 습득한 뒤 다른 고급 언어를 배워도 개념상 큰 차이는 없기 때문에 어느 컴퓨터 언어이든지 한가지라도 철저히 배워 둘 필요가 있다. 여기에서 다루고 있는 BASIC 언어는 APPLE II와 IBM-PC에서 활용할 수 있도록 각 프로그램 예제마다 사용할 수 있는 기종을 표시하여 놓았다.
 

'천리길도 한걸음부터'라는 말도 있다. '시작이 반이다' 라는 말을 실감하게 될 날을 기다리며 첫번째 발걸음을 내디뎌보자.
 

컴퓨터시스템을 갖고 BASIC 프로그램을 작성하면 BASIC의 기본 기능을 배울 수는 있지만 사무처리를 위한 프로그램과 일반적 응용에는 다소 무리가 있게 된다. 따라서 보조 기억 장치를 사용하여 퍼스널컴퓨터 기능을 증대시킬 수 있다. 보조기억 장치로는 디스크 드라이브(Disk Drive)가 일반적인데 싼 가격대의 플로피 디스크 드라이브가 널리 사용되고 있다. 대용량의 기억장치를 활용하려면 하드 디스크 드라이브(Hard Disk Drive)가 있다. (그림1)은 일반적으로 사용하는 퍼스널컴퓨터의 구성이다.

 

(그림1) 퍼스널 컴퓨터의 일반적 구성


충실한 노예
 

필자의 경험에 의하면 퍼스널컴퓨터의 기본적 구성과 각 장치들의 기본동작을 이해하고 조금만 그 작동법을 익히기만 하면 컴퓨터는 결코 딱딱한 기계가 아니고 실컷 부려보고 싶은 충동을 느끼는 기계라는 것을 알 수 있을 것이다.
 

컴퓨터로 문제를 풀기 위해서는 먼저 문제의 내용을 컴퓨터가 이해할 수 있도록 가르쳐 주어야 한다. 무턱대고 컴퓨터 앞에 앉어서 "이 문제를 풀어라" 하고 명령을 할 수 없고 "제발 문제좀 풀어주라" 고 사정해도 컴퓨터는 묵묵부답일 것이다. 어디까지나 컴퓨터를 사용하려면 문제를 해결하는데 필요한 '명령'을 컴퓨터가 알아 볼 수 있도록 문자나 기호를 사용하여 컴퓨터에 입력할 필요가 있다.
 

이와 같이 컴퓨터에게 일을 시키기 위한 일련의 명령들을 순서적으로 작성하는 것을 프로그래밍(Programming)이라고 하고 작성된 명령들의 집합을 프로그램이라고 말한다. 그래서 프로그래밍만 올바로 된다면 정해진 일을 척척 해나가므로 우리는 20세기의 과학이 낳은 명물, 퍼스널컴퓨터를 자유자재로 부릴 수 있게 될 것이다.
 

흔히들 "프로그램을 모르기 때문에 컴퓨터를 모른다"라고 말하는 이들이 있다. 사실 프로그램을 모른다면 컴퓨터를 완전히 이해했다고는 할 수 없다.
 

그러면 프로그램에 대한 어떠한 지식이 필요한 것인지 살펴볼 필요가 있을 것이다. 확실히 프로그램을 안다는 것과 프로그램을 작성하거나 이해할 수 있다는 것과는 하늘과 땅 차이이다. 그러나 프로그램을 짤 줄 몰라도 프로그램의 필요성 또는 그 중요성 등에 관한 기본적인 개념을 충분히 이해하고 있으면 다가오는 정보시대에서 그 생명력을 십분 활용할 수 있다.
 

요즈음 주위에서 프로그램 작성법을 가르치는 학원이 많이 있지만 수강생의 대부분이 프로그램 작성법의 습득으로 컴퓨터를 다 배웠다고 생각하는 데는 문제가 있다. 프로그램을 짤 줄 알면 일이 다 되는 것처럼 생각하고 있는데 이것은 어디까지나 좁은 소견이라고 할 수 있다. 프로그램을 작성하는 과정에서 계산과정과 컴퓨터의 동작을 이해하는 점이 더 중요시 되어야 한다. 즉 프로그램 작성은 하나의 수단에 불과하고 무엇보다도 중요한 것은 컴퓨터에게 '무엇을' '어떻게' 시켜야겠다는 명확한 목표 설정이 필요하다. 사고의 주체는 컴퓨터가 아니라 인간이다. '무엇을' '어떻게' 해야겠다는 주체는 우리에게 있고 이를 위해 많은 경험을 쌓아가야 한다.

 

무엇부터 시작할까
 

BASIC을 사용하려면 이를 위한 준비 작업이 필요하다. 레코드가게에서 조용필 노래가 들어 있는 음반을 구입한 후 집에서 '돌아와요 부산항에'라는 노래를 듣기 위해 플레이어에 판을 올려 놓고 노래의 시작 위치에 바늘을 놓으면 된다. 컴퓨터도 다를 바 없다. 일반적으로 디스크드라이브가 갖춰진 상태에서는 구태여 퍼스널컴퓨터에 내장된 BASIC 언어를 사용할 필요도 없으며 비효율적이다. 그래서 연재에서는 디스크 드라이브가 갖춰진 상태에서 BASIC을 설명하겠다.
 

APPLE II에서는 DOS 3.3이 기억된 디스켓을 사용하면 되고 IBM-PC에서는 MS-DOS나 PC-DOS가 기억된 디스켓이 사용된다.

먼저 APPLE II에서의 BASIC 가동을 살펴보자.
 

(그림2) APPLE Ⅱ의 초기화면


디스크드라이브에 DOS 3.3 디스켓을 삽입하고 전원 스위치를 올리면 빨간 불이 켜지면서 드라이브는 소리를 내면서 돌고 조금 있으면 빨간 불이 꺼진다. 이때 모니터 화면에는 "□" 표시가 나온다. "□"표시는 프롬트(Prompt)라 부르는데 "주인님, 어서 명령을 내리십시요"라고 말하는 것으로 해석하면 된다. 즉 퍼스널컴퓨터가 명령을 대기하고 있는 상태에 있음을 표시한다. APPLE II에서는 단지 스위치를 켜기만 해도 BASIC을 곧바로 사용할 수 있도록 되어 있다.
 

IBM-PC의 경우는 좀 다르다. 디스크 드라이브에 MS-DOS나 PC-DOS가 기억된 디스켓을 삽입하고 스위치를 켜면 화면에 'A>;'가 나타난다. 'A>;' 표시는 IBM-PC의 시스템 프롬트이다. 이때 'BASIC'이라고 입력시키면 BASIC 언어가 사용 가능해 진다. IBM-PC의 BASIC 초기화면은 (그림3)과 같다. 프롬트로 Ok가 사용되며 이 프롬트는 "Ok, I am ready to run your Command."로 해석하면 된다.
 

(그림 3) IBM-PC의 BASIC 초기 화면

 

계산기와 다른점은?
 

탁상용 계산기의 기능을 퍼스널컴퓨터로 흉내내볼 수 있다. 화면에 프롬트가 나오면 사칙계산(+,-,×,÷)을 시켜보자. 탁상용계산기에서는 계산의 결과를 출력시키기 위해 =을누르지만 BASIC에서는 다음 양식으로 명령을 내릴 수 있다.
 

PRINT계산할 수식
 

몇가지 명령문을 예로들면 다음과 같다.
 

PRINT 3+2 ← 덧셈

PRINT 3×2 ← 곱셈

PRINT 3-2 ← 뺄셈

PRINT 3/2 ← 나눗셈
 

여기에서 주의할 것은 사칙연산기호 중에서 곱셈과 나눗셈 기호가 산수책에 나온 기호와 다르다는 것이다. 곱셈은 '*'로 나눗셈은'/'임을 꼭 기억해 두자. PRINT 명령으로 계산 하려는 수식은 괄호를 사용하여도 좋다. 일반적으로 괄호의 사용은 계산의 우선 순위를 결정할 때 사용한다.
 

PRINT (3+2)*2-5
 

이것은 3+2 한 결과를 2와 곱하고 다시 그 값에서 5를 뺀 최종 결과를 출력하라는 명령이다.
 

BASIC으로 작성된 명령은 맨 마지막에 RETURN키를 눌러야만 된다. RETURN을 누르기 전에는 명령은 아무 의미가 없고 해석되지 않는다. 따라서 RETURN를 누르기 전에는 명령의 편집 수정이 가능하다. APPLE II에서는 ←의 →키를 눌러 좌우방향으로 커서를 움직여서 수정한다.
 

IBM-PC에서는 ←와 →를 기본적으로 사용하고 INS와 DEL키를 사용하여 편집 기능을 도울 수 있다.
 

앞에서 BASIC으로 사칙연산을 해보았다. 덧셈, 뺄셈, 나눗셈, 곱셈만으로는 공학적인 계산을 처리할 수 없게 된다. BASIC 언어로 처리 가능한 내장 함수들을 살펴 보자.
 

먼저 산술 계산에 관한 함수들이 있다. "제곱근을 구하고 싶다" 든가 "절대값을 구한다" 든가 등의 명령을 내리면 BASIC은 해당값을 계산해내는 기능을 갖추고 있다.
 

PRINT SQR(4) 라고 명령을 내리면 화면에는 4의 제곱근인 2가 출력된다.
 

PRINT SQR(8) 이라고 명령을 내려보자 화면에는 8의 제곱근 값이 출력될 것이다.
 

산술계산용 함수 이외에도 삼각함수값을 구해주는 함수들과 지수계산과 로그계산을 돕는 함수도 있다. 그리고 문자열을 자유자재로 처리할 수 있는 문자열 함수도 있으며 시스템에 따라 더 많은 기능을 처리할 수 있는 함수가 다양하다. (표 1)은 많이 사용되는 BASIC의 내장 함수들이다.

 

(표1) BASIC의 기본 내장 함수


계산이 불가능한 데이타, 문자
 

'데이타'라는 용어는 여러의미를 갖고 있지만 컴퓨터 언어에서의 '데이타'는 한정된 의미를 갖는다. 즉 컴퓨터로 처리할 대상의 기본 요소를 말한다. 예를들어 학교에서 학기말때 각 학생의 가정으로 보내는 성적표에 찍혀나오는 숫자나 문자를 살펴보자. 크게 두가지 부류로 쪼개지는데 그 하나는 계산이 불가능한 문자고 다른 하나는 계산이 가능한 숫자이다. 문자에 속하는 것은 학생이름을 그 예로 들수 있겠다. 그리고 각 과목의 점수의 총 평균, 석차 등이 계산 가능한 숫자에 속한다.
 

BASIC에서는 계산이 불가능한 데이타는 모두 "(이중따음표)로 시작해서"로 끝내서 표시한다. 몇가지 예를 들어 보자.
 

"SEOUL"

"OH BASIC"

"OLYMPIC 88"

"APPLE II"

"IBM-PC"
 

계산이 가능한 것들은 모두 숫자로만 구성되는데 소숫점(decimal point)의 존재 유무에 따라 실수와 정수로 각각 구분한다.
 

정수는 소숫점이 없는 데이타이다. 모든 컴퓨터 언어에서는 소숫점의 유무에 따라 정수와 실수를 구분 짓는다.
 

특별히 BASIC에서는 계산과정에 있어서 정수와 실수를 모두 실수로 취급하여 계산함을 유의 하여야 한다. 그리고 BASIC의 종류에 따라 실수의 유효자리수가 각기 다르다.
 

실수의 표현은 지수형태도 가능하다. 즉1.234×${10}^{8}$을 표현하려면 BASIC에서는 1.234E+08 혹은 1.234E8을 사용한다.

1986년 09월 과학동아 정보

  • 조동섭

🎓️ 진로 추천

  • 컴퓨터공학
  • 소프트웨어공학
  • 정보·통신공학
이 기사를 읽은 분이 본
다른 인기기사는?