Sunuyu indir
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
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.