View
288
Download
0
Category
Preview:
Citation preview
8/8/2019 ALGORTMA GELTRME VE BASIC PROGRAMLAMA DL
1/29
BLGSAYARLARIN YAPISI
Bir bilgisayar sistemi donanm ve yazlm olmak zere iki blmden oluur.
Donanm (Hardware): Bilgisayarn fiziksel ve elektronik yapsn oluturanana ve evre birimlerinin tmne donanm denir. Donanm birimleri grevalanlarna gre 3 gruba ayrlr. Giri birimleri (klavye, fare vb.), k birimleri(ekran, yazc, izici, hoparlr vb.) ve merkezi ilem ve bellek nitesi (anakart,merkezi ilemci, harddisk, RAM vb.)
Donanm
Yazlm (Software): Donanm birimlerini istenen ilere yneltip bir almadzeni ierisinde kullanabilmek iin gerekli tm programlardan ve veriyaplarndan oluur.
Yazlm
GiriBirimleri
Bellek Birimleri
letiim(Uzak, yerel)
Merkezi lemnitesi
letiim(Uzak, Yerel)
kBirimleri
1
letim Sistemi(MS-DOS, Windows, Unix, Linux vs.)
Programlama Dilleri(BASIC, Fortran, C, Pascal, Java vs.)
Uygulama Programlar
(Word, Excel, Autocad vs.)
8/8/2019 ALGORTMA GELTRME VE BASIC PROGRAMLAMA DL
2/29
Veri ve Bilgi Kavramlar
Veri, bir konuda gzlemler veya faaliyetler sonucu ortaya kan gereklerdir.rnein, hava scaklnn gzlenmesi sonucu elde edilen deerler, scaklk
verileridir veya bir snftaki rencilerin herhangi bir dersten aldklar notlar, notverileridir.
Bilgi, verilerin ilenmesi sonucu ortaya kan toplam deere veya faydaya denir.rnein, scaklk verilerinin ortalamas alnarak o blgenin ortalama scaklhesaplanr veya scaklk verileri daha baka ilemlere tabi tutularak o blgeniniklimi hakknda bilgi sahibi olunur. Benzer ekilde not verilerinin ilenmesisonucu snfn baars hakknda bilgi sahibi olunur.
Bir Problemin Bilgisayarla zlebilmesi in:
Problem iyi tanmlanabilmeli ve btn ayrntlar ile nceden bilinmeli Problemi zebilmek iin bir saysal hesap yntemi bilinmeli Problem, zmde kullanlacak programn ve bilgisayarn zelliklerine
uymal Bilgisayarla zm dier zmlerden daha gvenilir ve ekonomik
olmaldr. Yukardaki koullar salayan her problem bilgisayarla zlebilir.
Programlamann aamalar unlardr:
Algoritma (hesap dzeni) Ak diyagram
Kodlama Programn kontrol (snama) ktlar ve yorumlanmas Programn yeni koullara gre gelitirilmesi (gncelleme)
Veriler lem sreci(Bilgi lem)
Bilgi
2
8/8/2019 ALGORTMA GELTRME VE BASIC PROGRAMLAMA DL
3/29
ALGORTMA GELTRME
VE
BASIC PROGRAMLAMA DL
A Programlamaya Giri
1- Program
Program, belirli bir ilemi gerekletirmek iin bilgisayara iletilen komutlardizisidir.
2- Programlama dilleri
Programlama dili, programc ile bilgisayar arasndaki iletiimi salamaya
yarayan aratr. Programlama dillerinin komutlar ngilizce kelimelerdir.rnein; ekrana yaz yazdrmak iin BASICte Print, Pascalda Writeln, Cde
Printf komutlar kullanlr.
Programlama dilleri gruba ayrlr:
Dk dzeyli diller: Makine dilleridir (ASSEMBLY)
Orta dzeyli diller: Makine dillerine yakn dillerdir (C)
Yksek dzeyli diller: Konuma diline yakn dillerdir. (BASIC,
FORTRAN vb.)
Yksek dzeyli dillerde yazlan bir program derleyici (compiler) ad verilen bir
program ile makine diline evrilir. Bu ileme derleme (compile) ad verilir.
3
8/8/2019 ALGORTMA GELTRME VE BASIC PROGRAMLAMA DL
4/29
3- lemler
a) Matematik lemler: Bilgisayarda en ok kullanlan ilemlerdir.
Matematik ilemlerin bilgisayar programlarndaki karlklar
lem Matematik BilgisayarToplama a + b a + bkarma a - b a - barpma a . b a * bBlme a b a / bs alma ab a ^ b
lem ncelik sralar nemlidir ve matematiksel ilemler programa aktarlrken
ncelik sralarna dikkat edilmelidir. lem sralamasnda yaplan hata derleyici
tarafndan fark edilemeyecei iin sonucun yanl kmasna neden olur.
Aadaki tabloda ilem ncelik sralar grlmektedir.
ncelik
Sraslem Bilgisayar
1 Parantezler (())2 s alma a ^ b3 arpma ve blme a * b ve a / b4 Toplama ve karma a + b ve a b
Ayn ncelie sahip ilemler soldan saa doru yaplr.
Matematik gsterim Programda gsterim (kodlama)a + b c + 2abc - 7 a + b c + 2 * a * b * c -7
a + b2 c3 a + b ^ 2 c ^ 3
ba
22ac
c
ba
+
+ a b / c + 2 * a * c 2 / (a + b)
4acb
2abba
2
+ (a + b) ^ (1 / 2) 2 * a * b / (b ^ 2 4 * a * c)
9
bc)ac2(ab
ba
c-ba
32
++
+
+ (a + b - c) / (a ^ 2 + b ^ 3) ^ (1 / 2)
2 * (a * b + a * c + b * c) / 9
3
3 22
a
bc
ba
abcba
+
++(a ^ 2 + b ^ 2) ^ (1 / 3) + a * b * c / (a + b / (c b / a
^ 3)^(1 / 2))
4
8/8/2019 ALGORTMA GELTRME VE BASIC PROGRAMLAMA DL
5/29
abc
11
11
1
ab
cba
ba
3
4
5
+
+
+
+
((a - b) ^ (1 / 5)/(a + b c / (a * b)) ^ (1 / 4)) ^ 1 / 3)
+1 / (1 + 1/ (1 + 1 / (a * b * c)) ^ (1 / 2)) ^ (1 / 2)
rnek: a=9 ve b=6 iin
fade Matematik edeeri Sonu
a + b ^ 1 / 22
ba
1
+ 12
a + b ^ (1 / 2) ba + 11.449
(a + b) ^ 1 / 22
b)(a 1+7.5
(a + b) ^ (1 / 2) ba + 3.873
b) Karlatrma lemleri: ki deerin birbirine gre byklk,
kklk veya eitlik durumlarn ilemlerdir.
lem
sembol
Anlam
= Eittir
< > veya > < Eit deildir> Byktr < Kktr
> = veya = > Byk eittir< = veya = < Kk eittir
c) Mantksal lemler: Mantksal ilem operatrleri, hem
karlatrma hem de matematik ilemlerde kullanlr. Karlatrma
ifadelerinde birden fazla koulun salanmas istenebilir.
Mantksal lem Komut
VE AND
VEYA OR
DEL NOT
5
8/8/2019 ALGORTMA GELTRME VE BASIC PROGRAMLAMA DL
6/29
VE ileminde btn koullar doru ise sonu dorudur. VEYA
ileminde koullardan biri doru ise sonu dorudur. Btn artlarn salanmas
isteniyorsa VE, artlarn herhangi birinin salanmas isteniyorsa VEYA ve
koulu salamayanlar isteniyorsa DEL operatr kullanlr.
Mantksal ilemlerde de matematiksel ilemlerde olduu gibi ilem ncelik
sralar vardr.
Sra lem Komut1 Parantez iindeki
ilemler
(..)
2 DEL NOT3 VE AND4 VEYA OR
ALGORTMA GELTRME
Bir problemin zmnde izlenecek olan admlar algoritma olarak adlandrlr.
Algoritmann zel ekillerle gsterilmesine ak diyagram denir.
Problemin algoritmas hazrlanabiliyorsa bu problem btn programlama
dillerinde yazlabilir.
Program yazarken izlenecek yol:
a. Programn algoritmas hazrlanr, istenirse ak diyagram izilir.
6
8/8/2019 ALGORTMA GELTRME VE BASIC PROGRAMLAMA DL
7/29
b. Algoritma, herhangi bir programlama diliyle yazlr. (Kodlama)
c. Program altrlr. (Run)
d. Derleyicinin belirttii hatalar dzeltilir. (Syntax Error)
e. Program deneme verileriyle altrlr. Bylece derleyicinin
bulamad hatalar yakalanmaya allr. (Debug)
Algoritmalarda Kullanlan zel Terimler
Deiken: Programn deiik aamalarnda farkl deerler alabilen bilgi
alanlardr. Deiken isimlendirmesinde temsil ettii ifadeyi artracakekilde olmas programn anlalrln arttrr. rnein rencilerin ismi iin
ad, adsoyad, isim; rencilerin ald notlar iin vize, final gibi
deiken isimleri uygun olabilir.
Deiken simlerinde:
a. ngiliz alfabesinin harfleri kullanlr.b. 0 9 aras rakamlar kullanlabilir.
c. Alt izgi ( _ ) karakteri dnda zel iaretler kullanlmaz.
d. Deiken isimleri mutlaka harf ile balamaldr.
rnein rencilerin 1. vize notu iin 1.VZE hatal bir deiken ismidir,
dorusu VIZE_1 olabilir.
Aktarma: Bir deikene deer aktarlmas ilemidir.
Deiken smi = Deer
7
8/8/2019 ALGORTMA GELTRME VE BASIC PROGRAMLAMA DL
8/29
Eitliin sa tarafndaki deer matematiksel, mantksal veya karakter bir ifade
olabilir. Aktarma operatr = ile ifadenin deeri deikene aktarlr. Eer
deikene yeni bir deer aktarlrsa eski deer silinir.
Saya: Deikene baka bir deer aktarldnda eski deerin silinmesi
prensibine gre deikenin deerinin dzenli olarak artmas veya azalmas
ilemine saya denir.
Yeni Saya Deeri = Eski Saya Deeri Artm
rnek:
X = X + 3 (er er artan bir saya)
S = S 5 (beer beer azalan bir saya)
Saya oluturulurken, saya deikenine bir balang deeri verilir. BASICdilinde balang deeri verilmemesi durumunda 0 olur.
rnek: Aadaki algoritmada 1 ve 5 arasndaki saylar ekrana
yazdrlmaktadr.
1- Bala
2- S = 0
3- Eer S = 5 ise git 7
4- S = S + 1
5- Yaz S
6- Git 3
7- Dur
Eski S Yeni
S
Ekran
0 0+1=1 1
1 1+1=2 22 2+1=3 3
8
8/8/2019 ALGORTMA GELTRME VE BASIC PROGRAMLAMA DL
9/29
3 3+1=4 4 4 4+1=5 5
Ardk Toplama: Balang deeri 0 ve artm deeri dzensiz olan bir sayatr.
Yeni Toplam Deeri = Eski Toplam Deeri + Say
rnek: 5 saydan oluan bir dizinin ortalamas probleminin algoritmas
gsterilmektedir.
1. Bala
2. Toplam = 0
3. S = 0
4. EERS = 5 ise GT 9
5. S = S + 1
6. Say GR
7. Toplam = Toplam + Say
8. GT 4
9. Ortalama = Toplam / S
10. YAZ Ortalama
11. DUR
Eski
S
Yeni
S
Say Eski
Toplam
Yeni
Toplam0 0+1=1 7 0 0+7=71 1+1=2 3 7 7+3=102 2+1=3 45 10 10+45=553 3+1=4 32 55 55+32=874 4+1=5 8 87 87+8=95
Ortalama = 95 / 5 = 19
Ardk arpma: Balang deeri 1 olan arpm sayacdr.
Yeni arpm Deeri = Eski arpm Deeri * Say
rnek: 5 faktryeli ( 5! ) hesaplayan algoritmay yaznz.
1. Bala
2. Faktor = 1
3. S = 0
4. EERS = 5 ise GT 8
5. S = S + 1
6. Faktor = Faktor * S
7. GT 4
8. YAZ Faktor
9
8/8/2019 ALGORTMA GELTRME VE BASIC PROGRAMLAMA DL
10/29
9. DUR
Eski
S
Yeni
S
Eski
Faktor
Yeni
Faktor0 0+1=1 1 1*1=11 1+1=2 1 1*2=22 2+1=3 2 2*3=63 3+1=4 6 6*4=244 4+1=5 24 24*5=120
10
8/8/2019 ALGORTMA GELTRME VE BASIC PROGRAMLAMA DL
11/29
AKI DYAGRAMLARI
Algoritmann zel ekillerle izilmesi ak diyagram olarak adlandrlr.
lem ekil
Bala / Dur
Veri girii
Atama
Dng
Karar
11
8/8/2019 ALGORTMA GELTRME VE BASIC PROGRAMLAMA DL
12/29
kt, Yazdrma
Balant
lem ak yn
BASIC PROGRAMLAMA DL
BASIC kelimesi, Beginners All-Purpose Symbolic Instruction Code (Yeni
Balayanlar in Tm Amalara Ynelik Sembolik retim Kodu) kelimelerininba harflerinden retilmitir. 1964 ylnda gelitirilmitir. Bilgisayarda ilenenveriler iki eittir. Saysal (nmerik) ve karakter (alfanmerik). Saysal veriler,saysal bir deeri olan tamsaylar, ondalkl saylar vb. gibi verilerdir. Karakterveriler ise saysal deeri olmayan harfler, kelimeler ve dier karakterlerdir.
BASIC Dilinde Kullanlan Deiken Trleri:
BASICte ilenen bilgileri temsil eden deikenlerin yanna yazlan sembollerle
bilgi tipi belirtilir.Deiken Tr Belirtme Sembol
Tamsay %Tek duyarlkl ondalk say !ift duyarlkl ondalk say #Karakter $
BASIC dilinde tamsaylar -32768 ile 32767 arasnda bir deer alr. Tek ve ift
duyarlkl ondalk saylar -1.7E38 ve 1.7E38 aralnda olabilirler. Tekduyarlkl say da anlaml basamak says 7 veya daha az; ift duyarlkl sayda
12
8/8/2019 ALGORTMA GELTRME VE BASIC PROGRAMLAMA DL
13/29
ise anlaml basamak says 8 ile 18 arasndadr. Aada tek ve ift duyarlklsaylara rnekler verilmitir.
Tek duyarlkl: 23.29456, -1.234567, -2.34567E-3, 1756.345!
ift duyarlkl: 1.2345678901234567, -1.432D-12, 3.141592654#, 56#
Tek duyarlkl saylar iin ( ! ) belirteci kullanlmayabilir. Programn banda,programda kullanlacak deikenlerin tr belirtilirse her seferinde tr belirtecikullanlmayabilir.
DEFSTR Karakter tr belirteciDEFINT Tamsay tr belirteciDEFSNG Tek duyarlkl ondalk say tr belirteciDEFDBL ift duyarlkl ondalk say tr belirteci
Karakter deikenler iin deiken isminden sonra ( $ ) belirteci konur vekarakter trnak ( ) iinde yazlr. rnein; isim$ = Ali gibi.
BASICteki Veri Giri Komutlar
1. INPUT
Programn almas srasnda klavyeden programa veri girilmesini salar.
INPUT deiken1, deiken2, ..
INPUT mesaj, deiken1, .
rnek:
..INPUT aINPUT b ve c saylarn giriniz, b, cd=a+b+c.
INPUT komutundan sonra girilen deiken deeri ile istenen deiken tr ayn
olmaldr.
13
8/8/2019 ALGORTMA GELTRME VE BASIC PROGRAMLAMA DL
14/29
rnek:INPUT bir say giriniz, a
PRINT girilen saynn karesi=; a^2..
Bu rnekte eer a iin bir karakter girilirse hata mesaj alnr.
rnek:..INPUT iki say giriniz, a$,b$PRINT girilen saylarn toplam=;a$+b$
Burada 5 ve 6 deerleri a$ ve b$ iin girilirse program a ve b birer karakterdeiken olduu iin onlar say olarak deil sadece karakter olarak alglar ve 11yerine 56 sonucunu verir. Buradaki + operatr toplama ilemi yerinekarakterleri birletirme ilemini yapar.
2. READ-DATA VE RESTORE
Deikenlere program iinden bilgi girilmesini salar. READ deyiminden
sonra girilen deikenlerin deerleri DATA deyiminden sonra srayla girilir.
READ deiken 1, deiken 2, ..DATA deiken 1, deiken 2, ..
READ deyimleri ile istenen veri says ile DATA deyimleri ile girilen veri sayseit olmaldr.
Eer READ deyiminden sonra verilen yeni deikenlere de DATAdaki eski
deerler verilmek isteniyorsa RESTORE komutu kullanlr.
READ A, BRESTORE 50READ C, DPRINT A, B, C, D50 DATA 3, 11
Program sonucunda elde edilen kt: 3 11 3 11 eklinde olur. Bylece
READ deyimleriyle istenen veri says DATA deyimiyle girilenlerden dahafazla olduu halde hata mesajyla karlalmaz.
14
8/8/2019 ALGORTMA GELTRME VE BASIC PROGRAMLAMA DL
15/29
BASICteki k/Yazdrma Komutlar
1. PRINT
Deiken deerlerinin ekrana yazlmasn salar.
PRINT deikenPRINT mesaj deiken
Birden fazla deiken ( , ) veya ( ; ) kullanlarak ayrlr. BASIC derleyicileri 40veya 80 karakter geniliindeki ekran 14 , 15 karakterlik stunlara bler. Ayraolarak ( , ) kullanlrsa deerler stun balarndan balayarak yazlr. Ayraolarak ( ; ) kullanlrsa deerler bitiik olarak yazlr.
2. PRINT USING
Ekranda veya yazcda dzenli (formatl) gsterim salar.
PRINT USING Alan tanmlayc ; Deiken ListesiAlan tanmlayclar ktnn hangi dzende olacan belirtir. Karakter vesaysal deerler iin farkl alan tanmlayclar vardr.
a) Karakter Alan Tanmlayclar
! : Deiken listesinde yer alan ifadelerin sadece ilk karakterlerinin yazlmasnsalar.
READ A$, B$, C$PRINT USING !;A$, B$, C$DATA stanbul, Teknik, niversitesi
Ekranda T grnr.
\ n tane boluk \ : Deiken listesindeki karakterlerin (n+2) ksmn yazar.
b) Saysal Alan Tanmlayclar
15
8/8/2019 ALGORTMA GELTRME VE BASIC PROGRAMLAMA DL
16/29
# : Saynn basamaklarnn yerini tanmlar. Eer tanmlanan alan deerdenbykse deer saa dayal olarak yazlr. Tanmlanan alan deerden kksedeerin nne % iareti belirir.
. : Yazdrlacak saynn ondalk ksmn ayrmak iin kullanlr.
** : Tanmlanan alan deiken deerinden byk ise bu boluklarn yldzlarladoldurulmasn salar. Ayrca iki karakterlik ek alan oluturur.
PRINT USING "**##.###";a,b
$$ : Yazdrlacak deerlerin bana ( $ ) iaretinin yazlmasn salar. Ayrca ikikarakterlik ek alan oluturur.
**$ : Saylarn bana ( $ ) iaretinin yazlmasn ve boluklarn ( * ) dolmasnsalar. karakterlik ek alan oluturur.
, : Tam ksm ile ondalkl ksm ayran noktann hemen nnde yer alan ( , )iareti yazdrlacak rakamlarn er hane virglle ayrlmasn salar.^^^^ : Yazdrlacak saynn stel formda yazlmasn salar. Alantanmlaycsndan sonra yazlr.
BASICteki Dng Komutlar
1. FOR-NEXT
FORKontrol deikeni = BalangTOBitiSTEPArtmNEXTKontrol deikeni
Eer artm 1er 1er olacaksa STEP komutuna gerek yoktur. NEXT deyimindensonra kontrol deikeni yazlmayabilir. ie alan dngler birbirinikesmemelidir.
2. WHILE-WEND
WHILE koul.
WEND
16
8/8/2019 ALGORTMA GELTRME VE BASIC PROGRAMLAMA DL
17/29
Koul saland srece dng devam eder.
BASICteki Karar Komutlar
1. IF-THEN
IF den sonra yazlan koul doru ise THEN den sonraki ilem yaplr.
IF koulTHEN .ilem
rnek:
INPUT ki say giriniz, a , bIF a > b THEN PRINT a > bIF a = b THEN PRINT a = bIF a < b THEN PRINT a < bEND
2. IF THEN ELSE
IF THEN komutunda koul salanmad zaman program bir alt satrdan
devam ediyordu. Ancak ELSE komutu ile koul salanmad zaman yaplacakilem belirtilebilir.
IF koul THEN koul salanrsa yaplacak ilem ELSE koulsalanmaynca yaplacak ilem
rnek:
INPUT iki say giriniz , a , bIF a < b THEN PRINT a < b ELSE PRINT a = b veya a > b
3. IF THEN - ELSE IF THEN ELSE
Eer ikiden fazla koul varsa bu yap kullanlabilir.
IF koul 1 THEN koul 1 salanrsa yaplacak ilem ELSE IF koul2 THEN koul 2 salanrsa yaplacak ilem ELSE tm koullar
yanl ise yaplacak ilem
rnek:
17
8/8/2019 ALGORTMA GELTRME VE BASIC PROGRAMLAMA DL
18/29
INPUT iki say giriniz, a, bIF a > b THEN PRINT a > b ELSE IF a = b THEN PRINT a = b ELSEPRINT a < b
END
Baz Matematik Fonksiyonlarn BASIC Karlklar
Matematiksel Fonksiyon BASIC Karl|x| ABS(x)
x SQR(x)sgn(x)x > 0 ise sgn(x) = 1x = 0 ise sgn(x) = 0x < 0 ise sgn(x) = -1
SGN(x)
ex EXP(x)Ln(x) LOG(x)Log(x) LOG(x)/LOG(10)Sin(x) SIN(x)
Cos(x) COS(x)Tan(x) TAN(x)Cotan(x) 1 / TAN(x)Arctan(x) ATN(x)Arcsin(x) ATN(x / SQR(1 x * x))Arccos(x) 1.570796 - ATN(x / SQR(1 x * x))Arccotg(x) 1.570796 ATN(x)Sinh (x) (EXP(x) EXP(-x)) / 2Cosh(x) (EXP(x) + EXP(-x)) / 2
Tanh(x) (EXP(x) EXP(-x)) / (EXP(x) + EXP(-x))Coth(x) (EXP(x) + EXP(-x)) / (EXP(x) - EXP(-x))
18
8/8/2019 ALGORTMA GELTRME VE BASIC PROGRAMLAMA DL
19/29
Arcsinh(x) LOG(x + SQR(x * x + 1))Arccosh(x) LOG(x + SQR(x * x - 1))Arctanh(x) LOG((1 + x) / (1 x)) / 2Arccotanh(x) LOG((1 + x) / (x 1)) / 2
x saysn en yakn kk tamsayya yuvarlar INT(x) INT(2.51) = 2INT(-3.4) = -4
x saysn en yakn tam sayyayuvarlar
CINT(x)CINT(2.51) = 3CINT(-3.4) = -3
X saysnn ondalk ksmn atar FIX(x)FIX(2.51) = 2FIX(-3.4) = -3
0 ile 1 arasnda rasgele bir sayretir RND(x)
BASICteki Baz Karakter Fonksiyonlar
Fonksiyon levi rneklerRIGHT$(A$,n) A$ deikeninde sadan
balayarak n karakter alr.RIGHT$(pamukkale,4)=kale
LEFT$(A$,n) A$ deikeninde soldanbalayarak n karakter alr. LEFT$(pamukkale,5)=pamukMID$(A$,m,n) A$ deikeninde m.
karakterden balayarak m.dahil n karakter alr.
MID$(pamukkale,5,2)= kk
LEN(A$) A$ karakter saysn bulur. LEN(pamukkale) = 9SPACE$(n) n adet boluk koyar STRING$(n,m) ASCII kodu m olan n
uzunluunda bir karakter
dizi oluturur.
STRING$(5,80) = PPPPP
STRING$(n,A$) A$ deikeninin ilkkarakteri ile nuzunluunda bir dizgioluturur.
STRING$(5,inaat) = iiiii
UCASE$(A$) A$ deikeninin tmharflerini byk harfyapar
UCASE$(Pamukkale)=PAMUKKALE
TAB(x) PRINT deyimi ile birlikte
kullanlr. Kendindensonra gelen bilginin ilk
PRINT TAB(5);naat
= naat
19
8/8/2019 ALGORTMA GELTRME VE BASIC PROGRAMLAMA DL
20/29
karakteri xinci kolonagelecek ekilde
baslmasn veya kaytyaplmasn salar.
SPC(x) PRINT deyimi ile birliktekullanlr, yazm isteneniki deiken arasnda x
boluk brakr.
PRINT A; SPC(5);B=A B
DATE$ Sistem tarihini verir PRINT DATE$= 03-21-2003TIME$ Sistem saatini verir PRINT TIME$= 16:14:18ASC(A$) A$ karakterinin ASCII
kodunu verirASC(P)= 80
CHR$(x) ASCII kodu x olan
karakteri verir
CHR$(80)
= P
ASCII: American Standard Code for Information Interchange (Bilgi Deiimiiin Standart Amerikan Kodu) 0'dan 255'e kadar toplam 256 (28) karakter.
20
8/8/2019 ALGORTMA GELTRME VE BASIC PROGRAMLAMA DL
21/29
ALT SIRALI (NDSL) DEKENLER
Bir deikene deer atandnda, bu deer ilgili deiken ismi altnda bellektesaklanmakta ve program iinde ilem grmektedir. Ayn deikene baka birdeer atandnda eski deer silinmektedir. Ayn deikenin nceki deerlerinisaklamann yolu deikeni alt sral tanmlamaktr.
DIM DEYM
Alt sral deikene bilgisayar belleinde yer ayrmak iin kullanlr.
DIM Deiken(indis1, indis2, . indisN)
DIM vize(20)
Burada vize deikenine 0'dan balayarak 21 tane yer ayrlr. Ancak indislergenellikle 1 den balad iin
OPTION BASE 1
komutu ile 1'den balar ve 20 yer ayrlr. Option Base komutu unutulursabellekte indisli deikenler iin 1 yer fazladan ayrlm olur.
21
8/8/2019 ALGORTMA GELTRME VE BASIC PROGRAMLAMA DL
22/29
Basicte DIM ifadesi tanmlanmadan altsral deiken kullanlrsa indisinalabilecei maksimum deer 10'dur.
Bir deikene DIM deyimiyle atanandan daha byk indis kullanlrsa indis snrd" (subscript out of range) hata mesajyla karlalr.
DIM deyimiyle deiken iin ayrlan yer eleman saysndan fazla ise hata olmazancak bellekte gereksiz yer igal edilmi olur.
OPTION BASE 1DIM x(8)x(1)=5x(2)=8x(3)=12x(4)=20PRINT x(2)END
Ekranda 8 grlr.
KURALLAR:
1- Bir deiken en ok 255 indisli olabilir.2- Bir indis en ok 32767 deerini alabilir.3- ndis deerleri ondalk veya tamsay olabilir. Ondalk saylar ifadeler
tamsayya yuvarlanarak indis deeri belirlenir.
Alt sral/indisli Matematik fade BASIC Karlai,j A(I;J)yk Y(K)xi-k+1 X(I-K+1)
yk=xk-1+3xk+xk+1 Y(K)=X(K-1)+3*X(K)+X(K+1)
BASICte Alt Programlar
Bir programn sk tekrarlanan blmleri program sadeletirmek iin anaprogramdan ayrlarak alt program ad altnda program paralar oluturulur. Altprogramlarla allmas ana programn daha ksa olumasna neden olmaktadr.Ayrca, genel amal hazrlanm alt programlarn, baka kullanclar tarafndan
kullanlmas da mmkndr.
22
X(1) X(2) X(3) X(4) X(5) X(6) X(7) X(8)5 8 12 20
8/8/2019 ALGORTMA GELTRME VE BASIC PROGRAMLAMA DL
23/29
BASIC programlama dilinde, kullanc tarafndan DEF FN deyimiyletanmlanm fonksiyonlar ve GOSUB deyimiyle arlan alt programlar buamala kullanlr.
DEF FN fonksiyon ismi (deiken listesi) = fonksiyon
Fonksiyon programn banda tanmlanr ve gerektii zaman programn herhangibir yerinde sadece ismi ve gerekli deikenleri verilerek kullanlr.
rnek:
REM silindir hacmipi=3.14159DEF FNhacim(D , H) = pi * D ^ 2 * H / 4.D1=.V1=FNhacim(D1,2)D2=V2=FNhacim(D2,2)PRINT V1, V2.Eer tekrarlanan ilemler bir fonksiyondan daha byk ise alt programlarkullanlr. Alt programa GOSUB n deyimi ile gidilir. Burada n alt programn ilk
satrnn numarasdr. Alt programn sonundaki RETURN komutu ile GOSUBkomutunun altndan program ileyii devam eder.
.GOSUB n..ENDn .
RETURN
Ana program iin geerli olan tm kurallar alt program iin de geerlidir.Deikenler ortak olarak kullanlmaktadr. Yani bir deikenin deeri hem anahem de alt programda ayndr. Bir ana programda birden fazla alt programolabilecei gibi bir alt programn iinde de baka bir alt program olabilir.
23
8/8/2019 ALGORTMA GELTRME VE BASIC PROGRAMLAMA DL
24/29
QBASIC'te program listesi dnda da alt program yazlabilmektedir. Editmensnden New Sub komutu seilerek yeni bir alt program oluturulabilir.
DECLARE SUB Komutu:
Program listesi dnda yazlm alt program olduunu ve bunlarla ilgilideikenleri belirtir. Programc tarafndan yazlmazsa derleyici tarafndan
program listesine eklenir.DECLARE SUB Alt program ismi (deiken 1, deiken 2, )
CALL Komutu:
Ayr yazlan alt programlar program iinde armak iin kullanlr. DECLAREkomutunda belirtilen deikenlerin tamam CALL komutunda bulunmaldr.
CALL Alt program ismi (Deiken 1, Deiken 2, )
CALL deyimi ve parantezler kullanlmayabilir.
Alt program ismi Deiken 1, Deiken 2, ..
COMMON SHARED Komutu:
Ayr yazlan alt programlarda kullanlan parametrelerin deerlerinin ortakkullanldn belirtir. Genellikle ana programn ilk satrlarna yazlr.
COMMON SHARED Deiken 1, Deiken2, .
EXIT SUB Komutu:
Ayr yazlan bir alt program END SUB komutuyla sona eriyordu ve ana
program CALL komutunun altndan devam ediyordu. EXIT SUB komutuyla altprogram tamamlanmadan ana programa dnlebilir.
BASICte Dosya (Ktk) lemleri
Veri giri ve klar iin kullandmz INPUT ve PRINT komutlar klavyedengirilen veriyi okuyup, sonular ekrana yazyordu; ancak byk hacimli verilersz konusu olduunda, programn her almasnda bunlarn klavyede yazlpsonra da sonularn ekrandan alnmas zor olmaktadr. Byle durumlarda
24
8/8/2019 ALGORTMA GELTRME VE BASIC PROGRAMLAMA DL
25/29
verilerin daha nceden alm dosyalardan okutulup, elde edilen sonularn dayine baka dosyalara yazdrlmas daha uygun olmaktadr.
OPENktk ismiFOR INPUT AS # dosya no
OUTPUT APPEND...CLOSE # dosya no
Dosyadan veriler okunurken
INPUT # dosya no, deiken1, deiken 2
Sonular dosyaya yazdrlrken
PRINT #dosya no, deiken1, deiken2
Formatl yazdrmada
PRINT # dosya no , USING Alan tanmlayc ; Deiken Listesi
rnek:
OPEN veri.dat FOR INPUT AS #1 OPEN "I", #1, "veri.dat"OPEN sonuc.ck FOR OUTPUT AS #2 OPEN "O", #2, "sonuc.ck"INPUT #1, a,bc=a+bPRINT #2, c
OPEN " O " , # ktk no, "ktk ismi"" I "
" A "
Program her altrldnda kt kt yeniden yazlr ve eski bilgilerkaybolur bunu nlemek iin OUTPUT kt yerine APPEND ktalmaldr.
Ktklerin Kapatlmas
OPEN komutu ile alan ktklere ilikin ilemler tamamlandktan sonra
bunlarn program iinde kapatlmalar gerekmektedir.
25
8/8/2019 ALGORTMA GELTRME VE BASIC PROGRAMLAMA DL
26/29
CLOSE #ktk no, #ktk no,
CLOSE komutundan sonra ktk ismi ve ktk numaras arasndaki ilikiortadan kalkar. Bir ktk kapandktan sonra onunla ilgili ilem yaplamaz.
Ktk daha sonra ayn veya farkl ktk numarasyla ve farkl ktk tipiylealabilir. CLOSE ifadesinde ktk numaras belirtilmezse alan btn ktklerkapatlr.
Ktklerin Durumlarnn Elde Edilmesi
Bir ktn durumu hakknda, yani bir okuma ilemi srasnda ktn sonunagelinip gelinmediinin veya program ierisinde alan ktklerden ka kaytokunduunun veya ka kayt yazldnn veya ktn ka kayttanolutuunun bilinmesi isteniyorsa
LOF fonksiyonu, allan ktn uzunluunu byte cinsinden verir.LOC fonksiyonu, ktn almasndan itibaren ktkten okunan veya yazlankayt saysn verir
IF LOC(1) > 30 THEN STOP (1 numaral ktkte 30 ncu kayt geildiindeprogram durdurulmaktadr.)
EOF fonksiyonu, bir ktn sonuna eriilip eriilmediinin kontrol
edilmesinde kullanlr.
IF EOF(1) THEN CLOSE #1 (1 numaral ktn sonuna eriildiinde ktkkapatlmaktadr.)
BASIC' DE ZM KOMUTLARI
SCREEN Komutu:
SCREEN komutu ekran znrln deitirerek izim iin uygun ortamsalar. nk yaz yazmak iin daha az znrlk yeterli olmaktadr veQBASIC varsaylan ortam olarak metin (text) ortamn kabul eder. Ekrandakigrnt noktalarn birleiminden oluur. Bu noktalara piksel denir.znrln artmas demek ekrandaki piksel saysnn artmas demektir.
SCREEN Mod
26
8/8/2019 ALGORTMA GELTRME VE BASIC PROGRAMLAMA DL
27/29
Mod Tanm0 Yaz modu, grafik izilemez1 320 x 200 piksel, 4 renk, 25 satr 40 kolon2 640 x 200 piksel, 2 renk (siyah, beyaz), 25 satr 80 kolon
7 320 x 200 piksel, 16 renk, 25 satr 40 kolon8 640 x 200 piksel, 16 renk, 25 satr 80 kolon9 640 x 350 piksel, 16 renk 10 640 x 350 piksel, 9 gri ton11 640 x 480 piksel, 2 renk12 640 x 480 piksel, 16 renk13 320 x 200 piksel, 256 renk, 25 satr 40 kolon
Grafik kartmza uymayan SCREEN Mod'lar "Illegal Function Call" hata
mesaj verir. Bu durumda baka bir mod denenir.
PSET (Pixel Set) Komutu:
Bu komut ile ekrandaki herhangi bir yere nokta koyabiliriz.
PSET (x,y), Renk No
Renk No Renk Renk No Renk 0 Siyah 8 Koyu gri1 Lacivert 9 Mavi2 Yeil 10 Parlak yeil3 Ak mavi 11 Parlak mavi4 Krmz 12 Parlak krmz5 Pembe 13 Parlak pembe6 Kahverengi 14 Sar7 Ak gri 15 Beyaz
Screen 13
(0,0) (320,0)
(320,200)(0,200)
( x )
( y )
27
8/8/2019 ALGORTMA GELTRME VE BASIC PROGRAMLAMA DL
28/29
LINE Komutu:
izgi izmek iin kullanlr. (x1,y1) ve (x2,y2) noktalar arasnda bir izgiizmek iin
LINE (x1,y1)-(x2,y2), Renk no
Kegeni (x1,y1) ve (x2,y2) noktalar olan bir dikdrtgen izdirmek iin
LINE (x1,y1)-(x2,y2), Renk no, B (Box)
Bu kutuyu doldurmak iin
LINE (x1,y1)-(x2,y2), Renk no, BF (Box Fill)
CIRCLE Komutu:
ember izmek iin kullanlr. Merkezi (x,y) yarap R olan bir emberiizdirmek iin
CIRCLE (x,y), R, Renk No
Bir emberin tamamn deil de bir ksmn izdirmek iin renk parametresindensonra -2 ve 2 arasnda deien balang ve biti parametreleri kullanlr.
CIRCLE (x,y), R, Renk No, Balang, Biti
emberin yatay ve dikey koordinatlarnn birbirine orann belirleyerek emberielips ekline dntrmek te mmkndr.
CIRCLE (x,y), R, Renk No, Balang, Biti, Yatay/Dey
Arada girilmek istenmeyen deerler bo braklr. Virgller konur.
PAINT Komutu:
Ekran zerinde belirtilen bir noktadan balayarak ekran belirtilen renge boyar.Kapal bir alanla karlancaya kadar bu ilem srer.
PAINT (x,y), Renk No
CIRCLE (100,100),75,4 PAINT (100,100),4 (emberin iini boyar)
28
8/8/2019 ALGORTMA GELTRME VE BASIC PROGRAMLAMA DL
29/29
PAINT(200,200),4 (emberin dn boyar)
BASIC'te SES KOMUTLARI
BEEP Komutu:
Programlarn gerekli yerlerinde bazen sesle uyar vermek gerekebilir. BEEPkomutu belirli bir tonda ve standart uzunlukta zil sesi karr. Komutun kullanm
parametresi yoktur.
SOUND Komutu:
BEEP komutu hep ayn sesi kard iin farkl uyar mesajlar iin yeterliolmayabilir. SOUND komutu iki parametreyle kullanlr. Birincisi frekans,ikincisi ise uzunluu verir.
SOUND frekans, uzunluk
Frekans parametresi 37 ile 32767 arasnda deiebilse de 14000 den yksekfrekansl sesler insan kula tarafndan duyulamaz.
SLEEP Komutu:Programn belirtilen srede veya bir tua baslncaya kadar durmasn salar.
SLEEP Zaman
Burada zaman saniye cinsinden bir tamsaydr. Zaman belirtilmezse bir tuabaslncaya kadar bekler.
Recommended