QBasic 기초 시리즈
- QBasic: 개요(설치 방법, 데이터 타입, 변수 선언)
- QBasic: 기초 구문, 연산자, GOTO, 수학 함수
- QBasic: INPUT(프롬프트로 키보드 입력 받기)
- QBasic: 조건문(IF문, SELECT CASE문)
- QBasic: 반복문 (WHILE, DO ~ WHILE, FOR LOOP)
- QBasic: 배열(Arrays), 함수(SUB, FUNCTION), 종합예제 (完)
0. QBasic을 공부해야 하는 이유
(1) 문법이 쉬워 프로그래밍 초급자들이 절차적 프로그래밍 언어에 대한 개념을 빠르게 습득하는데 도움이 됩니다.
(2) 베이식 문법에서 파생된 VBA(Visual Basic for Application)을 학습하는 데 도움이 됩니다.
1. 설치 방법
(1) Windows 7 이하: 이미 설치되어 있으며 실행 창(Win + R
) 띄운 후 qb.exe
입력
(2) Windows Vista 이후: 인터넷에서 윈도우용 qb45.zip
을 다운받은 후 압축을 풀고 qb.exe
실행
(3) macOS
- XCode command line tools를 반드시 설치해야 함: 터미널 창을 띄우고
xcode-select --install
입력 - http://qb64.org 사이트에서 맥용 큐베이식을 다운받고 압축을 푼다.
setup_osx.command
를 실행하여 설치, 최초 설치 후 qb 에디터가 실행됨- 이후에는
qb64_start_osx.command
를 실행하면 됨
2. QBasic 에디터 기본 사용법
(1) 가운데 부분은 코드를 입력하는 부분입니다. 기초적인 출력 코드를 입력해 보겠습니다.
PRINT "HELL WORLD"
QBasic 언어는 모든 코드를 대문자로 쓰는 것이 전통(convention)입니다.
(2) 위의 메뉴에서 RUN > Start 를 클릭하면 실행 파일이 만들어지면서 실행이 됩니다.
(3) 저장은 File > Save (또는 Save as)를 클릭합니다. 전체적으로 윈도우의 메뉴 인터페이스를 따르고 있어서 익숙하다면 적응이 쉽습니다.
3. QBasic 언어의 개요
(1) 데이터 타입 (자료형)
- 문자열 (String; STR): 이 문자열은 특수한 자료형입니다. ‘A’또는 ‘ƒ’ 같은 문자를 포함 할 수 있습니다. 문자열은 항상 큰 따옴표로 묶습니다 (“). 문자 목록의 길이는 최대 64k입니다.
- 정수 (Integer; INT): 이 데이터 유형은 가장 많이 사용되는 자료형입니다. 10진수가 아닌 숫자만 정수에 저장할 수 있습니다. 정수는 16 비트를 포함하므로 -32768에서 32767까지의 값만 저장할 수 있습니다.
- 긴 정수 (Long; LNG): 대부분의 정수가 제대로 작동하기 때문에 긴 정수는 자주 사용되지 않습니다. 긴 정수는 실제로 일반 정수와 동일하므로 10진수가 아닌 숫자만 있습니다. 그러나 긴 정수는 32 비트를 포함하므로 –2147483648에서 2147483647 사이의 값을 저장할 수 있습니다.
- 싱글 (Single; SGL): 이 유형의 데이터 유형에는 10진수를 사용할 수 있습니다. 싱글은 32비트이며 약 9e40에서 9e-39 사이의 값을 저장할 수 있습니다.
- 더블 (Double; DBL); Double에는 10진수도 포함될 수 있습니다. 유일한 차이점은 더블은 64비트이므로 9e305에서 9e-310 사이의 값을위한 공간을 제공한다는 것입니다.
(2) 식별자 (Identifier)
식별자는 변수, 상수, 배열, 함수, 하위 프로그램 등과 같은 다양한 프로그램 요소에 부여 된 이름입니다.
- 변수(variable)
- 상수(constant)
- 예약어(reserved words): QBasic에서 사전 정의 된 표준 의미를 갖는 키워드라는 특정 예약어가 있습니다. 이 키워드는 (QBasic이) 의도한 목적으로만 사용할 수 있습니다. 프로그래머 정의 식별자로 사용할 수 없습니다.
상수
- 상수는 최초에 값을 할당한 이후 프로그램 내에서 값을 변경하지 않을 때 , 즉 처음 할당한 값을 끝까지 유지하고자 할 때 사용합니다.
- Integer Constant (정수형 상수): 범위 내의 정수 (소수) 값 : –32768 ~ +32767
- Long integer Constant (긴 정수형 상수): 범위 내의 Long Integer (Decimal) 값 : -2,147,483,648 ~ +2,147,483,647
- Floating-pont Constant(부동 소수점 상수): 지수 형태의 양수 또는 음수
- Single Precision(단정도 정수형 상수): -3.37E + 38 ~ 3.37E + 38
- Double Precision(배정도 정수형 상수): -1.67D + 308 ~ 1.67D + 308
- String Constant(문자열 상수): 큰 따옴표로 묶인 1 개 이상의 문자는 모두 포함하며 큰 따옴표(“), 캐리지 리턴, 줄 바꿈 문자를 제외한 ASCII 세트의 문자가 대상입니다. 문자열에 허용되는 최대 문자 수는 32,767자 입니다.
변수
- 변수는 프로그램을 실행하는 동안 값을 변경할 수 있는 참조입니다. QBasic에서 변수는 기본 데이터 유형 또는 사용자 정의 데이터 유형일 수 있습니다. 변수 이름은 값을 나타내는 데(참조하는 데) 사용됩니다.
- 변수의 사용처: 데이터 임시 저장, 계산 중 데이터 저장, 사용자에 의한 메뉴 선택, 반복 카운터 실행, 장치에서 데이터 읽기/쓰기, 기타등등…
- 변수 명명 규칙
– 최대 40자까지 가능합니다.
– 문자 (A … Z, a … z)로 시작해야합니다.
– 문자, 숫자, 마침표 및 유형 선언 문자 ($
,%
,#
,&
,!
이외)를 포함 할 수 없습니다.
– 함수가 아니면FN
으로 시작할 수 없습니다.
– 예약어가 될 수 없습니다. (CLS
,PRINT
,DIM
…)
– 다음과 같이 쓸 수 있습니다:I
,N,
NAME$
,RADIUS
,MAXAMT%
,PROMPT$
…
변수 선언 방법
(1) 자료형 문자를 사용
변수 이름 뒤에(suffix) 자료형 문자를 붙여 변수를 선언합니다. 변수 선언과 동시에 값을 할당할 수 있으나, 변수 이름에 반드시 접미어를 붙여야하는 단점이 있습니다.
$
: 문자열(String)%
: 정수(Integer)&
: 긴 정수(Long Integer)!
: 단정도(Single Precision)#
: 배정도(Double Precision)
RADIUS = 10 '접미어가 없을 경우 Integer 형 입력이 가능합니다. MAXAMT% = 1255 PROMPT$ = "ENTER YOUR CHOICE: " PRINT RADIUS PRINT MAXAMT% PRINT PROMPT$ '변수 이름 뒤에 접미어를 포함해야 합니다.
(2) DIM 표현을 이용해 선언
DIM
이라는 용어에는 다양한 의미가 있지만, 일반적으로 ‘Declare In Memory‘라는 의미로 기억하는 것이 편리합니다. DIM 변수이름 AS 자료형
의 형태로 선언하고, 나중에 값을 할당합니다. 변수 이름 뒤에 접미어를 붙이지 않아도 특정 타입의 변수를 선언할 수 있습니다.
DIM NUM1 AS INTEGER, YOURNAME AS STRING, AGE AS INTEGER '변수에 값 할당 YOURNAME = "JACOB" AGE = "99" PRINT NUM1 ' 변수에 값을 할당하지 않은 경우 기본값은 0 PRINT YOURNAME ' 출력 JACOB PRINT AGE ' 출력 99
QBasic 기초 시리즈
- QBasic: 개요(설치 방법, 데이터 타입, 변수 선언)
- QBasic: 기초 구문, 연산자, GOTO, 수학 함수
- QBasic: INPUT(프롬프트로 키보드 입력 받기)
- QBasic: 조건문(IF문, SELECT CASE문)
- QBasic: 반복문 (WHILE, DO ~ WHILE, FOR LOOP)
- QBasic: 배열(Arrays), 함수(SUB, FUNCTION), 종합예제 (完)
2개의 댓글
QBasic: INPUT(프롬프트로 키보드 입력 받기) - BGSMM · 2019년 11월 12일 3:02 오전
[…] QBasic: 개요(설치 방법, 데이터 타입, 변수 선언) […]
QBasic: 기초 구문, 연산자, GOTO, 수학 함수 - BGSMM · 2019년 11월 14일 2:56 오전
[…] 이전 글: QBasic: 개요(설치 방법, 데이터 타입, 변수 선언) […]