Uploaded by yusufberke1723

Akis Diyagramlari

advertisement
AKIŞ DİYAGRAMLARI
AKIŞ DİYAGRAMLARI
Akış Diyagramları: Bir problemin çözümünün sembolik bir dil ile adım adım
gösterilmesidir.
Akış Diyagramları:
 Algoritmanın kullanılan dilden bağımsız olarak ifade edilmesidir.
 Evrensel kabul görmüş sembolleri kullanır.
 Algoritmalardaki her bir duruma karşılık gelen bir sembol mevcuttur.
2
CENG193 BİLGİSAYAR-1
Kasım 2019
AKIŞ DİYAGRAMLARI
Kullanılan Semboller ve Anlamları
BAŞLAMA / BİTİŞ
VERİ GİRİŞİ
İŞLEM
KARŞILAŞTIRMA
VERİ ÇIKIŞI
AKIŞ YÖNÜ
3
CENG193 BİLGİSAYAR-1
Kasım 2019
AKIŞ DİYAGRAMLARI
Başlama Sembolü
BAŞLA
Algoritma Karşılığı:
BAŞLA
4
CENG193 BİLGİSAYAR-1
Kasım 2019
AKIŞ DİYAGRAMLARI
Veri Girişi Sembolü
x
Algoritma Karşılığı:
OKU x
5
CENG193 BİLGİSAYAR-1
Kasım 2019
AKIŞ DİYAGRAMLARI
İşlem Sembolü
y = 3*x
Algoritma Karşılığı:
y = 3*x
6
CENG193 BİLGİSAYAR-1
Kasım 2019
AKIŞ DİYAGRAMLARI
Karşılaştırma Sembolü
x>10
E
işlem1
x>10
E
işlem1
H
işlem2
Algoritma Karşılığı:
Algoritma Karşılığı:
EĞER (x > 10) İSE işlem1
EĞER (x > 10) İSE işlem1
DEĞİLSE işlem2
7
CENG193 BİLGİSAYAR-1
Kasım 2019
AKIŞ DİYAGRAMLARI
Veri Çıkışı Sembolü
y
Algoritma Karşılığı:
YAZ y
8
CENG193 BİLGİSAYAR-1
Kasım 2019
AKIŞ DİYAGRAMLARI
Bitiş Sembolü
BİTİR
Algoritma Karşılığı:
BİTİR
9
CENG193 BİLGİSAYAR-1
Kasım 2019
AKIŞ DİYAGRAMLARI
“Klavyeden girilecek iki sayıyı toplayıp ekrana yazdıran” algoritma
10 - BAŞLA
BAŞLA
20 – OKU x, y
x, y
30 – z = x + y
40 – YAZ z
z=x+y
50 – BİTİR
z
BİTİR
10
CENG193 BİLGİSAYAR-1
Kasım 2019
AKIŞ DİYAGRAMLARI
Kurallar

Mutlaka BAŞLA ile başlamalı ve BİTİR ile bitmelidir.

Şekiller işlem sırasına göre yerleştirilmelidir.

Şekiller birbirine oklarla bağlanmalıdır.

Oklar dikey veya yatay kullanılmalıdır.

Oklar işlemin akış yönünü gösterdiği için mutlaka yönlü olmalıdır.

BAŞLA’dan itibaren hangi ok takip edilirse edilsin mutlaka BİTİR’e ulaşılmalıdır.
11
CENG193 BİLGİSAYAR-1
Kasım 2019
AKIŞ DİYAGRAMLARI
“Klavyeden girilen sayının tek mi çift mi olduğunu ekrana yazdıran” algoritma
BAŞLA
10 - BAŞLA
20 – OKU sayı
30 – EĞER (sayı % 2 == 0) İSE YAZ “çift sayı”
DEĞİLSE YAZ “tek sayı”
40 - BİTİR
sayı
sayı%2==0
0
E
“Çift sayı”
H
“Tek sayı”
BİTİR
12
CENG193 BİLGİSAYAR-1
Kasım 2019
AKIŞ DİYAGRAMLARI
“Klavyeden girilecek iki sayıdan büyük olanı bulup ekrana yazdıran” algoritma
10 - BAŞLA
BAŞLA
20 – OKU x, y
30 – EĞER (x > y) İSE YAZ “Büyük” x
DEĞİLSE EĞER (y > x) İSE YAZ “Büyük” y
DEĞİLSE YAZ “Eşit”
RR
40 – BİTİR
x, y
x>y
H
y>x
E
E
“Büyük” x
“Büyük” y
H
“Eşit”
BİTİR
CENG193 BİLGİSAYAR-1
Kasım 2019
13
AKIŞ DİYAGRAMLARI
BAŞLA
10 - BAŞLA
20 – OKU x
30 – EĞER (x > 6) İSE YAZ “A”
40 – YAZ “B”
50 - BİTİR
x
x>6
E
“A”
“B”
BİTİR
SORU: Yukarıdaki algoritma ve akış diyagramı x = 6 için ekrana ne yazar?
14
CENG193 BİLGİSAYAR-1
Kasım 2019
AKIŞ DİYAGRAMLARI
“Klavyeden girilecek üç sayının en büyüğünü bulup ekrana yazdıran” algoritma
BAŞLA
10 – BAŞLA
20 – OKU x, y, z
x, y, z
30 – eb = x
40 – EĞER (y > eb) İSE eb = y
eb = x
50 – EĞER (z > eb) İSE eb = z
60 – YAZ “En büyük sayı” eb
70 - BİTİR
y > eb
z > eb
E
E
eb = y
eb = z
eb
CENG193 BİLGİSAYAR-1
Kasım 2019
BİTİR
15
AKIŞ DİYAGRAMLARI
BAŞLA
SORU: Yandaki akış diyagramına
göre x=20, x = 40 ve x = 1 için
ekrana ne yazar?
x
x >= 20
H
x = x+4
E
x < 40
H
x = 2*x
E
x = x+6
x
BİTİR
16
CENG193 BİLGİSAYAR-1
Kasım 2019
AKIŞ DİYAGRAMLARI
“1’den 5’e kadar sayıları sırayla ekrana yazdıran” algoritma
BAŞLA
10 – BAŞLA
20 – x = 1
30 – EĞER (x < 6) İSE GİT 40
x=1
DEĞİLSE GİT 70
40 – YAZ x
x<6
50 – x = x + 1
E
60 – GİT 30
H
BİTİR
x
70 – BİTİR
x=x+1
17
CENG193 BİLGİSAYAR-1
Kasım 2019
AKIŞ DİYAGRAMLARI
“1’den klavyeden girilen n sayısına kadar sayıları sırayla ekrana yazdıran” algoritma
BAŞLA
10 – BAŞLA
20 – OKU n
n
30 – x = 1
40 – EĞER (x <= n) İSE GİT 50
DEĞİLSE GİT 80
x=1
50 – YAZ x
60 – x = x + 1
x <= n
70 – GİT 40
E
80 – BİTİR
H
BİTİR
x
x=x+1
18
CENG193 BİLGİSAYAR-1
Kasım 2019
AKIŞ DİYAGRAMLARI
“1’den 10’a kadar olan tek sayıları ekrana yazdıran” algoritma
BAŞLA
10 – BAŞLA
20 – x = 1
30 – EĞER (x <= 10) İSE GİT 40
x=1
DEĞİLSE GİT 70
40 – EĞER (x % 2 == 1) İSE YAZ x
50 – x = x + 1
H
x <= 10
E
60 – GİT 30
70 – BİTİR
x % 2==1
> eb
BİTİR
E
x
x=x+1
19
CENG193 BİLGİSAYAR-1
Kasım 2019
AKIŞ DİYAGRAMLARI
“1’den 5’e kadar sayıların toplamını bulup ekrana yazdıran” algoritma
BAŞLA
10 – BAŞLA
20 – x = 1
30 – toplam = 0
40 – EĞER (x <= 5) İSE GİT 50
x=1
toplam = 0
DEĞİLSE GİT 80
50 – toplam = toplam + x
60 – x = x + 1
x <= 5
E
70 – GİT 40
H
toplam
toplam = toplam + x
80 – YAZ toplam
90 – BİTİR
BİTİR
x=x+1
20
CENG193 BİLGİSAYAR-1
Kasım 2019
AKIŞ DİYAGRAMLARI
“Klavyeden girilen n sayısı için n! işlemini yapan” algoritma
BAŞLA
10 – BAŞLA
n
20 – OKU n
30 – sayı = 1, fakt = 1
sayı = 1
fakt = 1
40 – EĞER (n == 0 VEYA n == 1) İSE GİT 90
50 – EĞER (sayı <= n) İSE GİT 60
DEĞİLSE GİT 90
E
60 – fakt = fakt * sayı
n==0VEYAn==1
70 – sayı = sayı+ 1
80 – GİT 50
sayı <= n
90 – YAZ n, “!=”, fakt
100 – BİTİR
H
n, “!=”, fakt
CENG193 BİLGİSAYAR-1
Kasım 2019
BİTİR
E
fakt = fakt * sayı
sayı = sayı + 1
21
AKIŞ DİYAGRAMLARI
“Klavyeden Evet (E) cevabı girildiği sürece girilecek sayıların toplamını bulup ekrana
yazdıran” algoritma
BAŞLA
10 – BAŞLA
20 – t = 0
t=0
30 – devam = “E”
40 – EĞER (devam == “E”) İSE GİT 50
devam = “E”
DEĞİLSE GİT 100
50 – OKU x
devam == “E”
60 –t = t + x
H
70 – YAZ “Devam etmek için E basınız”
80 – OKU devam
t
90 – GİT 40
E
x
t=t+x
100 – YAZ t
110 – BİTİR
BİTİR
devam
22
CENG193 BİLGİSAYAR-1
Kasım 2019
AKIŞ DİYAGRAMLARI
* * *
* * *
* * *
3
“Yandaki şekildeki gibi ekran çıktısı veren” algoritma
BAŞLA
10 – BAŞLA
20 –r = 1
30 – EĞER (r <= 3) İSE GİT 40
DEĞİLSE GİT 120
40 – c = 1
50 – EĞER (c <= 3) İSE GİT 60
DEĞİLSE GİT 90
60 – YAZ “*”
70 – c = c + 1
80 – GİT 50
90 – YAZ ALTSATIR
100 –r = r + 1
110 – GİT 30
120 – BİTİR
r=1
r <= 3
H
E
BİTİR
c=1
c <= 3
E
“*”
H
ALTSATIR
r=r+1
c=c+1
23
CENG193 BİLGİSAYAR-1
Kasım 2019
AKIŞ DİYAGRAMLARI
123
123
123
3
“Yandaki şekildeki gibi ekran çıktısı veren” algoritma
BAŞLA
10 – BAŞLA
20 –r = 1
30 – EĞER (r <= 3) İSE GİT 40
DEĞİLSE GİT 120
40 – c = 1
50 – EĞER (c <= 3) İSE GİT 60
DEĞİLSE GİT 90
60 – YAZ c
70 – c = c + 1
80 – GİT 50
90 – YAZ ALTSATIR
100 –r = r + 1
110 – GİT 30
120 – BİTİR
r=1
r <= 3
H
E
BİTİR
c=1
c <= 3
E
c
H
ALTSATIR
r=r+1
c=c+1
24
CENG193 BİLGİSAYAR-1
Kasım 2019
AKIŞ DİYAGRAMLARI
1
22
333
3
“Yandaki şekildeki gibi ekran çıktısı veren” algoritma
BAŞLA
10 – BAŞLA
20 –r = 1
30 – EĞER (r <= 3) İSE GİT 40
DEĞİLSE GİT 120
40 – c = 1
50 – EĞER (c <= r) İSE GİT 60
DEĞİLSE GİT 90
60 – YAZ r
70 – c = c + 1
80 – GİT 50
90 – YAZ ALTSATIR
100 –r = r + 1
110 – GİT 30
120 – BİTİR
r=1
r <= 3
H
E
BİTİR
c=1
c <= satır
E
r
H
ALTSATIR
r=r+1
c=c+1
25
CENG193 BİLGİSAYAR-1
Kasım 2019
AKIŞ DİYAGRAMLARI
“Klavyeden girilen 3 sayıyı büyükten küçüğe sıralayarak ekrana yazdıran” algoritma
BAŞLA
10 – BAŞLA
20 – OKU x, y, z
x, y, z
30 – EĞER (y > x) İSE s = x;
x = y;
y=s
40 – EĞER (z > x) İSE s = x;
x = z;
z=s
50 – EĞER (z > y) İSE s = y;
y = z;
z=s
60 – YAZ x, y, z
y>x
z>x
z>y
E
s=x
x=y
y=s
E
s=x
x=z
z=s
E
s=y
y=z
z=s
70 – BİTİR
x, y, z
26
CENG193 BİLGİSAYAR-1
Kasım 2019
BİTİR
AKIŞ DİYAGRAMLARI
“Klavyeden girilen bir sayının asal sayı olup olmadığını ekrana yazan ” algoritma
10 – BAŞLA
20 – OKU sayı
30 – asal = true
40 – k = 2
50 – EĞER (k < sayı) İSE GİT 60
DEĞİLSE GİT 90
60 – EĞER (sayı % k == 0) İSE asal = false;
GİT 90
70 – k = k + 1
80 – GİT 50
90 – EĞER (asal == true) İSE YAZ “asal”
DEĞİLSE YAZ “asal değil”
100 – BİTİR
SORU 1: Yanda verilen algoritma için
akış diyagramını yazınız.
SORU 2: Yanda verilen algoritma
klavyeden girilen 30 değeri için ekrana
ne yazar?
27
CENG193 BİLGİSAYAR-1
Kasım 2019
AKIŞ DİYAGRAMLARI
“Klavyeden girilen bir n sayısına kadar asal olan tüm sayıları ekrana yazan ” algoritma
10 – BAŞLA
20 – OKU n
30 – sayı = 2
40 – EĞER (sayı <= n) İSE GİT 50
DEĞİLSE GİT 140
50 – asal = true
60 – k = 2
70 – EĞER (k < sayı) İSE GİT 80
DEĞİLSE GİT 110
80 – EĞER (sayı % k == 0) İSE asal = false;
GİT 120
90 – k = k + 1
100 – GİT 70
110 – EĞER (asal == true) İSE YAZ sayı
120 – sayı = sayı +1
130 – GİT 40
140 – BİTİR
SORU 1: Yanda verilen algoritma için
akış diyagramını yazınız.
SORU 2: Yanda verilen algoritma
klavyeden girilen 30 değeri için ekrana
ne yazar?
28
CENG193 BİLGİSAYAR-1
Kasım 2019
AKIŞ DİYAGRAMLARI
SORULAR
1 – Klavyeden girilen bir n sayısına kadar olan tek sayıların toplamını hesaplayıp ekrana yazdıran
algoritmayı yazınız ve akış diyagramını çiziniz.
2 – Klavyeden girilen bir n sayısına kadar olan ve 7’ye tam bölünen sayıları ekrana alt alta yazdıran
ve bu sayıların toplamını hesaplayıp ekrana yazdıran algoritmayı yazınız ve akış diyagramını
çiziniz.
3 – Klavyeden girilen m sayısından klavyeden girilen n sayısına kadar sayıları ekrana yazdıran
algoritmayı yazınız ve akış diyagramını çiziniz.
4 – Yandaki ekran görüntüsünü veren akış diyagramını çiziniz.
40 30 20 10
40 30 20
40 30
40
29
CENG193 BİLGİSAYAR-1
Kasım 2019
AKIŞ DİYAGRAMLARI
SORULAR
5 – Sayfa 16’da verilen akış diyagramına ilişkin algoritmayı yazınız.
6 – Fibonacci serisinin ilk 10 terimini ekrana yazdıran algoritmayı yazınız ve akış diyagramını çiziniz.
7 – Onlu sayı sistemine göre verilen bir sayının ikili sayı sisteminde karşılığını bulup ekrana
yazdıran akış diyagramını çiziniz.
8 – İkili sayı sistemine göre verilen bir sayının onlu sayı sisteminde karşılığını bulup ekrana
yazdıran akış diyagramını çiziniz.
9 – Klavyeden girilen x ve y sayıları için 𝑥 𝑦 değerini bulup ekrana yazdıran akış diyagramını çiziniz.
10 – Klavyeden girilen üç sayıyı küçükten büyüğe sıralayarak ekrana yazdıran akış diyagramını
çiziniz.
30
CENG193 BİLGİSAYAR-1
Kasım 2019
Download