Scratch Algoritma Nedir?

Merhaba Arkadaşalar,

Mobilhanem.com da   Scratch Eğitimlerinin ikinci dersinde yine birlikteyiz. Bu derste Scratch Derslerine başlamadan önce kesinlikle bilmeniz gereken bir konuyu ele alacağız Algoritma Nedir?

İlk başta algoritmanın ne olduğunu öğreneceğiz. Peki neden… Sizler yapacağınız kodlamalarda bir amaç yani istenilen bir sonuç için kodlama yapacaksınız. Bunları Scratch ile adım adım yapmalısınız  işte tamda bu neden den dolayıdır ki algoritmayı öğrenmeniz gerekiyor. Peki nedir bu algoritma ne işe yarar? Gelin şimdi sizle bunu öğrenelim.

ALGORİTMA NEDİR VE NASIL OLMALI?

Algoritma bir problemi çözmek için ya da bir amaca ulaşmak için izlenilen yol ve bu yolda atılan adımlar ile bu adımların hangi sıralama ile uygulanacağını belirleyen prosedürdür. Başka bir değişle algoritma program yazmak, bir yazılım yapmak için gerekli olan en temel gereksinim veyahut kavramdır. Tanıma bakılınca aslında hayatımız bir algoritma da diyebiliriz. Neden, nasıl sorularını sorduğunuzu duyar gibiyim.

Endişelenmeyin yavaş yavaş hepsini açıklayacağım ve bu işi beraber halledeceğiz. Şimdi gelelim konumuza…Algoritmanın ne olduğunu öğrendik peki nasıl olmalı?

Geçerli bir algoritma olabilmesi için;

– ETKİNLİK

– SONLULUK

– KESİNLİK

– GİRİŞ ÇIKIŞ

– BAŞARIM/PERFORMANS

Bu kavramları karşılar nitelikte olduğu zaman yaptığınız algoritma başarılı ve geçerli bir algoritma olmuş olur.

Gelin üstteki şartlarımızı açıklığa kavuşturup daha iyi anlayalım.

ETKİNLİK

Bilgisayarın düşünme fonksiyonu yoktur.  Bilgisayar sadece sizin yapmak istediklerinizi sizin yaptırdığınız şeyleri yapabilmek ile sınırlıdır yani sizin düşündüğünüz kadarını düşünür ve bunu yaparken karmaşık cümle ve kavramlara yer yoktur.  Yorum gerektiren ve belirsiz ifadelere sahip olan yönlendirmelerde bilgisayar işlevsiz kalır.  Gereksiz tekrarlamalar dan kaçınmalısınız ve yaptığınız algoritma farklı algoritmalar da da kullanılabilir olmalı.

SONLULUK

Her algoritmanın bir başlangıç, bitiş değeri olmalıdır.(buna 2B kuralı diyelim mi?) Şunu da unutmayalım ki yaptığınız algoritma sonsuz döngüye girmemelidir. Bunu örnekler ile açıklayacak olursak; Bahçenizi çitlerle sınırlandıracaksınız. Bahçenizin bir noktasından başladınız çitleri yerleştirmeye eğer ki siz bahçenin çitlerini bahçe sınırları ile sınırlandıramazsınız yaşayacağınız birinci sorun malzeme yetersizliği ikinci sorununuz ise başkasının bahçe sınırlarına geçmek ve buda hiç  hoş olmaz değil mi? O yüzden her algoritmanın bir sonu olmalı.

KESİNLİK

Aynı veri için her çalıştırdığınızda aynı sonucu elde etmelisiniz. Aynı veri için aynı sonuç içermeli. Örneklendirecek olursak fırına patates attığınız zaman fırından patates çıkar değil mi? Evet dediğinizi duyar gibiyim. İkinci defa fırına patates atınca yine patatesin türevi çıkmalı patlıcan çıkmasını beklemezsiniz.:)

GİRİŞ/ÇIKIŞ

Yaptığınız algoritma giriş ve çıkış değerlerine sahip olmalıdır. Gelin bunu da bir örnek ile açıklayalım; bahçemize çitler örecektik. Bu çitleri örmek için başlangıçta gerekli olan malzemeler çivi, tahta, çekiç ve tercihinize göre boya renkli çitlerde güzel olurdu değil mi? Şimdiye kadar saydığımız malzemeler aslında sizin giriş değerleriniz ve giriş değerlerinizi, parametrelerimizi kullanarak ortaya çıkardığınız renkli güzel bahçe çitlerini ise çıkış parametreleriniz sonuçlarınız. Anlaşıldığını düşünüyorum. Gelin algoritma için gerekli olan son niteliğimizi açıklayalım…

BAŞARIM/PERFORMANS

Başarımı açıklayacak olursak; yaptığınız bahçe çitlerinde çivi kullanmayı unuttunuz ve rüzgârlı bir havada çitler devrildi. İşte bu yüzden başarılı bir iş yapmamış oldunuz yani başarım kavramını karşılamamış oldunuz. Başarımdan kastımız ‘doğru zamanda doğru yerde doğru şekilde ‘ işte tam olarak bu… Performans ise yapılan şeylerin boşa gitmemesi, mantıklı kullanım…

Sonuçta günlük yaşamda yapılacak her şeyi bir sıralama içinde yaparsınız değil mi? Peki nasıl? Gelin beraber düşünelim…

Hafta içi sabah okul hayatınızın olduğu dönemdesiniz. Okula gitmek için hazırlanacaksınız amacınız bu. Peki, bu amaç için ne yapıyorsunuz. Hadi gelin beraber bakalım

ALGORİTMA ÖRNEĞİ

  1. yataktan kalk
  2. pijamalarını çıkar
  3. duş al(daha dinç olmak için bunu yapmak zorunda değilsiniz her sabah bu adım kişiden kişiye değişir;))
  4. elbiselerini giy
  5. kahvaltını yap
  6. evden çık okula git

İşte yukarıdaki adımlar ve sıralaması bir algoritma aslında. Gördüğünüz gibi aslında hayatımız bir algoritmadan ibaret.

Amaç: okula gitmek

Algoritma: amaç için yapılan işlemler ve bu işlemlerin sıralaması

Dikkat: sıra önemli 3 ve 4 numaralı adımlar yer değiştirse mesela?(kim ıslanmak ister?)

Bir örnekte sizden duymak isterim. Sizde günlük yaşamdan örnekler ile bana bir algoritma örneği sunabilir misiniz? Merakla bekliyorum…

                                                          ETKİNLİK

Kahraman köpek han çok yorgun ve beslenmesi gerekiyor. Kahraman köpek Han’a yardımcı olman gerekiyor. Han sana güveniyor. Hadi onu kemiğe ulaştır ve güçlenmesini sağla. Enerji için beslenmek şart!:)

 

 

KULLANACAĞINIZ YÖNLER

Not: Attığın adımları sırası ile adım adım not almayı unutma! Yaptığın yönleri kahraman köpek Han’a göre uygulamayı ve sağ,sol dönüşlerini yapmayı da unutma lütfen.;) Cevap anahtarı dersimizin en sonunda bulunmakta.

 

 

Algoritmada 3 temel bileşen vardır:

  1. Değişkenler: Dışarıdan girilen veyahut bizim oluşturduğumuz değerleri tutan elemanlara denmektedir.
  2. Algoritma: Kısaca gerekli adımların mantıksal bir sıra ile yazılmasıdır.
  3. Akış Diyagramı: Birbirine oklar gösterilerek algoritmaları ve şemaları birbirine bağlayan kutulara denir.

Akış diyagramına örnek verecek olursak;

Kısaca çözümün şekiller ile tasviridir.(bu şemaya benzer olarak Scratch te yapboz parçası gibi olan blok parçalarını birleştirerek bir nevi sağlayacaksınız.)

BUNU BİLİYOR MUYDUNUZ?

Algoritmanın ne olduğunu öğrendik peki bu algoritma nereden çıktı kim tarafından ortaya atıldı. Merak ediyor musunuz? Önceden duyduysanız birde benden duyup öğrenin. Ne dersiniz…

Türkistanlı âlim 9. yüzyılda Cebir adında bir kitap oluşturarak algoritmik çalışmalarını sergilemiştir. Kısaca algoritmayı bulan kişi kim diye sorulduğunda Ebu Abdullah Muhammed bin Musa el Harezmî diyebiliriz.

Tabi sadece algoritma değil matematik, coğrafya ve astronomi alanında da büyük gelişmeler yapmış ve birçok kitap çıkarmıştır.

Algoritmayı pekiştirmek adına https://studio.code.org/s/mc/stage/1/puzzle/1 linkteki etkinliği yapabilirsiniz. 🙂

 

CEVAP ANAHTARI

Ekstra Algoritma Videosu

Aklınızda şöyle bir soru olabilir. Ben çocuğuma Algoritma’yı nasıl öğretebilirim. Bu aslında tamamen ayrı  bir ders konusu olabilir. Ama ben size küçük bir video ile bunu anlatmaya çalışacağım.

Biliyorum video ingilizce. Ayarlar kısmından otomatik translate diyerek Türkçe’yi seçebilirsiniz ve altyazısını Türkçe izleyebilrisiniz. Bir özet geçicek olursak bir baba iki çocuğuna adım adım ekmeğin üzerine nasıl fıstık ezmesi sürebilirimin algoritmasını yazmalarını istiyor ve yazdıkları algoritmaya göre ekmeğin üzerine fıstık ezmesini sürmeye çalışıyor. Sizlerde bunun gibi eğlenceli oyunlar oynayarak çocuğunuzun algoritma çözme yeteneğini geliştirebilirsiniz.

Mobilhanem.com da bir  Scaratch Eğitiminin ilk yazısının sonuna geldik bir sonraki derste Scratch kurulumunu anlatacağız. Bir sonraki derste görüşürüz. Eksik yada yanlış gördüğünüz  bir yer varsa benimle iletişime geçebilirsiniz. Bir sonraki yazıda görüşmek üzere.

Ayşe Rabia Tımmaz

Yorum Yaz

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?