Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

BPR151 ALGORİTMA VE PROGRAMLAMA - I

Benzer bir sunumlar


... konulu sunumlar: "BPR151 ALGORİTMA VE PROGRAMLAMA - I"— Sunum transkripti:

1 BPR151 ALGORİTMA VE PROGRAMLAMA - I
Öğr. Gör. Bayram AKGÜL

2 Algoritmalar & Akış Şemaları -Avantajları -Türleri -Örnekleri

3 Algoritma/Akış Şeması Avantajları
Program yazmayı kolaylaştırır. Hatalı kodlama oranını azaltır. Program yazımı için geçen süreyi kısaltır. İşlem akışını bir şekilde gösterdiğinden program kontrolünü kolaylaştırır. Sonradan yapılacak düzenlemelerde kolaylıklar sağlar. Öğr. Gör. Bayram AKGÜL

4 Akış Şemaları Kontrol akışını ifade etmek için kullanılan şekilleri hatırlayalım: Deltoid koşul durumunda karar verme adımını gösterir Paralel kenar girdi adımlarını gösterir Dikdörtgenler işlem adımlarını gösterir Altı yamuk dörtgenler çıktı adımlarını gösterir Başla Bitir Oklar Akış yönünü gösterir Algoritmanın başlangıç ve bitişini gösterir Çember bağlantı noktasını gösterir Öğr. Gör. Bayram AKGÜL

5 Akış Şeması Türleri Doğrusal Akış Şemaları Mantıksal Akış Şemaları
Döngüsel Akış Şemaları Öğr. Gör. Bayram AKGÜL

6 Doğrusal Akış Şemaları
Her işlemin doğrusal olarak yapıldığı akış şemalarıdır. Her işlem sırasıyla çalışır ve bir işlem diğerini takip eder. Koşul veya tekrarlama gerçekleşmez. Örnek: Girilen iki sayının toplamını bulma Üç sayının ortalamasını bulma Çemberin çevresini ve alanını hesaplama Öğr. Gör. Bayram AKGÜL

7 Doğrusal Akış Şemaları Örnek:1
Kullanıcıdan alınan iki sayının toplamını hesaplama: Başla Sayi1 ve Sayi2’yi oku Toplam=Sayi1+Sayi2 Toplamı ekrana yaz Bitir Basla Sayi1, Sayi2 Toplam=Sayi1+Sayi2 Toplam Bitir Öğr. Gör. Bayram AKGÜL

8 Doğrusal Akış Şemaları Örnek:2
Kullanıcıdan alınan üç sayının ortalamasını hesaplama: Başla S1,S2 ve S3’ü oku Toplam=S1+S2+S3 Ortalama=Toplam/3 Ortalama ekrana yaz Bitir Başla S1,S2,S3 Toplam=S1+S2+S3 Ort=Toplam/3 Ortalama Bitir Öğr. Gör. Bayram AKGÜL

9 Doğrusal Akış Şemaları Örnek:3
Çemberin Çevresini ve Alanını Hesaplama: Başla Çemberin yarıçapını oku (r) Çevre=2*PI*r Alan = PI*r*r Çevre ve alanı ekrana Yaz Bitir Başla r Çevre=2*PI*r Alan = PI * r*r Çevre, Alan Bitir Öğr. Gör. Bayram AKGÜL

10 Uyarı: Uyarı: kullanıcı çemberin yarı çapı için negatif bir değer girerse ne olur? Negatif alan, çevre olabilir mi? Ne Yapmalıyız? Kontrol Mantıksal Kontrol Öğr. Gör. Bayram AKGÜL

11 Mantıksal Akış Şemaları
Akışın bazı kurallara/koşullara göre yönünün değiştiği akış şemalarıdır. Koşulun durumuna göre bazı adımlar gerçekleşmez. Örnek: Girilen iki sayıdan küçük olanını bulma Üç sayının en küçüğünü bulma Girilen bir sayının tek veya çift olduğunu anlama Girilen sayının N sayısının katı olup olmadığını anlama. Öğr. Gör. Bayram AKGÜL

12 Mantıksal Akış Şemaları Örnek:1
Kullanıcıdan alınan iki sayıdan küçük olanını bulma: Başla Sayi1 ve Sayi2’yi oku Eğer (Sayi1<Sayi2) 3.1 küçük = sayı1; Değilse 4.1. Küçük = sayı2; Küçük sayıyı ekrana yaz Bitir Basla Sayi1, Sayi2 Sayi1<Sayi2? Küçük Bitir Küçük = Sayı1 Küçük = Sayı2 E H Öğr. Gör. Bayram AKGÜL

13 Mantıksal Akış Şemaları Örnek:2
Kullanıcıdan alınan 3 sayıdan en küçük olanını bulma sayı1, sayı2, ve sayı3’ü oku küçük = sayı1; (sayı1’in en küçük olduğunu farz edelim) eğer (sayı2 < küçük) küçük = sayı2; eğer (sayı3 < küçük) küçük = sayı3; küçük sayısını ekrana yaz sayı1, sayı2, sayı3’ü oku sayı2 < küçük ? Başla hayır küçük = sayı1 küçük = sayı2 evet sayı3 < küçük ? küçük = sayı3 küçük sayısını ekrana yazdır Bitir Öğr. Gör. Bayram AKGÜL

14 Mantıksal Akış Şemaları Örnek:3
Girilen bir sayının tek veya çift olduğunu anlama: Başla Sayı’yı oku Eğer (Sayı mod 2 = 0) 3.1 Ekrana yaz "sayı çift"; Değilse 4.1. Ekrana yaz "sayı tek"; Bitir Basla Sayı Sayı mod 2 = 0 ? Bitir Sayı tek Sayı çift H E Öğr. Gör. Bayram AKGÜL

15 Mantıksal Akış Şemaları Örnek:4
Girilen bir sayının N sayısının katı olup olmadığını anlama: Başla Sayı’yı ve N ‘yi oku Eğer (Sayı mod N = 0) 3.1 Ekrana yaz: "sayı N sayısının katı" Değilse 4.1. Ekrana yaz: "sayı N sayısının katı değil!"; Bitir Basla Sayı, N Sayı mod N = 0 ? Bitir Girilen sayı N sayısının katı değil! Girilen sayı N sayısının katı H E Öğr. Gör. Bayram AKGÜL

16 Birden Fazla mantıksal ifadeyi birleştirme:
Mantıksal ifadeleri birleştirmek için VE, VEYA operatörleri kullanılabilir. Örnek: bir sayının hem 2’nin hem de 3’ün katı olduğunu anlamak için: Eğer (sayı mod 2 = 0 VE sayı mod 3 = 0) ise … Bir sayının ikinin katı veya 3’ün katı olduğunu anlamak için: Eğer (sayı mod 2 = 0 VEYA sayı mod 3 = 0) ise … Bir ifadenin tersini almak için DEĞİL operatörü kullanılabilir. Öğr. Gör. Bayram AKGÜL

17 Mantıksal Akış Şemaları Örnek:5
Girilen bir sayının 3’ün ve 7’nin katı olup olmadığını anlama: Başla Sayı’yı oku Eğer (Sayi mod 3 = 0) 3.1. Eğer (Sayı mod 7 = 0) ise Ekrana yaz: "sayı 3’ün ve 7’nin katı " 3.2. Değilse Ekrana yaz: "sayı 7’nin katı değil " Değilse 4.1. Ekrana yaz: "sayı 3’ün katı değil!"; Bitir Başla Sayı Sayı mod 3 = 0 ? Bitir Girilen sayı 3’ün ve 7’nin katı Girilen sayı 3’ün katı değil H E Sayı mod 7 = 0 ? Girilen sayı 7’nin katı değil Öğr. Gör. Bayram AKGÜL

18 Mantıksal Akış Şemaları Örnek:5:2. yöntem
Girilen bir sayının 3’ün ve 7’nin katı olup olmadığını anlama -2. yöntem: Başla Sayı’yı oku Eğer (Sayi mod 3 = 0) VE (Sayı mod 7 = 0) ise 3.1 Ekrana yaz: "sayı 3’ün ve 7’nin katı" Değilse 4.1. Ekrana yaz: "sayı 3’ün ve 7’nin katı değil!"; Bitir Başla Sayı Sayı mod 3 = 0 ? VE Sayı mod 7 = 0 ? Bitir Girilen sayı 3’ün ve 7’nin katı Girilen sayı 3’ün VE 7’nin katı değil H E Öğr. Gör. Bayram AKGÜL

19 Döngüsel Akış Şemaları
Bir çeşit mantıksal akış şemasıdır. Koşula göre bazı adımların tekrarlandığı akış şemalarıdır. Örnek: İsmini ekrana 100 defa yazdırma 1’den N sayısına kadar sayıları toplama 1’den N sayısına kadar M’nin katları olan sayıları toplama Bir sayının faktöriyelini hesaplama Öğr. Gör. Bayram AKGÜL

20 Döngüsel Akış Şemaları Örnek:1
İsmini ekrana 100 defa yazdırma Başla Sayaç = 0 Sayaç = Sayaç + 1 Ekrana yaz «Ali KARA» Eğer (Sayaç < 100) ise Adıma git Bitir. Basla Sayaç = 0 sayaç < 100 ? Bitir Ali KARA H E sayaç = sayaç + 1 Not: 3. ve 4. adımları değiştirmek sonucu etkilemez. Öğr. Gör. Bayram AKGÜL

21 Döngüsel Akış Şemaları Örnek:2
1’den N sayısına kadar olan sayıların toplamını ekrana yazdırma Başla N sayısını kullanıcıdan iste Sayaç = 0, Toplam = 0 Sayaç = Sayaç + 1 Toplam = Toplam + Sayaç Eğer (Sayaç < N) ise Adıma git Toplamı Ekrana yaz Bitir. Basla Sayaç = 0, Toplam = 0 sayaç < N ? Bitir Toplam H E sayaç = sayaç + 1 Toplam = Toplam + sayaç N Öğr. Gör. Bayram AKGÜL

22 Döngüsel Akış Şemaları Örnek:3
Basla Sayaç = 0, Toplam = 0 sayaç < N ? Bitir Toplam H E sayaç = sayaç + 1 N, M sayaç mod M = 0 ? Toplam = Toplam + sayaç 1’den N sayısına kadar M’nin katları olan sayıların toplamını ekrana yazdırma Başla N ve M sayılarını kullanıcıdan iste Sayaç = 0, Toplam = 0 Sayaç = Sayaç + 1 Eğer (Sayaç mod M = 0) ise Toplam = Toplam + Sayaç Eğer (Sayaç < N) ise Adıma git Toplamı Ekrana yaz Bitir. H Öğr. Gör. Bayram AKGÜL

23 Döngüsel Akış Şemaları Örnek:4
Girilen N sayının faktöriyelini ekrana yazdırma (ör: 5! = 5*4*3*2*1 = 120) Başla N sayısını kullanıcıdan iste Sayaç = 0, Faktöriyel = 1 Sayaç = Sayaç + 1 Faktöriyel = Faktöriyel * Sayaç Eğer (Sayaç < N) ise Adıma git Faktöriyeli Ekrana yaz Bitir. Basla Sayaç = 0, Faktöriyel = 1 sayaç < N ? Bitir Faktöriyel H E sayaç = sayaç + 1 Faktöriyel = Faktöriyel * sayaç N Öğr. Gör. Bayram AKGÜL

24 Döngüsel Akış Şemaları Örnek:5
Çemberin Çevresini ve Alanını Hesaplama: (kullanıcının yarı çapı 0’dan büyük girdiği garanti ediliyor) Başla Çemberin yarıçapını oku (r) Eğer (r <= 0) 2.1. Ekrana Yaz: «r değeri 0’dan büyük olmalı» Adıma dön Çevre=2*PI*r Alan = PI*r*r Çevre ve alanı ekrana Yaz Dur Başla r Çevre=2*PI*r Alan = PI * r*r Çevre, Alan Bitir r <= 0 ? E H r değeri 0’dan büyük olmalı Öğr. Gör. Bayram AKGÜL

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


"BPR151 ALGORİTMA VE PROGRAMLAMA - I" indir ppt

Benzer bir sunumlar


Google Reklamları