Ana içeriğe atla

5.2.6 A BİR ALGORİTMA MASALI

5.2.6 A BİR ALGORİTMA MASALI
SÜRE: 20 DK.

KAZANIMLAR
5.5.1.12. Algoritma kavramını açıklar.

ANAHTAR KELİMELER
Algoritma Kavramı, İşlem Basamakları

UYGULAMA
1. Çocuklara “Ağustos Böceği ile Karınca Bir Algoritma” masalı anlatılır.

Ağustos Böceği ile Karınca: Bir Algoritma Masalı
Bir yaz günü ağustos böceği tahıl toplayan bir karıncaya rastladı. Sapından düşmüş bir tahıl tanesini
hareket ettirmek için uğraşıp didinen karıncayı izlemeye başladı. Bir süre sonra ağustos böceği karıncaya seslendi:

Hey, küçük sen ne yapıyorsun?

“Kış için tahıl topluyorum.” dedi karınca bitkin bir sesle. Bütün gün çok çalışmış ve oldukça yorulmuştu.
“Ama daha yazın ortasındayız.” dedi karınca, “Kışın gelmesine daha aylar var ve ortalık yiyecek dolu. Neden gününü bu şekilde harcıyorsun ki?”

Karınca bir dakika durup düşündü ve sonra yanıt verdi. “Bu bizim kullandığımız algoritma yüzünden.”

“Algoritma?” diye sordu ağustos böceği.

“Bir işi başarmak için takip edilen adımlar ya da yönergeler.” diye açıkladı karınca. Mesela bir mobilyacı sandalye üretmek istediğinde ölçmeyi, kesmeyi, zımparalamayı ve çakmayı içeren bir algoritma kullanır.”

“Senin algoritman neyi çözüyor?” diye sordu ağustos böceği. “Acaba, yazın çoook fazla zamanın olması problemini mi çözüyor?” dedi kendi esprisine gülerek.

“Algoritma tüm karınca kolonimizi bütün yıl boyunca sağlıklı tutmamıza yarıyor. Her gün yapmamız gereken belirli işler var. Yazın sabahları yiyecekleri toplarız, öğleden sonra tünel kazarız ve akşamları da uyuruz. Çok fazla iş gibi görünebilir ama bu bizim soğuk kış aylarında yeterli yiyeceğe sahip olmamızı garantiliyor.”

“Bu basit bir algoritma gibi görünüyor.” dedi ağustos böceği.
“Algoritmalar basit ya da karmaşık olabilirler.” diye açıkladı karınca. Bazen algoritmalar ancak başka
algoritmalarla çözülebilecek adımlar bile içerebilirler. Örneğin, ben yiyecek toplarken, özel bir yiyecek toplama algoritması kullanıyorum. Bu algoritmanın 5 adımı var. 1) tarlaya yürü, 2) üzerinde taneleri olan bir başak sapı bul, 3) tanesini başağın sapından ayır, 4) tahıl tanesini karınca yuvasının tepesine taşı, 5) taneyi depolama tüneline yerleştir. Ve ben bir sürü tahıl tanesi toplayabilmek için her seferinde bu 5 adımı tekrarlıyorum.”

“Ama bu çok sıkıcı.” dedi ağustos böceği. “Ben algoritma kullanmıyorum. Ben canım ne zaman ne isterse onu yapıyorum. Aslında tamamen özgürüm. Mesela şimdi başak sapının tepesine tırmanacağım ve biraz şarkı söyleyeceğim, bahse girerim senin algoritman bunu yapmana izin vermez.”

Karınca omuzunu salladı. Algoritması belliydi ve sonraki adımının ne olması gerektiğini biliyordu.
Bu algoritma kendi kolonisi için yüzlerce yıldır işe yarıyordu. Bu yüzden ağustos böceği oradan oraya zıplayıp şarkı söylerken karınca önündeki işe geri döndü.

6 ay sonra, çok sert bir kış geldi. Ağustos böceği üzerinde hiçbir şey kalmamış buğday tarlasında dolaşıp duruyordu. Tek bir buğday tanesi bile yoktu.

Tam o sırada karınca kendi kolonisinin tünellerinde, sıcak ve güven içindeydi. Bu sefer kış algoritmasını uyguluyordu, buna göre tüneller kazıyor, yemek yiyor ve dinleniyordu. Kış algoritmasını yaz algoritmasına göre daha çok seviyordu. Doğu tünellerinden birinde çalışırken bir an durdu ve ağustos böceğini düşündü. Acaba o hâla günlerini başak tarlasında şarkı söyleyerek mi geçiriyordu yoksa iyi bir algoritmanın değerini öğrenebilmiş miydi?

5.2.6 A AĞUSTOS BÖCEĞİ İLE KARINCA: BİR ALGORİTMA MASALINI İNDİR

2. Hikâyedeki algoritma kavramı üzerine konuşulur.

Bu hikâye muhtemelen daha önce duyduğunuz bir hikâyenin biraz değiştirilmiş bir versiyonuydu. Hikâyede daha önce duymadığınız farklı bir kelime dikkatinizi çekti mi?
Hikâyede geçen “Algoritma” kelimesi ile ne kastediliyor olabilir?
(Öğrencilerden yanıtlar alınır.)

3. Algoritma tanımı yapılır ve örnek verilir.

Algoritma; belirli bir problemi çözmek veya bir amaca ulaşmak için tasarlanan tasarlanan yoldur. Algoritma tasarımı yapmak ise bir problemi çözmek için plan yapmaktır. Algoritmayı bir örnekle açıklayalım.

Örnek:
Gece uyandınız ve karnınız çok aç. Bu bir problemdir. Ne yaparsınız bir düşünün.
Buzdolabına yürü.
Buzdolabının kapağını aç.
Terayağını bul.
Reçeli bul.
Ekmeği bul.
Terayağını ekmeğe sür.
Reçeli terayağının üzerine sür.
Reçelli ekmeği midene indir.

Bu plan sizin probleminizi çözdü ve harika bir algoritma tasarımı oldu. Bir algoritma oluşturmak veya bir algoritma tasarımı yapmak için, günlük hayatta çoğu zaman farkında bile olmadan yaptığımız etkinlikleri küçük parçalara bölmemiz gerekir. Basit ve kısa adımlara böldüğümüz işi karşı tarafa anlatmak/iletmek, her zaman daha kolaydır

Benzer Konular:

5.2.6 Bir Algoritma Masalı Konusuna Geri Dönmek İçin TIKLAYINIZ

Yorumlar

Popüler Yayınlar

Bilişim Haftası Dökümanları

Bilişim Haftası ile dökümanları indirmek için tıklayınız Benzer Konular: Bilişim ve İnternet Kulübü Yıllık Planı İndirmek İçin TIKLAYINIZ

4006 Tübitak Projesi Yaka Kartı

4006 Tübitak projelerinde sunum esnasında öğretmen ve öğrencilerin kullanabileceği tübitak yaka kart tasarım linki aşağıdadır. Tübitak Yaka Kartı tasarımını indirmek için TIKLAYINIZ (Yukarıda ki Linke tıkladıktan sonra açılan sayfada ekranın  Sol Köşede Dosya Menüsüne girip indir'e basarak dosyayı indirebilirsiniz) Benzer Konular: Tüm Photoshop Çalışmalarım İçin TIKLAYINIZ (Tüm  Photoshop Çalışmalarım  İçin Linkine tıkladıktan sonra açılan sayfanın en altındaki "Diğer Yayınlara" tıklayarak diğer sayfadaki  Photoshop Çalışmalarına  ulaşabilirsiniz)

Scratch ile Balık Yeme Oyun Yapımı

Scratch ile beraber balık yeme oyun örneği yapacağız. Scratch ile beraber yapacağımız balık yakalama oyun örneği için 3 balık ve 1 köpek balığı ekliyoruz sahnemize. Köpek balığını seçip kod kısmına resimdeki kod parçalarını ekliyoruz. Köpek balığımız sürekli hareket halinde olacağı için Kontrol menüsünden “Sürekli Tekrarla” kod bloğunu alıyoruz. İç Kısmına ise köpek balığının farenin hareket yönünde hareket etmesi için Hareket menüsünden “Fare Oku yönünde dön” kod parçasını ekliyoruz. Böylece fareyi biz nereye götürürsek köpek balığıda o yönde gidecek. Giderken 3 adım atacak . Öncelikle Veri Menüsünden Yenen Balıkların sayısını tutması için “Yenen Balık” adında bir değişken oluşturuyoruz. Bunu tüm kuklalara uygula diyoruz. Balıklardan birini seçip içerisine kodları yazmaya başlıyalım. Oyun başlar başlamaz yenen balık 0 olsun. Balıklar görünsün. Balıklar sürekli hareket edeceği için Kontrol menüsünden “Sürekli Tekrarla” kod parçası ekleyip içerisine şu kod