Professional Documents
Culture Documents
Algoritma nedir?
Algoritma Oluşturma Yöntemleri 1
(Satır Algoritma Yöntemi
Akış Diyagramları Yöntemi)
12.10.23 2
•Bir problemi çözmek için takip edilecek sonlu sayıda adımdan oluşan çözüm yöntemine
Algoritma denir.
12.10.23 3
Bir algoritma oluştururken dikkat edilmesi gereken özellikler nelerdir ?
12.10.23 4
Problem çözmek için Algoritma geliştirmenin temel adımları şöyledir;
1. Başla.
2. Soruyu oku.
3. Soruyu çöz.
4. Cevabı kontrol et.
5. Cevap doğru mu?
6. a. Evet ise 7. Adıma git.
b. Hayır ise 2. Adıma git. ve daha dikkatli davran.
7. Dur.
12.10.23 6
Çay demleme algoritması:
1. Mutfağa git
2. Çaydanlığa su koy
3. Çaydanlığı ocağa koy
4. Ocağı yak
5. Su kaynadı mı?
6. Evet ise demliğe çay koy demle, hayır ise adım 5 e git
7. 10 dk bekle
8. Çayı doldur
12.10.23 7
Algoritmanın temel öğeleri nelerdir ?
12.10.23 8
Aritmetik İşlemler;
12.10.23 9
Mantıksal İşlemler;
Bir programın akışı içerisinde, belirli bir koşula bağlı olarak akışın hangi yönde
ilerleyeceğine karar vermede mantıksal operatörler kullanılır.
> Büyük A>B A değişkeni B değişkeninden büyükse true, değilse false değeri üretir.
< Küçük A<B A değişkeni B değişkeninden küçükse true, değilse false değeri üretir.
Eşit Değil A değişkeni B değişkeninden eşit değilse true, değilse false değeri
!= A != B
(Farklı) üretir.
A değişkeni B değişkeninden büyük yada eşitse true, değilse false
>= Büyük eşit A >= B
değeri üretir.
A değişkeni B değişkeninden küçük yada eşitse true, değilse false
<= Küçük eşit A <= B
değeri üretir.
12.10.23 10
Algoritma Yazım Teknikleri
Satır algoritma ile Akış diyagramı yöntemleri matematik, inşaat, vb. herhangi
bir konuda problem çözülürken kullanılabilir. Ancak sözde kod tamamen
programlamaya yönelik bir gösterimdir ve kodlamaya çok yakın bir yöntemdir.
12.10.23 11
Satır Algoritmaları
12.10.23 12
Örnek 1: Kullanıcıdan iki sayıyı alıp, bu iki sayının toplamını ekrana yazdıran algoritmayı
tasarlayın.
Çözüm :
1.Başla
2.Oku (Sayı1,Sayı2)
3.Sonuç=Sayı1 + Sayı2
4.Sonucu Ekrana Yaz
5.Dur
Not: Burada Sayı1 ve Sayı2 değişkenleri girdi, Sonuç değişkeni çıktı olarak kullanılmıştır.
Yani programın iki girdisi ve bir çıktısı vardır.
12.10.23 13
Örnek 2: Kullanıcıdan bir kenarı alınan karenin çevresini ve alanını hesaplayarak ekrana
yazdıran algoritmayı tasarlayın.
Çözüm:
1.Başla
2.Oku (Kenar)
3.Çevre=kenar * 4
4.Alan=kenar * kenar
5.Çevreyi ekrana yaz
6.Alanı ekrana yaz
7.Dur
Not: Burada kenar bilgisi girdi, çevre ve alan değerleri ise çıktı olarak kullanılmıştır.
Burada kenar, çevre ve alan değişken olarak tanımlanmıştır.
12.10.23 14
Örnek 3: Klavyeden yol ve aracın hız bilgisi alınarak ne kadar sürede yolun
tamamlanacağını hesaplayan algoritmayı oluşturunuz.
Çözüm;
1.Başla
2.Oku (Yol)
3.Oku (Hız)
4.Süre=Yol / Hız (x=V * t ’den)
5.Süreyi Ekrana Yaz
6.Dur
12.10.23 15
Örnek 4: Klavyeden girilen iki adet sayıdan büyük olanını ekrana yazan algoritmayı
oluşturunuz.
Çözüm;
1.Başla
2.Oku (Sayı1)
3.Oku (Sayı2)
4.Eğer
4.1. (Sayı1>Sayı2) Enbüyük=Sayı1
4.2. değilse Enbüyük=Sayı2
5. Enbüyüğü ekrana yaz
6.Dur
12.10.23 16
Örnek 5: Klavyeden girilen sayının tek yada çift olup olmadığını ekrana yazdıran
algoritmayı oluşturunuz.
Çözüm;
1.Başla
2.Oku (sayı)
3.Eğer
3.1. ((Sayı % 2)==0) ise ekrana çift yaz
3.2. değilse ekrana tek yaz
4. Dur
12.10.23 17
Örnek 6: Kullanıcıdan bir sayı alıp 1’den başlayarak kullanıcıdan aldığı sayıya kadar
bir artırarak ekrana yazdıran algoritmayı oluşturunuz.
Çözüm;
1.Başla
2.Sayac=0, Toplam=0
3.Oku (Sayı)
4.Eğer (Sayac >= Sayı), Adım 8 e git
5.Toplam = Toplam + Sayac
6.Sayac = Sayac + 1
7.Adım 4 e git
8.Yaz Toplam
9.Dur
12.10.23 18
Örnek 7:
Çözüm;
12.10.23 19
Örnek 8:
Çözüm;
12.10.23 20
Örnek 9:
Çözüm;
12.10.23 21
Örnek 9:
Çözüm;
12.10.23 22
Örnek 10:
Çözüm;
12.10.23 23
Örnek 11:
Çözüm;
12.10.23 24
Örnek 12:
Çözüm;
12.10.23 25
Örnek 13:
Çözüm;
12.10.23 26
Örnek 14:
Çözüm;
12.10.23 27
Algoritmanın Akış Diyagramı ile İfade Edilmesi
12.10.23 28
Akış şeması elemanları
12.10.23 29
Akış şeması elemanları
Aritmetik ve mantıksal ifadeler için karar verme Yapılacak işler birden fazla sayıda yinelenecek ise
ya da karşılaştırma durumunu gösterir. yani iş akışında döngü var ise bu sembol kullanılır.
30
12.10.23
AKIŞ ŞEMASININ AVANTAJLARI
12.10.23 31
AKIŞ ŞEMASI HAZIRLAMA KURALLARI
12.10.23 32
Akış şemaları içerik ve biçimlerine göre genel olarak üç grupta sınıflandırılır:
12.10.23 33
Doğrusal akış şemaları: İş akışları, Mantıksal akış şemaları: Geniş ölçüde
giriş, hesaplama, çıkış biçiminde olan mantıksal kararları içeren akış şemalarıdır.
akış şemaları bu grup kapsamına Hesap düzenleri genellikle basittir. Verilen
girer. Yapısında karar alma ya da koşulun doğru ya da yanlış olmasına göre
iş akışı yönlendirilir.
döngü ifadeleri içermeyen akış
şemalarıdır.
Başla
Merhaba
Dünya
Dur (Son-Bitir)
12.10.23 34
Örnek 15: Ekrana «Merhaba Dünya» yazdıran programın algoritmasını akış şeması ile
ve satır kod ile yazınız.
Çözüm:
Sayac=1,100,1
Oku (Sayı)
Oku (Sayı)
Adet=Adet + 1
Dur
False (H)
Yaz Toplam
12.10.23 37
Dur
Örnek 18 : Kullanıcıdan iki sayıyı alıp, bu iki sayının toplamını ekrana yazdıran
algoritmayı tasarlayın.
Çözüm :
Başla
1. Başla
2. Oku (Sayı1,Sayı2)
3. Sonuç=Sayı1 + Sayı2 (Sayı1,Sayı2)
4. Sonucu Ekrana Yaz
5. Dur
Sonuç=Sayı1 + Sayı2
Yaz Sonuç
Dur
12.10.23 38
Örnek 19: Kullanıcıdan bir kenarı alınan karenin çevresini ve alanını
hesaplayarak ekrana yazdıran algoritmayı tasarlayın.
Çözüm:
1.Başla
Başla
2.Oku (Kenar) Yaz Çevre
3.Çevre=kenar * 4
4.Alan=kenar * kenar Oku
5.Çevreyi ekrana yaz (Kenar) Yaz Alan
6.Alanı ekrana yaz
7.Dur
Çevre = 4 * Kenar
Dur
12.10.23 39
Örnek 20: Klavyeden girilen 2 sayıdan birincisi büyük ise çarpma, aksi durumda
toplama yapan programa ait satır algoritması ve akış şemasını çiziniz.
12.10.23
Örnek 21: Klavyeden girilen iki adet sayıdan büyük olanını ekrana yazdıran
programın akış şemasını oluşturunuz.
Çözüm:
Başla
Oku
(Sayı1)
Oku
(Sayı2)
Dur
12.10.23 41
Örnek 22: Klavyeden girilen sayının pozitif ya da negatif, ya da sıfır olduğunu
ekrana yazan algoritmayı oluşturunuz.
Çözüm:
Başla
Oku (Sayı)
‘’NEGATİF’’ ‘’SIFIR’’
Dur
12.10.23 42
Örnek 23: Klavyeden girilen sayının faktöriyelini hesaplayan programın akış şemasını
oluşturunuz.
Çözüm:
Başla
Fakt=1, Sayac=0
Oku (Sayı)
Sayac=Sayac + 1
Fakt=Fakt * Sayac
True (E)
Sayac<Sayı
False(H)
Yaz Fakt
Dur
12.10.23 43
Örnek 24: Klavyeden 5 kişinin doğum yılını girip 2013 yılındaki yaşını hesaplayan
algoritma ve akış şeması
Başla Başla
i=1 i,1,10,1
i i
i=i+1
Evet i
i<10
Hayır
Dur
Dur
12.10.23 45
Örnek 26: Klavyeden girilen 5 sayının karelerini hesaplayan ve ekrana yazdıran
programın akış şeması algoritmasını çiziniz.
Çözüm:
Başla Başla
i=1 i,1,5,1
sayı sayı
kare=sayı*sayı kare=sayı*sayı
i=i+1
kare kare
Evet
i<5 i
Hayır
Dur
Dur
12.10.23 46
Örnek 26: Klavyeden girilen 15 sayıdan pozitif olanların adedini bulup
görüntüleyen programın akış şemasını oluşturunuz.
Döngü İfadesiyle
Çözüm:
Kontrol İfadesiyle Başla
Başla adet = 0
sayı sayı
Evet
Evet
i=i+1 sayı>=0 adet=adet+1 sayı>=0 adet=adet+1
Hayır
Hayır
Evet
i<15 i
Dur 47
12.10.23
Örnek 27: Klavyeden girilen 50 öğrencinin notlarının ortalamasını bulan akış
şemasını çiziniz.
Çözüm:
Döngü İfadesiyle
Kontrol İfadesiyle
Başla
Başla toplam = 0
not not
ortalama=toplam/50 ortalama=toplam/50
ortalama ortalama
12.10.23 48
Dur Dur
Örnek 28: Klavyeden girilen sayının faktöriyelini hesaplayan programın akış
şemasını çiziniz.
Çözüm:
Kontrol İfadesiyle Döngü İfadesiyle
Başla Başla
f=1,i=2
f=1
sayı
sayı
Evet
f=f*i
i<sayı
Hayır
i
f
Dur f
Dur 12.10.23 49
Örnek 29: y=x^2+5x-7 denkleminin x=[-4,4] aralığındaki çözümlerini bulan ve
görüntüleyen akış şemasını çiziniz. (x’in artım değeri 0,5’tir)
Çözüm:
Kontrol İfadesiyle Döngü İfadesiyle
Başla Başla
x=-4 x,-4,4,0.5
y=x*x+5*x-7 y=x*x+5*x-7
y y
x=x+0.5
Evet i
x<4
Hayır
Dur
Dur
12.10.23 50