ALGORİTMA GELİŞTİRME VE BASIC PROGRAMLAMA DİLİ

Embed Size (px)

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.