Algoritma Dersi

  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Algoritma Dersi as PDF for free.

More details

  • Words: 1,880
  • Pages: 18
Sayaç İfadesi S=S+1 İşlemde sağdaki ifadede değişkene “1” eklemekle bulunan sonuç yine kendisi olan soldaki değişkene aktarılmaktadır. Bu tür işlemlere algoritmada “sayaç” yada “döngü” ismi verilir. Burada artım 1 dir. Yani sayaç işlem sırası her geldiğinde bir artmaktadır. Sayacın artım değeri problemin durumuna göre 1 den de farklı olabilir. Genelde s, n, i ve sayac kelimeleri kullanılır.

25

a.k.

ƒ Örnek : Klavyeden girilen bir yazıyı 5 kez yazdıran algoritma ve akış şemasını oluşturunuz. ( Y : Yazı, S : Sayaç ) 1. Başla 2. Y yi oku 3. Y yi yaz 4. S = S + 1 5. Eğer S < 5 ise 3.adıma git 6. Dur

26

a.k.

c) Çizgisel ifade (akış şeması) ƒ Herhangi bir sorunun çözümü için izlenmesi gerekli olan aritmetik ve mantıksal adımların görsel olarak simgelerle ifade edilmiş şekline "akış şeması" ya da akış diyagramı adı verilir. ƒ Akış şemaları sorun çözümlenmesi sürecinin daha kolay anlaşılır biçime getirilmesi, iş akışının kontrol edilmesi ve programın kodlanmasının kolaylaştırılması içindir ƒ Uygulamada çoğunlukla, yazılacak programlar için önce programın ana adımlarını gösteren genel bir akış şeması hazırlanır. Daha sonra her adım için ayrıntılı akış şemalarının çizimi yapılır.

27

Klavye

a.k.

Başla

Dur

Kart

Kağıt

Ekran Fonksiyon çağırma

İşlem

Koşullu Dallanma

Veri tabanı

Döngü

Doğrudan

Sakla

Dış

İç 28

Akış şeması sembolleri

a.k.

Örnek : Klavyeden bir öğrencinin adı, soyadı ve iki tane sınav notu okunmaktadır. Okunan sınav notunun ortalamasını bulan, aşağıdaki formatta ekrana yazan algoritmayı yazıp, akış şemasını oluşturunuz. Adı: Soyadı: Akış Diyagramı Ortalama: Başla

Çözüm

Ad,soyad, not1,not2 oku

1. Başla 2. Ad, Soyad, not1,not2 oku 3. ort=(not1+not2)/2 4. “Adı:” ad yaz 5. “Soyadı:” soyad yaz 6. “Ortalama:” ort yaz 7. Dur

ort=(not1+not2)/2

Ad, soyad, ort yaz Dur 29

a.k.

Örnek : Klavyeden birbirinden farklı iki sayı okunmaktadır. Büyük olan sayıyı önce, küçük olan sayıyı ise sonra yazdıran algoritmayı yazarak akış diyagramını çiziniz. 1. Başla 2. sayi1, sayi2 oku 3. eğer sayi1>sayi2 ise sayi1, sayi2 yaz ve 5. adıma git 4. sayi2, sayi1 yaz 5. Dur

30

a.k.

Başla

sayi1,sayi2 oku

eğer sayi1>sayi2

evet

sayi1, sayi2 yaz

hayır

sayi2, sayi1 yaz Dur

31

a.k.

ƒ Örnek : Klavyeden birbirinden farklı üç sayı okunmaktadır. Okunan bu sayıların toplamını sayaç yöntemini kullanarak bulan algoritmayı yazarak akış diyagramını çiziniz. ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ

1. Başla 2. toplam=0,s=0 3. sayi oku 4. s=s+1 5. toplam=toplam+sayi 6.eger s<3 ise 3. adıma git 7. toplam yaz 8.Dur

32

a.k.

Başla toplam=0, s=0

sayi oku

toplam=toplam+s

eğer s<3

evet

hayır

toplam yaz Dur

33

a.k.

Algoritmada işlem türleri a) Ardışık (doğrusal, sıralı) işlem b) Koşullu (Mantıksal) işlem c) Döngülü (iteratif, çevrimli, yineli) işlem Bir bilgisayar programının geliştirilmesinde kullanılan programlama dili ne olursa olsun bu programların akış diyagramlarında genel olarak yalnız bu üç yapı kullanılır.

34

a.k.

Ardışık işlemler

a) Ardışık işlemler 1.Adım

– Bütün işlemlerin sırayla biribirini takip ettiği akış

2.Adım

– Daha önceki işlemlere geri dönülmez

3.Adım

– Karşılaştırma yapılmaz

35

a.k.

a) Ardışık işlemler akış şeması

ÖRNEK : İki sayının çarpımının bulunmasıyla ilgili algoritma şöyledir. Değişkenler A:Birinci sayı, B:İkinci sayı C:İki sayının çarpımı(A*B) Algoritma 1. Başla 2. A'yı oku 3. B'yi oku 4. C=A*B 5. C'yi yaz 6. Dur

başla A oku

B oku

C=A*B C yazdır

dur 36

a.k.

Örnek:Yarıçapı verilen çemberin alanını ve çevresini hesaplayan program akışını çiziniz. başla Yarıçapı oku Alan=3.14*yarıçap*yarıçap

Çevre=2*3.14*yarıçap Alan ve çevre Değerlerini yazdır

dur

37

a.k.

b) Koşullu işlemler Algoritmanın yürütülme ardışıklığı yapılan işlemler sonucu alınan değere bağlıdır. Bu değere göre algoritma farklı dallarda yürütülebilir. ƒ Karşılaştırma ifadesi ƒ DoğruÆBir koldan ƒ YanlışÆDiğer koldan Koşullu İşlem Yapısı

38

a.k.

b) Koşullu işlemler Geniş ölçüde mantıksal kararları içeren akış şemalarıdır. Hesap düzenleri genellikle basittir. Örnek : Klavyeden girilen bir sayının pozitif, negatif veya sıfıra eşit olma durumunu hesaplayıp yazdıran algoritma ve akış şemasını hazırlayınız. 1. Başla 2. S sayısını oku 3. Eğer S > 0 ise “Pozitif” yaz, 4. Eğer S < 0 ise “Negatif” yaz, 5. Eğer S = 0 ise “Sıfıra eşit” yaz, 6. Dur

39

a.k.

b) Koşullu işlemler BAŞLA

S yi oku

S<0

S>0 S:0

YAZ “Pozitif”

S=0

YAZ “Negatif”

YAZ “Sıfıra eşit”

DUR

40

a.k.

Örnek:Üçkenarının uzunluğu girilen bir üçgenin eşkenar olup olmadığını test edecek programın akış şemasını çiziniz.

başla A,B,C’yi oku H

Eşkenar değildir yaz

A=B H

Eşkenar Değildir

E

A=C

E

eşkenardır

dur 41

a.k.

c) Döngülü işlemler ƒ Sorunun çözümü için,çözümde yer alan herhangi bir adım ya da adımların birden fazla kullanıldığı akış şemalarına döngülü şemalar denir.

42

a.k.

d) Döngülü işlemler while döngüsü Önceki işlemler

repeat-until veya do- while döngüsü Önceki işlemler

for döngüsü Önceki işlemler

işlemler N defa

karşılaştırma işlemler

Sonraki işlemler

karşılaştırma işlemler Sonraki işlemler

Sonraki işlemler

ƒ Aynı işlemleri birçok defa tekrar eden akış şemalarıdır. 43

a.k.

DÖNGÜ KOMUTLARI Programlama dilinde ardışık işlemlerin yapılmasını sağlayan komutlardır. Kontrol değişkeni başlangıç, bitiş ve adımdan oluşur. Örneğin n değişkeni için n=1,15,1 ifadesi kullanılırken burada; n :kontrol değişkeni 1 : n değişkeninin başlangıç değerini 15: n değerinin bitiş değerini 1: n değeri 1 den 15 e kadar kaçar kaçar artması gerektiğini ifade eder.

44

a.k.

d) Döngülü işlemler BAŞLA

OKU Y

S = 0 , 5, 1

Sayısı bilinen döngülerde; başlangıç değeri, son değer, artış sayısı

YAZ Y

Döngünün çalıştığı bölüm DUR 45

a.k.

Örnek : 1’den 100’e kadar sayıları yazdıran program akış diyagramını çiziniz

Başla

Sayaç=1

Sayac <=100 Sayacı ekrana yazdır Sayac=sayac+1 Dur

46

a.k.

Örnek : 3 öğrencinin bir sınavdan aldıkları notların ortalamasının bulunması Değişkenler ONOT:Öğrencinin notu TNOT:Notların toplamı NORT:Notların ortalaması OSAYI:Öğrenci sayısı Algoritma 1. Başla 2. TNOT=0 3. OSAYI=0 4. ONOT oku 5. TNOT=TNOT+ONOT 6. OSAYI=OSAYI+1 7. OSAYI<3 ise Adım 4'e git 8. NORT=TNOT/3 9. NORT YAZ 10. Dur 47

a.k.

Örnek açıklama ƒ Bu örnekte 4,5,6 adımları üç kez, 7. adım ise dört kez tekrarlanacak. 7. adımda ilk 3 karşılaştırma zamanı osayı (öğrenci sayısı) <3 olduğundan 4-6 adımları tekrarlanacak. 4.cü karşılaştırmada ise osayı=3 olduğu için algoritmanın sonraki adımları 7-10 adımları gerçekleştirilecek ƒ Göründüğü gibi aynı bir algoritmada farklı işlem türleri buluna biliyor 48

a.k.

Genel Uygulamalar 1:Ekrana beş tane sayı okunmaktadır. Okunan sayıların toplamını ve çarpımını bulan algoritmayı yazınız. 1. başla 2. i = 0 : top = 0 : çarp = 1 3. sayı oku 4. i = i + 1 5. top = top + sayı 6. carp = carp * sayı 7. if i < 5 ise git 3 8. “sayıların toplamı =”, top yaz 9. “sayıların çarpımı =”, carp yaz 10. dur

49

a.k.

2.Ekrana 10 kişinin adı, soyadı ve doğum tarihi okunmaktadır. Okunan doğum tarihlerine göre yaşını bulan adı, soyadı ile birlikte yazdıran algoritmayı yazınız. 1. i=0 2. ad, soyad, dy oku 3. i=i+1 4. yas=by-dy 5. ad, soyad, yas yaz 6. if i<10 ise 2’ye git 7. dur

3:Ekrana 4 kişinin yaşı okunmaktadır. Yaşı 20’ye eşit olanların sayısını bulan algoritmayı yazınız. 1. başla 2. i=0 : ys=0 3. yas oku 4. i=i+1 5. if yas=20 ise ys=ys+1 6. if i<4 ise 2’ye git 7. “yaşı 20’ye eşit olanların sayısı=”,ys yaz 8. dur

50

a.k.

4:Ekrana üç tane yaş okunmaktadır. Okunan yaşlardan 15 ile 25 arasında olanların sayısıny bulan algoritmayı yazınız. 1. başla 2. i=0 : ys=0 3. yas oku 4. i=i+1 5. if yas >=15 ve yas<= 25 ise ys=ys+1 6. if i<3 ise 2’ye git 7. ys yaz 8. dur

5:Ekrana dört tane sayı okunmaktadır. Okunan sayılardan pozitif olanların sayısını bulan ve yazdıran algoritmayı yazınız. 1. başla 2. i= 0 , ps=0 3. sayı oku 4. i=i+1 5. if sayı > 0 ise ps=ps+1 6. if i<4 ise 2’ye git 7. ‘’pozitiflerin sayısı=’’ , ps yaz 8. dur

51

a.k.

6:Ekrana dört tane sayı okunmaktadır. Okunan sayılardan tek ve çift olanların sayısını bulan algoritmayı yazınız. 1. başla 2. i=0 , teks=0 , cifts=0 3. a oku 4. i=i+1 5. k=(-1)**a 6. if k=-1 ise teks=teks+1 7. if k=1 ise cifts=cifts+1 8. if i<4 ise 2’ye git 9. teks, cifts yaz 10. dur

7:1’den 7’ye kadar olan sayılar arasından tek olanların çarpımını bulan algoritmayı yazınız. 1. başla 2. carp=1 : i=1 3. capr=carp*i 4. i=i+2 5. if i<= 7 ise 3’ye git 6. “çarpım=”, carp yaz 7. dur

52

a.k.

8: 3’den 15’e kadar olan çift sayıların ortalamasını bulan algoritmayı yazınız. 1. başla 2. top=0 : cs=0 : i=4 3. top=top+i : cs=cs+1 4. i=i+2 5. if i<= 15 ise 3’ye git 6. orta=top/cs 7. orta yaz 8. dur

9: 2’den 7’ye kadar olan tek ve çift sayıların ayrı ayrı toplamlarını bulan algoritmayı yazınız. 1. başla 2. top=0 : i=3 3. top=top+i 4. i=i+2 5. if i<= 7 ise 3’ye git 6. “tek sayıların toplamı=”, top yaz 7. i=2 : ctop=0 8. ctop=ctop+i 9. i=i+2 10. if i<= 7 ise 8’ye git 11. “çift sayıların toplamı=”, ctop yaz 12. dur

53

a.k.

10: Ekrana girilen N sayısına göre 1’den N’ye kadar olan sayıların karelerinin toplamını hesaplayan algoritmayı yazınız. 1. başla 2. t=0, i=0 3. n oku 4. i=i+1 5. t=t+i**2 6. eğer i<=n git 4 7. t yaz 8. dur

11: 1’den 17’ye kadar olan tek sayıların toplamını bulan algoritmayı döngü yapısını kullanarak yazın. 1. başla 2. top=0 3. döngü i=1,17,2 4. top=top+i 5. döngü sonu i 6. top yaz 7. dur

54

a.k.

Akış Diyagramları Genel Uygulamalar Örnek1: 1’den 100’e kadar olan tam sayıların toplamını bulan algoritma ve akış şemasının oluşturulması Başla

Durum 1 (while döngüsü)

I=1 Toplam = 0

1.Başla 2.I = 1 , Toplam = 0 3.Eğer I = 100 ise 6.Adıma git 4.Toplam = Toplam + I 5.I = I +1 al ve 3.Adıma Dön 6.Toplam değerini yaz 7.Dur

E I=100

H Toplam = Toplam +1

I = I +1

Toplam yaz

DUR

55

a.k.

Akış Diyagramları Genel Uygulamalar Örnek1: 1’den 100’e kadar olan tam sayıların toplamını bulan algoritma ve akış şemasının oluşturulması Başla

Durum 2 (repeat-until döngüsü)

I=1 Toplam = 0

1.Başla 2.I = 1 , Toplam = 0 3.Toplam = Toplam + I 4.Eğer I = 100 ise 6.Adıma git 5.I = I +1 al ve 3.Adıma Dön 6.Toplam değerini yaz 7.Dur

Toplam = Toplam +1

E I=100

Toplam yaz

H I = I +1

DUR

56

a.k.

Akış Diyagramları Genel Uygulamalar Örnek1: 1’den 100’e kadar olan tam sayıların toplamını bulan algoritma ve akış şemasının oluşturulması Başla

Durum 3 (for döngüsü ile)

Toplam = 0

1. Başla 2. Toplam=0 3. döngü I=1,100,1 4. Toplam=Toplam + I 5. döngü sonu I 6. Toplam yaz 7. Dur

i=1,100,1

Toplam = Toplam +i

Toplam yaz

DUR

57

a.k.

Örnek2: Girilen 3 tam sayıdan en büyüğünü bulan algoritma ve akış şemasının oluşturulması 1.Başla 2.A,B,C sayılarını oku 3.Buyuk = A 4.Eğer Buyuk < B ise Buyuk = B 5.Eğer Buyuk < C ise Buyuk = C 6.Buyuk değerini yaz 7.Dur.

Başla A,B,C oku

Buyuk = A

Buyuk
E Buyuk = B

58

H

Buyuk
H

Toplam yaz

E Buyuk = C

DUR

a.k.

Örnek3: 1 ile 100 arasındaki tam sayılardan tek ve çift olanların ayrı ayrı toplamını bulan algoritma ve akış şemasının oluşturulması. Başla 1.Başla 2.S = 1 , TTEK = 0 , TCIFT = 0 3.TTEK = TTEK + S 4.TCIFT = TCIFT + S + 1 5.Eğer S = 99 ise 8.Adıma git 6.S = S +2 7.Adıma git 8.TTEK ve TCIFT değerlerini yaz 9.Dur.

s=1, ttek=0, tcift=0 ttek=ttek+s tcift=tcift+s

s = 99

evet

ttetk, tcift yaz

hayır

s=s+1

Dur

59

a.k.

Örnek 4: İki sayının ortalamasını bulan algoritmayı yazıp, akış diyagramını çiziniz.

Başla

sayi1,sayi2 oku

toplam=sayi1+sayi2

ortalama=toplam/2

ortalama yaz

Dur

60

a.k.

Related Documents

Algoritma Dersi
May 2020 2
Algoritma
November 2019 46
Algoritma
November 2019 45
Algoritma
July 2020 28
Algoritma
November 2019 40