• Tidak ada hasil yang ditemukan

ALGORİTMA DERS NOTLARI

N/A
N/A
Protected

Academic year: 2021

Membagikan "ALGORİTMA DERS NOTLARI"

Copied!
26
0
0

Teks penuh

(1)

ALGORİTMA DERS NOTLARI

Programlamaya Giriş

Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi.

Önceki bölümde bir problemin çözümü ile ilgili teknikler sunmuştuk. Bir problemi bilgisayar ile çözmek için geliştireceğimiz programın yazımında izleyeceğimiz adımlar: i) Problemin ne olduğunu kavra. Çözüm için gereksinimleri belirle.

ii) Problemin girdilerini, çıktılarını ve diğer kısıtlama ve gereksinimleri belirle ( bilgilerin giriş ve çıkış biçimlerinin nasıl olacağına kadar).

iii) Problemin çözümünü veren algoritmayı yaz. iv) Algoritmayı bir programla dili ile yaz.

v) Programın doğru çalışıp çalışmadığını test et. Bu testi değişik veriler (girdiler) için tekrarla.

Problem Çözme ve Algoritmalar 1.1 Problem Çözme

Problem çözmede, soruna hemen girişmek yerine, dikkatli ve sistematik yaklaşım ilke olmalıdır. Problem iyice anlaşılmalı ve mümkün olduğu kadar küçük parçalara

ayırılmaladır.

Descartes tarafından "Discourse on Method" isimli kitabında anlatılan problem çözme teknikleri;[2]

1. Doğruluğu kesin olarak kanıtlanmadıkça, hiçbir şeyi doğru olarak kabul etmeyin; tahmin ve önyargılardan kaçının.

2. Karşılaştığınız her güçlüğü mümkün olduğu kadar çok parçaya bölün.

3. Düzenli bir biçimde düşünün; anlaşılması en kolay olan şeylerle başlayıp yavaş yavaş daha zor ve karmaşık olanlara doğru ilerleyiniz.

4. Olaya bakışınız çok genel, hazırladığınız ayrıntılı liste ise hiçbir şeyi dışarıda bırakmayacak kadar kusursuz ve eksiksiz olsun.

1.2 Algoritmalar

Belirli bir görevi yerine getiren sonlu sayıdaki işlemler dizisidir. İ.S. 9.yy da İranlı Musaoğlu Horzumlu Mehmet

(Alharezmi adını araplar takmıştır) problemlerin çözümü için genel kurallar oluşturdu. Algoritma Alharezmi'nin Latince okunuşu.

Her algoritma aşağıdaki kriterleri sağlamalıdır.

1. Girdi: Sıfır veya daha fazla değer dışarıdan verilmeli. 2. Çıktı: En azından bir değer üretilmeli.

3. Açıklık: Her işlem (komut) açık olmalı ve farklı anlamlar içermemeli. 4. Sonluluk: Her türlü olasılık için algoritma sonlu adımda bitmeli.

5. Etkinlik: Her komut kişinin kalem ve kağıt ile yürütebileceği kadar basit olmalıdır. Not: Bir program için 4. özellik geçerli değil. işletim sistemleri gibi program sonsuza dek çalışırlar .

(2)

Örnek: İki sayının toplamını yazan algoritmayı yazınız. Çözüm:

Adım 1 --> İlk sayıyı oku, Sembolik olarak A1 S1=? Adım 2 --> İkinci sayıyı oku A2 S2=?

Adım 3 --> Sayıları topla A3 T S1+S2

Adım 4 --> Sonucu görüntüle. A4 T'yi göster.

1.Soru : Kullanıcının girdiği iki sayının karelerinin toplamını görüntüleyen algoritmayı yazınız.

Çözüm A0 --> Başla

A1 --> Sayaç=0 (Sayaç'ın ilk sayısı 0 olarak başlar.)

A2 --> Sayı=? : TßT+Sayı (Sayıyı giriniz. T'ye sayıyı ekle veT'yi göster.) A3 --> Sayaç=Sayaç+1 (Sayaç'a bir ekle ve sayacı göster.)

A4 --> Sayaç<4 ise A2'ye git. (Eğer sayaç 4'ten küçükse Adım 2'ye git.) A5 --> O=T/4 (Ortalama için T değerini 4'e böl)

A6 --> O'yu göster. (Ortalamayı göster.) A7 --> Dur

2.Soru : 20'den 50'ye kadar olan sayıların toplamını bulan algoritma yazınız. Çözüm

A0 --> Başla

A1 --> S=20 : T=0 (Sayı 20 T değeri 0 ile başla) A2 --> TßT+S (T'ye sayıyı ekle T'yi göster.) A3 --> S=S+1 (Sayıyı bir artır.)

A4 --> S<50 ise A2'ye git. (Eğer sayı 50'den küçük ise Adım 2'ye git) A5 --> T'yi göster. (T'nin değerini göster.)

A6 --> Dur

3.Soru : 30 ile 90 arasındaki çift sayıların toplamını bulan algoritma yazınız. Çözüm:

A0 --> Başla

A1 --> S=0 : T=0 (Sayı 0, Toplam değeri 0 olsun) A2 --> S=S+1 (Sayıyı bir artır, sayıyı göster.)

A3 --> T=T+2S+28 (28 sayısına çift sayı olması için sayıyı 2 ile çarp ve toplama ekle, toplamı göster)

A4 --> 2S+28<90 ise git A2 (Eğer Çift sayı 90 değerinden küçük ise Adım 2'ye git) A5 --> O=T/S (Toplam değeri sayıya böl ve ortalamayı bul)

A6 --> O'yu yaz. (Ortalamayı göster) A7 --> Dur

4.Soru : Klavyeden girilen 10 adet sayıdan çift sayıların toplamının tek sayıların toplamına oranını bulan algoritma yazınız.

Çözüm: A0 --> Başla

A1 --> S=0 : T=0 : Ç=0 (Sayı, tek ve çift sayılar 0 değerini alsın) A2 --> Sayı? (Sayıyı giriniz)

A3 --> (-1)sayı=1 ise Ç=Ç+Sayı (Eğer -1'in sayı üssü 1 sayısına eşitse sayıyı çift sayıya ekle ve çift sayıyı bul.)

A4 --> (-1)sayı=+1 ise T=T+Sayı (Eğer -1'in sayı üssü +1 sayısına eşitse sayıyı tek sayıya ekle ve tek sayıyı bul.)

A5 --> S=S+1 (Sayaça 1 ekle ve sayacı göster)

A6 --> S<10 ise A2'ye git. (Eğer Sayaç 10'dan küçük ise Adım 2'ye git.) A7 --> V ß Ç/T (Çift sayıların toplamını tek sayıların toplamına böl.) A8 --> V'yi göster. (Bölme sonucunu göster.)

(3)

5.Soru : Klavyeden girilen iki sayıdan en büyüğünü bulup gösteren algoritmayı yazınız. Çözüm :

A0 --> Başla

A1 --> S1=? : S2=? (İlk sayıyı gir ; ;İkinci sayıyı gir.)

A2 --> S1>S2 ise git A4 (Sayı 1 sayı 2'den küçükse Adım 4'e git.) A3 --> S2>S1 ise git A5 (Sayı 2 sayı 1'den küçükse Adım 5'e git.) A4 --> S1'i göster git A6 (sayı 1 değerini göster ve işlemi durdur) A5 --> S2'yi göster. (Sayı 2 değerini göster)

A6 --> Dur

6.Soru : Klavyeden girilen üç sayıdan en büyüğünü bulup gösteren algoritmayı yazınız. Çözüm :

A0 --> Başla : EB=-¥ : S=0 (Başla olabilecek EB:en küçük sayı olsun, Sayı 0 olsun) A1 --> Sayı? (Sayıyı giriniz.)

A2 --> Sayı>EB ise EB=Sayı (Eğer Sayı EB'den küçükse EB sayıyla aynı değeri alsın.) A3 --> S=S+1 (Sayaca 1 ekle ve sayacı göster)

A4 --> S<3 ise git A1 (Eğer sayac 3'ten küçükse adım 1'e git.) A5 --> EB'yi göster (En büyük sayıyı göster.)

A6 --> Dur

7. Soru: Bilgisayara girilen 50 öğrencinin adını, soyadını ve sınav notunu kullanarak en yüksek not alan öğrencinin adını, soyadını, en düşük not alan öğrencinin adını, soyadını yazan programın algoritmasını kodlayınız. (YN=Yüksek not, DN= Düşük not)

1. Başla 2. I = 0 3. YN = 0 4. DN = 100 5. I = I + 1

6. Oku AD, SOY, NOTU

7. Eğer notu > YN ise YN = Notu, YAD = AD, YSOY=SOY 8. Eğer notu < DN ise DN= Notu, DAD= AD, DSOY=SOY 9. Eğer I<50 ise git adım 5

10. Yaz YAD, YSOY, DAD, DSOY 11. DUR

8. Soru: Bilgisayara girilen bir sayının faktöriyelini hesaplayan programın algoritmasını yazın. 1. Başla 2. I = 0 3. Ç= 1 4. Oku S 5. I = I + 1 6. Ç = Ç * I

7. Eğer I < S ise git adım 5 8. Yaz Ç

9. Dur

9. Soru: Bilgisayara girilen bir sayıya kadar olan çift sayıların ortalamasını veren programın algoritmasını döngü kullanarak yazın.

1. Başla 2. ÇS = 0 3. ÇT = 0 4. Oku S 5. D = 2, S, 2

(4)

7. DS

8. ÇORT = ÇT/ÇS 9. Yaz ÇORT 10. Dur

10. Soru: Bilgisayara 1000 sayı girilmekte. Bu 1000 sayı içerisinde 250 – 750 arasında bulunan sayıların adedini bulan programın algoritmasını döngü kullanarak yazın.

1. Başla 2. I = 0

3. D = 1, 1000 4. Oku S

5. Eğer S < 250 ise git 8 6. Eğer S >750 ise git 8 7. I = I + 1

8. DS 9. Yaz I 10. Dur

11. Soru: 1’den 10’a kadar olan sayıların çarpım tablosunu yazan programın algoritmasını döngüyle yazın.

1. Başla 2. D1 = 1, 10 3. D2 = 1, 10 4. Ç = D1 X D2 5. Yaz Ç 6. D2S 7. D1S 8. DUR

Boyutlu Değişkenler

Boyutlu değişken bilgisayarda indisi olan değişkendir. Boyutlu değişken indisi kullanarak numaralandırır ve değişkenin bütün değerlerini bellekte tutar.

Örnek: S (I) S (1) = 7 S (2) = 8 S (3) = 9

12. Soru: bilgisayara 10 elemanlı bir dizi girilmektedir. Elemanların ortalamasını bulan programın algoritmasını yazın.

1. Başla 2. Aç boyut D (10) 3. Dön = 1, 10 4. Oku D (Dön) 5. Dön S 6. Top = 0 7. Dön = 1, 10 8. Top = Top + D (Dön) 9. Dön S 10. Ort = Top / 10 11. Yaz ORT 12. Dur

(5)

13. Soru: Bilgisayara girilen 100 sayılı dizi içerisinde en büyük, en küçük sayıları bulan ve dizideki satır numaralarını veren programın algoritmasını yazın.

1. Başla 2. Aç boyut D (100) 3. Dön = 1, 100 4. Oku D (Dön) 5. Dön S 6. EB = 0, EK = 9999 7. Dön = 1, 100

8. Eğer D(Dön) < EK ise, EK = D (Dön), EKS = Dön 9. Eğer D(Dön) > EB ise, EB = D (Dön), EBS = Dön 10. Dön S

11. Yaz EK, EB, EKS, EBS 12. Dur

Sıralama (Sorting)

Sıralama yapabilmek için değişkenin boyutlu olması gerekir. Ancak değişken tek boyutlu olmalıdır.

14. Soru: Bilgisayara girilen 10 sayıyı küçükten büyüğe sıralayan programın algoritmasını yazın. 1. Başla 2. Aç boyut D (10) 3. I = 1, 10 4. Oku D (I) 5. IS 6. I = 1, 9 7. J = I + 1, 10

8. Eğer D(I) > d(J) ise, BOŞ = D (I) D (I) = D (J) D(J) = BOŞ 9. JS 10. IS 11. I = 1, 10 12. Yaz D (I) 13. IS 14. DUR

15. Soru: Bilgisayara girilen bir sayı hem dizinin boyutunu belirler, hem de dizinin ilk elemanını oluşturur. Bu diziyi oluşturan ve yazan programın algoritmasını yazın.

1. Başla 2. Oku S 3. Aç boyut D (S) 4. D (1) = S 5. I = 2, S 6. Oku D (I) 7. IS 8. I = 1, S 9. Yaz D (I) 10. Dur

(6)

AKIŞ ŞEMALARI (DİYAGRAMLARI)

Algoritmanın başladığını ya da sona erdiğini belirtmek için kullanılır.

Klavye aracılığı ile giriş ya da okuma yapılacağını gösterir.

Yazıcı(printer) aracılığı ile çıkış yapılacağını gösterir.

Kart okuyucu aracılığıyla giriş yapılacağını gösterir.

Araç belirtmeden giriş ya da çıkış yapılacağını gösterir.

Hesaplama ya da değerlerin değişkenlere aktarımını gösterir.

(7)

Aritmetik ve mantıksal ifadeler için karar verme ya da karşılaştırma durumunu gösterir.

Diskten okuma ya da diskete yazmayı gösterir.

Disketten okuma ya da diskete yazmayı gösterir.

Teyp kütüğünü gösterir.

Yapılacak işler birden fazla sayıda yinelenecek ise diğer bir deyişle iş akışında çevrim(döngü) var ise bu sembol kullanılır.

Akış diyagramında iki nokta arası ilişkiyi gösterir.Döngü sonunu göstermek için ya da diyagramın çizilemediği durumlarda kullanılır. Burada i herhangi bir sembol olabilir.

(8)

Oklar işin akış yönünü gösterir.

Akış şemaları içerik ve biçimlerine göre genel olarak üç grupta sınıflandırılabilirler. DOĞRUSAL AKIŞ ŞEMALARI

İş akışları,giriş,hesaplama,çıkış biçiminde olan akış şemaları bu grup kapsamına girer.

ÖRNEK 2:İki sayının çarpımının bulunmasıyla ilgili algoritma şöyledir.

Değişkenler

A:Birinci sayıyı,

B:İkinci sayıyı,

C:İki sayının çarpımını(A*B)göstersin.

Algoritma

Adım 1-Başla

Adım 2-A'yı oku

Adım 3-B'yi oku

Adım 4-C=A*B yi hesapla

Adım 5-C'yi yaz

Adım 6-Dur

(9)

Algoritma adımlarında kullanılması gereken semboller yukarıdaki şekilde görülmektedir. Örneğin "DUR" ve "BAŞLA" işlemleri için aynı sembol kullanılmaktadır. Adım 2 ve 3 için kullanılan sembol,bilgisayara değerlerin dışarıdan girildiğini gösterir.Oklar ise işin akış yönünü gösterir. Adım 4'te kullanılan sembol C=A*B gibi aritmetik işlemler işlemler için kullanılır.

Örnek 3:İki sayının farkını ve bölümünü bulup yazıcı ile yazan algoritma ve akış şeması şöyledir.

Değişkenler

A:Birinci sayı

B:İkinci sayı

D:İki sayının farkını (A-B)

E:İki sayının bölümünü(A-B)

Algoritma

Adım 1-Başla

(10)

Adım 3-B'yi oku

Adım 4-D=A-B

Adım 5-E=A/B

Adım 6-D'yi yaz

Adım 7-E'yi yaz

Adım 8-Dur

Akış Şeması

ÖRNEK 4:İki sayının toplamlarının karesini ve küpününü hesaplayıp yazan akış şeması şöyledir.

(11)

Değişkenler BIRSA:Birinci sayıyı, IKISA:İkinci sayıyı, TO:Toplamı, TOKA:Toplamın karesini, TO3:Toplamın küpünü gösterir. Algoritma Adım 1-Başla

Adım 2-BIRSA.ve IKISA'yı oku

Adım 3-TO=BIRSA+IKISA

TOKA=TO^2

TO^3

Adım 4-TOKA,TO3'ü yaz

Adım 5-DUR

(12)

ÖRNEK 5:Terminalden okunan bir sayının 10 fazla ve 10 eksiğini bulup yazan programın algoritma ve akış şeması şöyledir.

Değişkenler

SAYI=Okunacak sayı

F10=Sayının 10 fazlası

E10=Sayının 10 eksiğini göstersin.

Algoritma

Adım 1-Başla

Adım 2-Terminalden SAYI oku

(13)

Adım 4-E10=SAYI-10

Adım 5-DUR

Akış Şeması

MANTIKSAL AKIŞ ŞEMALARI

Geniş ölçüde mantıksal kararları içeren akış şemalarıdır.Hesap düzenleri genellikle basittir.

ÖRNEK 6:A ve B gibi iki sayıdan büyüğünü printerle yazdıran algoritma ve akış şeması şöyledir.

Algoritma

Adım 1-Başla

Adım 2-A,B'yi oku

Adım 3-A=B ise Adım 7'ye git

(14)

Adım 5-B'yi yaz Adım 8'e git

Adım 6-A'yı yaz Adım 8'e git

Adım 7-"A veB eşit"mesajını yaz

Adım 8-DUR

Akış Şeması

ÖRNEK 7:100 kişilik bir sınıfta 18-22 arası her yaş grubunda kaç öğrencinin bulunduğunu belirleyip yazan programın akış çizelgesi şöyledir.

Değişkenler

OSA:Öğrenci sayısını,

I18:18 yaşında olan öğrencilerin sayısını

I19:19 yaşında olan öğrencilerin sayısını

I20:20 yaşında olan öğrencilerin sayısını

I21:21 yaşında olan öğrencilerin sayısını

(15)

IYOS:İşlem yapılan öğrenci sayıaını göstersin.

Algoritma

Adım 1-Başla

Adım 2-I18=0 I19=0 I20=0 I21=0 I22=0 IYOS=0

Adım 3-OSA oku

Adım 4-OSA=18 ise I18'i arttır, Adım 9'a git

Adım 5-OSA=19 ise I19'u arttır, Adım 9'a git

Adım 6-OSA=20 ise I20'yi arttır,Adım 9'a git

Adım 7-OSA=21 ise I21'i arttır,ADım 9'a git

Adım 8-OSA=22 ise I22'Yİ arttır,Adım 9'a git

Adım 9-IYOS<100 ise Adım 3'e git

Adım 10-I18,I19,I20,I21,I22,yaz

Adım 11-DUR

(16)

YİNELİ (İTERATİF,ÇEVRİMLİ,DÖNGÜLÜ)AKIŞ ŞEMALARI

Sorunun çözümü için,çözümde yer alan herhangi bir adım ya da aşamanın birden fazla kullanıldığı akış şemalarına denir.İş akışları genel olarak giriş ya da başlangıç değeri verme,hesaplama,kontrol biçiminde olmaktadır.

ÖRNEK 7:100 kişilik bir sınıfta 18-22 arası her yaş grubunda kaç öğrencinin bulunduğunu belirleyip yazan programın akış çizelgesi şöyledir.

Değişkenler

ONOT:Öğrencinin notunu,

INOT:Notların toplamını,

NORT:Notların ortalamasını,

ISAYI:Öğrenci sayısını göstersin.

Algoritma

(17)

Adım 2-INOT=0

Adım 3-ISAYI=0

Adım 4-ONOT oku

Adım 5-INOT=INOT+ONOT

Adım 6-ISAYI=ISAIY+1

Adım 7-ISAYI<3ise Adım 4'e git

Adım 8-NORT=INOT/3

Adım 9-NORT YAZ

Adım 10-DUR

Görüldüğü gibi, Adım 2 ve 3'te INOT ve ISAYI ismi ile iki değişken için bellekte yer ayrılmış,ayrılan yerlerede ilk değer olarak sıfır atanmıştır.

Adım 4'te herhangi bir öğrencinin sınavdan almış olduğu notun değeri okutulmaktadır. Adım 5'tenotların toplamının bulunması işlemi yer almaktadır.İşlemde ONOT,INOT ile toplanmakta ve bulunantoplamda INOT'a aktarılmaktadır.

Adım 6'da öğrenci sayısını gösteren ISAYI değişkeninin değeri,"bir öğrenci için işlem yapıldı"anlamında 1 arttırılmaktadır.

Adım 7'de ISAYI'nın değeri 3(toplam öğrenci sayısı) ile karşılaştırılmaktadır.Eğer sayı<3 ise Adım 4'e dönülmektedir.Eğer işlem 3 öğrenci içinde yapılmışsa yani ISAYI=3 ise ya da ISAYI>3 ise ortalamanın hesaplandığı Adım 8'e geçilmektedir.Adım 9 da,bulunan ortalamanın yazılması ile ilgilidir.

(18)

Akış şeması incelendiğinde not okuma, toplam hesaplama ve öğrenci sayısını 1 arttırma işlemlerinin 3 kez tekrarlandığı anlaşılmaktadır.Eğer program 500 öğrenci için yapılmış olsaydı,sözü edilen işlemler 500 kez tekrarlanacaktı. Üç öğrencinin notlarının, sırası ile 50,60 ve 70 olduğunu varsayalım.Bu durumda akış şemasının işlemesi şöyle olacaktır

Akış Şeması

Başlangıçta INOT veISAYI "0" değerini alırlar.Bilgisayara ilk not olarak 50 okutulur.Başlangıçta INOT=0 olduğu için INOT ile 50 toplanır ve sonuç INOT'a aktarılır.Dolayısıyla INOT'un yeni değeri 50 olur.Daha sonra ISAYI'nın değeri INOT'ta olduğu gibi 1 arttırılır.ISAYI=1 olduğu için 3 ile karşılaştırma yapıldığında tekrar okuma işlemine geri dönülür ve ikinci not olarak60 okutulur.İşlemler bu şekilde devam eder.ISAYI=3 olunca ortalamanın hesaplamasına geçilir.Son olarak bulunan ortalama yazılır ve durulur.

(19)

Akış Şeması

ÖRNEK 9:

N sayısını ekrandan okutarak faktöriyelini hesaplayan ve yazan akış şeması şöyledir.

Değişkenler

NFAK=N faktöriyel (N!) değerini,

ISAYI=1'den N'e kadarsayıları göstersin,

NFAK=1*2*...*N

Algoritma

Adım 1-Başla

Adım 2-N'i ekrandan oku

Adım 3-NFAK=1

Adım 4-ISAYI=1

(20)

Adım 6-NFAK=NFAK*ISAYI

Adım 7-Eğer ISAYIAdım 8-NFAK yaz

Adım 9-Dur

Akış Şem ası

Aynı soru yineleme sembolü kullanılarak aşağıdaki gibi de çizilebilir.

ÖRNEK 9:Klavyeden girilen,bir öğrencinin numarasını,ismini ve bilgisayar programlama dersinin 3 vize sınavından aldığı notları okuyan,bu notların aritmetik ortalamasını bulan,eğer ortalaması 50'ye eşit veya 50'den büyükse yazıcıya numara,isim,notlar ve vize notlarının ortalamasını,küçükse numara,isim ve "tekrar" mesajı yazan programın algoritma ve akış şeması şu şekildedir.

Değişkenler INO:öğrencinin numarasını, AD:öğrencinin ismini, VIZE1:1.vize sınavını, VIZE2:2.vize sınavını, VIZE3:3.vize sınavını,

(21)

VIZORT:üç vize sınavının aritmetik ortalamasını,

VIZTO:üç vizenin toplamını göstersin.

Algoritma

Adım 1-Başla

Adım 2-INO,AD,VIZE1,VIZE2,VIZE3,oku

Adım 3-VIZTO=(VIZE1+VIZE2+VIZE3) ve VIZORT=VIZTO/3 bul.

Adım 4-Eğer VIZORT>=50 ise Adım 6'ya git.

Adım 5-INO,AD ve "TEKRAR" yaz ve Adım 7'ye git.

Adım 6-INO,AD,VIZE1,VIZE2,VIZE3,VIZORT yaz

Adım 7-DUR

Akış Şem ası

ÖRNEK 10:Bir okulda bulunan 10 sınıftaki 30'ar öğrencinin herbirinin 12 şer dersten aldıkları notların ortalamasını bulan ve öğrenci ismi ile not ortalamasını yazan programın,algoritması ve akış şeması şöyledir:

(22)

Değişkenler

ISS:Sınıf sayacı,

IOS:Öğrenci sayacı,

DN:Ders notu,

DNS:Ders notu sayacı,

DNT:Ders notlarının toplamı,

DNO:Ders notlarının ortalaması,

OGAD:Öğrencinin adı Algoritma Adım 1-Başla Adım 2-SS=0 Adım 3-IOS=0 Adım 4-DNS=DNT=0

Adım 5-OGAD oku

Adım 6-DN oku

Adım 7-DNS=DNS+1(ders notu sayacı 1 artır.

Adım 8-DNT=DNT+DN(notları topla)

(23)

Adım 10-DNO=DNT/12(ortalamayı hesapla)

Adım 11-OGAD,DNO yaz

Adım 12-IOS=IOS+1(öğrenci sayacını bir artır)

Adım 13-Eğer IOS<30 ise adım 4'e git

Adım 14-ISS=ISS+1(sınıf sayacını bir artır)

Adım 15-Eğer ISS<10 ise adım 3'e git.

Adım 16-Dur

Akış Şem ası

ÖRNEK 11:300 elemanlı bir veri grubunda bulunan pozitif,sıfır ve negatif değerlerin sayısını bulup yazan programın algoritması ve akış şeması şöyledir:

(24)

Değişkenler

SS:Okunan sayı adedi

PSS:pozitif sayı adedi

NSS:Negatif sayı adedi

SSS:Sıfır sayı adedi

Algoritma

Adım 1-Başla

Adım 2-SS=PSS=NSS=SSS=0

Adım 3-Sayı oku

Adım 4-SS=SS+1

Adım 5-Eğer SS>300 ise dur

Adım 6-Eğer sayı<0 ise adım 9'a git

Adım 7-Eğer sayı=0 ise adım 10'a git

Adım 8-PSS=PSS+1 hesapla,adım 3'e git

Adım 9-NSS=NSS+1 hesapla,adım 3'e git

Adım 10-SSS=SSS+1 hesapla,adım 3'e git

(25)

ÖRNEK 12:Bir sınıfta bulunan belirsiz sayıdaki öğrencilerin numarasını,adını ve soyadını yazan programın algoritması ve akış şeması şöyledir.

Değişkenler

JNO:Öğrencinin numarası

AD:Öğrencinin adı

(26)

Algoritma

Adım 1-Başla

Adım 2-Eğer okuma bittiyse Adım 6'ya git

Adım 3-JNO,AD,SAD oku

Adım 4-JNO,AD,SAD yaz

Adım 5-Adım 2'ye git

Adım 6-Dur

Referensi

Dokumen terkait

Pada umumnya penggunaan metode tekanan tanah Rankine tidak menggunakan gesekan dinding yang cenderung lebih konservatif (tekanan dinding besar) daripada pemecahan

Pengukuran larutan deret standar dan larutan sampel dilakukan pada panjang gelombang maksimum yang telah diukur sebelumnya.Setelah itu kita pasti

Pengembangan model kurikulum berbasis vokasi yang rumit dengan berbagai permasalahan dapat disederhanakan dengan konsep dua lingkaran dan tahapan pengembangan

Untuk keterampilan membaca Pondok Pesantren Darul Hikmah dan Pondok Pesantren Al Kamal menggunakan metode qiro’ah atau membaca teks Arab langsung untuk melatih

2. INDIKATOR PELAYANAN RUMAH SAKIT ... JUMLAH SARANA PELAYANAN MENURUT KEPEMILIKAN... SARANA PELAYANAN KESEHATAN SWASTA ... UPAYA KESEHATAN BERSUMBERDAYA MASYARAKAT ... TENAGA

Abstrak : Ergonomi adalah ilmu, teknologi, dan seni untuk menyerasikan alat, cara kerja dilakukan pada kemampuan, kebolehan dan keterbatasan manusia sehingga

bahwa untuk penyelenggaraan Ujian Nasional (UN), Ujian Akhir Madrasah Berstandar Nasional (UAMBN) dan Ujian Akhir Madrasah Tahun Pelajaran 2015/2016 dipandang perlu

Sehubungan dengan kesimpulan hasil penelitian ini, maka implikasi dalam hasil penelitian ini bahwa ada hubungan yang positif bimbingan konseling terhadap kegiatan belajar