Направо към съдържанието

BASIC

от Уикипедия, свободната енциклопедия
Версията за печат вече не се поддържа и може да има грешки при изобразяване. Моля, актуализирайте отметките на браузъра си и вместо това използвайте функцията за печат на браузъра по подразбиране.

BASIC (Beginner's All-purpose Symbolic Instruction Code – многоцелеви език от символни инструкции за начинаещи) е език за програмиране от високо ниво. Той е създаден през 1964 г. от Джон Кемени и Томас Курц.

Синтаксис

Синтаксисът на BASIC се състои от прости команди (като PRINT – отпечатай, INPUT – въведи, IF – ако, GOTO – отиди на, и т.н.) и математически изрази.

Класически BASIC

При класическия BASIC всички редове са номерирани, тъй като в първоначалните версии на BASIC програмата се е въвеждала в интерактивен режим. Т.е., ако преди кода няма номер на реда, то кодът се изпълнява веднага.

10 INPUT "What is your name: "; U$
20 PRINT "Hello "; U$
30 REM
40 INPUT "How many stars do you want: "; N
50 S$ = ""
60 FOR I = 1 TO N
70 S$ = S$ + "*"
80 NEXT I
90 PRINT S$
100 REM
110 INPUT "Do you want more stars? "; A$
120 IF LEN(A$) = 0 THEN GOTO 110
130 A$ = LEFT$(A$, 1)
140 IF (A$ = "Y") OR (A$ = "y") THEN GOTO 40
150 PRINT "Goodbye ";
160 FOR I = 1 TO 200
170 PRINT U$; " ";
180 NEXT I
190 PRINT

Модерен BASIC

Синтаксисът на модерния BASIC почти не се различава от този на класическия. При модерния BASIC обаче номерирането на редовете не е задължително, освен това се използва отместване на кода (познато от другите програмни езици като Pascal, C/C++, Fortran и др.), с което преглеждането на програмите на BASIC става по-лесно.

INPUT "What is your name"; UserName$
PRINT "Hello "; UserName$
DO
  INPUT "How many stars do you want"; NumStars
  Stars$ = ""
  Stars$ = REPEAT$("*", NumStars)   ' <- ANSI BASIC
  --or--
  Stars$ = STRING$(NumStars, "*")   ' <- MS   BASIC
  PRINT Stars$
  DO
     INPUT "Do you want more stars";  Answer$
  LOOP UNTIL Answer$ <> ""
  Answer$ = LEFT$(Answer$, 1)
LOOP WHILE  UCASE$(Answer$) = "Y"
PRINT "Goodbye ";
FOR I = 1 TO 200
  PRINT UserName$; " ";
NEXT I
PRINT