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

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به ناوبری پرش به جستجو
بی‌بی‌سی بیسیک
BBC micro assembly listing.jpg
تصویر از محیط بی‌بی‌سی بیسیک بر پایه inline 6502 درسال اولیه شروع ۱۹۸۱
پارادایم 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

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

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