1 / 21

BPR151 ALGORİTMA VE PROGRAMLAMA - I

BPR151 ALGORİTMA VE PROGRAMLAMA - I. Öğr . Gör. Bayram AKGÜL bayramakgul@bartin.edu.tr 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ı

teneil
Download Presentation

BPR151 ALGORİTMA VE PROGRAMLAMA - I

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BPR151 ALGORİTMA VE PROGRAMLAMA - I Öğr. Gör. Bayram AKGÜL bayramakgul@bartin.edu.tr http://bmyo.bartin.edu.tr/akgul

  2. Bugünkü Konular • Döngüsel Akış Diyagramları Örnekleri • Klavyeden girilen bir sürü sayının toplamı • anifadesini 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

  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ı

  4. Bir dizi sayının toplamını hesaplama:Algoritma • Başla • Toplamı 0 a eşitle • Kullanıcıdan sayı girmesini veya -1 ile durmasını iste. • Klavyeden girilen sayıyı oku • Eğersayı -1 değilse 4.1. toplam = toplam + sayı 4.2. 3. adıma git • Toplamı yazdır. • Bitir

  5. Bir dizi sayının toplamını hesaplama: Akış Diyagramı Başla • 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 toplam = 0 Bir sayı gir veya -1 ile bitir sayı sayı=-1? H toplam= toplam + sayı E Toplam Bitir

  6. anyi nasıl hesaplarız? • “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.

  7. anHesaplama Algoritması • Başla • Kullanıcıdan “a” ve “n” girmelerini iste • Sayacı 0’a eşitle • Sonucu 1'e eşitle • Eğer (sayaç < n) ise 5.1. sonuç = sonuç * a 5.2. sayaç = sayaç +1 5.3. 5. Adıma git • Sonucu yazdır • Bitir

  8. Başla anhesaplamak için “ a” ve“n”değerlerini giriniz sayaç= 0 sonuç= 1 sayaç< n? E H sonuç = sonuç * a sonucu yazdır Sayaç = sayaç + 1 Bitir anHesaplama Akış Diyagramı • 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.

  9. H H ifade1 koşul E ifade1 ifade2 ... ifade2 koşul E ... 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 Sonda Koşul Başta

  10. Başla n sayaç= 1 toplam = 0 sayaç<= n? E H toplam= toplam + sayaç toplam sayaç = sayaç + 1 Bitir 1+2+3+..+N işlemini hesaplama • Başla • Kullanıcıdan “n” sayısını iste • sayaç= 1 • toplam = 0 • Eğer (sayaç <= n) ise 5.1. toplam = toplam + sayaç 5.2. sayaç = sayaç + 1; 5.3. 5. Adıma git • Toplamı yazdır • Bitir

  11. Başla n sayaç= 1 toplam = 0 sayaç<= n? E H toplam= toplam + (sayaç*sayaç) toplam sayaç = sayaç + 1 Bitir 1²+2²+3²+..+N² işlemini hesaplama • Başla • Kullanıcıdan “n” sayısını iste • sayaç= 1 • toplam = 0 • Eğer (sayaç <= n) ise 5.1. toplam = toplam + (sayaç²) 5.2. sayaç = sayaç + 1; 5.3. 5. Adıma git • Toplamı yazdır • Bitir

  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.

  13. Başla N sayaç= 2 N mod sayaç = 0 ? E H N sayısı asal değildir! sayaç = sayaç + 1 Bitir Girilen N sayısının asal olup olmadığını kontrol etme • Başla • Kullanıcıdan “N” sayısını iste • sayaç = 2 • Eğer N mod sayaç = 0 4.1. N sayısı asal değildir 4.2. 8. adıma git. • Sayaç = sayaç + 1 • Eğer (sayaç < N) ise 6. 1. 4. adıma git • N sayısı asal sayıdır. • Bitir. sayaç < N? E H N sayısı asal sayıdır

  14. Başla N sayaç= 2 sayı mod sayaç = 0 ? E H sayı asal değildir! sayaç = sayaç + 1 Bitir Girilen N sayısına kadar asal olan bütün sayıları ekrana yazdırma • Başla • Kullanıcıdan “N” sayısını iste • sayı = 2 • sayaç = 2 • Eğer (sayı mod sayaç = 0) ise 5.1. sayı asal değildir 5.2. 9. adıma git. • Sayaç = sayaç + 1 • Eğer (sayaç < sayı) ise 6. 1. 5. adıma git • m sayısı asal sayıdır • sayı = sayı +1 • Eğer (sayı <= N) ise 10.1.4. adıma git • Bitir. sayı= 2 sayı = sayı + 1 sayaç < sayı? sayı < N ? E H sayı asaldır E H

  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.

  16. Başla N sayaç= 1, toplam = 0 N mod sayaç = 0 ? H Toplam = Toplam + sayaç sayaç = sayaç + 1 E Bitir Girilen N sayısının mükemmel sayı olup olmadığını kontrol etme • Başla • Kullanıcıdan “N” sayısını iste • sayaç = 1, Toplam = 0 • Eğer N mod sayaç = 0 4.1. Toplam = Toplam + sayaç • Sayaç = sayaç + 1 • Eğer (sayaç < N) ise 6. 1. 4. adıma git • Eğer(N = Toplam) ise 7. 1. N sayısı mükemmel sayıdır. • Değilse 8.1. N sayısı Mükemmel değildir. • Bitir. E N = Toplam ? H E sayaç < N? H N sayısı Mükemmel sayıdır

  17. 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.

  18. 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.

  19. 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.

  20. 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.

  21. Dinlediğiniz için teşekkürler… Öğr. Gör. Bayram AKGÜL

More Related