code org Kurs 3 Ders 14 – Arı: Ayıklama
Bu bölümde Code org Kurs 3 Ders 14 ile karşınızdayız. Diğer bölümlerden farklı olarak bu kez kod yazmayacak, code org’ un bize verdiği hatalı kodları düzenleyeceğiz. Sizlere kodların bir önceki ve sonraki durumlarını resimler üzerinde göstermeye çalışacağız. Öncelikle hatalı kodu çalıştıracağız ve arının bu hatalı kod ile nasıl bir iş yaptığını görmeye çalışacağız.
code org Kurs 3 Ders 14 ve Hata Ayıklama
Bölüm de dikkat ediyorsanız önceki halinde arı en son satıra kadar ilerliyor ama en son satırda “nektarı al” komutunun petekte işe yaramadığını göreceksiniz. Bunun için en son satırdaki kodu “bal yap” olarak değiştirip ilk bölümü geçiyoruz.
Sonraki adım olan bölüm 2′ de kod arkadaşımız bizi öncelikle video ile hata ayıklama hakkında bilgilendiriyor. Nerelerde ve hangi bloklarda nasıl düzeltmeler yapacağımız hakkında bazı ipuçları veriyor. Bu nedenle Türkçe altyazı ile videoyu dinlemenizi öneriyoruz.
Bölüm 2′ de kodu dikkatle incelediğinizde aslında 1 satırlık koda ihtiyacımız olduğunu göreceksiniz. Ancak bunu anlayabilmek için ya kodu çalıştırmanız gerekecek, ya da kodu kendi kafanızda simule etmeniz gerekecektir. Dikkatle incelediğinizde ikinci çiçekteki nektarı almadan önce bir adım ilerlemesi gerektiğini farkedeceksiniz. Bunun için 5.satıra “ilerle” komutunu ekliyor ve hatamızı düzeltiyoruz. Sonraki bölüme geçebiliriz.
Döngü Hatasını Bulma
Bölüm 3′ de de aslında bir döngü hatası bulunuyor. Önceki yani code org un bize verdiği kod bloğunda dikkat ediyorsanız döngü 4 kez tekrarlanıyor. Oysa bizim resmimizde 3 çiçek ve 3 petek bulunuyor. Yani burada sadece döngülerin sayısını 3′ e indiriyoruz ve koddaki hatayı düzeltiyoruz.
Bölüm 4′ de arımızı zor bir görev bekliyor. Burada code org tarafından bize verilen kodu incelersek aslında döngünün içerisindeki yanlış kod satırlarının sadece dönüş kodlarının olduğunu göreceksiniz. Arımızın nektarı aldıktan sonra sola dönmesi gerekiyorken sağa döndüğünü farkedeceksiniz. Öncelikle bu satırı düzeltiyoruz. Sonrasında en son satırda ise sağa dönmesi gerekiyorken bu kez sola dönmesi gerektiğini anlıyoruz.
Bölüm 5′ de dikkat ederseniz eğer yine bir döngü hatası mevcut. Burada “bal yap” ve “nektarı al” komutlarının yer değiştiğinde hatanın giderildiğini göreceksiniz.
Bölüm 6′ da ise bir mantık hatası mevcut. Önceki koda baktığınızda nektarın 0′ a eşit olduğu sürece döngünün devam edip nektarı almasını istiyor. Ancak aslında döngümüz “nektar 0′ dan büyük olduğu sürece” “nektarı al” şeklinde düzeltilmelidir. Böylece aşağıdaki gibi 6.bölümü de çözüme ulaştırabilirsiniz.
7.bölümde bizi bir fonksiyon ve sonrasında bu fonksiyonu işleyen bir kod yapısı karşılıyor. Öncesi bloğunu inceleyin. Burada 3 bal yap fonksiyonu çağrılarak aslında sonuca ulaşılmak istenmiş. Ancak bir adım ilerleyip sağa dönmeyi unutmuş. Ve dikkat ederseniz bu işlemi aslında 2 kez yapması gerekiyor. Bunun için biz önce bir ilerle ardından 2 kez tekrarlanan bir döngü oluşturuyoruz. Sonrasında ise hatamızı aşağıdaki şekilde gidermeyi başarıyoruz.
Fonksiyonları Çağır Hataları Bul
Bölüm 8′ de dikkati aslında ipucu veren arıya döndürürsek çözüme kolay ulaşabiliriz. Bir fonksiyon var fakat ana kod bloğunda kullanılmamış. Aslında tamamen durağan bir fonksiyon. Bunu kullanarak hatayı çözmemizi istemiş. Bunu da ilgili fonksiyonu 2 kez çağırarak yapabiliyoruz. İlgili kod bloğu aşağıdadır.
9.bölümde bizi yine bir fonksiyon ve ana kod bloğu karşılıyor. Burada yine ipucu bize aslında çok şey anlatıyor. Arı aslında bu verilen kod ile yeterince bal yapamıyor. Örneğin petek 3 bal alırken arı 2 bal bırakıp diğer peteğe geçiyor. Bunun da sebebi aslında ana kod bloğunda değil. Fonksiyona dikkat ederseniz, bal yapması için gerekli döngü “bal > 1” sürece değil, “bal > 0” olarak tanımlanması gerekiyor. Böylece hatayı gidermiş oluyorsunuz.
İçiçe Döngü’ de Hatayı Bul
Bu bölümde kayda değer bir ipucu yok. Ancak kodu incelediğinizde iç içe 3 kez tekrar yapan döngünün bulunduğunu göreceksiniz. Burada eksik olan iki nokta var. Birincisi 4 çiçek var yani ana döngü 3 değil 4 kez tekrarlanacaktır. Diğeri ise içerideki döngü başlamadan önce “ilerle” komutunu mutlaka uygulamalısınız ki arı sonraki çiçeğe geçebilsin.
Yine bir döngü hatası. Bölüm 14′ de dikkat ederseniz aslında 2 ve 5 rakamlarının yerini değiştirdiğinizde sorunu çözüyorsunuz. Neden? Çünkü 5 çiçek var ve ana döngünün 5 kez tekrarlanması gerekiyor. İçerideki 2 kez tekrarlanması gereken nektar al işlemi ise 5 kez tekrarlanmış.
Döngüsel Hataların Çözüm Yolu
Bölüm 12 ‘de bu kez bir döngü sayı ve düzenlemesi yapmamız gerekiyor. Dikkat ediyorsanız öncesi kod bloğunda hem nektar al hem de bal yap satırını bir döngü içerisinde yapmış. Peki bu işlemler aynı anda mı yapılacak? Tabi ki hayır. Çünkü önce nektar alması gerekirken, sonrasında 1 kare ilerleyip ardından bal yap şeklinde kod yazılması gerekiyor. Ve bu işlemin tümünün 3 kez tamamlanması gerekiyor. İlgili çözüm bloğu aşağıda gösterilmiştir.
Son bölümde bizi artık bir çoktan seçmeli soru karşılıyor. Resimdeki işi tamamlayabilmek için B seçeneğindeki kod bloklarının kullanılması gerekiyor.
Code org Kurs 3 Ders 14 ‘deki hata ayıklama bölümlerinin de sonuna geldik. Sizler de code.org’ un resmi web platformu üzerinden Ders 14’ e ulaşmak için bu bağlantıyı kullanabilirsiniz. Sonraki yazılarımızda tekrar sizlerle olmak dileğiyle.
Not: code org Kurs 3 Ders 14 – Arı: Ayıklama isimli makale içerisindeki anlatımlar özgün içeriktir. Alıntı yapmadan kullanılamaz. Ancak uygulamalar code.org geliştirme ortamından alındığı için aynı uygulamanın birden çok çözüm yolu da bulunabilir. @kodlamaegitimi.org