WikiDer > Rang BASIC
Bu maqola uchun qo'shimcha iqtiboslar kerak tekshirish.  (2009 yil mart) (Ushbu shablon xabarini qanday va qachon olib tashlashni bilib oling)  | 
| Loyihalashtirilgan | Bill Geyts[1] | 
|---|---|
| Tuzuvchi | Microsoft | 
| Birinchi paydo bo'ldi | 1980 | 
| Barqaror chiqish | Rangli BASIC 1.3 (1982) Kengaytirilgan rang BASIC ("ECB") (1984) Diskning kengaytirilgan rangi BASIC ("DECB") (1984)  | 
| Platforma | TRS-80 rangli kompyuter | 
Rang BASIC amalga oshirishdir Microsoft BASIC ga kiritilgan ROM Tandy / Radio Shack TRS-80 rangli kompyuterlar 1980 yildan 1991 yilgacha ishlab chiqarilgan. ASOSIY (Beginner's All-purpose Symbolic Instruction Code) - bu oddiy sintaksisga ega bo'lgan yuqori darajadagi til bo'lib, yangi boshlanuvchilar uchun oddiy dasturlarni yozishni osonlashtiradi. BASIC rangi talqin qilingan, ya'ni ishlatilayotganda dekodlangan. Interpreted BASIC-ni tahrirlash oddiy va disk raskadrovka ammo bajarilishi yozilgan dasturlarga qaraganda ancha sekinroq assambleya tili yoki o'sha davrning odatdagi kompilyatsiya qilingan tillari (masalan Paskal, tuzilgan BASIC yoki C).
Fon
Color BASIC yadrosi edi Microsoft BASIC-69 qaysi Tandy Microsoft-dan litsenziyalangan. Color BASIC 1.0 1980 yilda 4K TRS-80 rangli kompyuterining asl nusxasi bilan chiqarilgan. U 8k baytli ROM-da joylashgan va tizimdagi barcha "uy ishlarini bajarish" uchun javobgardir. Bunga apparatni ishga tushirish, xotirani boshqarish, uzilishni qayta ishlash va boshqalar kiradi. BASICning aksariyat dasturlari singari kodning har bir satri satr raqami bilan boshlanadi va o'zgaruvchilar va operatorlarga ega bo'lgan bir yoki bir nechta bayonotlardan iborat. Keyingi BASIC, Extended Color BASIC darajasi uchun 16k xotira talab qilinadi. ("ECB") Kengaytirilgan BASIC disketa boshqaruvchisi uchun talab qilinadi, bu esa diskning kengaytirilgan rangini BASIC-ga beradi. ("DECB") Ushbu tarjimonni ishlaydigan rangli kompyuterlarning emulyatorlari va boshqalari zamonaviy kompyuterlar uchun mavjud bo'lib, ulardan ba'zilari jismoniy mashinaning "oniy tasvir" faylini talab qiladi.[2]
O'zgaruvchilar
Rangli BASIC raqamli o'zgaruvchilar va satr o'zgaruvchilarining bir turini tushunadi. Color BASIC-dagi o'zgaruvchan nomlar dastlabki ikkita belgiga ega. O'zgaruvchan nomning birinchi belgisi harf bo'lishi kerak. Ikkinchisi harf yoki raqam bo'lishi mumkin. String o'zgaruvchilari o'zgaruvchining nomidan keyin dollar belgisini ($) qo'shib ko'rsatiladi.
Misollar
A=5$ A="BU IST"K7=10BB $="SALOM!"ZZ=1.54Raqamli o'zgaruvchilar faqat bitta turga ega, ikkilik suzuvchi nuqtani amalga oshirish. Har bir sonli o'zgaruvchida 5 baytli xotiradan foydalaniladi va -1E + 38 dan 1E + 37 gacha bo'lishi mumkin.
Microsoft BASIC-ning aksariyat dasturlaridan farqli o'laroq, Color BASIC foydalanuvchidan CLEAR operatori orqali satr o'zgaruvchilari uchun joy ajratishni talab qiladi.
Ko'p o'lchovli massivlar sonli va satrli o'zgaruvchilar bilan ham qo'llab-quvvatlanadi. Agar massiv bo'lsa, elementning manzili qavs ichiga olinadi:
A(1)=1$ A(1)="KITOBLAR"Ko'p o'lchovlar vergul bilan ajratilgan
A(1,3)=4$ A(2,2)="XYZ123"Operatorlar va ramzlar
Rangli BASIC matematik va kamroq darajada satr operatsiyalari uchun bir nechta operatorlarni taqdim etadi.
- + satrlarni birlashtirish yoki matematik qo'shilish uchun ishlatilishi mumkin
 - - ayirish uchun ishlatiladi
 - * ko'paytirish uchun ishlatiladi
 - / bo'linish uchun ishlatiladi
 
Qavslar () ishlashning matematik tartibini bekor qilish uchun ishlatiladi
- Va mantiqiy "va" operatsiyalar uchun ishlatiladi
 - OR mantiqiy 'yoki' operatsiyalar uchun ishlatiladi
 - Mantiqiy "emas" operatsiyalari uchun NOT ishlatiladi
 
Sinov uchun quyidagi operatorlardan foydalaniladi:
- = ga teng
 - > dan katta
 - > = dan katta yoki unga teng (shuningdek => qabul qilinadi)
 - <= dan kam yoki unga teng (shuningdek =
 - <> ga teng emas (shuningdek>
 
BASICda ishlatiladigan boshqa belgilar:
- "" satr ma'lumotlari doimiy (statik) ekanligini bildiradi
 - : bitta dastur satrida bir nechta buyruqlarni ajratadi
 - PRINT funktsiyasida duch kelgan vertikal, chiqishni bir xil satrda qolishiga olib keladi
 - PRINT funktsiyasida duch kelgan vergul keyingi ustunga o'tadi
 
Kalit
num raqamli ifoda zarurligini bildiradi. Bu sobit son, o'zgaruvchi yoki raqamli miqdorni qaytaradigan boshqa operatsiya yoki funktsiya bo'lishi mumkin.
str mag'lubiyatli ifoda zarurligini bildiradi. Bu statik satr qiymati (tirnoqlarda), mag'lubiyat o'zgaruvchisi yoki belgilar qatorini qaytaradigan boshqa funktsiya yoki ibora bo'lishi mumkin.
qurilma raqami qurilmani bildiradi. Odatiy bo'lib, 0 qurilmasi (ekran va klaviatura) qabul qilinadi. Color BASIC-da dasturchi uchun # -1 (kasseta) va # -2 (printer) mavjud.
Tartibga solish rejimi
Agar siz qatorni yozishda xatoga yo'l qo'ysangiz, uni noldan qayta yozishingiz mumkin (yoki DEL) .. yoki tahrirlashingiz mumkin, tahrirlash rejimida siz satrning qayta nashrini va bo'sh joyning ikkinchi nusxasini olasiz. charslar bo'ylab. Siz o'q tugmalaridan foydalana olmaysiz. orqaga qaytish sizni chap tomonga olib boradi, lekin uni buferda o'chirmaydi. 'i' sizni qo'shish rejimiga o'tkazadi. qaytishni bosish sizni undan xalos qiladi. 'c' bitta belgini o'zgartiradi, 'd' bitta charni o'chiradi. 'x' sizni chiziqning oxirigacha olib boradi, bu esa uni bekor qilishga imkon beradi. 'l' chiziqni qayta chizadi.
Vazifalar
ABS (num)- qaytaradi mutlaq qiymat ning num
 ASC (str)- qaytaradi ASCII birinchi belgining kodi str
 CHR $ (num)- bitta satr belgisini ASCII kodi bilan qaytaradi num
 EOF (qurilma raqami)- agar faylda ma'lumotlar bo'lsa 0, agar fayl oxirida -1 bo'lsa
 INKEY $- klaviatura tugmachasi bosilgan bo'lsa yoki hech narsa bosilmagan bo'lsa, belgini qaytaradi
 INT (num)- ning butun sonini qaytaradi num
 INSTR (startpos, search str, target str)- maqsad satrda birinchi qatorni qidiradi. startpos ixtiyoriy.
 JOYSTK (num)- 0 dan 63 gacha bo'lgan qiymat bilan joystick o'qining holatini qaytaradi (0-3)
 LEFT $ (str,num)- birinchisini qaytaradi ("chapga") num simli belgilar str
 LEN (str)- satr uzunligini (belgilar bilan) qaytaradi str
 MEM- mavjud bo'lgan bo'sh xotirani baytda qaytaradi
 MID $ (str,boshlang,uzunlik raqami)- qatorning pastki qatorini qaytaradi str pozitsiyadan boshlang boshlang va uzunlik raqami belgilar uzun. = "Newvalue" qo'shib, uni qayta tayinlashi mumkin
 PEEK (num)- xotira joylashuvining qiymatini qaytaradi num (0-65535)
 POINT (x num, y num)- semigrafik nuqta rangini holatiga qaytaradi x numm (0-63) va y num (0-31)
 To'g'ri $ (str,pozitsiya raqami)- mag'lubiyatning so'nggi ("o'ng") qismini qaytaradi str belgidan boshlab pozitsiya raqami
 RND (raqam)- 1 va orasidagi tasodifiy sonni (tamsayı) qaytaradi num
 SGN (num)- raqamning belgisini qaytaradi num, Ijobiy bo'lsa 1, salbiy bo'lsa -1, 0 bo'lsa 0
 Gunoh (num)- ning sinusini qaytaradi num radianlarda
 STR $ (num)- raqamning qatorini qaytaradi num
 USR (num)- manzili 275 va 276 xotira joylarida saqlanadigan mashina tilining pastki dasturini chaqiradi. num odatiy holatga o'tkaziladi va odat tugagandan so'ng qaytish qiymati beriladi
 
Buyruqlar
AUDIO [ON | OFF]- Kasseta ovozini televizor ovozidan ulaydi yoki uzib qo'yadi
 OCHIQ o'zgaruvchan bo'shliq[,eng yuqori xotira joylashuvi]- mag'lubiyat o'zgaruvchilari uchun xotirani va ixtiyoriy ravishda mashina tili dasturini saqlaydi
 CLOAD ["ism"]- kassetadan BASIC dasturini yuklaydi. Agar ism ko'rsatilmagan bo'lsa, keyingi dastur yuklanadi
 CLOADM ["ism"]- mashina tili dasturini kassetadan yuklaydi. Agar ism ko'rsatilmagan bo'lsa, keyingi dastur yuklanadi
 YAQIN [qurilma raqami]- qurilmani yopadi (Color BASIC-da bu faqat # -1 bo'lishi mumkin, kasseta)
 CLS (num)- ekranni tozalaydi. Ixtiyoriy rang num (0-8) belgilanishi mumkin
 MAVZU- BREAK yoki STOP so'zlarini bosgandan so'ng dasturni davom ettiradi
 CSAVE ["ism"]- BASIC dasturini kassetaga ixtiyoriy nomi bilan saqlaydi
 MA'LUMOT var, var, var ...- ma'lumotlarni READ buyrug'i bilan olish uchun BASIC dasturida saqlaydi
 DIM o'zgaruvchan(o'lchov[,o'lchov 2,...]- massivni o lchaydi va u uchun xotira hajmini saqlaydi
 OXIRI- BASIC dasturi tugaganligini bildiradi
 EXEC- [xotira manzili] da mashina tili dasturini bajaradi xotira manzili. Agar ko'rsatilmagan bo'lsa, lentada yuklangan dasturning ijro manzilidan foydalaniladi
 KIRITISH [qurilma raqami] [{tezkor matn};] o'zgaruvchan [,o'zgaruvchan 2, o'zgaruvchan n]- Kirishni kutadi qurilma raqami. Agar ko'rsatilmagan bo'lsa, qurilma 0 (klaviatura) qabul qilinadi. Kiritish bayonoti uchun ekranda ixtiyoriy buyruq chop etilishi mumkin
 Ro'yxat [boshlang'ich chiziq] - [tugaydigan satr]- dasturingiz qatorlari (lar) i ro'yxati. Boshlanish yoki tugashni qoldirish mumkin, yoki ikkalasi ham o'tkazib yuborilgan bo'lsa, butun dastur ro'yxatiga kiritiladi
 LLIST [boshlang'ich chiziq] - [tugaydigan satr]- LIST kabi ishlaydi, lekin printerga chiqadi
 MOTOR [ON | OFF]- kasseta motorini yoqadi yoki o'chiradi
 YANGI- xotira tarkibini o'chiradi (dastur va o'zgaruvchan)
 YANGI {num} GOSUB 1-qator, chiziq 2, ... chiziq n- ifodani baholaydi num va ga qo'ng'iroq qiladi numsubroutine ro'yxatiga kiritilgan
 YOQ (num) GOTO 1-qator, chiziq 2, ... chiziq n- ifodani baholaydi num va ga sakraydi numqator ko'rsatilgan
 OCHISH "[I | O]",qurilma raqami[,"Fayl nomi"]- aloqa qilish uchun qurilmani ochadi
 POKE xotira manzili, ma'lumotlar- yozadi ma'lumotlar (0-255) ichiga xotira manzili (0-65535)
 PRINT qurilma raqami,ifoda- ko'rsatilgan qurilmaga ma'lumotlarni chop etadi. Agar chiqarib tashlansa, # 0 (ekran) qabul qilinadi
 @ {PRINTekran holati} ifoda- PRINT kabi ishlaydi, lekin belgilangan joyda bosib chiqaradi (0-511)
 O'QING o'zgaruvchan[,o'zgaruvchan,...]- DATA bayonotlari bilan o'rnatilgan BASIC dasturidan keyingi o'zgaruvchini (lar) o'qiydi
 REENUM num- dasturning har bir satrini quyidagi sonlarga ko'paytiradi num
 QAYTA O'RNATISH(x, y)- semigrafik pikselni x (0-63) va y (0-31) joyida qora rangga o'rnatadi
 Qayta tiklash- READ ko'rsatkichini birinchi DATA bayonotiga qaytaradi
 QAYTISH- pastki dasturdan qaytadi
 Yugurish num- BASIC dasturini ixtiyoriy ravishda belgilangan qator raqamida ishlaydi
 SET (x, y, rang)- x (0-63) y (0-31) joyidagi semigrafik pikselni rangga (0-8) o'rnatadi
 SKIPF ["Fayl nomi"]- belgilangan dastur nomi topilmaguncha tasmaga BASIC dasturlarini o'tkazib yuboradi
 Ovoz ohang,davomiyligi- ohangni chastotasi (1-255) va davomiyligi (1-255) bilan eshitadi
 TO'XTA- dasturning bajarilishini to'xtatishiga olib keladi
 TAB (ustun)- belgilangan ustunga yorliqlar (PRINT bilan ishlatiladi)
 VAL (str)- qator shaklida qatorni o'z ichiga olgan qatorning son qiymatini qaytaradi
 
Boshqarish oqimi
GOSUB {qator raqami}- belgilangan satrda subroutineni chaqiradi
 GOTO {qator raqami}- dasturning belgilangan qatoriga o'tiladi
 IF {test} Keyin {buyruq (lar)} [BOShQA {buyruq (lar)}]- shartli sinovni amalga oshiradi. Agar test to'g'ri bo'lsa, u holda buyruqlar bajariladi, aks holda (ELSE) boshqa buyruqlar bajariladi. Agar "ELSE" ko'rsatilmagan bo'lsa va test noto'g'ri bo'lsa, dasturning keyingi satri bajariladi
 
UCHUN {num} = {number} TO {number} [QADAM {number}]...KEYINGISI (son)
- raqamli o'zgaruvchiga pastadir hosil qiladi (son) boshlang'ich raqamdan oxirigacha sonlar sonida (STEP) ishlaydi. Agar qadam tashlansa, 1 qabul qilinadi
 
Xato xabarlari
/0- nolga bo'linish
 AO- ko'rsatilgan fayl allaqachon ochiq
 BS- yomon indeks. pastki indeks DIM doirasidan tashqarida
 CN- davom eta olmaydi (CONT buyrug'iga qarang)
 DD- qatorni qayta o'lchamoq uchun harakat qiling
 DN- noto'g'ri qurilma raqami
 DS- to'g'ridan-to'g'ri bayonot xatosi (dasturda satr raqamlari yo'q)
 FK- noqonuniy funktsiya chaqiruvi: funktsiya doirasidan tashqarida bo'lgan qiymatni o'z ichiga oladi
 FD- noto'g'ri fayl ma'lumotlari: raqamni satr qiymatiga o'qishga urinish va hk.
 FM- yomon fayl rejimi, ma'lumotlarni OUTPUT uchun ochilgan faylga INPUT qilishga urinish va hk.
 ID- noqonuniy to'g'ridan-to'g'ri: ko'rsatilgan buyruqni faqat dasturda ishlatish mumkin
 IE- faylning so'nggi uchini kiritish. EOF-ga qarang
 IO- kirish / chiqish xatosi
 LS- uzun satr: satrlar atigi 255 ta belgidan iborat bo'lishi mumkin
 NF- KEYINGI FOR
 YOQ- fayl ochilmagan
 OD- ma'lumotlar yo'q: dasturdagi so'nggi ma'lumotlardan tashqarida o'qishga harakat qiling
 OM- xotiradan
 OS- mag'lubiyat doirasidan tashqarida: CLEAR-ga qarang
 OV- toshib ketish: raqam doiradan tashqarida
 RG- GOSUBsiz QAYTING
 SN- sintaksis xatosi
 ST- mag'lubiyat bilan ishlash juda murakkab
 TM- nomuvofiqlik (A $ = 3, A = "CAT")
 UL- mavjud bo'lmagan qatorga GOTO yoki GOSUB-ni sinab ko'ring
 
Hujjatlangan ROM pastki dasturlari
Color BASIC ROM-da mashina tilidagi dasturlar uchun umumiy dasturlash uchun mavjud bo'lgan bir nechta subroutines mavjud.
POLKAT- manzil [$ A000]: belgi uchun klaviatura so'rovi
 XROUT- manzil [$ A002]: ekranga yoki qurilmaga belgini chiqaradi
 CSRDON- manzil [$ A004]: kassetani ishga tushiradi va o'qishga tayyorlanadi
 BLKIN- manzil [$ A006]: kassetadagi blokni o'qiydi
 BLKOUT- manzil [$ A008]: kassetaga blok yozadi
 JOYIN- manzil [$ A00A]: joystick qiymatlarini o'qiydi
 
Adabiyotlar
- ^ 80-U-S. Microsoft-dan Bill Geyts bilan suhbatlar, 80-AQSh - IV jild 3-son (1981-05) (80-shimoli-g'arbiy nashriyot) (AQSh), 8-bet. Yaqinda u Radio Shack rangli kompyuterida ishni yakunladi. U o'zi yozgan Extended Color Basic to'plamidan juda xursand.
 - ^ MESS
 
- Izohlar
 
- Rangli BASIC bilan ishlashni boshlash, 1980 yil, Tendi korporatsiyasi. Nashr # 8749266
 - Rangli kompyuter disk tizimi (Tandy), 1981 yil, Tandy korporatsiyasi. BC # 8749470-BC nashr
 - Kengaytirilgan rang BASIC bilan ishlashni boshlash, 1984, Tandy korporatsiyasi. # 811013700A nashr
 - Rangli kompyuter 3 kengaytirilgan asosiy (Tandy), 1986, Tandy korporatsiyasi. # 81101910A nashr