Konu Anlatımı
Blok Tabanlı Ortamda Tasarım ve Programlama
Blok tabanlı ortam, kod yazmadan program mantığını blokları birleştirerek öğretir. Ancak blokları sürükleyip bırakmak, tasarımı yerine geçirmez: önce problemin çözümü kâğıtta planlanır, sonra bu plan bloklara çevrilir. Tasarım, kodlamanın önündeki adımdır ve hatayı en ucuz yoldan yakalar.
Tasarım Adımları
Tasarım üç aşamada tamamlanır. Önce problem tek cümleyle tanımlanır: girdi nedir, çıktı nedir. Ardından çözüm adım adım yazılır ve gerekirse akış şeması çizilir. Son olarak her adım bir blok grubuna eşlenir; hangi bloğun nereye konacağı bu eşlemeyle kesinleşir.
- Problemi tek cümleyle tanımla, girdi ve çıktıyı belirle.
- Çözümü adım adım yaz, gerekirse akış şemasıyla çiz.
- Her adımı blok kategorisiyle eşleştir ve sırayı kontrol et.
- Çalıştır, beklenenle gerçekleşeni karşılaştır, gerektiğinde düzelt.
Blok Kategorileri ve Görevleri
Bloklar kategorilerine göre ayrılır ve renkleri işlevlerini gösterir. Bir programda önce başlatma bloğu, sonra işlem blokları, en sonda ise çıktı bloğu yer alır; koşul ve döngü blokları iç içe yapılarak dallanma ve tekrar sağlanır.
| Kategori | Örnek Blok | Görevi |
|---|
| Olay | Yeşil bayrak veya butona tıklayınca | Programı başlatır |
| Kontrol | Eğer-ise, her için, tekrarla | Koşul ve döngüyü kurar |
| Veri | değişken oluştur, ayarla | Veriyi saklar ve günceller |
| Görünüm | söyle, ekrana yaz | Sonucu gösterir |
| Hesaplama | topla, çıkar, karşılaştır | İşlem yapar |
Değişken, Koşul ve Döngü
Değişken, sayacı, toplamı ve sonucu saklar; örneğin doğru sayısı tutuluyorsa her doğru cevapta değişken bir artırılır. Koşul bloğu, karar verir: değer belirlenen eşiği geçtiyse bir blok, geçmediyse diğer blok çalışır. Döngü tekrar eden işi yönetir; belirli sayıda tekrar için sayaç, koşul sağlanana kadar için çıkış koşulu kullanılır. Çıkış koşulu yazılmazsa program sonsuz döngüye girer.
Test ve Ayıklama
Program ilk çalıştırmada genellikle kusurludur. Test, beklenen ile gerçekleşeni karşılaştırmaktır: farklı veriler, uç durumlar ve sıfıra yakın değerler denenir. Beklenen ile gerçekleşen farklıysa blok sırası, koşul ve değişken değerleri adım adım gözden geçirilir. Bu incelemeye ayıklama denir ve deneme-yanılmadan hızlıdır.
- Programı küçük adımlarla çalıştır, her adımda ekrandaki değeri oku.
- Değişken değerlerini izleyerek beklenenle karşılaştır.
- Şüpheli blok grubunu ayrı ayrı çalıştırıp sonucu gözle.
- Düzelttikten sonra aynı veriyle yeniden test et ve kaydet.
Kod Tekrarını Önleme
Aynı blok dizisi birkaç yerde gerekiyorsa blok grubu ayrı bir yere taşınır ve gerektiğinde yeniden kullanılır. Bu yaklaşım kodu kısaltır, hatanın tek noktada toplanmasını sağlar ve düzeltmeyi kolaylaştırır. Her yere aynı blokları kopyalamak, bir hata çıktığında tüm kopyaların ayrı ayrı düzeltilmesini zorunlu kılar.
Örnek Uygulama
Bir soru oyununda yeşil bayrakla program başlatılır, ekrana soru yazılır, kullanıcının cevabı bir değişkene okunur; cevap doğruysa doğru sayacı bir artırılır ve yeni soruya geçilir, yanlışsa tekrar denenir. Beş soru bitince toplam doğru sayısı söyletilerek program bitirilir. Bu yapıda olay bloğu başlatmayı, koşul bloğu karar veriyi, değişken bloğu ise sonucu saklar.
Sınav Odaklı Bilgiler
Sınavlarda blok kategorisi eşleştirmesi, sıralama, koşul-iç içe yapı, döngü sınırı ve test soruları yaygındır. Sıra sorularında önce başlatma bloğunu, en son çıktıyı ara. Sonsuz döngü sorularında çıkış koşulunun varlığını kontrol et; test sorularında ise cevap her zaman farklı veriyle ve karşılaştırarak denemektir.
- Başlatma bloğu olmadan program çalışmaz.
- Koşul bloğu içindekiler yalnız koşul sağlandığında çalışır.
- Değişken güncellenmeden sayaç ilerlemez.
- Kayıt edilmemiş düzeltme bir sonraki çalıştırmada kaybolur.
Ne Öğreneceğiz
Blok tabanlı bir programlama ortamında problemin tasarımını yapmayı, blok kategorilerini, değişken ve döngü kullanımını, test ile ayıklama adımlarını uygulamalı olarak öğretir. Bu konuda ögrenme çıktıları:
- Problemi çözüm planına dönüştürerek bloklara aktarır.
- Blok kategorilerini görevleriyle birlikte doğru sırayla kullanır.
- Değişken, koşul ve döngü bloklarını programda yerinde uygular.
- Programı farklı verilerle test edip beklenen ile gerçekleşeni karşılaştırır.
- Kod tekrarını azaltarak blok gruplarını yeniden kullanır.
Ön Bilgi
Bu konuya başlamadan önce temel kavram ve ön koşulları kavramanız yardımcı olacaktır. Konunun çerçevesinde şu kavramlar dikkat ister:
- Tasarım kodlamanın önündedir: önce çözüm planlanır, sonra bloklara çevrilir.
- Başlatma bloğu olmadan program çalışmaz; sıra başlatma bloğuyla başlar.
- Döngüde çıkış koşulu yoksa program sonsuz döngüye girer.
- Değişken güncellenmeden sayaç ve toplam değeri ilerlemez.
- Test, beklenen ile gerçekleşeni karşılaştırmaktır ve farklı verilerle yapılır.
Basit Örnek ve Günlük Yaşam
Günlük yaşamda ve mesleki bağlamda bir uygulama:
Soru: Verilen bloklar: ekrana yaz, eğer-ise, yeşil bayrak, sayaç ayarla. Doğru sıra nedir?
- Adım 1: Başlatma görevindeki yeşil bayrak bloğunu ilk sıraya koy.
- Adım 2: Değişken hazırlığı için sayaç ayarla bloğunu ikinci sıraya al.
- Adım 3: Karar için eğer-ise, sonuç için ekrana yaz bloğunu en sona yerleştir.
Sonuç/cevap: Yeşil bayrak → sayaç ayarla → eğer-ise → ekrana yaz.
Karşılaştırma Tablosu
| Kavram | Açıklama |
|---|
| Tasarım kodlamanın önündedir: önce çözüm | Tasarım kodlamanın önündedir: önce çözüm planlanır, sonra bloklara çevrilir. |
| Başlatma bloğu olmadan program çalışmaz; | Başlatma bloğu olmadan program çalışmaz; sıra başlatma bloğuyla başlar. |
| Döngüde çıkış koşulu yoksa program sonsu | Döngüde çıkış koşulu yoksa program sonsuz döngüye girer. |
| Değişken güncellenmeden sayaç ve toplam | Değişken güncellenmeden sayaç ve toplam değeri ilerlemez. |
| Test, beklenen ile gerçekleşeni karşılaş | Test, beklenen ile gerçekleşeni karşılaştırmaktır ve farklı verilerle yapılır. |
Sık Yapılan Hatalar
Çıkış koşulunu yazmamak: Döngüde sınır tanımlanmazsa program sonsuz döngüye girer ve kullanıcı ekranı kapatmak zorunda kalır.
Blokları olduğu gibi kopyalamak: Aynı blok dizisinin her yere kopyalanması hatayı çoğaltır, düzeltmeyi zorlaştırır; blok grubu ayrı çalıştırılır.
Değişkeni güncellememek: Sayaç veya toplam değişkeni artırılmadığında program çalışır fakat sonuç hep aynı değeri verir.
Testi tek veriyle yapmak: Yalnız normal değerle denemek uç durumlardaki hatayı yakalamaz; farklı ve sınır değerler de denenir.
Özet
Blok tabanlı ortamda programlama, önce tasarım ile başlar: problem tanımlanır, çözüm adım adım yazılır ve her adım bir blok kategorisiyle eşlenir. Başlatma bloğu programı başlatır, koşul ve döngü blokları iç içe kullanılarak karar ve tekrar kurulur, değişkenler sayaç ile sonucu saklar. Program küçük adımlarla çalıştırılarak beklenen ile gerçekleşen karşılaştırılır ve blok sırası düzeltilir. Tekrar eden işler blok grubuna alınarak kod tekrarı önlenir.
Kendini Dene
Soru: Bir sayı tahmin oyunu için blok tabanlı program tasarlayınız: problemi ve çıktıyı tanımlayınız, çözümü adım adım yazınız, kullanılan blok kategorilerini (olay, kontrol, veri, görünüm, hesaplama) hangi iş için kullanacağınızı belirtiniz, koşul ve döngünün nasıl kurulacağını açıklayıp test için hangi verileri deneyeceğinizi yazınız.
Örnek cevap: Puanlama anahtarı: Problemin girdi (tahmin) ve çıktı (dürüst/yanlış bildirimi) olarak tanımlanması (2 puan); çözümün adım adım yazılması (3 puan); başlatacak olay bloğu, kararı sağlayan koşul bloğu, değeri saklayan değişken bloğu ve sonucu gösteren görünüm bloğunun doğru eşleştirilmesi (4 puan); koşulun iç içe yapıyla kurulmasının ve döngünün çıkış koşulunun yazılması (3 puan); test için doğru, yanlış, sınır ve ilk tahmin verilerinin denenmesi (3 puan).