BASIC

от Уикипедия, свободната енциклопедия

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


Съдържание

[редактиране] Синтаксис

Синтаксисът на 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

[редактиране] Външни препратки

Ada | ALGOL | APL | AspectJ | BASIC | COBOL | C | C++ | C# | D | ColdFusion | Delphi | Eiffel | Forth | FORTRAN | Haskell | Java | JavaScript | Jython | Lisp | Logo | Lua | Mesa | ML | Modula-2 | Oberon | Pascal | Objective-C | Perl | PHP | PL/I | PostScript | Powerbuilder | Prolog | Python | Ruby | Scheme | Smalltalk | Tcl/Tk | Visual Basic