Кіріспе
Texas Instruments калькуляторларында қолданылатын бағдарламалау тілі – TI BASIC. TI BASIC – Texas Instruments (TI) графикалық калькуляторларына енгізілген BASIC-тің ұқсас тілінің ресми атауы. TI BASIC – әртүрлі өнімдерде жарық көрген үш түрлі және бір-бірімен үйлесімсіз нұсқалардың тілдер отбасы:
TI BASIC 83 (Z80 процессорында) – TI 83 сериясы, TI 84 Plus сериясы үшін;
TI BASIC 89 (68k процессорында) – TI 89 сериясы, TI 92 сериясы, Voyage 200 үшін;
TI BASIC Nspire (ARM процессорында) – TI Nspire және TI Nspire CAS үшін.
TI компаниясы тілді атымен сирек атап көрсетеді, бірақ TI BASIC атауы кейбір әзірлеушілердің құжаттамасында қолданылған. Көптеген жағдайларда, кез келген TI калькуляторын бағдарламалаудың ең ыңғайлы тәсілі осы болып табылады, себебі TI BASIC-те бағдарлама жазу мүмкіндігі алдын ала орнатылған. Ассемблер (көбінесе "asm" деп аталады) тілін де қолдануға болады, сондай-ақ C компиляторлары ассемблерге аудару үшін бар: Motorola 68000 (68k) негізіндегі калькуляторлар үшін TIGCC және Zilog Z80 негізіндегі калькуляторлар үшін SDCC. Дегенмен, екеуі де кросс-компиляторлар болып табылады, калькуляторда тікелей бағдарламалауға мүмкіндік бермейді. TI BASIC ассемблер тілінен едәуір баяу (өйткені оны интерпретациялау қажет), сондықтан математикалық есептерді жылдам шешу немесе қайталанатын тапсырмаларды орындау үшін бағдарламалар жазуға, ойын немесе графикалық қолданбаларды бағдарламалауға қарағанда қолайлырақ. Кейбір математикалық оқулықтар тіпті TI BASIC-тегі бағдарламаларды ұсынады (әдетте TI 82/83/84 сериясында қолданылатын кең таралған нұсқа үшін). Компьютерлерде қолданылатын бағдарламалау тілдерімен салыстырғанда біршама қарапайым болғанымен, TI BASIC бағдарламалау қауымдастығында маңызды рөл атқарады. Көптеген жоғары мектептер мен университеттерде математика пәндерін оқу үшін TI графикалық калькуляторлары қажет болғандықтан, TI BASIC студенттердің көпшілігіне бағдарламалау әлеміне алғашқы қадам болып табылады.
the calculator programming language
TI BASIC is the official name of a BASIC like language built into Texas Instruments (TI)'s graphing calculators. TI BASIC is a language family of three different and incompatible versions, released on different products:
TI BASIC 83 (on Z80 processor) for TI 83 series, TI 84 Plus series
TI BASIC 89 (on 68k processor) for TI 89 series, TI 92 series, Voyage 200
TI BASIC Nspire (on ARM processor) for TI Nspire and TI Nspire CAS
TI rarely refers to the language by name, but the name TI BASIC has been used in some developer documentation. For many applications, it is the most convenient way to program any TI calculator, since the capability to write programs in TI BASIC is built in. Assembly language (often referred to as "asm") can also be used, and C compilers exist for translation into assembly: TIGCC for Motorola 68000 (68k) based calculators, and SDCC for Zilog Z80 based calculators. However, both of them are cross compilers, not allowing on calculator programming. TI BASIC is considerably slower than the assembly language (because it has to be interpreted), making it better suited to writing programs to quickly solve math problems or perform repetitive tasks, rather than programming games or graphics intensive applications. Some math instruction books even provide programs in TI BASIC (usually for the widespread variant used by the TI 82/83/84 series). Although it is somewhat minimalist compared to programming languages used on computers, TI BASIC is nonetheless an important factor in the programming community. Because TI graphing calculators are required for advanced mathematics classes in many high schools and universities, TI BASIC often provides the first glimpse many students have into the world of programming.
Синтаксисі
TI BASIC-тің барлық нұсқаларының синтаксисі, әдеттегі BASIC іске асырылымдарынан шамалы өзгеше. Тілдің өзінде негізгі құрылымдық бағдарламалау мүмкіндіктері бар, бірақ бос орынға немесе кіріктірілген форматтауға шектеулер қойылады. Сондай-ақ, ол біршама стандартты емес таңбалар жиынтығына тәуелді, оның ішінде деректерді тағайындауға арналған ерекше таңбалар (көптеген таңбалар жиынтығында қол жетімді емес оң жақ "STO" жебесі), квадрат және куб түбірлері, сондай-ақ басқа математикалық символдар, кілт сөздерді токенизациялау арқылы енгізу және сақтау мүмкіндіктері бар. Барлық операторлар екі нүктеден басталады, ол сонымен қатар жол ішінде операторларды бөлуге арналған. TI 83/84 модельдерінде жақшаларды, тік жақшаларды, фигуралық жақшаларды және тырнақшаларды орынды үнемдеу үшін жол соңында немесе STO токенінен бұрын қосымша қолдануға болады, бірақ кейде оларды қалдыру дұрыс. Мысалы, TI 83/84 модельдерінде for циклы функциясы кейбір жағдайларда жабылмаған жақшалармен өте баяу жұмыс істейді. Өрнектер стандартты операторлар басымдығымен инфикс нотациясын қолданады. Көптеген операторлар математикалық функцияларда қолданылатын синтаксиске ұқсас, жақша ішінде аргументтерді талап етеді. Деректерді айнымалыға тағайындау синтаксисі компьютерлердегі көптеген бағдарламалау тілдерімен салыстырғанда ерекше: тең белгісі бар BASIC-тің let операторын немесе := операторы сияқты algol-ды пайдаланудың орнына, TI BASIC source → destination синтаксисімен оң жебелі sto→ операторын қолданады. Бұл Casio, Canon және Sharp сияқты бірнеше жапондық калькуляторларына ұқсас, олар 1970 жылдардың соңы мен 1980 жылдардың басында жаппай өндірілген алғашқы жапондық әріптік-цифрлық калькуляторлар пайда болғаннан бері осындай синтаксисті жиі қолданып келеді.
Деректер түрлері
TI BASIC – күшті және динамикалық түрде типтелген тіл. 68k және Z80 нұсқаларында қолжетімді дерек түрлері едәуір өзгеше. Ассемблерде жазылған кітапхананы қолданбастан, пайдаланушы анықтаған дерек түрлерін жасау мүмкін емес. Тізімдер жиі құрылымдардың орнына пайдаланылады.
Өзгергіштер
Айнымалыларды қолданудағы икемділік калькулятордың моделіне қарай кең ауқымда өзгереді. Мысалы, TI 84 Plus калькуляторында барлық ағылшын әріптері және тета (Θ) символы қолжетімді.
TI-83/84 (Z80)
TI 83/84 бағдарламасында бағдарламашы бес таңбаға дейін атауы бар тізімдерді құра алады. Барлық басқа дерек түрлері шектеулі, мысалы, 27 нақты немесе кешенді айнымалы және басқа типтегі алдын ала анықталған айнымалылардың атаулары (мысалы, матрицалар он айнымалының бірі болуы керек – [A]–[J]). TI 83/84-те Ans және қаржы айнымалылары сияқты кейбір айнымалылар RAM-да белгілі бір мекенжайларда сақталады, бұл оларды 27 әріптік айнымалылардан әлдеқайда жылдам қолжеткізуге мүмкіндік береді. Ans – соңғы есептелген кодтың нәтижесін сақтайтын арнайы айнымалы. Тек бір айнымалыдан тұратын жол да есептеледі және оның мазмұны нәтиже ретінде Ans-те сақталады. Ans жиі қайта есептелетіндіктен, көбінесе уақытша есептеулерді сақтау үшін немесе тізім элементтері сияқты баяу қолжеткізілетін мәндерді сақтау үшін қолданылады. Барлық айнымалылар – жаһандық.
TI-89 (68k)
Керісінше, 68k калькуляторларында барлық айнымалы атаулары сегіз таңбаға дейін, әріптер мен сандардан тұратын, тіпті грек әріптерін де қамтуға мүмкіндік бар. Бұдан әрі, айнымалыларды "папкаларға" біріктіруге немесе Local операторы арқылы жариялап, бағдарламаға қатысты жергілікті айнымалылар ретінде белгілеуге болады.
TI-83/84 (Z80)
Z80 бағдарламалаушылары әдетте жолдарды " (қос тырнақша) символымен бастап түсіндірме жасайды. " символымен басталатын жолдар Ans айнымалысын өзгертеді, бірақ егер Ans дереу оқылмаса, бұл өнімділікке қана әсер етеді, басқа ештеңеге әсер етпейді.
TI-89 (68k)
68k калькуляторлары бағдарламаларға © символын пайдаланып біржолғы түсініктемелерді қосуға мүмкіндік береді. Егер түсініктеме "Prgm" операторынан кейінгі бірінші жол болса, ол каталогта бағдарлама таңдалғанда статус жолағында көрсетіледі; мұндай түсініктемелер көбінесе параметрлердің аттарын немесе түрлерін сипаттау үшін қолданылады. 68k интерпретаторы жол басындағы бос орын мөлшерін сақтауға арналған кіріктірілген мүмкіндікке ие, бұл жолдың ішкі жиегін жасауға мүмкіндік береді.
TI-83/84 (Z80)
TI BASIC-тің Z80 нұсқасы 68k-дегідей тікелей "функцияларды" жасауға мүмкіндік бермейді. Дегенмен, барлық айнымалылар глобалды болғандықтан, функцияларды аргументтер сияқты айнымалыларға мән беріп, содан кейін басқа бағдарламаны шақыру арқылы имитациялауға болады. Қайтару мәндері болмайды; Return операторы ағымдағы бағдарламаны тоқтатады және шақыру орын алған жерден жұмысты жалғастырады.
TI-89 (68k)
TI BASIC 68k нұсқасы пайдаланушы анықтаған функцияларды жасауға мүмкіндік береді. Функциялар бағдарламалармен бірдей синтаксиске ие, бірақ олар Prgm және EndPrgm кілт сөздерінің орнына Func және EndFunc кілт сөздерін пайдаланады, сондай-ақ олар кіріс-шығыс операцияларын орындайтын, жергілікті емес айнымалыларды өзгертетін немесе бағдарламаларды шақыратын нұсқауларды қолдануға рұқсат етілмейді. Дегенмен, функциялар getTime, getKey немесе rand сияқты кіріктірілген функцияларды шақыруға болатындықтан, таза емес болуы мүмкін. Барлық функциялар қайтарылатын мәнге ие, егер нақты Return операторы болмаса, соңғы бағаланған өрнек қайтарылады.
Үшінші тарап тілдерінің кеңейтулері
Үшінші тарап қолданбалары – Omnicalc, xLIB, Celtic және Doors CS – хронологиялық ретімен Z80 калькуляторларындағы TI BASIC функцияларын қосымша тілдік мүмкіндіктерді ұсыну үшін кеңейтті. Бұл үшінші тарап кітапханалары сома, нақты, анықтауыш (det) және бірлік матрица (identity) функцияларын кеңейтеді, олар тиісті қолданбалармен өңделіп, түсіндіріледі. Қосымша мүмкіндіктердің ішінде жылдам пішіндерді салу, спрайттар мен тайлсеттер құралдары, бағдарламалар мен VAT-ты өзгерту және оларға қол жеткізу, GUI құрастыру мүмкіндіктері және тағы да көптеген мүмкіндіктер бар, олардың көпшілігі әдетте ассамблермен бағдарламалаушылар үшін ғана қолжетімді. Барлық функциялар пайдаланушының калькуляторында Doors CS 7.0 сияқты қолданбаның болуын қажет етеді, бұл кейде кітапханаларды пайдаланудың қиындығы ретінде қарастырылады.
Сәлем әлем
Келесі бағдарламалар орындалған кезде "СӘЛЕМ, ӘЛЕМ!" фразасын көрсетеді.