RobotBASIC Simülasyon Ortamı BASIC Dilinin Temelleri Ozan AKI r1.0
RobotBASIC RobotBASIC, BASIC diline benzer programlama ile robot algoritmalarının kodlanarak test edilebileceği bir simülasyon / benzetim ortamıdır. Program ile ilgili Uygulama yazılımı, Dokümanlar, Örnek kodlar için: http://www.robotbasic.org/
Bu Programlama Dilinde; Her Satırda Bir İfade Yer alır Her İfade, Satır Sonu ile Biter Büyük/Küçük harfe DUYARSIZDIR Değikenler Büyük/Küçük Harfe DUYARLIDIR
Açıklama Satırları // Çift bölü açıklama satırı Tek tırnak açıklama satırı /* Blok Açıklama Satırı */
Satır Birleştirme ve Satır Bölme A = 3 B = 5 C = A + B A = 3 \ B = 5 \ C = A + B PID = P * Kp + I * Ki + D * Kd PID = \ P * Kp + \ I * Ki + \ D * Kd
Komut i Komut Parametre1, Parametre2, Parametre3, Varsayılan parametre değerini kullanmak için, o parametre virgül (,) kullanılarak değer girilmeden boş geçilebilir. Circle 10, 10, 100, 100,,red Circle 10, 10, 100, 100,,red Circle 10, 10, 100, 100,,red
Etiketler (Labels) Giris: Input «Sayi Giriniz:», Sayi If Sayi < 0 Print «Lutfen Pozitif bir sayi girin» Goto Giris Endif Tamam: A = 4 + Sayi * 3
Etiketler (Labels) :Giris Input «Sayi Giriniz:», Sayi If Sayi < 0 Print «Lutfen Pozitif bir sayi girin» Goto Giris Endif :Tamam A = 4 + Sayi * 3
Etiketler (Labels) 10 Input «Sayi Giriniz:», Sayi 20 If Sayi < 0 30 Print «Lutfen Pozitif bir sayi girin» 40 Goto 10 50 Endif 60 70 A = 4 + Sayi * 3
Değişkenler Integer Mesafe = 23 Decimal Mask = 0xB2 Hexadecimal Sensor = 0%10011101 Binary Floating Point Cap = 4.67 String Mesaj = «Merhaba» Mesaj = «Merhaba» + «Dunya»
Diziler Diziler, değişken adının yanında [ ] köşeli parantez konularak tanımlanır. Parantez içersine dizinin boyutu yazılır. Dizi elemanları farklı tiplerde olabilirler Dim Dizi[4] Dizi[0] = 23.854 Dizi[1] = «Merhaba» Dizi[2] = 9283 Dizi[3] = 1.2
Fonksiyonlar FonksiyonAdi(Parametre1, Parametre2, ) MsgBox(«Deneme», «Merhaba»)
Operatörler - Atama A = 5 B = 3.14 C = A + B \ D = A * B
Operatörler - Aritmetik ( ) Düz parantezler işlem önceliğini belirler - Tek başına kullanılan eksi işareti, sağındaki ifadeyi negatif yapar. (-a : a yı negatif yapar) ^ Üs alma (2^3 : ikinin küpü) / Bölü a/b : a bölü b * Çarpma a*b : a çarpı b % Yüzde a%10 : a nın yüzde 10 u # Mod a#b : a nın b ile bölümünden kalanı verir + Sayıları Toplar, Stringleri birleştirir. - Çıkarma
Operatörler Bileşik Atama ++ Sağına geldiği değişkeni bir arttırır. a++ : a = a + 1 -- Sağına geldiği değişkeni bir eksiltir. a-- : a = a - 1 += Topla ve ata. a += 5 : a = a + 5 -= Çıkar ve ata. b -= 3 : b = b - 3 *= Çarp ve ata. c *= 7 : c = c * 7 /= Böl ve ata. d /= 2 : d = d / 2
Operatörler - Karşılaştırma $ Solundaki String Sağındaki String içinde var mı? «hava»$«bugun hava cok guzel» : True döner. > Büyük mü? A > B : A büyük B mi? < Küçük mü? A < B : A küçük B mi? >=, => Büyük Eşit mi? A >= B : A büyük eşit B mi? <=, =< Küçük Eşit mi? A <= B : A küçük eşit B mi? =, == Eşit mi? A = B, C == 5, B == C <>, ><,!= Farklı mı? A <> B, C!= 5, B >< C
Mantıksal Operatörler Not,! And, && Or, XOR, @@ DEĞİL VE VEYA ÖZEL-VEYA
Bitsel Operatörler bnot, ~ bitsel DEĞİL band, & bitsel VE bor, bitsel VEYA bxor, @ bitsel ÖZEL-VEYA bshiftr, >> bitsel Sağa Kaydırma bshiftl, << bitsel Sola Kaydırma brotr bitsel Sağa Döndürme brotl bitsel Sola Döndürme
Akış Kontrol i If Koşul Then İfade If Koşul EndIf If Koşul Else EndIf If Koşul ElseIf Koşul Else EndIf
Akış Kontrol i For Var=Başlangıç To Bitiş Next For Var=Başlangıç To Bitiş Step Artım Next
Akış Kontrol i Repeat döngüsünde önce ifadeler çalışır, sonra koşul kontrol edilir. Repeat Until Koşul
Akış Kontrol i While döngüsünde önce koşul kontrol edilir sonra ifadeler çalışır While Koşul WEnd
Akış Kontrol i Break : İçinde bulunduğu For/Repeat/While döngüsünden çıkar. Continue : İçinde bulunduğu For/Repeat/While döngüsünde program akışı Next/Until/Wend döngü sonuna ulaşmadan tekrar döngü başına gönderir.
Gosub / Return GoSub Hesapla End Hesapla: Return
Sub Sub AltProgram(değişken1, değişken2, ) Return Değer Call AltProgram(3,5)
Standart Çıkış Print {İfade, İfade; İfade...}{;,} Write {İfade, İfade; İfade..}{;,} in aralarına (,) konulursa, ifadeleri ardışık olarak ekrana basılır. in aralarına (;) konulursa, ifadelerin arasına birer TAB karakteri eklenerek ekrana basılır. Eğer satır (,) ya da (;) ile biterse, o satıra satır sonu karakteri eklenmez ve sonraki yazılanlar satıra devam eder
Standart Giriş Input {Mesaj,} Değişken Mesaj seçimliktir, Yazılmayabilir. Değişken isimlerinin aralarına (,) konularak çok sayıda giriş istenebilir