• Sonuç bulunamadı

ALGORİTMALAR & AKIŞ ŞEMALARI. Algoritma: Belirli bir problemin çözülmesi adına izlenen yollar bütününe algoritma denir.

N/A
N/A
Protected

Academic year: 2022

Share "ALGORİTMALAR & AKIŞ ŞEMALARI. Algoritma: Belirli bir problemin çözülmesi adına izlenen yollar bütününe algoritma denir."

Copied!
9
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

© 2013 – Öğr. Gör. Utku KÖSE 1 ALGORİTMALAR & AKIŞ ŞEMALARI

Algoritma: Belirli bir problemin çözülmesi adına izlenen yollar bütününe algoritma denir.

Gerçek hayattan örnekler: Belirli bir yemeğin tarifi, arabanın tekerinin değiştirilmesi… vb.

Bilgisayar ortamından örnekler: Klavyeden girilen iki sayıyı toplayıp sonucu ekrana yazdırmak, klavyeden gerekli değerleri girilen denklemin köklerini bulmak, uzun ve karmaşık matematiksel işlemler… vb.

Bilgisayar Ortamında Algoritmalarda Bazı Önemli Hususlar:

 Bilgisayar ortamına geçildiğinde, algoritmanın bilgisayar giriş – çıkış işlevlerine adapte edilmesi gerekmektedir. Bu amaçla örneğin; “oku” komutu klavyeden veri okumayı göstermek adına, “yaz” komutu ekrana birşeyler yazdırma adına kullanılabilmektedir.

 Her algoritmada adımlar, “Adım 1, Adım 2, … Adım X” şeklinde veya “A1, A2, … A3” gibi adımları tayin eden – gösteren etiketler ile ifade edilir.

 Her algoritma “Başla” ifadesi içeren 1. adımla başlar, “Dur” ifadesi içeren x. adım (x problemin çözümüne yönelik adım sayısına göre değişir) ile sona erer. Diğer işlem adımları bu iki adım arasına yazılmalıdır.

 Problem çözümleri sırasında veri tutacak olan “değişken” isimli elemanlar kullanılmalıdır. Normalde programlama dillerinde değişken tanımlama için ayrı bir komut satırı – dizisi gerekirken, bilgisayar algoritmalarında basitliği sağlamak adına;

ilgili değişkenin, adının geçtiği ilk yerde tanımlandığı kabul edilmektedir.

 İyi bir algoritma, mümkün olan en az adımla, en doğru çözümü üreten işlem adımları topluluğudur.

(2)

© 2013 – Öğr. Gör. Utku KÖSE 2 Örnek Algoritmalar:

1- Ekrana “Naber la?” yazdıran algoritma:

A1: Başla

A2: “Naber la?” yaz A3: Dur

2- Klavyeden girilen bir sayıyı ekrana yazdıran algoritma:

A1: Başla A2: x oku

A3: “Girilen sayı:” x yaz A4: Dur

3- Klavyeden girilen iki sayının toplamını ekrana yazdıran algoritma:

A1: Başla

A2: “Birinci sayıyı giriniz:” yaz A3: x oku

A4: “İkinci sayıyı giriniz:” yaz A5: y oku

A6: toplam = x + y (Bu satırda aktarma operatörü vardır. Detaylı bilgi için ilerleyen sayfalara bakınız.)

A7: “Girilen sayıların toplamı:” toplam yaz A8: Dur

Not: Gerekli operatör değiştirilerek (ve gerekli değişkenler daha anlamlı isimlendirilerek) diğer üç temel matematik işlemlerinden birisi gerçekleştirilebilir.

Matematiksel Operatörler:

+  Toplama -  Çıkarma *  Çarpma /  Bölme

^  Üs alma (örneğin 3^2  3’ün karesi; 4^6  4’ün 6’ıncı kuvveti…vb.)

%  Mod operatörü (örneğin 4 % 2  4’ün 2’ye bölümünden kalan  0 …vb.)

(3)

© 2013 – Öğr. Gör. Utku KÖSE 3 Mantıksal Operatörler:

<  Küçüktür >  Büyüktür <=  Küçük eşit >=  Büyük eşit

= =  Eşittir ! =  Eşit değildir

Aktarma Operatörü:

değişken ismi = sabit değer; değişken; işlemler bütünü (değişken ve / veya sabit karışık)

Aktarma operatöründe, önce eşittir karakterinin sağındaki değerler dikkate alınır veya işlemler varsa yapılır. Sonra, söz konusu değerler veya yapılan işlemler sonrası çıkan sonuç eşittir işaretinin solundaki değişkene aktarılır. Aktarma operatörünün solunda daima değişken vardır.

Eğer Yapısı: Şart kontrolü için kullanılır. “Eğer” ifadesinden sonra şart yazılır (parantez içinde) sonra “ise” ifadesi yazılır. Şart doğruysa gerçekleştirilecek işlemler “ise” ifadesinden sonra yazılır.

Eğer (şart) ise işlem(ler)

Birden fazla işlem adımı olması durumunda aralarına “ve” eki koyulabilir (Örneğin; toplam = x + y ve A4’e git … vb.)

Eğer tek bir adımda şartın doğru olması durumundaki işlemler ve yanlış olması durumundaki işlemler yazılmak istenirse, “değilse” ifadesi kullanılabilir.

Eğer (şart) ise şartın doğru olması durumundaki işlem(ler) değilse şartın yanlış olması durumunda işlem(ler)

Aynı anda birden fazla şartın bir arada kontrolü için; “VE”, “VEYA” mantık ifadeleri kullanılabilir:

x y VE VEYA

0 0 0 0

0 1 0 1

1 0 0 1

1 1 1 1

(4)

© 2013 – Öğr. Gör. Utku KÖSE 4 VE kontrolü yazılırken; && operatörü ya da ˄ kullanılabilir.

VEYA kontrolü yazılırken; || operatörü ya da ˅ kullanılabilir.

Örnek Algoritmalar:

1- Klavyeden girilen bir sayının tek mi çift mi olduğunu ekrana yazdıran algoritma:

A1- Başla

A2- “Bir sayı giriniz:” yaz A3- sayi oku

A4- Eğer (sayi % 2 = = 0) ise “Girilen sayı çifttir” yaz değilse “Girilen sayı tektir” yaz A5- Dur

2- Klavyeden girilen vize ve final notuna göre başarı notu hesaplayıp, başarı notu 60’dan küçükse ekrana “Geçtin!”, aksi takdirde “Kaldın oğlum!” yazdıran algoritma:

A1- Başla

A2- “Vize notunuzu giriniz:” yaz A3- vize oku

A4- “Final notunuzu giriniz:” yaz A5- final oku

A6- basari = (vize * 0,4) + (final * 0,6) A7- Eğer (basari < 60) ise “Geçtin!” yaz

A8- Eğer (basari >= 60) ise “Kaldın oğlum!” yaz A9- Dur

Not: Algoritma, örnek olması adına iki farklı Eğer adımı ile yazılmıştır; “değilse” yapısının kullanımıyla daha optimum düzeyde yazılabilir.

Örnek Sorular:

1- Klavyeden girilen sayı tek ise ilgili sayının karesini, çift ise küpünü alıp; ekrana sonucu yazdıran algoritmayı yazınız.

2- x + y = toplam eşitliğine göre, klavyeden x ve toplam değerleri girildiğinde y değerini bulup ekrana yazdıran algoritmayı yazınız.

3- Klavyeden iki kenarı girilen dikdörtgenin alanını ekrana yazdıran algoritmayı yazınız.

(5)

© 2013 – Öğr. Gör. Utku KÖSE 5 4- Klavyeden girilen değere ilişkin çarpım tablosunu ekrana yazdıran algoritmayı yazınız.

5- Klavyeden girilen yaş bilgilerine göre, ekrana “çocuk”, “genç”, “yetişkin” veya “yaşlı”

yazdıran algoritmayı yazınız (Yaş aralıklarını istediğiniz şekilde belirleyebilirsiniz).

Döngü Muhabbeti:

Döngü yapısı, tıpkı “Eğer” yapısında olduğu gibi; programlama dillerinin en önemli bileşenlerinden birisi olarak ön plana çıkmaktadır. Genel olarak döngüyü, belirli şartlar dâhilinde sürekli gerçekleştirilmesi istenilen adımların yerine getirilmesi ya da ilgili adımlar olarak tanımlayabiliriz.

Örnek Algoritmalar:

1- [1, 100] aralığındaki tamsayıların toplamını bulup, ekrana yazdıran algoritma:

A1: Başla

A2: toplam = 0 sayi = 1;

A3: toplam = toplam + sayi

A4: Eğer (sayi != 100) ise sayi = sayi + 1 ve A3’e git A5: “Sonuç:” toplam yaz

A6: Dur

2- Klavyeden girilen başlangıç ve bitiş değerlerine bağlı olarak; ilgili aralıktaki tamsayıların çarpımını bulup, ekrana yazdıran algoritma:

A1: Başla A2: carpim = 1

A3: “Başlangıç değerini giriniz:” yaz A4: baslangic oku

A5: “Bitiş değerini giriniz:” yaz A6: bitis oku

A7: carpim = carpim * baslangic

A8: Eğer (baslangic != bitis) ise baslangic = baslangic + 1 ve A7’ye git A9: “Sonuç:” carpim yaz

A10: Dur

(6)

© 2013 – Öğr. Gör. Utku KÖSE 6 Not: Algoritmada, kullanıcının başlangıç değerini bitiş değerinden küçük girdiği kabul edilmiştir.

Örnek Sorular:

1- Klavyeden girilen isim bilgisini, yine klavyeden girilen değer kadar ekrana yazdıran algoritmayı yazınız.

2- Kullanıcı yeni bir işlem istemediğini bildirinceye kadar, klavyeden sürekli iki sayı girilmesini isteyen ve girilen sayıların toplamını ekrana yazdıran algoritmayı yazınız.

3- Klavyeden girilen değerin faktöriyelini bulup ekrana yazdıran algoritmayı yazınız.

4- Klavyeden girilen bir değerin kuvvetini döngü yardımıyla bulup ekrana yazdıran algoritmayı yazınız.

5- Klavyeden girilen bir tamsayının, yine klavyeden girilen başka bir tamsayıya olan bölümünü, çıkarma işlemi kullanarak bulan algoritmayı yazınız (Kullanıcı taraflı hatalı değer girişleri yok varsayılacaktır).

Akış Şeması: Algoritmanın görsel gösterimine (veya gösterim haline) akış şeması denir.

İlgili işlemler için aşağıdaki şekiller kullanılır:

Başla / Dur Genel İşlemler Akış yönleri

Şart kontrol -

Eğer

1

0

Klavyeden okuma - oku

Ekrana yazdırma - yaz

Bağlantı (akış şemasının

bir parçasını başka bir yerde

göstermek gerektiğinde)

(7)

© 2013 – Öğr. Gör. Utku KÖSE 7 Örnek Akış Şemaları:

(2. sayfadaki 3. algoritma örneğinin akış şemasını çizelim)

Başla

x

toplam = x + y

Dur y

“İkinci sayıyı giriniz:”

“Birinci sayıyı giriniz:”

“Girilen sayıların toplamı:”

toplam

(8)

© 2013 – Öğr. Gör. Utku KÖSE 8 (4. sayfadaki 1. algoritma örneğinin akış şemasını çizelim)

Başla

Dur (sayi % 2

= = 0)

1

0

“Bir sayı giriniz:”

sayi

“Girilen sayı tektir”

“Girilen sayı çifttir”

(9)

© 2013 – Öğr. Gör. Utku KÖSE 9 (5. sayfadaki 1. algoritma örneğinin akış şemasını çizelim)

Örnek Sorular:

Bu dokümanda yer alan ve akış şeması çizilmeyen bütün algoritmalar için akış şeması çiziniz.

== DOKÜMAN SONU ==

07.10.2013 – UK Başla

Dur (sayi ! =

100)

1

0 toplam = 0

sayi = 1

toplam = toplam + sayi

sayi = sayi + 1

“Sonuç:” toplam yaz

Referanslar

Benzer Belgeler

• Kullandığımız yazılımların tamamı «kod» adı verilen bilgisayarın anlayacağı dilde yazılmış özel komutlardan oluşur. • Bu kodlar programcılar

Google Analyt cs, Tag Manager, Opt m ze araçları le reklam hesaplarını eşleşt rerek daha ver ml sonuçlar elde ed yoruz. Sosyal

Kapasite Kısıtlı Araç Rotalama Problemi (KKARP) bir veya daha fazla sayıda işletme birimi (depo) bulunan bir işletmenin talepleri belli n adet müşterisine

Klavyeden girilen iki sayıyı toplayıp ekrana yazdıran programın akış şemasını çizeceğiz.. Akış Şeması Örneği

Soru 1: Girilen 2 sayının toplamını bulan Algoritma ve Sözde Kodu yazınız. Algoritma

Önerilen Kaynaklar Algoritma Tasarımına Giriş Bazı Matematiksel ve İstatistiksel Uygulamalar, Özbek, Levent; Köksal Babacan, Esin; Başkır, M.Bahar, Nisan 2010,

3x4 tipinde iki matirisin değerleri girildiğinde bu matrislerin toplamını bulup matris formunda ekrana yazdıran programı yazınız.. Matrislerimiz A ve B olsun, ikisinin

En etkin faktör seviyeleri ise rulet çemberi türetme yöntemi, 100 popülasyon büyüklüğü, sıraya dayalı çaprazlama yöntemi ve %90 mutasyon oranı