You are on page 1of 14

BASIC PROGRAMLAMA DL

ilgisayar programlama dillerinin en eskilerinden biri BASIC dilidir. Gnmze kadar deiik BASIC versiyonlar kullanlagelmi olup en ok bilinenleri GWBASIC, QuickBASIC ve son olarak da VisualBASIC dir. Genel olarak tm BASIC versiyonlar iin deimeyen baz temel komutlar mevcut olup bu ders notlar ierisinde programlamaya giri niteliinde olmak zere bu tip komutlara yer verilmitir. DEKENLER ve SABTLER BASIC programlama dilinde kullanlmak zere tanmlanm iki adet deiken mevcuttur. lki ierisinde saysal sabitleri barndran saysal deikenler, dieri ise ierisinde karakter sabitleri (string) barndran karakter deikenlerdir. Saysal deikenler ve karakter deikenlere rnekler aada verilmitir. Saysal deikenler : A, x, sayac, delta, toplam vb. Karakter deikenler : A$, isim$, ders$, ogrenciad$, sonuc$ vb. Tam say, ondalkl say ve E zeri ile gsterilen saylar yani saysal sabitler ierisinde sadece ingilizce karakterler barndran ve uzunluu 40 karakteri gemeyen saysal deikenler ile temsil edilebilirler. ASCII kodlar ile tanml tm karakterler veya karakter dizileri (string) yine ierisinde sadece ingilizce karakterler kullanlan ve uzunluu 40 karakteri gemeyen karakter deikenler ile temsil edilebilirler. rnekler aada verilmitir. A=5 delta=0.0128 toplam = 5E8 A$=tbt dersi isim$=Elif Mert ders$=TBT101

Saysal ve karakter deikenleri kullanrken dikkat edilmesi gereken en nemli nokta tanmlanacak deikenler TIPKI BASIC KOMUTLARInn yazmnda olduu gibi sadece ingilizce karakterleri iermelidir ve deikenler ierisinde +,%,&,*,-,? Gibi zel karakterler bulunmamaldr. Aksi program ierisinde belirtilmedike BASIC programlama dilinde kullanlan saysal sabitler tek duyarlkldr ve limit deerleri aada verilmitir. Pozitif saylar : 3.402823e38 (En byk) , 2.802597e-45 (en dk) Negatif saylar: -2.802597e-45 (en byk) , -3.402823e38 (en dk) Buradaki e harfi on zeriyi temsil etmektedir. Bir BASIC program ierisinde belirli bir karakter deiken ile temsil edilen karakter sabit (string) en fazla 32767 adet karakter ierebilir. BASIC programlama dilinde farkl saysal deiken tipleri tanmlamak ve kullanlabilecek say araln deitirmek mmkndr fakat bu konuya burada deinilmemitir. BASIC programlama dilinde deiken tanmlar iken MATLAB programnn aksine byk/kk harf duyarll mevcut deildir. BASIC programlama dilinde matematiksel ilemlerde ncelik sras u ekildedir. ncelikle parantez ileri ilem grr, sonra blme ve arpma, en son toplama ve karma ilemleri yaplr. Ayn ncelie sahip ilemler var ise ilem sras soldan 1

saa dorudur. Pepee birden fazla s alma ilemi varsa ilem sras soldan saa dorudur. Formlasyonlarda parantez kullanlyor ise alan parantez says ile kapanan parantez says birbirine eit olmaldr. BASIC EDTR VE EDTRDE YAZILAN BR PROGRAMIN ALITIRILMASI BASIC editr BASIC programnn exe uzantl dosyas altrlarak ekranda grntlenebilir. Editrn dier programlarda olduu gibi kendine ait bir mens bulunmaktadr. File mens dosya ilemleri iin (dosya ama, kaydetme vb...) , Edit mens kopyalama, yaptrma vb. ilemler iin, Run mens yazlan programlar altrmak iin, Options mens ise BASIC editrnn ve ierisindeki menlerin grnleri (renk, ierik) ile yazm esnasnda yazm hatalar kontrolnn yaplp yaplmamasn belirleyen komutlar iermektedir. Editrde yazlan bir program Run mensnden Start komutu kullanlarak veya Shift+F5 tularna birlikte baslarak programn ilk satrndan balanlarak altrlabilir. Basic programlama dilinde ekran ktlar dk znrlkl ve metin tabanl bir ekran iin ayarlanmtr, grafik komutlarn kullanr iken daha yksek znrlklere ihtiya duyulur ve bu nedenle ekran modu grafik mod ile deitirilir. TEMEL BASIC KOMUTLARI CLS (CLear Screen) : Bu komut ile kt ekran temizlenir. Bunun anlam bir evvel altrlan program ile ilgili olarak ekranda bir kt mevcut ise bu ktlar silinir ve ekranda sadece en son altrlan programn ktsnn bulunmas salanr. Genel bir alkanlk olarak her yazlan programn ilk satr CLS ierir. END : Bu komut programn bittiini belirtir ve bu komutun altnda kalan satrlar (READ/DATA ile belirtilen DATA satr hari) dikkate alnmazlar. Bu komutun kullanlmam olmas programn almas asndan bir problem yaratmaz fakat programlarn belirli satrlara kadar altrlmas istenildiinde (kullanc tarafndan kademeli altrma) bu komutun kullanm olduka faydaldr. REM (REMember) : Bu komut ile balayan satrlar program ile ilgili aklayc bilgilerin tanmlanmas iin kullanlmaktadr ve programn altrlmas esnasnda dikkate alnmazlar. REM komutunun bu zellii kullanlarak programn almas esnasnda dikkate alnmamas istenilen satrlar gzard edilebilir. REM komutu satr bana kesme iareti ( ' ) konularak da kullanlabilir. PRINT : Print komutu BASIC programlama dilinde en sk kullanlan komutlardan biridir. Program ierisinde retilen bir bilgiyi ekranda grntlemek iin kullanlr. REM ve PRINT komutunu aadaki rnek ile inceleyelim. rnek : EKRAN IKTISI CLS A$=TBT DERS FNAL SINAVI TBT DERS FNAL SINAVI PRINT A$ END CLS REM ORNEK PROGRAM A$=TBT DERS FNAL SINAVI PRINT A$ END 2 EKRAN IKTISI TBT DERS FNAL SINAVI

PRINT komutunun bulunduu satrda matematiksel ilemler yaplabilir ve sonu ekrana yazdrlabilir. CLS A=5 B=3.2 PRINT A*B END EKRAN IKTISI 16

PRINT satr ile birlikte ekrandaki ktnn neyi ifade ettiini belirten aklamalar yazdrmak ou kez faydal olmaktadr. fadeler iki trnak ierisinde yazlmaldr. CLS A=5 B=3.2 PRINT A ve B Saylarnn arpm=; A*B END EKRAN IKTISI A ve B Saylarnn arpm= 16

Bununla birlikte PRINT komutu ekranda bo satr yazdrmak amacylada kullanlabilir. CLS A=5 B=3.2 PRINT A;B PRINT PRINT A ve B Saylarnn Toplam=; A+B END EKRAN IKTISI 5 3.2 A ve B Saylarnn Toplam= 8.2

PRINT komut satrnda ekrana yazdrlacak ifadelerin arasna konulan (;) bu ifadelerin birbirlerine yakn, (,) ise daha uzak olarak grnmelerini salar. INPUT : Bilgisayar programlar gelitirilirken baz deerler (saysal veya karakter) program ierisinde tanmlanr, baz deerler ise kullanc tarafndan programn altrlmas esnasnda klavyeden girilerek belirlenir. Programn altrlmas esnasnda veri girii yaplmak istenildiinde INPUT komutu kullanlr. CLS REM BU PROGRAM KLAVYEDEN GRLEN K SAYIYI ARPAR INPUT A, B PRINT KLAVYEDEN GIRILEN SAYILAR; A; B PRINT SAYILARIN CARPIMI=; A*B END Bu program altrldnda ekranda bir soru iareti belirir ve kullancnn klavyeden aralarnda virgl bulunmak zere girmesi beklenir. Klavyeden girilen ilk say A saysal deikenine, virglden sonra yazlan ikinci rakam ise B saysal deikenine aktarlr. 3

Klavyeden giri aralarnda virgl bulunan iki rakamn ayn satrda girilmesi eklinde olabilecei gibi, iki ayr INPUT satrnda ilk olarak A saysal deikenine, ENTERa basldktan sonra ise B saysal deikenine giri yaplabilir. Bu tamamen programcnn insiyatifinde bulunan bir durumdur. INPUT satrnda klavyeden girilecek olan verinin/verilerin tipi veya format hakknda aklayc bilgiler ekrana yazdrlabilir. CLS REM BU PROGRAM KLAVYEDEN GRLEN K SAYIYI ARPAR INPUT KLAVYEDEN K RAKAM GRNZ; A, B PRINT KLAVYEDEN GIRILEN SAYILAR; A; B PRINT SAYILARIN CARPIMI=; A*B END Bu programn altrlmas ile birlikte ekranda KLAVYEDEN K RAKAM GRNZ eklinde bir mesaj ve bu mesaj takip eden bir soru iareti belirir ve klavyeden aralarnda virgl olmak kayd ile iki adet rakam girilir. Soru iaretinin ekranda grnmesi istenmiyor ise noktal virgl yerine virgl karakteri kullanlmaldr. INPUT komutunun kullanmnda en nemli nokta klavyeden girilecek bilginin tipidir. Eer program ierisinde saysal bir deikene deer girilmesi isteniyor ise klavyeden saysal bir giri yaplmal, program ierisinde klavyeden karakter bilgi girilmesi isteniyor ise karakter bir bilginin girilmesi gereklidir. Burada nemli dier bir nokta bir saysal deiken iin klavyeden girilecek bir karakter bilgi program tarafndan verilecek bir hata mesaj ile kullancya bildirilir, fakat karakter bir deiken iin girilecek bir saysal bilgi sonucunda program bir hata mesaj vermez. Bu durumda klavyeden girilecek saysal bilgi, bir karakter deiken tarafndan temsil edilecei iin toplama ilemlerinin haricinde herhangi bir matematiksel ileme tabii tutulamaz. (Burada bahsedilen toplama ilemi karakter bilgilerin toplanarak pepee yazdrlmasdr, TBT+ DERS=TBTDERS gibi.) GOTO : Programn istenilen satra ynlendirilmesi iin kullanlan komuttur.

CLS 10 INPUT KLAVYEDEN BR RAKAM GRNZ; A PRINT SAYININ KARESI=; A^2 GOTO 10 END

Bu program altrldnda ekranda belirecek KLAVYEDEN BR RAKAM GRNZ? ifadesinin yanna bir rakam girilip ENTER a baslr ise ekranda alt satrda klavyeden girilen saynn karesi SAYININ KARESI= mesajndan sonra grntlenir ve GOTO 10 komut satr sayesinde program tekrar 10 nolu satra ynelir ve tekrar klavyeden say girii mesaj belirir. Say girii yaplr ise saynn karesi ekrana ilgili mesaj ile birlikte yazdrlr. Kullanc mdahale etmedii taktirde bu klavyeden say girii ve saynn karesinin ekrana yazdrlmas ilemi sonsuza kadar (yada elektrikler kesilinceye kadar) devam eder. GOTO 10 nolu satr ile program sonsuz dngye sokulmutur. Programn almas esnasnda bu dngden klmak istenir ise Ctrl ve Break tularna birlikte baslarak programn kesilmesi salanr ve program (kod) sayfasna geri dnlr. Byle bir durum ile karlamamak iin GOTO komutu kontroll kullanlmaldr.

READ/DATA : Program ierisinde yazlan bu komut sayesinde istenilen tipteki deikenlere uygun veriler atanm olur. READ/DATA komutu birlikte kullanlan bir komuttur ve sadece bir tanesinin program ierisinde bulunmas bir anlam ifade etmez. CLS READ AD$, DNOT PRINT OGRENCI ISMI=; AD$ PRINT OGRENCININ NOTU; DNOT DATA VELI KOKNAR, 93 END PROGRAM CIKTISI OGRENCI ISMI=VELI KOKNAR OGRENCININ NOTU=93

READ/DATA komutunun kullanmnda DATA satrnn program ierisinde nerede olduu hi nemli deildir, yleki END satrndan sonra bile kullanlm olmas programn almas iin bir engel tekil etmez. Burada dikkat edilecek en nemli nokta DATA satrndaki sabitler (veriler) READ satrnda istenilen tipte olmaldr. Saysal deikenlere yaplacak karakter okumalar (READ) hata mesaj verir, fakat karakter deikenlere yaplacak saysal veri atamalar hata vermez fakat o an okunan saysal deer matematiksel ilemlerde kullanlamaz. CLS READ AD$, DNOT PRINT OGRENCI ISMI=; AD$ PRINT OGRENCININ NOTU; DNOT DATA 93, VELI KOKNAR END Yandaki programda AD$ karakter deikenine 93 rakam atanmtr. Burada bir hata olumaz fakat 93 rakam artk AD$ saysal deikeni ile birlikte matematiksel ilemlerde kullanlamaz.

Bu programdaki hata DNOT saysal deikenine okunan bilginin VELI KOKNAR eklindeki bir string olmasdr. Bilindii zere saysal deikenler ierisinde karakter bilgiler barndrlamaz. READ/DATA komutunun kullanmnda en sk karlalan hatalardan biri de DATA satrnda bulunan veri says ile READ satrnda okunan data saysnn birbiriyle ayn olmamasdr. Aadaki program bu tip bir hataya rnek olarak verilmitir. CLS READ A,B,C,D X=A^2+B*2-2*C+EXP(-D) PRINT X DATA 3,-2,5 END Yandaki program altrldnda OUT OF DATA hata mesaj ile karlalr. Bunun sebebi DATA satrnda adet veri olmasna ramen READ satrnda drt adet data okunmak istenmektedir. Yetersiz veri olduu iin bununla ilgili bir hata mesaj ekranda belirmektedir.

DATA satrndaki veriler READ komutu ile sras ile okunur ve READ satrndaki deikenler ile DATA satrndaki veriler birebir eletirilirler. Yandaki program altrldnda deikenlerin CLS alaca deerler u ekildedir. READ A,B,C,D A=3 X=A^2+B*2-2*C+EXP(-D) B=-2 PRINT X C=5 READ E,F D=2 DATA 3,-2,5,2,4,6 E=4 END F=6 5

IF-THEN-ELSE : Mevcut programlama dillerinin hepsinde kullanlan ve programlamann en vazgeilmez komutlarndan biridir. Belirli bir koulun salanmas veya salanmamas durumlarnda yaplmak istenilenlerin ifade edildii bir komuttur. IF deyiminden sonra kontrol yaplmak istenilen koul tanmlanr, THEN deyiminden sonra bu koulun saland durum iin yaplmak istenilenler ve ELSE deyiminden sonra ise verilen koulun salanmamas durumunda yaplmas istenilenler tanmlanr. Yandaki program altrldnda klavyeden bir say girilmesi istenecektir. Girilen saynn 5 deerinden byk olmas durumunda ekran kts olarak klavyeden girilen saynn iki kat elde edilecektir. Klavyeden girilen saynn 5 den kk olmas durumunda program GOTO komutu ile 10 nolu satra ynlendirilecektir ve klavyeden tekrar bir say girii istenilecektir. CLS 10 INPUT BIR SAYI GIRINIZ=; A IF A>5 THEN PRINT A*2 ELSE GOTO 10 END CLS INPUT FREY GRNZ; X$ IF X$=TBT THEN PRINT FRE GR DORU ELSE PRINT GR YANLI END Yukardaki program altrldnda klavyeden karakter bir veri girii istenecektir. Klavyeden girilen karakter giri TBT ise ekran da FRE GR DORU mesaj belirecek ve program sonlandrlacaktr, eer klavyeden girilen karakter veri TBT den farkl ise ekranda GR YANLI mesaj belirecek ve program yine sonlandrlacaktr. FOR/NEXT DNGS : Pepee tekrar edilmesi gereken ilemlerin gerekletirilmesi iin kullanlan bir komuttur. Bu komut programlama dilinde pekok ihtiyaca cevap vermektedir. ok sayda benzer ilemin yaplmas iin kullanlr. Bu komutun kullanmn eitli rnekler ile inceleyelim. CLS FOR I=1 TO 5 PRINT I NEXT I END EKRAN IKTISI 1 2 3 4 5

Ekran ktsndan da anlalaca gibi yandaki program 1 den 5 e kadar olan saylar alt alta ekrana yazmaktadr.

FOR/NEXT dnglerinde temel deiken dng deikenidir. Dng deikeni saysal bir deikendir ve deiken ismi verme kurallarna uygun olarak istenilen ekilde tanmlanabilir. FOR/NEXT dngsnde dng deikeninin alt snr, st snr ve gerekli ise STEP komutu ile birlikte artm deeri verilmelidir. Yukardaki programda dng deikeni I ile tanmlanmtr ve I deikeninin alt deeri 1 ve st deeri 5 dir, STEP komutu kullanlmad iin dng deikeninin artm deeri 1 dir. CLS FOR I=1 TO 2 STEP 0.25 PRINT 2*I NEXT I END EKRAN IKTISI 2 2.5 3 3.5 4 6

FOR/NEXT dngsnde dng snrlar matematiksel ilem sonular ile tespit edilebilir. CLS A=2 B=4 FOR I=A-1 TO B^2 STEP 0.5 PRINT 2*I NEXT I END

Yandaki programda dng deikeni olan Inn alt snr 1 ve st snr 16 olarak belirlenmektedir. Deikenin artm deeri ise 0.5 dir.

FOR/NEXT dngleri ihtiyaca gre i ie kullanlabilmektedir. ie alan dnglerde dikkat edilmesi gereken nokta LK AILAN DNGNN EN SON KAPANACAI, EN SON AILAN DNGNN SE LK OLARAK KAPANACAI kuraldr. CLS FOR I=1 TO 2 FOR J=1 TO 3 PRINT I, J NEXT J NEXT I END PROGRAM IKTISI 1 1 1 2 2 2 1 2 3 1 2 3 CLS FOR I=1 TO 5 FOR J=1 TO 8 A=I*J NEXT J FOR K=1 T0 4 B=I^2*K NEXT K NEXT I DORU Yandaki programda I deikeninin her deeri iin J deikeni 1 den 3 e kadar deien deerler almakta ve I ve J deerleri ekrana yazlmaktadr.

CLS FOR I=1 TO 5 FOR J=1 TO 8 FOR K=1 T0 4 PRINT I*J^2+4*K NEXT K NEXT J NEXT I DORU

CLS FOR I=1 TO 5 FOR J=1 TO 8 A=I*J NEXT I FOR K=1 T0 4 B=I^2*K NEXT J NEXT K YANLI

FOR/NEXT dngleri ok eitli amalar iin kullanlabilir. Aada READ/DATA komutu ile birlikte bir kullanma rnek verilmitir. CLS FOR I=1 TO 3 READ A PRINT A NEXT I DATA 3,-2,5 END

EKRAN IKTISI 3 -2 5

NDSL DEKENLER Bilgisayar programlar gelitirilirken program ierisinde kullanlan saysal veya karakter bilgileri iin saysal veya karakter deikenler tanmlanr. Fakat program ierisinde kullanlan verilerin ok fazla sayda olmas durumunda her bir veri iin bir deikenin tanmlanmas uygun bir yntem olmaz. Bu durumda indisli deikenler devreye girer ve tek bir deiken ismi altnda ok sayda veri tutulabilir. ndisli deikenler matris ilemlerinde de kullanlmaktadr ve ilemleri nemli lde kolaylatrr. BASIC programlama dilinde indisli deiken tanmlamak iin DIM komutu kullanlr. CLS DIM NT(3), AD$(3) NT(1)=75 NT(2)=82 NT(3)=94 AD$(1)=HASAN AD$(2)=VEL AD$(3)=NILGUN FOR I=1 TO 3 PRINT AD$(I), NT(I) NEXT I END

PROGRAM IKTISI HASAN VEL NILGUN 75 82 94

Yandaki programda NT ve AD$ deiken isimleri altnda er adet saysal ve karakter bilgi saklanmaktadr. Grld gibi herbir bilgi iin farkl isimde bir deiken kullanma gerei yoktur.

CLS DIM OGRENCI$(20), DERSNOTU(20) FOR I=1 TO 20 INPUT OGRENCI ADI VE OGRENCI NOTU; OGRENCI$(I), DERSNOTU(I) TOPLAM = TOPLAM + DERSNOTU(I) NEXT I ORTALAMA=TOPLAM/20 PRINT DERS ORTALAMASI=; ORTALAMA FOR I=1 TO 20 IF DERSNOTU(I)>=ORTALAMA THEN PRINT OGRENCI$(I), DERSNOTU(I) NEXT I END Yukardaki programda 20 adet renci ismi ve notu klavyeden girilmekte ve rencilerin not ortalamas hesaplanmaktadr. Daha sonra notu ortalamaya eit ve ortalamann zerinde olan rencilerin isimleri ve notlar ekrana yazlmaktadr. BASIC programlama dilinde karakter sabitler ile ilgili ilemler yapabilmek iin eitli fonksiyonlar tanmlanmtr. Bu fonksiyonlardan bazlar aada verilen rnekler ile gsterilmitir. LEN : LEN fonksiyonu bir karakter bilginin (string) ka karakterden olutuunu (boluk karakteride dahil olmak zere) bulur.

CLS A$=DEU MAKINA PRINT LEN(A$) END

EKRAN IKTISI 10

ASC : Bu fonksiyon ile ASCII kod tablosunda tanml karakterlerin ASCII kodlar elde edilebilir. CLS A$=A PRINT ASC(A$) END EKRAN IKTISI 65

CHR$

: Bu fonksiyon ile ASCII kodu verilen karakter elde edilebilir. CLS PRINT CHR$(67) END EKRAN IKTISI C

1 ile 255 arasndaki ASCII karakterleri ekrana yazdran program CLS FOR I=1 TO 255 PRINT I; CHR$(I) END

LEFT$ : Bu fonksiyon ile bir karakter dizisi (string) ierisinden, dizinin en soldaki karakterinden balamak zere istenilen saydaki karakter alnabilir. CLS A$= TBT DERS B$=LEFT$(A$,3) PRINT B$ END EKRAN IKTISI TBT

RIGHT$ : Bu fonksiyon ile bir karakter dizisi (string) ierisinden, dizinin en sandaki karakterinden balamak zere istenilen saydaki karakter alnabilir. CLS A$= TBT DERSI B$=RIGHT$(A$,5) PRINT B$ END EKRAN IKTISI DERSI

MID$ : Bu fonksiyon ile bir karakter dizisi (string) ierisinden, dizinin istenilen karakterinden balayarak istenilen sayda karakter alnabilir. CLS A$= TBT DERSI B$=MIDT$(A$,2,5) PRINT B$ END EKRAN IKTISI BT DE

Boluk karakterinin ASCII kodunun 32 olduu bilgisini kullanarak bir cmle ierisinde ka tane kelime olduunu bulan ve ekrana yazdran program aadaki gibidir. CLS A$= TBT DERSI FINAL SINAVI 15 OCAKTA YAPILACAKTIR B=LEN(A$) FOR I=1 TO B B$=MID$(A$,I,1) IF ASC(B$)=32 THEN SAYAC=SAYAC+1 NEXT I PRINT KELIME ADEDI=; SAYAC+1 END BASIC programlama dilinde karakter fonksiyonlarnn yansra saysal ilemler iinde kullanlan birok fonksiyon tanmldr. Bunlardan bazlar aada verilmitir. ABS : Bir saynn mutlak deeri iin kullanlr. CLS A= -7.68 PRINT ABS(A) END INT EKRAN IKTISI 7.68

: Ondalkl bir saynn tam say ksmn almak iin kullanlr. CLS A= 7.68 : B= -7.68 PRINT INT(A), INT(B) END EKRAN IKTISI 7 -8

CINT

: Ondalkl bir sayy en yakn tam sayya tamamlamak iin kullanlr. CLS A= 7.68 : B= -7.68 PRINT CINT(A),CINT(B) END EKRAN IKTISI 8 -8

FIX : Ondalkl bir saynn ondalk ksmn atmak iin kullanlr. Negatif saylarda INT komutundan farkll ortaya kar. EKRAN IKTISI CLS A= 7.68 : B= -7.68 PRINT FIX(A), FIX(B) END 10 7 -7

SQR

: Bir saynn karekkn hesaplar. CLS A= 144 PRINT SQR(A) END EKRAN IKTISI 12

COS, SIN, TAN, ATN: Sras ile RADYAN cinsinden verilen bir ann kosinsn, sinsn, tanjantn ve arctanjantn hesaplayan fonksiyonlardr. Derece olarak verilen bir ay says ile arpp 180e blmek suretiyle radyana evrilebiliriz. Sins 1

Tanjant

-1 Kosins

-1 EXP hesaplatlr. : Bu fonksiyon ile verilen say e saysnn ss olarak alnr ve sonuc CLS A= 1 PRINT EXP(1) END EKRAN IKTISI 2.718282

Bu fonksiyonlarn saysn arttrmak mmkndr fakat bu ders notlar kapsamna verilen komutlar yeterli grlmektedir. DOSYA LEMLER Program ierisinde kullanlacak tm saysal veya karakter bilgilerin ayn program ierisinde tanmlanp veya klavyeden girilip ilem grmeleri herzaman mmkn veya uygun bir yntem olmaz. Herhangi bir ekilde bilgisayarda bir dosya ierisinde bulunan bilgileri bir program ierisinde kullanmak veya program ierisinde retilen sonularn bir dosya ierisine yazdrlmas iin dosya ilemlerinin kullanlmas gerekmektedir. Aada dosya ilemleri ile ilgili komutlar uygulamalar ile gsterilmitir.

11

INPUT modunda dosya ama ilemi : Bilgisayarda bulunan bir dosyadaki datalar bir program ierisinde kullanmak iin bu dosya INPUT modunda alr ve ierisindeki bilgiler INPUT komutu ile okunur. C:\SAHA\DENEY.DAT DOSYASI ER 3.8 4.5 7.9 CLS OPEN C:\SAHA\DENEY.DAT FOR INPUT AS 1 FOR I=1 TO 3 INPUT #1, A TOPLAM=TOPLAM+A NEXT I ORTALAMA=TOPLAM/3 PRINT ORTALAMA CLOSE 1 Yandaki programda Harddiskte bulunan SAHA isimli dizin ierisindeki DENEY.DAT isimli dosya ierisinde bulunan 3 adet veri dosyadan okunmakta ve ortalamalar hesaplanp ekrana yazlmaktadr.

OUTPUT modunda dosya ama ilemi : BASIC programlama dilinde, bir program ierisinde retilen bilginin ekran yerine bilgisayarda bir dosya ierisine veya hem ekrana hemde bir dosyaya yazlmas istenildiinde dosya ama ilemi OUPUT modunda yaplmaldr. Bilgilerin alan dosyaya yazlmas PRINT veya WRITE komutlar ile gerekletirilir. Dosya isminin yansra bir dosya numaras kullanlmaktadr ve alan dosyalar ilem bittikten sonra CLOSE komutu ile kapatlr. CLS OPEN C:\SAHA\DATA.TXT FOR OUTPUT AS 1 FOR I=1 TO 1000 TOPLAM = TOPLAM + I NEXT I ORTALAMA=TOPLAM/1000 PRINT #1, ORTALAMA CLOSE 1 Yandaki programda 1 den 1000 e kadar olan saylarn ortalamas Harddiskte bulunan SAHA isimli dizin ierisindeki DATA.TXT isimli dosya ierisine yazdrlmaktadr. Programda ekrana herhangi bir kt olumamaktadr.

APPEND modunda dosya ama ilemi : Bilgisayarda bulunan bir dosyadaki datalarn devamna program ierisinde retilen bilgileri eklemek iin dosya APPEND modunda alr ve bilgiler PRINT veya WRITE komutu ile dosyaya yazlr.. DENEY.DAT dosyas son hali CLS OPEN C:\SAHA\DENEY.DAT FOR APPEND AS 1 3.8 FOR I=1 TO 3 4.5 PRINT #1, I^2 7.9 NEXT I 1 CLOSE 1 4 9 12

RNEK PROGRAMLAR Klavyeden girilen bir saynn faktriyelini hesaplayan program CLS INPUT SAYI GRNZ=; N FKT=1 FOR I=N TO 1 STEP -1 FKT=FKT * I NEXT I PRINT N; SAYISININ FAKTORIYEL=; FKT END Klavyeden girilen N adet saynn ortalamasn ve standart sapmasn hesaplayan program CLS INPUT KAC ADET SAYI GRLECEK=; N DIM SAYI(N) FOR I=1 TO N INPUT SAYI GIRINIZ=; SAYI(I) TOPLAM = TOPLAM + SAYI(I) NEXT I ORTALAMA= TOPLAM / N FOR I=1 TO N STD1=STD1+(SAYI(I)-ORTALAMA)^2 NEXT I STDSAPMA=SQR(STD1/(N-1)) PRINT ORTALAMA =; ORTALAMA PRINT STANDART SAPMA =; STDSAPMA END

1 N ORT = SAYI i N =1
STD = 1 N 2 (SAYI i ORT ) N 1 =1

Klavyeden girilen bir saysal dizi ierisindeki en byk sayy ve yerini bulan program CLS INPUT KAC ADET SAYI GRLECEK=; N DIM A(N) FOR I=1 TO N INPUT SAYI=; A(I) NEXT I MAX=A(1) FOR I=2 TO N IF A(I)>MAX THEN MAX=A(I): YER=I NEXT I PRINT DIZI ICERISINDEKI EN BUYUK SAYI=;MAX; YERI=;YER END Not : Dizi ierisindeki en kk sayy bulmak iin IF satrndaki > isareti < olarak deitirilmelidir.

13

Klavyeden girilen bir cmleyi ekrana tersten yazdran program CLS INPUT CUMLEYI GIRINIZ=; A$ N=LEN(A$) FOR I=N TO 1 STEP 1 PRINT MID$(A$,I,1); NEXT I END Matris ilemleri Program ierisinde tanmlanan bir matrisi ve satr toplamlarn ekrana yazdran program CLS DIM A(3,3) A(1,1)=-4 A(1,2)=5 A(1,3)=9 A(2,1)=4 A(2,2)=-5 A(2,3)=12 A(3,1)=2 A(3,2)=-7 A(3,3)=11 FOR I=1 TO 3 FOR J=1 TO 3 PRINT A(I,J); NEXT J PRINT NEXT I PRINT *********** FOR I=1 TO 3 TOPLAM=0 FOR J=1 TO 3 TOPLAM=TOPLAM+A(I,J) NEXT J PRINT I;. SATIR TOPLAMI=;TOPLAM NEXT I END

9 4 5 4 5 12 A= 2 7 11

EKRAN IKTISI
4 4 5 9

5 12

2 7 11 *********** 1. SATIR TOPLAMI=10 2. SATIR TOPLAMI=11 3. SATIR TOPLAMI= 6

A matrisinin diyagonal elemanlarnn toplamn ekrana yazdran program CLS A(1,1)=-4:A(2,1)=-4:A(3,1)=2 A(1,2)=5:A(2,2)=-5:A(3,2)=-7 EKRAN IKTISI A(1,3)=9:A(2,3)=12:A(3,3)=11 FOR I=1 TO 3 DIYAGONAL TOPLAMI= 2 DIYAGTOP=DIYAGTOP+A(I,I) NEXT I PRINT DIYAGONAL TOPLAMI=; DIYAGTOP END 14

You might also like