Ders Notları: Karel Referansı
Çözümlü Örnekler: Beeper Hattı
Dosya: square_karel.py

Göreviniz Karel'in dünyasının sınırlarını aşağıda görebileceğiniz resimdeki gibi beeper'larla donatmak.


Programınızı yazarken bu varsayımları yapabilirsiniz:

  • Programın başında Karel dünyanın sol alt tarafındaki karede, güneye dönüktür.
  • Karel'in dünyası kare şeklindedir. Aynı sayıda satır ve sütuna sahiptir.
  • Karel'in dünyası 1x1 boyutlarında değildir.

Yazdığınız program yukarıdaki varsayımlara uygun farklı boyutlardaki dünyalarda da çalışabilmeli. Alternatif bir dünyayı aşağıda görebilirsiniz:


Anlaşılır Kod Yazmak

Bilgisayarın anlayıp çalıştırabildiği bir program yazmak etkileyici bir başarı. Fakat asıl hedeflemen gereken insanların da kolaylıkla anlayabileceği programlar yazmak.

Ayrıştırma (Decomposition). Fonksiyonlar yaratarak programını küçük parçalara bölebileceğini ve bu fonksiyonlara anlamlı isimler vererek onları gerekli yerlerde kullanabileceğini unutma. Beeper Hattı örneğini fonksiyon oluşturma konusunda fikir almak için inceleyebilirsin. Bu örneği bir başlangıç noktası olarak al ve neleri değiştirmen gerektiğini anlamaya çalış.

Döngüleri kullanmak. Programında aşağıdaki gibi bir for döngüsünü kullandın mı?

for i in range(4):
    # your code here

Eğer kullanmadıysan programını for döngüsü kullanacak şekilde düzenlemelisin. Bunu yapman kodunu çok daha iyi organize edebilmeni sağlayacak, söz veriyoruz :-)

Bonus Görev

Great job so far! There is one more topic, called if statements, that you will learn soon. Once you have learned that, you can optionally revisit this problem if you have extra time, and try to modify your program using everything you've learned, including if statements, to make Karel draw the following square, where all beepers in the square outline do not border any walls. This means that 1x1 and 2x2 worlds will not have any beepers in them. The world could also be any size, including non-square.

Bu aşamaya kadar geldiğin için tebrik ederiz! Yakın zamanda if ifadesini kullanarak nasıl şartlara bağlı ifadeler yazabileceğini öğreneceksin. if ifadelerini öğrendikten sonra istersen bu problemi tekrar ziyaret edebilir ve aşağıdaki bonus görevi tamamlayabilirsin.

Programını Karel'e aşağıda gördüğün beeper'ların sınıra bir birim daha uzak olduğu kareyi yerleştirecek şekilde güncelle. Bu Karel'in 1x1 ve 2x2 boyutundaki dünyalara hiç beeper yerleştirmeyeceği anlamına da geliyor. Bu sefer Karel'in dünyası kare olmak zorunda değil, herhangi bir dikdörtgen boyutlarında olabilir.

Bonus görevi yapmak tamamen isteğe bağlıdır, zorunlu değildir.