Algoritma ve Programlamaya Giriş 3

Embed Size (px)

Citation preview

  • 7/28/2019 Algoritma ve Programlamaya Giri 3

    1/21

  • 7/28/2019 Algoritma ve Programlamaya Giri 3

    2/21

    21

    ALGORTMA VE PROGRAMLAMAYA GR Yalolu

    Bu kullanekli iin dier rnek ise; nnde verilen aritmetiksel ilemleri yapar.

    RNEK:

    PRINT 2*1500/(2+SQR(16))Bu ifade program editrne yazlp RUN/START ilemi yapldnda ekrandakigrnt yledir:

    b) PRINT yalnz bana yazldnda ekranda bir satr boluk brakr veya eercursor herhangi bir satrn ortasnda ise o satr geip alt satrda satrbayaparak bekler.

    c) Birden fazla deiken arka arkaya yazdrlrken deiken aralar (,) veya (;) ileblnebilir. Eger (;) konularak blnrse:

    i ) Yazsal dizi deikenleri aralarnda boluk olmakszn birbiri ardna yazlr.ii ) Saysal deikenlerin arkasna bir boluk eklenerek yazlr.iii) Pozitif saylarn nne bir boluk eklenir.

    500

    Press any key to continue

    Bilgisayar dersi ok kolay

    Press any key to continue

  • 7/28/2019 Algoritma ve Programlamaya Giri 3

    3/21

    22

    ALGORTMA VE PROGRAMLAMAYA GR Yalolu

    RNEK:

    Eer aray blmek iin (,) kullanlrsa; (,)'den sonra gelen deiken bir sonrakiprint blgesinin bandan itibaren yazlmaya balanr.Print blgesi nedir denilir ise;bilgisayar ekran (her bilgisayara gre deimekle birlikte genelde 8 yada 10

    karakterlik) stunlar seklinde yazma blgelerine ayr

    lm

    t

    r. te bu blgelere PrintBlgesi (veya Tab Blgesi) denir. Bu blgeler ekrana bakldnda grlmez.

    RNEK:Bu rnekte anlalr olmas iin ekrann zerinde tab blgeleri iaretlenmitir.

    25 -35 60ELEKTRKELEKTRONK ELEKTRKELEKTRONKELEKTRK ELEKTRONKELEKTRKELEKTRONK

    Pres any key to continue

    A=25B=60C=A-BAD$="ELEKTRK"BD$="ELEKTRONK" :C$=AD$+BD$PRINT A;C;B

    PRINT AD$;BD$PRINT AD$,BD$PRINT C$

  • 7/28/2019 Algoritma ve Programlamaya Giri 3

    4/21

    23

    ALGORTMA VE PROGRAMLAMAYA GR Yalolu

    e) Verileri bulunduumuz satrn belli bir kolonundan itibaren yazdrmak istersek

    bu durumda print ynergesi TAB ynergesi ile birlikte kullan

    l

    r.

    f) Yazsal dizilerin arasndaki (+) toplama ilemi iki yazsal diziyi arka arkayaekler.

    TAB:Kullanl Formu:TAB(say yada saysal deiken):

    Bu ynerge print ile birlikte kullanlr ve deiken deerinin cursorun o andakibulunduu satrn kanc stunundan itibaren yazlacan belirler.Bu saynn x

    olduunu farz edelim; (x-1) adet stun getikten sonra x'inci stundan itibarenyazmaya balar. Burada dikkat edilmesi gereken husus bu rakam 255'den bykolamaz. Aslnda bilgisayar 255,e kadar size hata vermez; ancak normalde ekranboyunun 40 veya 80 karakterlik olduunu dnrsek zaten bu rakamlardan bykbir say verdiimizde ekrandaki grn bizim istediimiz satrda deil daha altsatrda olacaktr.Aadaki rnekte tab blgelerinin 10'ar karakter olduu farz edilmi ve anlalrolmas iin bu blgeler rakam ile ayrlmtr.

    10 A$="DOKUZ EYLL"

    20 B$="NVERSTES"30 PRINT A$,B$

    1.blge 2.blge 3.blge 4.blge 5.blge 6.blge 7.blge 8.

    -----------------------------------------------------------DOKUZ EYLL NVERSTES

    Pres any key to continue

  • 7/28/2019 Algoritma ve Programlamaya Giri 3

    5/21

    24

    ALGORTMA VE PROGRAMLAMAYA GR Yalolu

    RNEK:

    SONULARI YAZICIYA YAZDIRMAK

    Bilgisayarda programlar icra edilirken her defasnda ekranla almak yeterlideildir. ou zaman sonularn kada yazlmas istenir. Bu ilem aynen printkomutu gibi alr.

    LPRINT:

    Kullanl formu ve nndeki ifadelerin durumu PRINT ile ayndr. Tek fark isePRINT ekrana yazmay salarken LPRINT yazcya yazdrmay salar. LPRINTnnde yazsal ve saysal deikenler, grafik karakterler, ASCII formunda verileniaretler olabilir. Bu komutu kullanrken dikkat edilecek tek husus yazcnn her satraka karakter yazddr.

    INPUT :

    Kullanl Formu:INPUT ["uyari"][...]

    Bu ynerge bilgisayara programla alan kiinin (kullancnn) bilgisayaraklavyeden (veya bir dosyadan) bilgi girmesini salar. Eer uyar yazlm ise nce ouyar mesajn ekrana basar ve yanna (?) basar. Bundan sonra kullancnn istenilenveriyi girmesini bekler. Eer birden fazla veri girilmesi gerekiyorsa aralarn (,) ileblmek gerekir. Eer Input ynergesinin beklediinden farkl sayda deiken girilirsedorusunu girmeniz iin hata mesaj yazar ve dorusunun girilmesini bekler. Eeruyar mesaj yazlmamsa dorudan soru iareti (?) basar ve deikenin girilmesinibekler. Bir dier dikkat edilmesi gereken husus; eer bilgisayar saysal bir deikenbekliyor ise saysal;deilse yazsal bir deiken girilmelidir. Aksi taktirde tipuyumazl hatas (type mistmach error) verir ve doru deikenin girilmesini bekler.

    10 A$="Mersin" : B$="Kltr" : C$="ve Sanat"20 D$="enliine Hogeldiniz."30 PRINT A$,B$;TAB(40)C$;D$

    12345678901234567890123456789012345678901234567890123456789- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Mersin Kltr ve Sanat enliine Hogeldiniz.

    Ok

  • 7/28/2019 Algoritma ve Programlamaya Giri 3

    6/21

    25

    ALGORTMA VE PROGRAMLAMAYA GR Yalolu

    RNEK:

    RNEK:

    Daha nceden ak diyagram verilen 1 numaral sat fii rneinin programnyapnz. Ek bilgiler: Bilgisayar orlon satan bir i yerinin sat fiini yazsn.

    10 INPUT "ADINIZ";AD$20 INPUT TEL30 PRINT "ismi=";AD$40 PRINT "telefon numaras=";TEL---------------RUN---------------ADINIZ?MUHTEREM MUHTEMEL?101011ismi=MUHTEREM MUHTEMEL

    telefon numaras=101011

    Ok

    10 INPUT"Ka liralk alveri yaptnz";fiyat20 kdv=fiyat*100/1030 tplam=fiyat+kdv

    40 PRINT"Dostlar Manifatura"50 PRINT"Pozcu Vd. 1108 Mersin":PRINT60 PRINT"ORLON=";TAB(15)fiyat70 PRINT"KDV=";TAB(16)kdv80 PRINT"TOPLAM=";TAB(15)tplam

    90 PRINT:PRINT"TEEKKR EDERZ"

    RUN

    Ka liralk alveri yaptnz?1000Dostlar ManifaturaPozcu Vd. 1108 Mersin

    Orlon 1000KDV= 100TOPLAM= 1100

    TEEKKR EDERZ

    Ok.

  • 7/28/2019 Algoritma ve Programlamaya Giri 3

    7/21

    26

    ALGORTMA VE PROGRAMLAMAYA GR Yalolu

    RNEK:

    Klavyeden girilen 10 saynn ortalamasn bulan ve yazan bir programn akdiyagramn iziniz, programn yapnz?

    RNEK:Ak diyagram 4 nolu rnekte verilen elektrik devresini zen ve istenilenleri

    ekranda birimleri ile birlikte yazan bir program yap

    n

    z?

    ZM:10 INPUT r1,r2,r3,r4,r5,E20 Re1=r3*r5/(r3+r5)30 Re2=Re1+r2+r440 Re=Re2*r1/(Re2+r1)50 I=E/Re60 P=I*E70 PRINT "Gerilim=";TAB(15)E;"Volt"80 PRINT "Akm=";TAB(15)I;"Amper"

    90 PRINT "G=";TAB(15)P;"Watt"100 PRINT "Toplam Diren=";TAB(15)Re;"OHM"

    BALA

    GirS1,S2,...,S10

    TPLAM=S1+S2+...+S10

    ORT=TPLAM/10

    TPLAMORT

    DUR

    10 INPUT"5 SAYI";s1,s2,s3,s4,s520 INPUT"5 SAYI";s6,s7,s8,s9,s1030 T=s1+s2+s3+s4+s5+s6+s7+s8+s9+s1040 Ort=T/1050 PRINT"TOPLAM=",T

    60 PRINT"ORTALAMA=",Ort

    RUN

    5 SAYI?10,20,30,40,505 SAYI?60,70,80,90,100TOPLAM= 550ORTALAMA= 55Ok

  • 7/28/2019 Algoritma ve Programlamaya Giri 3

    8/21

    27

    ALGORTMA VE PROGRAMLAMAYA GR Yalolu

    Eer burada diren deerleri biliniyor ise 10 numaral satrdaki input terimi yerine

    r1=10000:r2=1500 ... gibi dorudan diren deerleri verilebilir.

    GO TO :

    Kullanl Formu:GO TO

    Bu ynergenin ilevi programn ileyii esnasnda goto satrna geldii andabulunduu yerden GO TO ynergesinin nnde yazl numaral satra giderekprogramn almaya oradan devam etmesini salamaktr.

    Programn ierisinde kullanlabilecei gibi bilgisayara direkt olarak yazlarak

    kullanlabilir. Bylece daha nce yazlm bir program almaya en bandan deilde istediimiz bir yerinden balatmaya yarar.

    Program iinde kullanldnda dng yapmada byk numaral bir satrdan kknumaral satra tekrar tekrar gnderilerek kullanlabilir.

    Gnmz modern programclnda bu deyim neredeyse kalkmtr. Budeyimin yerini fonksiyon yazlmlar ve dng komutlar almtr. Ancak bilgisayarprogramcl haricindeki blmlerde, programlama sanatnn ilk retilmesiaamasnda yinede goto deyimini kullanarak mant daha basit hale getiriprenciye vermek yararl olabilir. Bu sebepledir ki ders notu yazlrken qbasic editrkullanlmasna ramen satr numaras kullanlarak yazma devam edilmitir. Bu dersnotundaki programlarn tamamnda komutlarda parametre olarak kullanlmayan satrnumaralar yazlmadnda da programlar alr.

    RNEK:

    GOTO 100veya20 GOTO 500 gibi

    RNEK:Daha nce yazm olduumuz sat fii programnda eer programn en sonuna;

    100 GO TO 10eklinde bir satr eklersek program durmayacak ve her fiin yazlndan sonra tekrarbaa dnerek yeni fii yazmak iin bekleyecektir.

    IF - THEN - ELSE:

    Kullanl Formu:

    IF THEN [ELSE ]

  • 7/28/2019 Algoritma ve Programlamaya Giri 3

    9/21

    28

    ALGORTMA VE PROGRAMLAMAYA GR Yalolu

    Kelime anlam olarak yapt ii yle aklamak mmkndr:

    EER ifadesi doru ise O ZAMAN ilemini yap [DELSE ilemini yap.]

    Yapt ilemi tam anlayabilmek iin ncelikle IF-THEN ksmn inceleyelim.Budeyim bilgisayarn zekasn yani karlatrma yeteneini salar.IF deyimininardndan gelen deyim; deikenleri, yazsal dizileri, saylar ve mantksal operatrleriierebilir. Eer burada verilen ifade doru ise THEN deyiminden sonra gelen ifadeyerine getirilir.Eer IF deyiminden sonra gelen ifade doru deilse ve ELSE terimi kullanlmamsabu ynergenin olduu satr ileme girmeden atlanr ve bir sonraki satrdaki ilem icraedilir. THEN deyiminin ardndan herhangi bir basic terimi gelebilecei gibi bir satr

    numaras da gelebilir. Satr numaras geldiinde bunun anlam; eer IF deyimindensonra gelen ifade doru ise THEN deyiminden sonra verilen satr numarasna git veileme oradan devam et demektir.

    Eer THEN deyiminden sonra birka tane ilem yaplacaksa THEN deyimininardndan alt satra geilerek istenilen ilemler yaplr ve bu durunda ilemlerinbitiminden sonra ENDIF deyimi kullanlr.

    Bu deyimlerden sadece IF-THEN ksm kullanlabilecei gibi bunlarnardndan ELSE ksm da eklenebilir. ELSE ifadesini, yine THEN ifadesinde olduugibi bir satr numaras yada bir veya birka basic ifadesi takip edebilir. Hepsi beraberkullanldnda ise bilgisayara verdikleri emiru ekilde olacaktr: Eer IF deyiminden sonra gelen ifade doru ise THENdeyiminden sonra gelen ifadeyi, yada emri yerine getir; eer IF deyiminden sonragelen ifade doru deil ise ELSE deyiminden sonra gelen ifadeyi yerine getir.

    RNEK:

    10 IF a=5 THEN PRINT "doru" ELSE 50Bu rnein anlam Eer a=5 ise ekrana doru yaz, eer a=5 deilse o zaman 50numaral satra git ve oradaki ilemi yerine getir.

    RNEK:

    IF F>50 THENA=(B+C9)*40/100B=F*60/100C=A+B

    ENDIF

    Bu rnekte de F says 50 den byk ise A, B, C hesaplamalar yaplr ve ilemENDIF deyiminin ardndan devam eder. Eer F says 50 den byk deil ise A, B, C

    hesaplamalar yaplmadan ilem ENDIF deyiminin ardndan devam eder

  • 7/28/2019 Algoritma ve Programlamaya Giri 3

    10/21

    29

    ALGORTMA VE PROGRAMLAMAYA GR Yalolu

    RNEK:

    Ak diyagramn verdiimiz iki numaral sat fii rneinin programn yazalm.

    Program altrldnda:

    ?Kitap,1100LKBAHAR MARKETPOZCU Vd.1212. Mersin

    Kitap 1100KDV= 110TOPLAM= 1100

    TEEKKR EDER

    Z

    ?

    10 INPUT Cinsi$,fiyat20 IF Cinsi$="Hrdavat" THEN KDV=fiyat*13/113 : GOTO 5030 IF Cinsi$="Gda" THEN KDV=fiyat*3/103 : GO TO 5040 KDV=fiyat*10/11050 PRINT "LKBAHAR MARKET"60 PRINT "POZCU Vd.1212. Mersin"70 PRINT

    80 PRINT Cinsi$; TAB(16) fiyat90 PRINT "KDV=";TAB(17) KDV100 PRINT "TOPLAM=" TAB(16) fiyat110 PRINT120 PRINT "TEEKKR EDERZ"130 GOTO 10

  • 7/28/2019 Algoritma ve Programlamaya Giri 3

    11/21

    30

    ALGORTMA VE PROGRAMLAMAYA GR Yalolu

    RNEK:

    Ak diyagram konusunda verilen 3 numaral rnein programn yapalm.

    Ayn rnein 100. satra kadarki ksmyle de yazlabilir.

    10 INPUT"Alinan maln cinsi,fiyat";Cinsi$,fiyat20 IF Cinsi$ "Hrdavat" THEN 40 ELSE KDV=fiyat*13/11330 GOTO 6040 IF Cinsi$"Gda" THEN 50 ELSE KDV=fiyat*3/103:GOTO 6050 KDV=fiyat*10/11060 tplam=tplam+fiyat: vergi=vergi+KDV70 INPUT "Baska mal aldnz m (E/H)";Se$80 IF Se$="E" THEN 10

    90 IF Se$"H" THEN 70

    10 INPUT "Alnan maln cinsi,fiyat";Cinsi$,fiyat20 IF Cinsi$="Hrdavat" THEN KDV=fiyat*13/113 :GOTO 5030 IF Cinsi$="Gda" THEN KDV=fiyat*3/103 : GOTO 5040 KDV=fiyat*10/11050 tplam=tplam+fiyat60 vergi=vergi+KDV70 INPUT "Baska mal aldnz m(E/H)";Se$80 IF Se$="H" THEN 100

    90 IF Se$="E" THEN 10 ELSE 70100 PRINT"TCCAR TCARET"110 PRINT"MALTEPE Vd.1243 ANKARA"120 PRINT"TEEKKR EDERZ"130 PRINT140 PRINT"Fiyat="; TAB(15) tplam150 PRINT"KDV=" ;TAB(16) vergi160 PRINT"TOPLAM=";TAB(15) tplam

    170 tplam=0:vergi=0:GO TO 10

  • 7/28/2019 Algoritma ve Programlamaya Giri 3

    12/21

    31

    ALGORTMA VE PROGRAMLAMAYA GR Yalolu

    RNEK:

    Bir rencinin geme kalma notunu hesaplayan bir program yapnz. Nothesaplama sistemi yledir:Finale girmek iin vize ortalamas 40'dan bykolmal.Vize ortalamasnn %40' ile final notunun %60'nn toplam 60 dan bykolursa ve final notu 50'den byk olursa ders baarlm olmaktadr. Deilse aynsistem btnleme snav iin uygulanacaktr.

    RNEK A)1'den 500'e kadar olan saylarn toplamn ve ortalamasn bulan bir program

    yaznz?

    RNEK B)Yukardaki rnekten faydalanarak alt ve st snr kullanc tarafndan belirlenen ve

    birer birer artan saylarn toplamn ve ortalamasn bulan bir program yaznz?

    10 INPUT "vize 1,vize2";v1,v220 vo=(v1+v2)/230 IF vo

  • 7/28/2019 Algoritma ve Programlamaya Giri 3

    13/21

    32

    ALGORTMA VE PROGRAMLAMAYA GR Yalolu

    RNEK C) Ka tane olduu bilinmeyen pozitif saylarn toplamve ortalamasn bulan program yaznz?Not=En son saydan sonra negatif bir say giriniz.

    RNEK D)Yukardaki rneklerden faydalanarak bir rencinin derslerinin aritmetik

    ortalamasn bulan bir program yaznz?

    10 INPUT "Alt ve st snr giriniz";a,20 n=a-130 n=n+1 : s=s+1 : t=t+n40 IF n

  • 7/28/2019 Algoritma ve Programlamaya Giri 3

    14/21

    33

    ALGORTMA VE PROGRAMLAMAYA GR Yalolu

    FOR - NEXT DNGS :

    Kullanl Formu:FOR= TO [STEP ]

    --

    NEXT

    Bu ynerge deikenleri saya olarak kullanmamz salayan bir basicynergesidir. Bu ynerge verilen balang deerinden biti deerine kadar belirtilenadm aralklar ile sayar. Burada deikenin bir sonraki adma artmasn (veyaeksilmesini) belirten ifade NEXT ifadesidir. Bunun nerede kullanlabileceini

    anlayabilmek iin rnek A ve B'ye bakmak yeterli olacaktr. Bu rneklerdeki nartlarn FOR-NEXT dngs ile yapmak daha kolay olacaktr.

    STEP ifadesi kullanlmad zaman artma says +1 olarak ilemgrecektir. Burada balang ve biti deerleri ve artma saylar olarak ondalkl sayveya tamsay kullanlabilir.

    Bu ifadeyi kullanrken baz hususlara dikkat etmek gerekir. Bunlardan birincisieer balang deeri biti deerinden kk ise artma says pozitif, bunun tersidurumda ise artma says negatif olmaldr. Aksi taktirde sonsuz dng oluacaktr.

    Bir dier konu; eer i ie birden fazla dng ald ise dnglerin kapanifadeleri olan next'ler de en ierdekinden dtakilere doru dngler kapatlmaldr. Birdngnn kapatlmas iin o dng balatlrken kullanlan FOR deyiminin nndekideiken ile NEXT deyiminin nndeki deiken ayn olmaldr.

    Bir dier husus dngnn balang ve biti saylar ayn olsa bile her dng enaz bir defa ileme girer. Yani FOR i=1 TO 1 dngs 1 kez ileme girecektir.

    Bir programda bir adet FOR-NEXT dngs var ise NEXT'in nne deikenyazmaya gerek yoktur. Ancak birden fazla ve i ie alm dnglerde NEXT'in

    nne mutlaka hangi dngye ait olduunu bildiren deiken yaz

    lmal

    d

    r.RNEK:

    A rneinde verilen; 1'den 500'e kadar olan saylarn toplam ve ortalamasn bulanprogram FOR-NEXT dngs ile yapalm:

  • 7/28/2019 Algoritma ve Programlamaya Giri 3

    15/21

    34

    ALGORTMA VE PROGRAMLAMAYA GR Yalolu

    RNEK:50'den 1'e kadar olan saylarn toplamn bulunuz? Bu rnei iki ekilde yapmak

    mmkndr. Biz bu iki yolu da gstererek rencinin dng kavramn anlamasnayardmc olmaya alacaz.

    REM :Kullanl Formu :

    REM

    Program asndan hibir nemi yoktur. Bu ynerge kullancdan ziyadeprogramcy ilgilendirmektedir. REM deyimi nne programc hatrlamak istediiaklama notlarn yazar. Program altnda bu notlar ekranda yazlmaz. Sadeceeer programda bir hata karsa programc yazd hatrlatma notlarna bakarakhatay daha kolay bulacaktr.

    RNEK:0'dan 1000'e kadar olan ift saylarn toplamn bulan bir program yaznz?

    10 REM KNC METOD

    20 n=5030 t=t+n40 n=n-150 IF n=0 THEN 50 ELSE 3060 PRINT "50'den 1'e kadar saylarn toplam=";t

    70 END

    10 REM DNG METODU20 FOR n=50 TO 1 STEP -130 t=t+n40 NEXT n50 PRINT"50'den 1'e kadar olan saylarn toplam=";t

    60 END

    10 FOR i=1 TO 50020 tplam=tplam+i30 NEXT i40 rt=tplam/50050 PRINT "1'den 500'e kadar olan saylarn"60 PRINT "Ortalamas =";rt70 PRINT "Toplam =";tplam

    RUN

    1'den 500'e kadar olan saylarnOrtalamas =250.5

    Toplam =125250

  • 7/28/2019 Algoritma ve Programlamaya Giri 3

    16/21

    35

    ALGORTMA VE PROGRAMLAMAYA GR Yalolu

    END:

    Kullanl Formu:END

    Bu deyim genellikle programlarn sonunda yer alr ve ilevi programn almasndurdurmaktr. Her seferinde sonda yer alr diye bir art yoktur. Baz programlardaprogramn her hangi bir yerinde durdurulmas istenilebilir. te bu durumlarda ENDdeyimi kullanlr. Eer programn en sonunda bu deyim kullanlmazsa program yineduracaktr ancak bu defasnda ekrana en son hangi satr ilediini gsteren bir notyazarak duracaktr. END ile arada bir yerde durdurulmu bir program CONT komutuile almaya kald yerden devam ettirilebilir.

    STOP:

    Kullanl Formu:STOP

    Yapt ilem bakmndan END komutu ile ayndr.Programn geici olarak durdurulmasnda kullanlr. END ile arasndaki fark iseSTOP komutu ile program durdurulduunda en son ilem gren satr numaras

    ekrana yaz

    l

    r. CONT komutu ile program kald

    yerden al

    maya devam ettirilebilirveya GO TO komutu ile program bizim istediimiz yerdenalmaya devam ettirilebilir.

    10 FOR i= 0 TO 1000 STEP 2

    20 tplam=tplam+i30 x=x+140 next i50 rt=tplam/x60 PRINT "0'dan 1000'e kadar olan ift saylarn"70 PRINT "Toplam =";tplam80 PRINT "Ortalamas =";rt

    90 END

  • 7/28/2019 Algoritma ve Programlamaya Giri 3

    17/21

    36

    ALGORTMA VE PROGRAMLAMAYA GR Yalolu

    RNEK:

    Alt snr ve st snr dardan verilen tamsaylar dizisinin ift saylarn toplayanve ortalamasn bulan bir program yaznz?

    RNEK:Verilen iki saydan byn ve kn ayrt eden ve yazan bir program

    yaznz?

    RNEK:Taban yarap ve ykseklii verilen koninin hacmini bulan program yaznz?

    V=pi * r^2 * h / 3

    10 INPUT "iki say giriniz";s1,s220 IF s1>s2 THEN b=s1: k=s230 IF s1

  • 7/28/2019 Algoritma ve Programlamaya Giri 3

    18/21

    37

    ALGORTMA VE PROGRAMLAMAYA GR Yalolu

    RNEK:

    Kenar lleri verilen genin evresini ve alann hesaplayan bir programyaznz?

    LOCATE:

    Kullanl Formu:LOCATE (y,x)

    Bu deyim yazlacak olan yaznn ekran zerinde nereye yazlacan belirtir.Burada y says 25'den byk olamaz ve verinin hangi satra yazlacan belirtir. xsays ise verinin yazlaca stunu belirler. Bu rakam ekrann yazma kabiliyetinegre 40 yada 80'den byk olamaz.

    SPC:

    Kullanl Formu:SPC(x)

    Bu deyim PRINT ile yaz yazlrken yazlan veriler arasnda boluk brakmayayarar.

    RNEK:12345678901234567890123456789012345678901234567890123456789-----------------------------------------------------------

    10 a$="TRK

    YE" : b$="CUMHUR

    YET

    "

    20 LOCATE (8,30):PRINT a$;SPC(5);b$ RUN TRKYE CUMHURYET

    10 INPUT "genin kenar lleri=";a,b,c20 evre=a+b+c : u=(a+b+c)/230 Alan= SQR(u*(u-a)*(u-b)*(u-c))40 PRINT "ALAN=";Alan,"EVRE=";evre

  • 7/28/2019 Algoritma ve Programlamaya Giri 3

    19/21

    38

    ALGORTMA VE PROGRAMLAMAYA GR Yalolu

    CHR$:

    Kullanl Formu:CHR$(saysal deiken)

    Print ile birlikte kullanlr. Yazdrmalarda bazen yle sorunlar kar ki bunlaryazmakta zorlanrz. Mesela " " iareti yazdrmak istediimizde PRINT deyimininnnde imdiye kadar rendiimiz metotlarla mmkn deildir. te bu gibidurumlarda CHR$ deyimi kullanlarak istediimiz (eer bilgisayarmzda o iaretmevcut ise) iaret veya ekli yazdrmamz mmkn olacaktr.

    Kullanl formundaki saysal ifade yerinde 255'den kk bir say kullanlmaldr.Kullanlan say yazmak istediimiz iaretin makine ierisindeki kodu olmaldr. Hangi

    rakamn sizin bilgisayarnzda hangi iareti simgelediini bilgisayarlarn kullanmaklavuzunda bulmakmmkndr.

    ASC:

    Kullanl Formu:ASC(ifade)

    Bilgisayarlar ekrana yazabildikleri her iaret, harf ya da rakama karlk ilerindebir say ile onu simgelerler. te bu karlk sistemine ASC II kod sistemi denir.

    CHR$ ile yazdrmak istediiniz bir iaretin karl olan sayy bu deyimlerenmeniz mmkndr. Eer ifade yerinde tek bir harf yada rakam deil de bir diziverilirse ASC deyimi verilen dizinin ilk karakterinin kod karln verecektir.

    RNEK:32 ile 255 arasndaki ASC II kod tablosunu yazan bir program yaznz?

    NOT: 0,dan 255'e kadar olan ASC II kod tablosu ders notlarna eklenmitir.

    RNEK:A harfinin ASC II kodunu veren bir satrlk bir basic ifadesi yaznz?

    PRINT ASC(A)

    10 FOR i=32 TO 25520 PRINT i;CHR$(i),

    30 NEXT i

  • 7/28/2019 Algoritma ve Programlamaya Giri 3

    20/21

    39

    ALGORTMA VE PROGRAMLAMAYA GR Yalolu

    RNEK:

    Bir i yerinde elemanlarn vergi iadeleri bilgisayarla kontrol ettirilmektedir. Builemi nce fatura toplamnn kontrol ve sonra vergi iadesi hesabnn kontroleklinde yapmaktadr.Bu ilemi yapabilecek bir program hazrlaynz. Vergi iadeoranlar:0-30000 iin %20, 30001-60000 iin %15 , 60001-100000 iin %10, 100000-maa miktar iin %5 'dir.

    GET (INKEY$) :

    Kullanl Formu:

    GET (Yaz

    sal dizi deikeni)=INKEY$

    Bu ynerge baz bilgisayarlarda GET baz bilgisayarlarda ise INKEY$ olarakkullanlmaktadr. Yapt i INPUT gibidir; ancak bu komutla klavyeden yalnzca birtek harf ya da deiken okunur ve bu deyimle bilgi girildiinde RETURN tuunabasmaya gerek yoktur. zellikle evet yada hayr eklinde cevaplanmas istenenyerlerde kullanlr. Aada evet (E) yada hayr (H) cevabn kabul eden programlarverilmitir. Bu programlar E yada H harfleri haricinde cevap kabul etmemektedir.Bylece kullancnn yanllkla baka bir tua basmas nlenmi olur. Buprogramlarda 10 numaral satr bilgisayarn bir tua baslncaya kadar beklemesini

    salar. "" iaretleri arasnda hibir iaret olmamaldr.

    10 INPUT"Maa miktar=";maa20 PRINT"Faturalarn zerinde yazan TOPLAM deerini girin"30 PRINT "En son faturadan sonra bir 0 rakam giriniz"40 FOR i=1 TO 10000

    50 INPUT "Fatura toplam deeri=";fm60 fatt=fatt+fm70 IF fm=0 THEN i=i-1:GOTO 9080 NEXT i90 PRINT "Fatura adedi =";i100 PRINT "Fatura toplam =";fatt110 IF fatt>maa THEN fatt=maa120 IF fatt

  • 7/28/2019 Algoritma ve Programlamaya Giri 3

    21/21

    ALGORTMA VE PROGRAMLAMAYA GR Yalolu

    RNEK:

    Bilgisayara 1 ile 6 arasnda iki say tutturulmakta ve bir zar gibi almasistenmektedir. Her zar atndan nce eer zar atlacaksa E, atlmayacaksa H tuunabaslmas istenmektedir.Bu ii yapan program GET ve INKEY$ iin ayr ayr yapnz?

    5 REM RNEGN GET LE ZM10 PRINT "Zar atacakmsnz (E/H)"20 GET a$ : IF a$="" THEN 2030 IF a$="E" THEN 6040 IF a$="H" THEN END50 PRINT"E veya H tularndan birini seiniz":GO TO 20

    60 a=INT(RND(0)*6+1) : b=INT(6*RND(0)+1)70 PRINT a,b80 GOTO 10

    5 REM RNEGIN INKEY$ LE ZM10 PRINT "Zar atacaksanz E, atmayacaksanz H tuuna basn20 a$=INKEY$ :IF a$="" THEN 2030 IF a$="E" THEN 6040 IF a$="H" THEN STOP50 PRINT "E ya da H tuuna basnz" :GO TO 2060 FOR i=1 TO 270 a(i)=INT(RND(0)*6+1)80 PRINT a(i),90 NEXT i100 PRINT : GO TO 10