베이직
위키백과 ― 우리 모두의 백과사전.
| 다른 뜻에 대해서는 베이직 (동음이의) 글을 참조하십시오. |
베이식(BASIC: Beginner's All-purpose Symbolic Instruction Code)은 프로그래밍 언어의 하나이다. 절차형 언어로 1964년 다트머스 대학교의 존 케메니(John Kemeny)와 토머스 커츠(Thomas Kurtz)가 개발했다.
교육용으로 개발되어 언어의 문법이 쉬우며, 다트머스의 최초 제품 이래로 인터프리터 방식이 많았으나 최근에는 컴파일러 방식도 많다. 현재는 다양한 종류의 베이직이 존재하며 서로 문법도 많이 차이가 난다. 서로 다른 종류 사이의 소스 코드는 호환되지 않는다.
목차 |
[편집] 종류
[편집] 마이크로소프트
- 코모도어 베이직(Commodore BASIC)
- 애플소프트 베이직
- MSX 베이직(MSX BASIC)
- GW-BASIC: MS-DOS에 번들
- 퀵 베이직(Quick BASIC): 컴파일러 방식 지원
- 큐 베이직(QBasic): MS-DOS에 번들. 인터프리터 방식만 지원
- 비주얼 베이직(Visual BASIC)
- 비주얼 베이직 닷넷(Visual Basic .NET)
[편집] 볼랜드
- 터보 베이직(Turbo-BASIC)
[편집] REAL Software
- 리얼 베이직(REALBasic)
[편집] TrueBasic Inc.
- 트루 베이직: 최초 베이직 개발자인 존 케머니와 토마스 커츠 교수 개발
[편집] 기타
[편집] 예제
[편집] Hello World
아래 예는 모든 ANSI/ISO 호환 베이직과 1970년대에서 1980년대에 마이크로 컴퓨터에 설치된 대부분의 베이직에서 동작한다.
10 PRINT "Hello, world!" 20 END
이러한 기종에 설치된 베이직은 줄번호가 생략된 즉각 모드로 실행할 수도 있다. 다음 예를 실행할 때에는 RUN 명령어가 필요없다.
PRINT "Hello, world!" ? "Hello, world!"
이후의 베이직은 구조화 프로그래밍을 지원하며 코드에서 줄번호가 사라졌다. 다음 예는 현대적인 베이직의 거의 대부분에서 RUN 명령으로 실행할 수 있다.
PRINT "Hello, world!" END
많은 베이직에서 End 선언문은 빼도 된다.
[편집] 사용자 입력 갯수 만큼 별 출력
[편집] 구조화되지 않은 예전의 문법10 INPUT "이름을 입력하세요"; A$ 20 PRINT "안녕하세요 "; A$ 30 INPUT "별이 몇 개 필요하세요?"; S 40 FOR I = 1 TO S 50 S$ = S$ + "*" 55 NEXT I 60 PRINT S$ 70 INPUT "별이 더 필요하세요?"; Q$ 80 IF LEN(Q$) = 0 GOTO 70 90 L$ = LEFT$(Q$, 1) 100 IF (L$ = "Y") OR (L$ = "y") THEN GOTO 30 110 PRINT "안녕히 가세요"; 120 FOR I = 1 TO 200 130 PRINT A$; " "; 140 NEXT I 150 PRINT |
[편집] 구조화된 형태의 문법INPUT "이름을 입력하세요"; UserName$ PRINT "안녕하세요 "; UserName$ DO INPUT "별이 몇 개 필요하세요? "; NumStars Stars$ = "" Stars$ = REPEAT$("*", NumStars) '<-ANSI BASIC 'Stars$ = STRING$(NumStars, "*") '<-MS BASIC PRINT Stars$ DO INPUT "별이 더 필요하세요(Y/N)?"; Answer$ LOOP UNTIL Answer$ <> "" LOOP WHILE UCASE$(LEFT$(Answer$, 1)) = "Y" PRINT "안녕히 가세요 "; FOR A = 1 TO 200 PRINT UserName$; " "; NEXT A PRINT |
[편집] Visual Basic .NET
Class stars Sub Main() Dim UserName, Answer, stars As String ' UserName$, Answer$, stars$ may be used as well. Dim NumStars, I As Integer Console.Write("What is your name: ") UserName = Console.ReadLine() Console.WriteLine("Hello {0}", UserName) Do Console.Write("How many stars do you want: ") NumStars = CInt(Console.ReadLine()) stars = New String("*", NumStars) Console.WriteLine(stars) Do Console.Write("Do you want more stars? ") Answer = Console.ReadLine() Loop Until Answer <> "" Answer = Answer.Substring(0, 1) Loop While Answer.ToUpper() = "Y" Console.WriteLine("Goodbye {0}", UserName) End Sub End Class
![]() |
이 글은 소프트웨어에 관한 토막글입니다. 서로의 지식을 모아 알차게 문서를 완성해 갑시다. |
|
|
|
|---|---|
| 산업용 | 델파이 · 루비 · 리스프 · 비주얼 베이직 · 스몰토크 · 스킴 · 어셈블리 · 얼랑 · 에이다 · 오브젝티브-C · 자바 · 자바스크립트 · 코볼 · 파이썬 · Perl · 포트란 · 프롤로그 · 하스켈 · ABAP · AWK · C · C++ · C# · ML · PHP · PL/SQL · SAS · sh · VB.NET |
| 교육용 | 로고 · 에펠 · 파스칼 |
| 역사적 의미가 있는 언어 |
베이직 · 시뮬라 · 알골 · 클리퍼 · 파워빌더 · APL · MUMPS · PL/I |

