Flowcharts

5
AKIŞ ŞEMASI ÖRNEKLERİ 1. Girilen iki sayının OBEB ve OKEK’ ini bulan akış şemasını oluşturunuz. H E E H Şekil 1. Girilen iki sayının OBEB ve OKEK’ ini bulan akış şeması Başla t := A* B A, B temp := A A := B B := temp temp := B B := A mod B A := temp OBEB , OKEK DUR B = 0 A < B OBEB := A OKEK := t div A

description

sistem analizi ve kontrol

Transcript of Flowcharts

Page 1: Flowcharts

AKIŞ ŞEMASI ÖRNEKLERİ

1. Girilen iki sayının OBEB ve OKEK’ ini bulan akış şemasını oluşturunuz.

H E E H

Şekil 1. Girilen iki sayının OBEB ve OKEK’ ini bulan akış şeması

Başla

t := A* B

A, B

temp := A A := B

B := temp

temp := B B := A mod B

A := temp

OBEB , OKEK

DUR

B = 0

A < B

OBEB := A OKEK := t div A

Page 2: Flowcharts

2. Girilen bir tam sayının tam kare olup olmadığını araştıran akış şemasını oluşturunuz.

A1. Başla, A2. A sayısını gir, A3. B=A^(1/2) al, A4. C=TAM(B) al, A5. D=C^2 al, A6. Eğer A=D ise A9. adıma git, A7. “tam kare değil” yaz, A8. A10. adıma git, A9. “tam kare”yaz, A10. Dur. E H

Şekil 2. Girilen bir tamsayının tam kare olup olmadığını bulan akış şeması

Başla

B=A^(1/2)

A

D=C^2

C=TAM(B)

BU SAYI TAM KARE DEGILDIR

DUR

A=D

BU SAYI TAM KARE

Page 3: Flowcharts

Girilen bir A sayısının tam kare olabilmesi için, bu sayının karekökünün tam kısmı aşınarak elde edilen değerin tekrar karesi alındığında bu sayının ilk girilen sayıya eşit olması gerekir. Aksi halde girilen sayı tam kare olmayacaktır. Yukarıdaki algoritmada aynı mantıkla hareket edilerek A2. adımda bir A sayısı girilmiştir. A3. adımda bu sayının karekökü alınarak B gibi bir değişkene atanıp, A4. adımda bu değerin tam kısmı alınarak C gibi bir değişkene atanmıştır. A5. adımda c değerinin karesi alınarak elde edilen değer D olarak adlandırılan bir değişkene atanmıştır ve A6. adımda D değeri girilen A değeri ile karşılaştırılarak bu ilk değerin eşitliği durumunda A9. adıma gidilerek girilen sayının tam kare olduğu yazdırılarak işleme son verilmektedir. Aksi halde A7. adımda girilen sayının tam kare olmadığı yazdırılarak işleme son verilmektedir. Örnek olarak A=5 alınırsa b=2,236.. şeklinde olacaktır. Buna göre C=2 ve D= 4 olacaktır. Dolayısıyla A<>D olacağından A7. adım devreye girerek bu sayının tam kare olmadığı yazılacaktır. Eğer A=9 olsaydı, B=3 ve D=9 olacağından A=D elde edilecekti ve durumda A9. adım devreye girerek sayının tam kare olduğu yazdırılacaktı.

Page 4: Flowcharts

3. 10 elemanlı bir sayı dizisinin en büyük elemanını bulan akış şemasını oluşturunuz.

A1. Başla, A2. I=1 al, A3. A(I)’ yı gir, A4. Eğer I=10 ise A6. adıma git, A5. I=I+1 al ve A3. adıma geri dön, A6. EB=A(I) al, I=2 al, A7. Eğer EB<A(I) ise EB=A(I) al, A8. Eğer I=10 ise A10. adıma git, A9. I=I+1 al ve A7. adıma geri dön, A10. EB’ yi yaz, A11. Dur E

Başla

I := 1

A(I)

I=10

I := I+1

EB := A(I)

I := 2

EB<A(I)

I=10

I=I+1

EB=A(I)

EB

DUR

Page 5: Flowcharts

Şekil 3. 10 elemanlı bir sayı dizisinin en büyük elemanını bulan akış şeması. İlk 5 adımda 10 elemanlı sayı dizisinin giriş işlemleri yapılmaktadır. Bunun için bir I indisi kullanılarak bunun değeri 10 oluncaya kadar dizi elemanlarının girişine devam edilmektedir. A6. adımda EB isimli bir değişken tanımlanarak A dizisinin I. Elemanı olan A(I) bu değişkene atanmıştır. Buradaki amaç, dizinin elemanlarını birbirleriyle karşılaştırmak yerine EB olarak adlandırılan değişkenle karşılaştırmaktır. A8. adımda EB ile A dizisinin diğer elemanları karşılaştırılmaktadır ve eğer EB değişkeni bu dizi elemanlarından daha küçük ise EB yerine karşılaştırılan dizi elemanı atanmaktadır. Bu işlem I sayacı 10 oluncaya kadar devam etmektedir. A11. adımda en son elde edilen EB değeri en büyük olarak yazılmaktadır.