d라이브러리









변수사용법과 프로그램 실행방식

BASIC언어는 간접실행방식과 직접실행방식으로 사용할 수 있다. 이번 호에는 변수들의 사용예와 간간한 간접실행방식, 즉 프로그램에 의한 BASIC 언어의 사용예를 다루어 본다.

 

변수(Variable)의 종류
 

변수는 컴퓨터 메모리에 데이타를 기억시키기 위해 사용하는 이름이다. 변수는 영문자(A부터 Z까지)를 조합하여 이름을 지정한다. 조합가능한 문자의 갯수는 26개이지만 문자의 조합으로 만들어지는 변수의 갯수는 이보다 많아진다. 따라서 사용자가 임의로 결정한 변수이름은 거의 사용이 가능하다. 특별하게 컴퓨터 시스템에따라 일부 변수명에 제한이 있을 수 있지만 일반적으로 변수이름은 그 첫문자는 영문자로 시작해야 한다. 그리고 두 번째 문자까지만 이름으로 동작하는 경우가 많다. 즉 IBM이라는 변수와IBC라는 변수는 똑같은 변수로 이해되는 것이다. 다음예는 BASIC에서 사용 할수 있는 변수 이름들이다.
 

A BA A7 ZCAR IBM APPLE

 

지난 호에 설명했듯이 BASIC에서 다루는 데이타의 종류에는 정수, 실수와 문자가 있다. 이들 데이타는 변수에 기억시키지않고 곧바로 처리할 경우에는 특별하게 정수와 실수를 구분하지않고 모두 실수로 처리된다.

(예) PRINT 12+34.5
     ↑
   정수이지만 실수로 처리된다.

 

이제 변수를 사용하여 데이타를 기억시킨 뒤 기억된 데이타를 처리하는 방법을 살펴보자.
 

변수는 기억되는 데이타에 따라 그 형(type)을 달리한다. (표1)은 BASIC에서의 변수의 종류이다.
 

(표1) BASIC의 변수와 데이타


(표1)에서 변수명에 데이타의 형에따라 % , ! , # ,$ 등을 붙여서 변수의 사용목적을 달리할 수 있다. 그러나 BASIC에서는 특별한 경우를 제외하고는 모두 실수와 문자로 처리할 수 있기 때문에 변수명에 아무것도 붙이지 않는 변수가 주로 사용된다. 그리고 문자열을 나타내기 위하여 $표시를 사용한다.
 

여기서 한가지 설명하고 넘어가야 할 것이 있는데 BASIC에서 비록 데이타가 실수변수에 기억되어 있을지라도 출력할 때 정수표현이 가능하면 정수로 출력되는 장점이 있다.
 

IBM-PC에서의 실수형 변수의 사용예

APPLE에서의 실수형변수의 사용예


정수형 변수를 사용하면 실수데이타는 소숫점이하 자릿수를 무조건 버리고 정수로 변환된 다음 기억장소에 기억된다. 특히 #와 !기호를 사용한 변수명은 시스템에 따라 다르기 때문에 사용자들은 사용전에 이를 확인해두어야 한다. 다음은 실수 및 정수형 변수의 사용예이다.

 

IBM-PC에서의 실수 및 정수형변수의 사용예

APPLE에서의 실수및 정수형 변수의 사용예


문자형 변수는 $기호를 사용하는데 이때 문자형 변수에 기억되는 데이타는 이중 따옴표(")로 나타낸다. "123"은 숫자로 구성되어 있지만 "로 둘러싸여 있기 때문에 계산할 수 없는 문자열로 처리된다. 다음은 문자열 변수를 사용한 예이다.
 

IBM-PC에서의 문자형변수의 사용예

APPLE에서의 문자형변수의 사용예


새로운 변수사용법, 배열
 

BASIC언어에서 데이타를 기억시킬 때 이제까지는 영문자(A∼Z중 어느 하나) , 또는 영문자나 뒤에 숫자 하나를 붙인 것, 또는 또다른 영문자들의 조합으로 변수를 사용해왔다. 여기에는 새로운 형의 변수를 소개해보자.
 

이는 첨자붙은 변수 혹은 배열이라 부른다. A8과 A(8)은 비슷하게 보이지만 완전히 다르다. A8은 실수 데이타가 기억되는 변수이고 A(8)은 A라는 변수이름으로 기억되는 장소중에서 8번째에 기억되는 장소를 가르킨다(첨자는 0부터 시작된다). 첨자가 붙은 변수이름 (배열명) 을 프로그램에서 사용할 때는 첨자가 붙은 변수의 기억장소를 확보해야 하며 첨자가 붙은 변수의 기억장소를 확보하려면 DIM을 사용한다.
 

DIM은 다음호에서 다루기도 하고 BASIC에서 첨자 10까지는 자동적으로 기억장소를 할당하기 때문에 간단한 예를 들어 첨자의 활용을 보이겠다. 5명의 학생이 있다고 가정하고 5명의 신장(HEIGHT)을 cm단위로 입력시켜 이름과 신장을 동시에 물어보는 예를 들어보자.
 

IBM에서의 첨자붙은 실수형변수의 사용예

APPLE에서의 첨자붙은 실수형 변수의 사용예


첨자가 붙어도 변수의 데이타 형을 지정할 수 있다. 학생의 이름을 N이라는 변수명을 기억시키려면 $기호를 변수명에 붙어야 한다. 이때 기억되는 데이타는 문자열이므로 이중따옴표를 사용해야 한다.

 

IBM-PC에서의 첨자붙은 문자형 변수의 사용예

APPLE에서의 첨자붙은 문자형 변수의 예


명령의 반복실행(FOR∼NEXT문)
 

앞에서 5명의 학생들의 평균신장을 계산하기 위해 첨자를 지정하여 각 학생의 신장을 전부 더한 다음 5로 나누어 평군신장을 구했다. 그러나 이러한 방법은 학생수가 많아지면 각 학생의 신상을 구하기 위해 첨자를 하나씩 지정하게 되어 프로그램 작성이 곤란해진다. 이러한 경우를 위해 반복 실행이 가능한 구조가 BASIC언어에는 기본적으로 갖추어져 있다. 반복 실행하려는 문장을 이 구조속에 넣어 실행횟수를 제어하기만 하면된다. 다음은 직접실행방식을 사용한 FOR∼NEXT 문의 사용예이다.
 

IBM-PC에서의 FOR~NEXT문의 사용예

APPLE에서의 FOR~NEXT문의 사용예


FOR∼NEXT문의 기능을 쉬운 예부터 하나씩 설명해보자. 반복 실행되는 명령문들은 FOR 와 NEXT사이에 오게되며 반복 횟수는 FOR I= ?TO ?의 ?표에 해당하는 수에 따라 결정된다. 다음은 FOR문의 사용예를 나타낸 것이다.


FOR I=1 TO 10

 

FOR K= -50 TO 50

 

FOR X= 2 TO 44

 

FOR Y= -5 TO 5 STEP 0.2

 

위 예중에서 STEP은 증가분을 나타낸다. STEP이 빠져있는 문은 STEP 1이 있는 것으로 간주한다.
 

FOR∼NEXT문은 직접 실행방식으로 실행을 시키려면 FOR와 NEXT 사이에 반복실행되는 문을 집어넣고 각 문들은 문장 구분기호인 :표시를 사용하여 분리시켜야 한다. 다음은 직접실행방식과 간접실행방식(프로그램방식)에 의한 PRINT I 명령의 실행 결과이다.
 

IBM-PC에서의 FOR~NEXT문의 실행예(직접실행과 간접실행방식)

 

간접실행방식에 의한 출력

 

직접 실행방식에 의한 출력


BASIC 프로그램의 구조
 

BASIC언어는 대부분 프로그램 방식으로 활용되므로 이제부터 프로그램의 골격을 갖춘 간단한 예를 들어본다. 프로그램을 구성하는 문장들은 문번호를 갖게 되며 이 문번호에 따라 크기순으로 메모리 내에서 정렬이 된다. 따라서 새로운 문번호의 문장을 삽입할 수도 있으며 프로그램중의 어느 문장을 삭제시킬 수도 있다. 다시말하면 BASIC에서는 문번호로 편집이 이루어진다.
 

문번호의 설정은 일반적으로 10부터 시작하여 증가분을 10, 20, 30, …순으로 한다.
 

IBM-PC에서 사용한 BASIC프로그램과 실행예
APPLE에서 사용한 BASIC프로그램과 그 실행예
IBM-PC에서의 BASIC프로그램 작성 및 실행예
APPLE에서의 BASIC프로그램 작성 및 실행예
IBM-PC에서의 문자열의 반복출력예
APPLE에서의 문자열의 반복출력 예
IBM-PC에서의 SPC함수를 사용한 BASIC프로그램
APPLE에서의 SPC함수를 사용한 BASIC프로그램
 

이 기사의 내용이 궁금하신가요?

기사 전문을 보시려면500(500원)이 필요합니다.

1986년 10월 과학동아 정보

  • 조동섭

🎓️ 진로 추천

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