01232017Pzt
Last updateÇrş, 09 Kas 2016 12pm


ALGORİTMALAR

3-)Algoritma Örnekleri

İki Sayıda Dört İşlem

Bu problemde çözümleme yaparsak kullanıcıdan iki sayı almamız ve bunların sonucunu bir değişkene atayıp ekrana yazdırmamız gerekir.

 

1.      Başla

2.      Oku Sayı1

3.      Oku Sayı2

4.      Toplama=Sayı1+Sayı2

5.      Çıkarma=Sayı1-Sayı2

6.      Çarpma=Sayı1*Sayı2

7.      Bölme=Sayı1/Sayı2

8.      Yaz Toplam, Çıkarma, Çarpma, Bölme

9.      Dur

 

 

Herkes gibi ilk başlarken aklınızdan bunlar ne işime yarayacak diyebilirsiniz. Ama bu genel mantıktır. Gerisi sadece sizin üretkenliğinize kalır. Bu yukarıdaki algoritmayla ne yapabilirim ki diyorsanız hemen açıklayayım. Aklıma gelen örnekleri sıralıyorum.

1.      Kare, dikdörtgen, üçgen, daire, çember küre gibi geometrik cisimlerin çevre, alan ve hacim gibi hesaplamalar yapılabilir.

Önce değer girdirelim. Sonra o değerle dikdörtgenin çevresini ve alanını bulduralım.

a.      Başla

b.      Oku Sayı1

c.      Oku Sayı2

d.      DikdörgenÇevre=2*(Sayı1+Sayı2)

e.      DikdörtgenAlan=Sayı1*Sayı2

f.       Yaz DikdörgenÇevre, DikdörtgenAlan

g.      Dur

Kareyi hesaplarken a değişkeni sadece a tanımlanır ve çevresi 4*a, alanı a*a; daireyi hesaplarken bir r değişkeni tanımlanır çember 2*3,14*r, alanı 3,14*r*r olarak bulunur. 3,14 le çarpmamızın nedeni formüldeki piden geliyor. Küre 3,14*r*r*r silindir 2*3,14*r gibidir. Örnekler daha da uzatılabilir.

2.      Uzunluk ve sıcaklık birimleri arasında dönüşüm yapılabilir. Örneğin inçten santimetreye fahrenhayttan santigrada dönüşüm hesaplamaları yapılır.

a.      Başla

b.      Oku inç

c.      Cm=2,54*inç

d.      Yaz Cm

e.      Dur

Fahrenhaytı da hesaplarken fahrenhayttan 32 çıkarıp 1,8 e bölmemiz cevabı verecekir. Yani daha açık bir şekilde santigrat=(fahrenhayt-32)/1,8 olarak yazılabilir.

Örneklerde de gördüğünüz gibi formülleri bildikten sonra; kullanıcıdan değer al, formül aracılığıyla hesaplama yap ve son olarak sonucu göster gibi bir formül çıkarabiliriz.

3.      Şimdi işleri biraz daha farklılaştıralım. Birinci dereceden bir denklemde ki x’ i bulan bir algoritma geliştirelim. ax+b=0 olarak düşünürsek x=-b/a olur. Bu formülü elde etikten sonra gerisi düğer örnektekilerle aynı olacak.

a.      Başla

b.      Oku a

c.      Oku b

d.      x=-b/a

e.      Yaz x

f.       Dur

 

4.      Şimdi çok farklı bir algoritma geliştirelim. Bu algoritmada karşılaştırma yapacağız. Daha önce yazdığım tablodaki simgeleri kullanacağız. Yine yapacaklarımız bizim hayal gücümüze kalmış. Örneğin iki yaşı karşılaştırabiliriz, dersi geçip geçmediğinizi öğrenebilirsiniz.

 

a.      Başla

b.      Oku a

c.      Oku b

d.      Eğer

e.      (a>b) ise yaz “a büyük b”

f.       (a<b) ise yaz “b büyük a”

g.      Değilse yaz “a=b”

h.      Dur

Bu örnekte 2 sayıyı kıyasladık. Bu örnek iki insan arasında ki yaş kıyaslaması olabilir.

5.      İki sayının birbirine tam bölünüp bölünmediğini bulan algoritmayı yazalım.

 

a.      Başla

b.      Oku sayı1

c.      Oku sayı2

d.      Eğer

e.      (sayı1 mod sayı2 =0 ) ise yaz “sayı1 sayı2’ye tam bölünür”

f.       Değilse yaz “sayı1 sayı2’ye tam bölünmez”

g.      Dur

 

6.      Döngü ile merhaba yazan algoritma yapalım.

 

a.      Başla

b.      Sayaç (Başlangıç=1; Hedef<=10; Artış 1)

c.      Yaz “merhaba”

d.      Sayaç (x=1; x<=10; <x++)

e.      Yaz “merhaba”

f.       Sayaç (x=1; x<=10; <x+1)

g.      Yaz “merhaba”

h.      Sayaç (x=10; x>=1; <x--)

i.       Yaz “merhaba”

j.       Sayaç (x=10; x>=1; <x-1)

k.      Yaz “merhaba”

l.       Dur

B, d ve f şıklarında ki sözde kodlar yazı yazmamızı sağlayan döngülerdir. Mantığı çok basittir. 3 kısımdan oluşur. B şıkkında yazdığım gibi ilk kısım başlangıç sayısı, ikinci kısım hedef değeri ve son kısım ise artış miktarını gösteriyor. Bu döngü kullanılarak sayı h, j şıklarında olduğu gibi azaltılarak da yazılabilir. Ayrıca birer birer yerine ikişer üçer de arttırılabilir. Böylece çift ya da tek sayılar yazdırılabilir. Ayrıca belirli bir sayının karesi küpü de bu şekilde alınır. Faktöriyel de h, j şıkkına sayı yerine değişken atayarak oluyor.

 

7.      Tek ve çift sayıları yazdıran algoritmayı yapalım.

 

a.      Başla

b.      Sayaç (x=1; x<=10; <x+1)

c.      Eğer

d.      (x mod 2 = 0 ) Yaz “çift sayı”

e.      (Değilse) Yaz “tek sayı”

f.       SayaçSonu

g.      Dur

 

8.      Girilen sayılardan en büyük sayıyı bulan algoritmayı yazalım.

 

a.      Başla

b.      EnBüyük=0

c.      Sayaç (x=1; x>=5; x++)

d.      Yaz “X. Sayı:”

e.      Oku Sayı

f.       Eğer

g.      (Sayı > EnBüyük) EnBüyük = Sayı

h.      SayaçSonu

i.       Yaz “En Büyük = EnBüyük “i

j.       Dur

Yazar: Burak GÜNDÜZ

 

 

Yorumlar   

0 #1 Kadir. 16-02-2014 01:54
Çok güzel olmuş. Gayet anlasilir ve ise yarar. Teşekkürler.
Alıntı

Yorum ekle


Güvenlik kodu
Yenile

FACEBOOK'TA TAKİP EDİN