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

Scratch ile Pacman Oyunu Yapımı

Scratch ile beraber pacman oyun yapımı örneğini yapacağız. Scratch ile yapacağımız Pacman Oyun örneğe başlamadan önce internetten pacman oyunu için arka plan indirip scratch'te sahne dekor kısmına ekleme yapıyoruz. İndirdiğim arka plan koyu renkli olunca ben koyu renkleri beyaz ile boyadım. Kenarlıkları ise daha kalın yaptım. Arka planımızı çalışmamızın içine ekledikten sonra pacman karakterini oluşturmaya geldi. Pacman karakteri için sarı renkli tam bir daire çizdim. Ondan sonra çizgi aracını kullanarak merkeze doğru iki tane çizgi çizdim. Arada kalan kısmı silgi ile sildim. İsterseniz arkaplanı sil aracını kullanarak iki siyah çizgi arasını silebilirsiniz. Böylece, pacman karakterimiz ağzı açık bir vaziyette yerini aldı. Pacman karakterinin tam önüne kılavuz bir nokta oluşturdum. Bu bize hareket etmemizi sağlayacak. Ben kırmızı bir nokta oluşturdum. Biraz belirgin oldu, isterseniz bu kırmızı noktayı daha da ufaltabilirsiniz, isterseniz başka bir renk verip daha görünmez ...

Mblock İle Trafik Lambası

 Mblock programı ile trafik lambası uygulaması yapacağız. Kodlara geçmeden önce trafik lambası devremizde gerekecek malzeme listesi: 1-Arduino Uno 2-BreadBoard  3-3 adet LED 4-3 adet 220Ω Direnç 5-Jumper Kablolar Malzemelere ihtiyacımız var. Not: Kırmızı,Sarı,Yeşil ışık veren ledlere ihtiyacımız var. Eğer, beyaz renkli led kullanacaksanız uygulama öncesi yukarıdaki 3 rengi veren ledleri tek tek tespit etmeniz gerekiyor. Breadboard'muza eklediğimiz Ledlerin uzun bacağına 220 ohm'luk dirençleri ekliyoruz. Direnclerin bir bacağından jumper kablo ile ardunio uno malzememizdeki 2,3,4  nolu dijital pinlere kuruyoruz(Ben 2 nolu dijital pine Yeşil,3 Noluya Sarı,4 Noluya Kırmızı ledimi bağladım) Ledlerin kısa bacağını ise yine jumper kablo ile Ardunio Uno'da 3 adet bulunan GND(negatif)ucuna bağlıyoruz. Devre şeması aşağıda yer almaktadır. Şimdi gelelim mBlock'taki kodlarımıza; Mblock programında Robotlar menüsünden Arduino programı başlangıç kod...

Scratch Öğretmen Hesabı Oluşturma, Sınıf ve Öğrenci Ekleme Nasıl Yapılır, Öğrenci Şifresi Nasıl Verilir?

 Blok tabanlı programlama öğretilmesi konusunda büyük bir çoğunluğumuz scratch programını kullanırız. Öğrenciler zevkli bir şekilde blok tabanlı programlamayı uygulama yaparak öğrenirler. Scratch programını masaüstü bir şekilde kullanabileceğimiz gibi öğrencilerle beraber bir platform üzerinden de ortak çalışmalar yapabilir veya öğrencilerin yaptığı çalışmaları görebilirsiniz. Bu platformun adresi  https://scratch.mit.edu/ dir. Öğretmen Hesabı Oluşturma https://scratch.mit.edu/educators linkine tıkladıktan sonra veya scratch.mit.edu adresine girdikten sonra sayfanın en altında Hakkımızda kısmında yer alan eğitimciler için linkine de tıklayarak scratch öğretmen hesabı sayfasına ulaşabilirsiniz. Eğitimciler için linkine tıklayalım (  https://scratch.mit.edu/  adresindeki ana sayfanın en altında bu link yer almaktadır) Buradan Öğretmen hesapları butonuna tıklayalım. Hesap isteği butonuna tıklayalım. Scratch öğretmen hesabına girişte kullanacağımız bir kullanıcı adı...