You are on page 1of 59

ALGOR TMA

r. Grv. Mahmut KANTAR

ALOR TMA


Problem zmlerinde izlenecek olan ad mlar n haz rlan na bilgisayar dilinde algoritma denir. Bir problemin birden fazla zm yolu bulunabilir. Bilgisayar kullanarak bir problem zmek istiyorsak, yapaca m z ilk i lem, problemi zp algoritmas n haz rlamak olacakt r. Algoritman n zel (geometrik) ekillerle gsterilmesi, ak diyagram olarak tan mlan r.

Bilgisayarla bir problem zmnde yap lacak ilk ve temel i , problemin algoritmas n haz rlamakt r. Algoritma haz rland ktan sonra, istenilen programlama dilinin komutlar ile program yaz l r. Bir problemin algoritmas haz rlanabiliyor ise o problem zlebilir demektir. Program yazarken de i ecek tek ey komutlar d r.

Algoritma Kurallar
 

 

Her i lem sat r n n, bir sat r numaras olmal d r. Ad m ad m tan mlanan zmlemede bir ya da birden fazla ad m n bir ok tekrar gerekebilir. Bu durumda belirli bir i leme dn , o i lem sat r n n sat r numaras verilerek yap l r. E er herhangi bir ad mda bir art gerekirse veya belirtilirse bu sa lan nca yap lacak i lemler, sat r numaras verilerek veya devam nda yap labilir. E er art sa lanm yorsa; devam ndaki i leme bak lmadan bir alt sat ra geilerek i lemler yap l r. Algoritmada e it (=) i aretinin anlam e itli in sa ndakileri hesaplayarak sol taraftaki de i kene aktar anlam na gelmektedir. Seilen de i kenler anlaml olmal d r.

Algoritmada Kullan lan Operatrler


Matematiksel fadeler  + Art i areti  Eksi i areti  * Y ld z veya arpma  / Blme i areti, noktal blme  ^ s i areti  . Tam ve ondal k k s mlar ay rma

Algoritmada Kullan lan Operatrler


Kar la t rma ifadeleri  < Kk i areti  > Byk i areti  = E ittir  <> E it de il  <= Kk e it  =< Kk e it  >= Byk e it  => Byk e it

Algoritmada Kullan lan Operatrler


Mant ksal i lem ifadeleri  De il  . Ve  + Veya

Algoritmada Kullan lan Operatrler


Genel i  (  )  %  #  !  ,  :  ;  &  $  \ lem ifadeleri Sol parantez Sa parantez Yzde, tamsay ifadesi No, Number, numara i areti, ift duyarl say nlem, Tek duyarl say ifadesi Virgl, yan na yaz, Input deyiminde 14 bo luk b rak yaz Ayn sat rda iki deyimi ay rmada Yan na yaz anlam nda Ve i areti, uzun tamsay ifadesi Dolar, Alfanmerik de i ken ifadesi Ters slash, tam say blme ifadesi

Algoritmada Kullan lan zel Terimler


Algoritmada s k s k de i ken, aktarma, saya gibi terimler kullan l r. Bunlar;

De i ken
Program n al t r lmas nda farkl de erler alabilen bilgi alanlar d r. De i ken isimlerinde;
a. b. c. d.

ngiliz alfabesinin A-Z aras byk ve kk 26 harfi kullan labilir. 0-9 aras rakamlar kullan labilir. Alt izgi(_) d nda zel karakter kullan lamaz. De i ken isimleri mutlaka harf ile ba lamal d r.

De i kenleri isimlendirme tamamen kullan c ya ba l d r. De i ken ad n n; yerini ald ifade ile a r m yapacak ekilde olmas program n anla l rl a s ndan nemlidir. rne in bir ki inin ad n n aktar ld de i ken AD veya Ad, soyad n n aktar ld de i ken SOY veya Soy olabilir.

rnek.1.


Ekrana iki tane say okunmaktad r. Okunan say lar n toplamlar n bulan algoritmay yaz n z.

rnek.1.

Alg1

1) BA LA 2) SAYILARI OKU 3) SAYILARIN TOPLAMINI BUL 4) TOPLAMINI YAZ 5) DUR

rnek.1.

Alg2

1) BA LA 2) 1. ve 2. SAYIYI OKU 3) 1. ve 2. SAYININ TOPLAMINI BUL 4) TOPLAMLARINI YAZ 5) DUR

rnek.1.

Alg3

1) BA LA 2) A, B OKU 3) TOPLAM = A + B 4) TOPLAM YAZ 5) DUR

Not:


Ekrana de er giri leri OKU deyimi ile yap ld ndan dolay , okunacak de erleri herhangi bir sembolik de i ken kullanarak OKU deyimi ile okutmaktay z. IKTI ise YAZ deyimi ile verilmektedir. Bu nedenle okunan ve yazd r lan de erler birden fazla ise okutturulan ve yazd r lan de erler aras na (,) i areti konulmaktad r. Bilgisayarda i lemler yap ld ktan sonra bulunan sonucun mutlaka saklanmas gerekmektedir. Bulunan sonucu saklayabilmek iin ncelikle bir de i kene aktar p, sonular n ekranda grntlenmesi iin de hangi de i kende sakl tutuluyorsa, de i kenler YAZ deyimi kullan larak ekranda grntlenir

rnek.2.


Ekrana iki tane say okunmaktad r. Okunan say lar n toplamlar n ve farklar n bulan algoritmay yaz n z.

rnek.2.

Alg1

1) BA LA 2) A, B OKU 3) TOPLAM = A + B 4) FARK = A - B 5) TOPLAM, FARK YAZ 6) DUR

rnek.2.

Alg2

1) BA LA 2) A, B OKU 3) TOPLAM = A + B 4) FARK = A B 5) TOPLAM YAZ 6) FARK YAZ 7) DUR

rnek.3.


Ekrana iki tane say okunmaktad r. Okunan say lar n toplamlar n ve farklar n bulan ve a a daki ekran grntsn veren algoritmay yaz n z. TOPLAM =? FARK = ?

rnek.3.

Alg.1

1) BA LA 2) A, B OKU 3) TOPLAM = A + B 4) FARK = A B 5) "TOPLAM =" , TOPLAM YAZ 6) "FARK = " , FARK YAZ 7) DUR

rnek.4.
Ekrana bir tane say okunmaktad r. Okunan say n n karesini, kpn bulan ve a a daki ekran grntsn veren algoritmay yaz n z. SAYI=? KARES = ? KP= ?

rnek.4.

Alg1

1) BA LA 2) A OKU 3) KARE = A ** 2 4) KUP = A3 5) "SAYI=", A YAZ 6) KARESI=", KARE YAZ 7) KP=",KP YAZ 8) DUR

rnek.5.


Ekrana iki tane say okunmaktad r. Okunan say lar aras nda aritmetik drt i lemi yapan ve a a daki ekran grntsn veren algoritmay yaz n z. 1. SAYI= 2. SAYI= FARK= ARPIM= BLM= TOPLAM=

rnek.5.
1) 2) 3) 4) 5) 6) 7) 8) 9) 10) 11) 12) 13) BA LA A, B OKU TOPLAM = A + B FARK = A - B ARPIM = A * B BLM = A / B 1.SAYI=, A YAZ 2.SAYI=, B YAZ TOPLAM=, TOPLAM YAZ FARK=, FARK YAZ ARPIM=, ARPIM YAZ BLM=, BLM YAZ DUR

Alg1

Aktarma
De i ken= fade Yukar daki sat rda De i ken yazan k s m, herhangi bir de i ken ismidir. fade yazan k s mda ise; matematiksel, mant ksal veya alfasay sal ifade olabilir. Aradaki = sembol aktarma ifadesi olarak adland r l r ve sa daki ifadenin sonucu soldaki de i kene aktar r. Bu durumda de i kenin e er varsa bir nceki de eri silinir. Bunu bir rnekle ifade edelim.

rnek.6.


Ekrana tane say okunmaktad r. Bu say lar n toplam ilk olarak 0 kabul edilmektedir. Her say girildi inde toplam say ile toplanarak toplam say de eri de i mekte ve ekrana yazd r lmaktad r.

rnek.6.
1) 2) 3) 4) 5) 6) 7) 8) 9) 10) 11) 12)

Alg1

Ba la T=0 A say s n oku T=T+A 1. T De eri= T de erini yaz B say s n oku T=T+B 2. T De eri= T de erini yaz C say s n oku T=T+C 3. T De eri= T de erini yaz Dur

Ko ullu


lemler

Bu zamana kadar yapm oldu umuz i lemlerde, sadece oku, i lem gerekle tir ve sonular yazd r anlam nda programlama i lemleri yapt k. Burada ise, bir ko ula ba l olarak i lem yap lmas durumunda ko ullu i lemler ad n verdi imiz ifadenin kullan l n ve uygulanmas n inceleyece iz. Bilgisayar programlama da kullan lacak olan ko ullu i lemlerde esas: ortaya konulan ko ulun sa lan p sa lanmamas durumudur. Ko ul sa lan r ise; Bilgisayar ko ulun devam ndaki i lemi yrtr. Ko ul sa lanm yor ise; Bilgisayar ko ulun devam ndaki i lemleri yapmadan direkt bir alt sat ra iner ve i lemleri bu sat rdan yrtmeye devam eder. Trkede ko ulu belirlemek iin E ER kelimesi kullan lmas na ra men, algoritma yazarken genellikle ko ulu belirlemek iin E ER kelimesi yerine programc l kta kolayl k sa lamas a s ndan IF kelimesini kullanmay tercih edece iz.

rnek.7.


Ekrana birbirinden farkl iki say okunmaktad r. Okunan bu say lardan byk olan n nce, kk olan n sonradan yazd ran algoritmay yaz n z.

rnek.7.

Alg1

1) BA LA 2) SAYI1, SAYI2 OKU 3) IF SAYI1 > SAYI2 SE SAYI1, SAYI2 YAZ 4) IF SAYI2 > SAYI1 SE SAYI2, SAYI1 YAZ 5) DUR

rnek.8.


Ekrana bir rencinin ad vize notu ve final notu olmak zere iki tane s nav notu okunmaktad r. Okunan notlara gre rencinin a a daki formle gre ba ar ortalamas n hesaplayan ve ba ar ortalamas 60tan kk ise ad ile birlikte ba ar s z, byk ise ad ile birlikte ba ar l yazd ran algoritmay yaz n z. BORT = V ZE *( 40 /100) + F NAL * (60/100)

rnek.8.

Alg1

1) BA LA 2) AD, V ZE, F NAL OKU 3) BORT = V ZE *( 40 /100) + F NAL * (60/100) 4) IF BORT < 60 SE AD, BA ARISIZ YAZ : G T 6 5) AD, BA ARILI YAZ 6) DUR

Mant ksal Ba lalar




Ve Ba lac Bu ba la birden fazla art belirtildi inde kullan l r ki bu artlar n do ru olmas istendi inde araya VE ba lac kullan l r. Bu ba la kullan m nda belirtilen artlar n hepsinin do ru olmas durumunda SE den sonraki i lemler yap l r. Burada belirtilen artlardan bir tanesinin bile yanl olmas durumunda SE den sonraki i lemlere bak lmaks z n bir alt sat rdan i lemlerin yap lmas srdrlr. Veya Ba lac Birden fazla art var ve bu artlardan sadece bir tanesinin do ru olmas yeterli oluyorsa bu durumda Veya ba lac kullan l r. Veya ba lac n n kullan lmas nda verilen artlardan sadece bir tanesi do ru ise bu durumda devam ndaki i lemler yap l r. Belirtilen artlar n hi birisinin do ru olmamas durumunda, devam ndaki i lemlere bak lmaks z n bir alt sat rdan i lemler srdrlr.

rnek.9.


Ekrana bir e kenar genin kenar uzunlu u okunmaktad r. Buna gre okunan uzunluklara kar l k genin e kenar gen olup olmad n bulan, e kenar ise e kenar; de ilse e kenar gen de il, mesaj n grntleyen algoritmay yaz n z.

rnek.9.

Alg1

1) BA LA 2) KEN1, KEN2, KEN3 OKU 3) IF KEN1 = KEN2 VE KEN1 = KEN3 VE KEN2 = KEN3 ISE GEN E KENARDIR YAZ :G T 5 4) GEN E KENAR DE LD R YAZ 5) DUR

Saya fadesi
S=S+1 lemde sa daki ifadede de i kene 1 eklemekle bulunan sonu yine kendisi olan soldaki de i kene aktar lmaktad r. Bu tr i lemlere algoritmada saya yada dng ismi verilir. Burada art m 1 dir. Yani saya i lem s ras her geldi inde bir artmaktad r. Sayac n art m de eri problemin durumuna gre 1 den de farkl olabilir.

rnek.10.


Ekrana be tane say okunmaktad r. Okunan say lar n toplam n ve arp m n bulan algoritmay yaz n z.

rnek.10.

Alg1

1) BA LA 2) I = 0 : TOP = 0 : ARP = 1 3) SAYI OKU 4) I = I + 1 5) TOP = TOP + SAYI 6) ARP = ARP * SAYI 7) IF I < 5 SE G T 3 8) SAYILARIN TOPLAMI =, TOP YAZ 9) SAYILARIN ARPIMI =, ARP YAZ 10) DUR

rnek.11.


Ekrana be tane say okunmaktad r. Okunan say lar n ortalamas n , karelerinin toplam n ve say lar n toplamlar n n karesini bulan algoritmay yaz n z.

rnek.11.

Alg1

1) BA LA 2) I = 0 : TOP = 0 :KTOP = 0 3) SAYI OKU 4) I = I + 1 5) TOP = TOP + SAYI 6) KARE = SAYI ^2 7) KTOP = KTOP + KARE 8) IF I < 5 ISE G T 3 9 ORTA = TOP / 5 10) TKARE = TOP^2 11) SAYILARIN ORTALAMASI =, ORTA YAZ 12) SAYILARIN KARELER N N TOPLAMI =, KTOP YAZ 13) SAYILARIN TOPLAMLARININ KARES =, TKARE YAZ 14) DUR

rnek.12.


Ekrana 10 ki inin ad , soyad ve do um tarihi okunmaktad r. Okunan do um tarihlerine gre ya n bulan ad , soyad ile birlikte yazd ran algoritmay yaz n z.

rnek.12.

Alg1

1) I=0 2) AD,SOYAD,DY,BY OKU 3) I=I+1 4) YAS=BY-DY 5) AD,SOYAD,YAS YAZ 6) E ER I<10 SE 2YE G T 7) DUR

rnek.13.


Alg1

Ekrana 4 ki inin ya okunmaktad r. Ya 20ye e it olanlar n say s n bulan algoritmay yaz n z.

rnek.13.

Alg1

1) I=0 : YS=0 2) YAS OKU 3) I=I+1 4) E ER YAS=20 SE YS=YS+1 5) E ER I<4 SE 2YE G T 6) YA I 20YE E T OLANLARIN SAYISI=,YS YAZ 7) DUR

rnek.14.


Ekrana tane ya okunmaktad r. Okunan ya lardan 15 ile 25 aras nda olanlar n say s n bulan algoritmay yaz n z.

rnek.14.

Alg.1

1) I=0 : YS=0 2) YA OKU 3) I=I+1 4) E ER YA >=15 VE YA <= 25 SE YS=YS+1 5) E ER I<3 SE 2YE G T 6) YS YAZ 7) DUR

rnek.15.


Ekrana drt tane say okunmaktad r. Okunan say lardan pozitif olanlar n say s n bulan ve yazd ran algoritmay yaz n z.

rnek.15.

Alg.1

1) I=0 : PS=0 2) SAYI OKU 3) I=I+1 4) E ER SAYI > 0 SE PS=PS+1 5) E ER I<4 SE 2YE G T 6) POZ T FLER N SAYISI= , PS YAZ 7) DUR

rnek.16.


Ekrana drt tane say okunmaktad r. Okunan say lardan tek ve ift olanlar n say s n bulan algoritmay yaz n z.

rnek.16.

Alg1

1) I=0 : TEKS=0 : CIFTS=0 2) A OKU 3) I=I+1 4) K=(-1)**A 5) E ER K=-1 SE TEKS=TEKS+1 6) E ER K=1 SE CIFTS=CIFTS+1 7) E ER I<4 SE 2YE G T 8) TEKS,CIFTS YAZ 9) DUR

rnek.17.


Ekrana be tane say okunmaktad r. Okunan say lardan negatif ve ift olanlar n ortalamas n ayr ayr bulan, sonular n yazd ran algoritmay yaz n z.

rnek.17.

Alg1

1) I=0 : NEGTOP=0 : CIFTTOP=0 : NEGS=0 :CIFTS=0 2) A OKU 3) I=I+1 4) K=(-1)**A 5) E ER A<0 SE NEGS=NEGS+1: NEGTOP=NEGTOP+A 6) E ER K=1 SE CIFTS=CIFTS+1 : CIFTTOP=CIFTTOP+A 7) E ER I<5 SE 2YE G T 8) CIFTORTA=CIFTTOP / CIFTS 9) NEGORTA=NEGTOP / NEGS 10) CIFTORTA,NEGORTA YAZ 11) DUR

rnek.18.


  

Bir ma azada bulunan hal lar a a daki gibi grupland r lm t r. Ma azada 50 tane hal oldu una gre her birinden kaar tane oldu unu bulan ve yazd ran algoritmay yaz n z Makine Hal s (MHS) Elde Dokuma (EDS) Ekrana okunan hal n n trdr.

rnek.18.

Alg1

1) I=0 : MHS=0 : EDS=0 2) TR OKU 3) I=I+1 4) E ER TR=MHS SE MHS=MHS+1 : 6YA G T 5) EDS=EDS+1 6) E ER I<50 SE 2YE G T 7) MAK NE HALILARININ SAYISI=, MHS YAZ, 8) ELDE DOKUMA HALILARIN SAYISI=, EDS YAZ 9) DUR

rnek.19.


1den 4e kadar olan say lar n toplam n bulan algoritmay yaz n z.

rnek.19.

Alg1

1) TOP=0 : I=1 2) TOP=TOP+I 3) I=I+1 4) E ER I<= 4 SE 2YE G T 5) TOP YAZ 6) DUR

rnek.20.


3den 15e kadar olan ift say lar n ortalamas n bulan algoritmay yaz n z.

rnek.20.

Alg1

1) TOP=0 : CIFTS=0 : I=4 2) TOP=TOP+I : CIFTS=CIFTS+1 3) I=I+2 4) E ER I<= 15 SE 2YE G T 5) ORTA=TOP/CIFTS 6) ORTA YAZ 7) DUR

You might also like