21
BPR151 ALGORİTMA VE PROGRAMLAMA - I Öğr. Gör. Bayram AKGÜL [email protected]. tr http:// myo.bartin.edu.tr/akgul

BPR151 ALGORİTMA VE PROGRAMLAMA - I

  • Upload
    teneil

  • View
    52

  • Download
    5

Embed Size (px)

DESCRIPTION

BPR151 ALGORİTMA VE PROGRAMLAMA - I. Öğr . Gör. Bayram AKGÜL [email protected] http://bmyo.bartin.edu.tr/akgul. Bugünkü Konular. Döngüsel Akış Diyagramları Örnekleri Klavyeden girilen bir sürü sayının toplamı a n ifadesini hesaplama 1’den N sayısına kadar sayıların toplamı - PowerPoint PPT Presentation

Citation preview

Page 1: BPR151 ALGORİTMA VE PROGRAMLAMA - I

BPR151 ALGORİTMA VE PROGRAMLAMA - I

Öğr. Gör. Bayram AKGÜ[email protected]

http://myo.bartin.edu.tr/akgul

Page 2: BPR151 ALGORİTMA VE PROGRAMLAMA - I

2

• Döngüsel Akış Diyagramları Örnekleri– Klavyeden girilen bir sürü sayının toplamı– an ifadesini hesaplama– 1’den N sayısına kadar sayıların toplamı – 1’den N sayısına kadar sayıların karelerini

toplama– Girilen bir sayının asal sayı olup olmadığını

anlama– 1’den N sayısına kadar asal olan sayıları ekrana

yazma– Girilen bir sayının Mükemmel sayı olup

olmadığını anlama

Bugünkü Konular

Page 3: BPR151 ALGORİTMA VE PROGRAMLAMA - I

3

Bir dizi sayının toplamını nasıl hesaplarız?

• Klavyeden girilecek bir dizi sayının toplamını hesaplayacak bir algoritma yazalım.

• Input– Bir sürü sayı (kaç tane olduğunu bilmiyoruz)– -1 sayı girişini bitirecek

• Output– Girilen sayıların toplamı

Page 4: BPR151 ALGORİTMA VE PROGRAMLAMA - I

4

1. Başla2. Toplamı 0 a eşitle3. Kullanıcıdan sayı girmesini veya -1 ile

durmasını iste. 4. Klavyeden girilen sayıyı oku5. Eğer sayı -1 değilse

4.1. toplam = toplam + sayı4.2. 3. adıma git

6. Toplamı yazdır.7. Bitir

Bir dizi sayının toplamını hesaplama:Algoritma

Page 5: BPR151 ALGORİTMA VE PROGRAMLAMA - I

5

Bir dizi sayının toplamını hesaplama:

Akış Diyagramı

Bir sayı gir veya -1 ile bitir

Toplam

sayı = -1?

E

sayı

toplam = 0

toplam = toplam + sayıH

Başla

Bitir

• Kullanıcı -1 girene kadar 3, 4 ve 5. basamakların sürekli çalışmasını istiyoruz.

• Bunun anlamı; 3, 4 ve 5. adımlar bir döngü içinde çalışacaktır

Page 6: BPR151 ALGORİTMA VE PROGRAMLAMA - I

6

• “a” gerçek sayı, “n” tam sayı ve n>=0 olsun. – Örnek, 35 i hesapla.– 35 = 3*3*3*3*3

• sonuç değişkeni alalım ve ilk değeri 1 olsun.– sonuç = 1 (a0=1)

• a sayısını kendisiyle çarp ve her çarpma işleminde bir say. – Sayacın ilk değeri = 0

• Sayaç “n” olunca “a” sayısını “n” defa kendisiyle çarpmışız demektir.

an yi nasıl hesaplarız?

Page 7: BPR151 ALGORİTMA VE PROGRAMLAMA - I

7

1. Başla2. Kullanıcıdan “a” ve “n” girmelerini iste3. Sayacı 0’a eşitle 4. Sonucu 1'e eşitle

5. Eğer (sayaç < n) ise5.1. sonuç = sonuç * a 5.2. sayaç = sayaç +1 5.3. 5. Adıma git

6. Sonucu yazdır7. Bitir

an Hesaplama Algoritması

Page 8: BPR151 ALGORİTMA VE PROGRAMLAMA - I

8

an Hesaplama Akış Diyagramı

sayaç = 0

Başla

sonuç = 1

sayaç < n?

an hesaplamak için “ a” ve “n” değerlerini giriniz

sonucu yazdır

H

Bitir

E

sonuç = sonuç * a

Sayaç = sayaç + 1

• Açıkça “sayaç” “n” değerine ulaşana kadar 5.1 ve 5.2 adımlarının tekrarlamalarını istiyoruz.

• Bunun anlamı; 5.1 ve 5.2 basamaklarını koşul sağlandıkça bir döngü içinde çalışmalarını istiyoruz.

Page 9: BPR151 ALGORİTMA VE PROGRAMLAMA - I

9

Not• Döngü yapılarında döngü kontrolünü sağlayan

koşul yapısı döngünün başında veya sonunda olabilir. – Bu kurulan mantığa göre tasarımcıya kalmıştır

koşul E

H ifade1

ifade2... koşul

E

H

ifade1

ifade2...

Koşul Başta Koşul Sonda

Page 10: BPR151 ALGORİTMA VE PROGRAMLAMA - I

10

1. Başla2. Kullanıcıdan “n” sayısını

iste3. sayaç = 14. toplam = 0

5. Eğer (sayaç <= n) ise 5.1. toplam = toplam +

sayaç5.2. sayaç = sayaç + 1;

5.3. 5. Adıma git

6. Toplamı yazdır7. Bitir

1+2+3+..+N işlemini hesaplama

sayaç = 1

Başla

toplam = 0

sayaç <= n?

n

toplam

H

Bitir

E

toplam = toplam + sayaç

sayaç = sayaç + 1

Page 11: BPR151 ALGORİTMA VE PROGRAMLAMA - I

11

1. Başla2. Kullanıcıdan “n” sayısını

iste3. sayaç = 14. toplam = 0

5. Eğer (sayaç <= n) ise 5.1. toplam = toplam +

(sayaç²)5.2. sayaç = sayaç + 1;

5.3. 5. Adıma git

6. Toplamı yazdır7. Bitir

1²+2²+3²+..+N² işlemini hesaplama

sayaç = 1

Başla

toplam = 0

sayaç <= n?

n

toplam

H

Bitir

E

toplam = toplam + (sayaç*sayaç)

sayaç = sayaç + 1

Page 12: BPR151 ALGORİTMA VE PROGRAMLAMA - I

12

Girilen N sayısının asal olup olmadığını kontrol etme

• Kendisi ve birden başka herhangi bir sayıya bölünemeyen sayılara asal sayı denir.

• Örnek: 2,3,5,7,11,17,19,23,29,31,…• Girilen bir sayının asal olup olmadığını kontrol

etmek için:– 2’den başlayıp kendisinden küçük bütün sayılara bölmeye

çalışırız. – Eğer herhangi birisine tam bölünürse sayı asal değildir. – Eğer hiç birine tam bölünemezse sayı asaldır.

• Not: eğer m sayısı n sayısına tam bölünüyorsa m mod n = 0 olur. Yani m sayısının n sayısına bölümünden kalan 0’dır.

Page 13: BPR151 ALGORİTMA VE PROGRAMLAMA - I

13

1. Başla2. Kullanıcıdan “N” sayısını iste3. sayaç = 24. Eğer N mod sayaç = 0

4.1. N sayısı asal değildir4.2. 8. adıma git.

5. Sayaç = sayaç + 16. Eğer (sayaç < N) ise

6. 1. 4. adıma git

7. N sayısı asal sayıdır.8. Bitir.

Girilen N sayısının asal olup olmadığını kontrol etme

sayaç = 2

Başla

N mod sayaç = 0 ?

N

N sayısı asal değildir!

H

Bitir

E

sayaç = sayaç + 1

sayaç < N?

N sayısı asal sayıdır

EH

Page 14: BPR151 ALGORİTMA VE PROGRAMLAMA - I

14

1. Başla2. Kullanıcıdan “N” sayısını iste3. sayı = 2 4. sayaç = 25. Eğer (sayı mod sayaç = 0) ise

5.1. sayı asal değildir5.2. 9. adıma git.

6. Sayaç = sayaç + 17. Eğer (sayaç < sayı) ise

6. 1. 5. adıma git8. m sayısı asal sayıdır9. sayı = sayı +110. Eğer (sayı <= N) ise

10.1. 4. adıma git11. Bitir.

Girilen N sayısına kadar asal olan bütün sayıları ekrana yazdırma

sayaç = 2

Başla

sayı mod sayaç = 0 ?

N

sayıasal değildir!

H

Bitir

E

sayaç = sayaç + 1

sayaç < sayı?

sayı asaldır

EH

sayı = 2

sayı = sayı + 1

sayı < N ?E

H

Page 15: BPR151 ALGORİTMA VE PROGRAMLAMA - I

15

Girilen N sayısının Mükemmel sayıolup olmadığını kontrol etme

• kendisi hariç pozitif tam bölenlerinin toplamı kendisine eşit olan sayılara mükemmel sayılar denir.

• Örnek: – 6 tam bölenleri (1,2,3 1+2+3 = 6)– 28 tam bölenleri (1,2,4,7,14 1+2+4+7+14 = 28 )

• Girilen bir sayının mükemmel olup olmadığını kontrol etmek için:– 1’den başlayıp kendisinden küçük bütün sayılara bölmeye

çalışırız. – Eğer herhangi birisine tam bölünürse bunu toplama

ekleriz.– Sonuçta toplam kendisine eşit olmuş ise sayı mükemmel

sayıdır.

Page 16: BPR151 ALGORİTMA VE PROGRAMLAMA - I

16

1. Başla2. Kullanıcıdan “N” sayısını iste3. sayaç = 1, Toplam = 04. Eğer N mod sayaç = 0

4.1. Toplam = Toplam + sayaç

5. Sayaç = sayaç + 16. Eğer (sayaç < N) ise

6. 1. 4. adıma git

7. Eğer(N = Toplam) ise7. 1. N sayısı mükemmel sayıdır.

8. Değilse8.1. N sayısı Mükemmel değildir.

9. Bitir.

Girilen N sayısının mükemmel sayı olup olmadığını kontrol etme

sayaç = 1, toplam = 0

Başla

N mod sayaç = 0 ?

N

Toplam = Toplam + sayaçH

Bitir

E

sayaç = sayaç + 1

sayaç < N?

N sayısı Mükemmel sayıdır

E

H

N = Toplam ?E

H

Page 17: BPR151 ALGORİTMA VE PROGRAMLAMA - I

Araştırma Ödevi-1• Girilen N sayısına kadar mükemmel olan

sayıları bulan bir algoritma yazınız, akış diyagramını çıkarınız.

17

Page 18: BPR151 ALGORİTMA VE PROGRAMLAMA - I

Araştırma Ödevi-2• Klavyeden girilen n tane sayının (kaç

tene olduğu bilinmiyor, 0 girilene kadar sayı girişi yapılıyor) toplamını, çarpımını, ortalamasını, en büyüğünü ve en küçüğünü bulan bir algoritma yazınız. Akış diyagramını oluşturunuz.

18

Page 19: BPR151 ALGORİTMA VE PROGRAMLAMA - I

Araştırma Ödevi-3• h yüksekliğinden bırakılan bir top her

yere çarptığında bir önceki yüksekliğin üçte biri kadar sıçrayabiliyor. Son sıçrama yüksekliği 10 santimetreden küçük ise bir daha sıçramamaktadır.

• Buna göre klavyeden girilen h cm yüksekliğinden bırakılan bir topun kaç defa sıçrayacağını hesaplayan bir algoritma yazınız. Akış diyagramını hazırlayınız.

19

Page 20: BPR151 ALGORİTMA VE PROGRAMLAMA - I

Araştırma Ödevi-4• Bir kümesteki tavşanların sayısının her ay

önceki iki aydaki tavşanların sayısının toplamına eşit olduğu varsayılıyor. Örneğin 5. aydaki tavşanların sayısı 3. ve 4. aydaki tavşanların sayılarının toplamına eşit oluyor. Aşağıdaki listede tavşanların ilk sayısı ile her aydaki tavşan sayıları verilmiştir.

+-----+---+---+---+---+----+---------+----+----| Ay | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | ...+-----+---+---+---+---+----+----+----+----+----| Sayı| 2 | 3 | 5 | 8 | 13 | 21 | 34 | 55 | ...+-----+---+---+---+---+----+----+----+----+----• Buna göre klavyeden girilen n. ayda tavşan

sayısının kaç olacağını hesaplayan bir algoritma yazınız. Akış diyagramını oluşturunuz. 20

Page 21: BPR151 ALGORİTMA VE PROGRAMLAMA - I

DİNLEDİĞİNİZ İÇİN TEŞEKKÜRLER…

Öğr. Gör. Bayram AKGÜL 21