Hafta 10: Fonksiyonlar
Small Basic ile kod yazma kursu. 19 kelime/dk, %93 doğruluk.
Fonksiyonlar, bir işi tekrar tekrar yapmanı sağlar. Hazır bir fonksiyon, örneğin Math.Max, bir sonuç döndürür ve bunu bir değişkene atayabilirsin. Small Basic’te ayrıca kendi alt programını yazabilirsin: Sub ile başlayan ve EndSub ile biten bir blok. Alt programlar parametre almaz ve bir sonuç döndürmez; değerleri değişkenler üzerinden taşırsın. Bu haftanın hedefi, parantezleri ve virgülleri doğru yazarak hem hazır fonksiyonları hem de alt programları çağırmaktır.
Bu hafta neler öğreneceksin
Bu hafta üç sembol var. Türkçe Q klavyesinde:
(: 8 tuşu + Shift, karşı elin serçesi ile. Sağ orta parmak.): 9 tuşu + Shift, karşı elin serçesi ile. Sağ yüzük parmak.,: , tuşu, sağ serçe parmak.
Önce bir alt program tanımlayalım:
Sub SayHello
TextWindow.WriteLine("Merhaba " + name)
EndSub
Bu blok name değişkenindeki değeri kullanan bir alt program tanımlar. Alt program parametre almaz, bu yüzden tanımda parantez yoktur.
name = "Ayşe"
SayHello()
İlk satır name değişkenine değer atar. İkinci satır alt programı çağırır. Boş parantez, çağrının hiçbir değer taşımadığını gösterir.
Hazır fonksiyonlarda ise virgül değerleri ayırır:
en = Math.Max(4, 9)
TextWindow.WriteLine(Math.Round(3.6))
İlk satır 4 ve 9 arasındaki en büyük sayıyı, yani 9’u en değişkenine atar. İkinci satır 3,6 sayısını yuvarlar ve sonucu, yani 4’ü ekrana yazdırır.
Parmak ve duruş ipuçları
- Parantezleri çağrının başında aç, değerleri yaz, sonra kapat. Önce sağlam bir yapı kur, sonra hızlan.
- Shift’e karşı elin serçesiyle bas. Sağ orta ve sağ yüzük parmaklarını parantez tuşlarına uzatıp hemen geri çek.
- Virgül için sağ serçe parmağını kullan. Virgülden sonra bir boşluk bırakmak değerleri okumayı kolaylaştırır.
- Alt programı çağırırken parantezleri de yaz:
SayHello(). Parantezi atlamak çağrıyı bozar. - Enter tuşu girintiyi kendisi doldurur.
SubileEndSubarasındaki satırları tutarlı girintiyle yaz.
Dersler
- Ders (10–15 dk): Üç sembolü tanı. Klavye gösterimini izle ve her sembolü üç kez yaz.
- Ders (10–15 dk):
Math.MaxveMath.Roundçağrılarını yaz. Ardından birSubtanımla veSayHello()ile çağır. - Ders (10–15 dk): Öğrendiklerini tekrar et, ardından 2 dakikalık testi çöz.
Haftanın hedefi
Bu haftanın hedefi 19 kelime/dk hız ve %93 doğruluk. Dersleri bitirdiğinde bir yıldız kazanırsın. %93 doğruluğa ulaşırsan ikinci yıldız gelir. Üçüncü yıldız için 19 kelime/dk hıza da ulaşman gerekir. Parantez kapatmayı unutursan çağrı çalışmaz, bu yüzden doğruluk önce gelir.
Bu haftanın sembolleri
Renkli tuşlar bu hafta öğreneceğin tuşlar. Rengi, tuşa basan parmağı gösterir.
Bu haftanın dersleri
Dersleri sırayla yap. Her ders bir testle biter ve en iyi sonucun kaydedilir.