بی‌بی‌سی بیسیک

از ویکی‌پدیا، دانشنامهٔ آزاد
بی‌بی‌سی بیسیک
پارادایم برنامه‌نویسیObject-based و برنامه‌نویسی رویدادمحور
توسعه‌دهندهآکرون کامپیوتر
ظهوریافته در۱۹۸۱؛ ۴۳ سال پیش (۱۹۸۱-خطا: زمان نامعتبر}})
انتشار پایدار
5.90b
زبان پیاده‌سازی
بیسیک
بن‌سازه رایانشویندوز، لینوکس، مک, ماکروسافت داس، اندروید، ریسک
سیستم‌عاملمایکروسافت ویندوز، ام‌اس-داس، بی‌بی‌سی میکرو، ریسک، اسپکتروم
BBC.
وبگاه
bbcbasic.org برای سیستم عامل ویندوز
riscosopen.org برای سیستم عامل ریسک
متأثر از
بیسیک

بی‌بی‌سی بیسیک (به انگلیسی:BBC Basic) یک زبان برنامه‌نویسی است که در سال ۱۹۸۱ توسط شرکت آکرون کامپیوتر به صورت (Native) کد بر پایه تکنولوژی MOS Technology 6502 برای سیستم عاملهای خانگی توسعه یافته‌است.

زبان بی‌بی‌سی بیسیک اولین بار توسط خانم سوفی ویلسون بر پایه زبان برنامه‌نویسی بیسیک که برای یک پروژه سواد آموزی بریتانیایی بی‌بی‌سی برنامه‌ریزی شده بود، شکل گرفت.




نمونه کد[ویرایش]

IF INSTR(REPORT$,"VI") THEN PRINT "BASIC64" ELSE PRINT "BASIC"


حل‌کننده خودکار بازی هانوی

      ON ERROR IF ERR=17 CHAIN @lib$+"../examples/tools/touchide" ELSE MODE 3 : PRINT REPORT$ : END

      REM. "THE TOWERS OF HANOI"
      REM. R.T.RUSSELL, 08-08-1982: BBC BASIC
      :
      DIM DISC$(13),SIZE(3)
      FOR DISC=1 TO 13
        DISC$(DISC)=STRING$(DISC," ")+STR$DISC+STRING$(DISC," ")
        IF DISC>=10 DISC$(DISC)=MID$(DISC$(DISC),2)
        DISC$(DISC)=CHR$17+CHR$(128+DISC-(DISC>7))+DISC$(DISC)+CHR$17+CHR$128
      NEXT DISC
      :
      MODE 3
      INPUT "Number of discs (1-13): "F
      IF F>13 RUN
      FOR N=F TO 1 STEP -1:PROCPUT(N,1):NEXT
      PRINT TAB(0,1)"Press SPACE to start":A=GET:PRINT TAB(0,1)STRING$(20," ")
      OFF
      PROCHANOI(F,1,2,3)
      PRINTTAB(0,22);
      REPEAT WAIT 1 : UNTIL FALSE
      ;
      DEF PROCHANOI(A,B,C,D) IF A=0 ENDPROC
      PROCHANOI(A-1,B,D,C)
      PROCTAKE(A,B):PROCPUT(A,C):*REFRESH
      PROCHANOI(A-1,D,C,B)
      ENDPROC
      ;
      DEF PROCPUT(DISC,PILE)
      PRINTTAB(13+26*(PILE-1)-DISC,20-SIZE(PILE))DISC$(DISC);
      SIZE(PILE)=SIZE(PILE)+1
      ENDPROC
      ;
      DEF PROCTAKE(DISC,PILE)
      SIZE(PILE)=SIZE(PILE)-1
      PRINTTAB(13+26*(PILE-1)-DISC,20-SIZE(PILE))STRING$(2*DISC+1," ");
      ENDPROC

منابع[ویرایش]

پانویس[ویرایش]