İnsanların konuştuğu dillerin nasıl birer alfabesi varsa bilgisayar programlama dillerinin de alfabeleri vardır.bu alfabeler o dilde bir program yazabilmek icin kullanılabilecek sembolleri ifade eder. BASIC oğrenilmesi cok kolay olan bir programlama dilidir.

İnsanların konuştuğu dillerin nasıl birer alfabesi varsa bilgisayar programlama dillerinin de alfabeleri vardır.bu alfabeler o dilde bir program yazabilmek icin kullanılabilecek sembolleri ifade eder.


BASIC programının iki modda calıştırılması mumkundur.
1.Dolaylı(indirect) Mod:Bu modda basıc dilinde yazılmış programın her satırına satır numarası denilen bir numara vermek zorunludur.satır numarası 0 ile 65529 arasında herhangi bir sayı olabilir.
10 PRINT 13+15 gibi.

2.Doğrudan(direct)Mod:Bu modda satır numarasına gerek yoktur.

BASIC SABİTLERİ VE DEĞİŞKENLERİ
1.1 SABİTLER

Programın calışması esnasında değerleri değişmez.İki tip sabit vardır.
a) Karakter zinciri (strıng) sabiti:iki tane cift tırnak icine alınmış 255tane harf veya rakam olabilen karakter kumesidir.
''merhaba''
''12,000''
b)sayısal sabitler:5 gruba ayrılır;
b1) Tamsayı(ınteger)sabitler: -32768 ile +32767 aralığındaki tamsayıları ifade eder.
b2) Sabit noktalı sabitler : ondalık sayıların basıc'teki karşılığıdır.
b3) Kayan Noktalı Sabitler :Bir ondalık veya tamsayıyı ustel formda yazmak icin kullanılır.

basıc kayan noktalı sabiti matemetiksel karşılığı
205.989E-2 2.05989
12E3 12000

c) Hekzadesimal(onaltılık)sabitler: &H on eki kullanılır.

&H42 ondalık karşılığı 66'dır.

d) Oktal (sekizlik)sabitler : & veya &0 onekine sahip olan sabitlerdir.
&567 ondalık karşılığı 375'dir.

1.2 DEĞİŞKENLER(VARIABLE)
Değişken isimlerinde ilk 40 karakter anlamlıdır.Değişken isimlendirilirken harfler,rakamlar ve nokta sembolu kullanılır.ilk karakter alfabetik karakter (harf) olmalıdır.Değişken tipini belirlemek icin ozel tipte karakterler kullanılır. ($,!,%,ALFA$
MAKSİMUM!
GAMA
Bir değişken ismi ;
a)basıc deyimleri
b)basıc komutları
c)basıc fonksiyonlarının ismi
d)basıc oparator isimleri ................... OLAMAZ.

Basıc değişkenleri iki gruba ayrılır:
a)sayısal değişkenler
b)karakter zinciri değişkenler . (değişkenin turunu belirlemek icin iki yol vardır.)

1.ozel tip bildiri karakterleri:
$ : değişkenin karakter zinciri değişkeni olduğunu bildirir.
! : değişkenin tek duyarlıklı olduğunu gosterir.(tek duyarlıklı değişkenler 7 ondalık hane kadar hassasiyetle depolanır.)
16 ondalık hane genişliğinde yer kaplar.)


2.basıc tip bilderi deyimleri:
DEFtip[harf1] , [harf2]....
tip 4 ozel kelimeden biri olmalıdır.
INT :Tamsayı değişkeni
STR:karakter zincir değişkenleri icin (strıng)
SNG:Tek duyarlıklı değişkenler icin
DBL:cift duyarlıklı değişkenler icin kullanılır.

orn. DEFINT A,X ( A ve X harfleri ile başlayan butun değişkenler tamsayı değişken olarak tanımlanır.)

2.2.BASIC'TE İNDİSLİ DEĞİŞKENLERiziler( arrays)
DIM: Diziler kullanılacağı zaman DIM deyimi kullanılır.Bu deyim dizinin yapısını ve boyutunu bildirir.
DIM M(1,2) Bu deyim ile bilgisayarda 1 satır ve 2 sutun acılır.

3.İFADELER VE ATAMA DEYİMLERİ
basic sayısal operatorleri"ni 3 guruba ayırırız
1)aritmetiksel operatorler 2)ilişkisel operatorler 3)mantıksal operatorler

3.1 ARİTMETİK OPERATORLER : toplama,cıkarma,carpma,us alma gibi işlemleri gercekleştirir.
^ : us alma + :toplama
* :carpma - :cıkarma

aritmatiksel operatorlerde işlem sırası ; varsa parentez icindeki ifade,us alma,carpma veya bolme,moduler aritmetik işlemi,toplama veya cıkarma.
İki operatorun birbirini izlemesi gerekiyorsa ,bunlar parentezle ayrılmalıdır. A/(-B) gibi.

matematiksel ifade basıc karşılığı
5 ussu 6 5^6 'dır.
x'in karesi + Y/(3.Z) X^2 +Y/(3*Z)

3.1.1 Tamsayı Bolme:
'' '' sembolu tamsayı bolmeyi simgeler. 5 2 =2'dir. eğer bolunen ve bolen ondalık sayılarsa once yuvarlatma yapılır ve sonra işlem yapılır.
3.1.2 Moduler Aritmetik :
Mod operatoru yardımıyla gercekleştirilir.8 Mod 3 ifadesi 8'in 3 ile bolumunden kalanı ifade eder.
8MOD 3=2'dir.

3.2 İLİŞKİSEL OPERATORLER: Bu operatorler iki değeri birbiri ile karşılaştırırlar.karşılaştırmanın değeri doğru ise -1 sayısal değeri gorulur,yanlış ise 0 değeri gorulur.
Operator Kontrol ettiği eşitlik
= eşitlik
veya >< eşitsizlik
< den daha kucuk
> den daha buyuk
=< veya veya >= den daha buyuk veya eşit

3.3- OPERATORLERİN ONCELİK SIRASI: Sayısal ,mantıksal ve ilişkisel opreratorler ve basıc fonksiyonlarının bulunduğu
bir ifadede oncellik sırası şu şekildedir:
1.Fonksiyon alma
2.Aritmetiksel işlemler
a.^ us almak
b.*,
c.
d.MOD
e.+ , -
3.İlişkisel operator işlemleri
4.Mantıksal işlemler,aşağıdaki onceliklerle:
a. NOT
b.AND
c.OR
d.XOR
e.EQV
f.IMP

ornek: sın(3,14159/2)^2*2-31
oncesın(3,14159/2)=1 olarak hesaplanır (basıc fonksiyonları icin 10.bolume bakın)

1^2*2-31
sonra us almak hesaplanır.
1*2-31
sonra carpma ve bolmeler yazılış sırasına gore yapılır:
2-31
2-31
sonra toplama ve cıkartma yapılır :
-11
ilişkisel işlemler gercekleştirilir:
-11 sonucu Doğrudur(-1).

Doğru AND Doğru sonucu olarak da Doğru (-1) sonucu hesaplanabilir

4.0- ATAMA DEYİMİ (Assignment Statement)-LET DEYİMİ: Basıc dilinde bir değişkene değer atama,aşağıda
yazılış bicimi verilen bir atama deyimi ile gercekleşir
[LET] değişkeni ismi = ifade

10 Let A=A+1 veya let deyimi kullanılmadan 10 A=A+1 şeklinde atama yazılır.

4.1 -PRINT DEYİMİ : Ekrana bilgi yazdırmak icin kullanılır.
LPPRINT : yazıcıdan cıkış alınmak isteğinde kullanılır.

Ornek;
10 X$="ESRAGUL"
20 Y$="KOYUNCU"
30 LPPRINT X$;
40 LPPRINT Y$

Sonuc: ESRAGUL KOYUNCU


4.2 TAB Fonksiyonları :Yazdırılacak değerlerin, n ile belirtilen pozisiyondan itibaren yazılmasını sağlayan 1 ile 255 arasında bir sayıdır.
TAB (n)
Ornek;
10 LPPRINT "ESRAGUL"TAB(9) "KOYUNCU"
Sonuc: E S R A G U L K O Y U N C U
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

4.3 SPC Fonksiyonu : Yazdırılacak iki değer arasında n ile belirtilen miktarda boşluk bırakır.

5.0 WRITE DEYİMİ

Ekrana bilgi yazdırmak icin kullanılır.
WRITE ve PRINT arasındakı farklar;
1)WRITE komutu elemanlar arasına yazılan virgulleri de ekrana aktarır.PRINT virgulleri aktarmaz.
2)WRITE komutu pozitif sayıların sol tarafında boşluk bırakmadan yazdırır.PRINT boşluk bırakır.
Ornek;
10 X=15 : Y=9 Z$="ESRAGUL"
20 WRITE X,Y,Z$
Sonuc : 15,9,"ESRAGUL"

5.1 LOCATE komutu : LOCATE X,Y şeklindedir.
Kursorun konumu X'ıncı satır Y'inci sutundur.

5.2 READ/DATA deyimleri :READ deyime değişkenlere değer okur.Bu değerlerin okunduğu yer DATA deyimidir.
Ornek;1
10 READ a,b,c
20 DATA 1,2,3
Sonuc : a=1, b=2, c=3 şeklinde gorulur.

Ornek;2
10 READ X,Y,Z
20 DATA 1,2,3
30 SUM=X+Y+Z
40 PRINT "X=";X. "Y=";Y, "Z=";Z, "SUM=";SUM
50 END

Sonuc : X=1 Y=2 Z=3
SUM =6

Ornek;3
10 PRINT A
20 READ A
30 DATA 12
40 END
Sonuc: Ekranda sıfır değeri gorulur.Cunku A ya değer atanmadan once programda 10 numaralı deyimle yazdırılmaktadır.

5.3 RESTORE deyimi : DATA deyimin dan okunan değerlerin programın daha sonraki bir kısmında tekrar okunması gerekebilir.Bu kısaca RESTORE deyimi ile sağlanır.

RESTORE [satır no'su]; eğer satır no su yazılmadıysa bir sonraki READ deyimi, programdaki ilk DATA deyimindeki değeri alır.
Ornek;
10 READ A,B,C,D
20 RESTORE
30 READ X,Y,Z,Q
40 DATA 1,2,3,4
50 LPPRINT A;B;C;D;X;Y;Z;Q
60 END

Sonuc : 1 2 3 4 1 2 3 4 bu şekilde gorulur.


5.4 INPUT deyimi : Girilen karakterlere klavyeden değer atanmasını sağlar.

Ornek;
10 INPUT "EN VE BOY NEDİR?";A,B
20 ALAN=A*B
30 LPPRINT "DIKDORTGENIN ALANI" ALAN "DUR"
40 END

Sonuc : Once ekranda EN VE BOY NEDİR? gorulur.Klavyeden değer girilir,mesela 20,5 değerleri girilir ve Enter'a basılırsa DIKDORTGENIN ALANI 100 DUR ifadesi ekranda gorulur.

6.0 GOTO deyimi : Herhangi bir koşul olmadan programın kontrolunu belirlenen satıra gondermek icin kullanılır.

Soru: Verilen sayıların toplamını bulan ve sayıların kactane olduğunu hesaplayan program;
10 TANE=0: TOPLAM=0
20 READ A
30 TANE=TANE+1
40 TOPLAM=TOPLAM+A
50 PRINT "TANE", "SAYI", "TOPLAM"
60 PRINT TANE, A, TOPLAM
70 GOTO 20
80 DATA 20, 30, 40, 50
90 END

Sonuc : TANE SAYI TOPLAM
1 20 20
TANE SAYI TOPLAM
2 30 50
TANE SAYI TOPLAM
3 40 90
TANE SAYI TOPLAM
4 50 140


6.1 IF deyimi : Bir ifade doğruysa THEN'i izleyen deyimler yapılır.Eğer ifade yanlışsa ELSE'i izleyen deyimler yapılır.
IF...THEN... ELSE

Ornek1;
10 LET X=2: LET Y=3
20 IF X B THEN LPPRINT "a,b den buyuktur" ELSE IF B>A THEN LPPRINT "a,b den kucuktur"
ELSE LPPRINT "a,b ye eşittir"

Sonuc : a=12 b=45
a,b den kucuktur ifadesi Ekranda gorulur.

Ornek3;
5 INPUT A,B
10 IF AB GOTO 5 ELSE PRINT "A,B ye eşittir"
20 PRINT "A=";A, "B=";B
25 GOTO 5
30 END

Sonuc : Eğer A,B ye eşit değilse 5 numaralı deyime gidilir .Eşitse ELSE'i izleyen deyim yapılır.Bundan sonra GOTO deyimi ile yeni bir A,B değere okunmak uzere 5 numaralı deyime gidilir.


7.0 FOR ve NEXT deyimleri : Bu deyim sayac gorevi gorur.

Ornek1;
10 FOR X=1 TO 5 STEP 2
20 PRINT "X=",X
30 NEXT X

Sonuc : X'ın başlangıc değeri 1 son değeri 5 tir.X herdefasında ikişer artar.Sonuc olarak X=5 ise Ekrana 5 değeri yazılır.

Ornek2;
10 INPUT N
20 FAKT=1
30 FOR I=2 TO N
40 FAKT=FAKT*I
50 NEXT I
60 LPPRINT "n!=1*2*3*4......";N;"=";FAKT
70 END

Sonuc : Once I =2 icin 40 nolu deyimde FAKT=1*2=2 gorulur.Sonra I birer birer artar ve N değerine ulaşınca 1*2*3...N =N! sonucu gorulur.

Ornek3;
10 FOR I=1 TO 2
20 FOR X=1 TO 3
30 PRINT "I=";I, "X=";X
40 NEXT X,I

Sonuc : I=1 X=1
I=1 X=2
I=1 X=3
I=2 X=1
I=2 X=2
I=2 X=3 Şeklinde ic ice dongu gorulur.


7.1 WHILE/WEND deyimi: Ifade doğru olduğu surece WHILE ve WEND arasındaki deyimler işlenir. WEND'e gelince program WHILE deyimine doner.Ifade yanlış olursa WEND'den sonraki deyimler işlenir.

Ornek;
10 X= -1
20 Y= 0
30 WHILE X
40 Y=Y+1
50 IF Y>6 THEN X=0
60 WEND
70 LPPRINT "X=";X,"Y=";Y
80 END

S onuc : Y değeri 6'dan kucuk olduğu surece Y'ye 1 eklenmektedir.50 deyimi ile Y'nın değeri 6'dan buyuk olduğu anda X'e 0 atanır.60 deyimi ile 30 deyimine gelince,X=0 olduğu icin program 70 deyimine gecer ve X=0,Y=7 Ekrana yazılır.


8.2 ALT PROGRAMLAR -GOSUB VE RETURN DEYİMLERİ

Program icinde aynı turden bir işlem bir cok kez tekrarlanıyorsa basic deyimlerine her seferinde tekraryazmak yerine bu işlemi alt program halinde tanımlayarak daha kısa surede işlemi bitirebiliriz.
GOSUB (satır no su) şeklinde ifade edilir.

Ornek;
10 GOSUB 40
20 LPPRINT "ESRAGUL KOYUNCU"
30 END
40 LPPRINT "ASAAD";
50 LPPRINT "MOHAMED"
60 RETURN

Sonuc : 10 GOSUB 40 deymi ile program 40 deymine gelir.Bu deyimle ASAAD MOHAMED yazılır.60 RETURN deyimine gelince program 20 LPPRINT deyimine gelir ve ESRAGUL KOYUNCU yazar.
ASAAD MOHAMED
ESRAGUL KOYUNCU

9.1 BASIC'te MATRİS DEYİMLERİ

DIM : Butun Matrislerin boyutları bu deyimle gosterilir.DIM A (1,20) ifadesi Matrisin bir satır ve 20 sutun dan oluştuğunu gosterir.
MAT : Butun Matris deyimleri bu ifadeyle başlar.
Ornek;
10 DIM A (2,3 )
20 MAT READ A
30 DATA 1,2,3,6,11,13
40 MAT PRINT A
50 END
Sonuc :
1 2 3
6 11 13

MATRIS'te TOPLAMA ve CIKARMA
MAT A = B+C MAT A= A-B Şeklinde yazılır.

MAT A= B+C+D Şeklinde yazılmaz dığrusu MAT E= C+D
MAT A= B+E Şeklinde yazılır.
matrısın transpozu MAT B=TRN(A)
matrısın tersı MAT A= INV(B) Şeklindedir.

Ornek;
10 DIM A(2,6)
20 MAT READ A
30 DATA 1,2,3,4,5,6,7,8,9,10,11,12
40 MAT PRINT A,
Sonuc: 1 2 3 4 5
6
7 8 9 10 11
12

NOT: Eğer MAT PRINT deyimindan sonra virgul kullanılırsa her eleman arasına buyuk boşluk bırakır.Eğer noktalı virgul kullanılırsa hic boşluk bırakmaz.

Ornek;
10 DIM A(2,4),B(2,4),C(4,2),P(3,3),Q(3,3)
20 MAT READ A
30 DATA 1,2,3,4,5,6,7,8
40 PRINT "ESRA FORMU"
50 MAT PRINT A,
60 PRINT "GUL FORMU"
70 MAT PRINT A;
80 MAT C = TRN(A)
90 PRINT "TRANSPOZE",
100 MAT PRINT C;
110 MAT E=CON
120 MAT A=A-B
130 MAT PRINT A;B;
140 MAT P=IDN
150 MAT Q=ZER
160 MAT P=P+P
170 MAT PRINT P;Q;
180 END

Sonuc: ESRA FORMU
1 2 3 4
5 6 7 8

GUL FORMU
1 2 3 4
5 6 7 8

TRANSPOZE
1 5
2 6
3 7
4 8
0 1 2 3
4 5 6 7
1 1 1 1
1 1 1 1
2 0 0
0 2 0
0 0 2
0 0 0
0 0 0
0 0 0

Alıntıdır...
__________________