Hazırlayan: Lisa Yan
Çevirenler: Serhat Arslan, Ceren Kocaoğullar
Ders Notları: KarelReference
Çözümlü Örnek: Place100
Birinci Gün: arches_karel.py
Karel, Stanford Ana Avlusundaki 1989 Loma Prieta depreminde zarar gören sütunları inşa etmek için tutuldu, veya hayalgücünüzü kullanın ve başka bir yerdeki sütunları tamir ettiğinizi düşünün! Karel Charles Köprüsünün veya Efes'taki Artemis tapınağını tamir etmek için tutulmuş olabilir! Özellikle aşağıda belirtildiği şekilde, kendilerini destekleyen sütunlarda (tabii ki, beeper'lar tarafından temsil edilen) taşların eksik olduğu süt ünlar var:
Karel'ın işi bittiğinde, eksik sütunlar beeper'lar tarafından değiştirilmiş olmalı ki son hali şu şekilde gözüksün:
Karel dünyaya dair aşağıda listelenen gerçeklere güvenebilir: _ Karel yüzü doğuya bakar şekilde 1. Bulvar ve 1. Cadde'de başlar. _ Sütunlar birbirlerinden tam olarak dört kareyle, 1., 5., 9. ve 13. Bulvar'da, ayrılmış haldeler. * Karel sütunların beş birim yükseklikte olduğunu varsayabilir.
Program birkaç satır olmasına rağmen, problemi küçük parçalara ayırmaya az da olsa hala değer. Örneğin, bir build_column
fonksiyonuna sahip olmak mantıklı.
Bilgisayaların gerçekten iyi olduğu bir şey tekrar eden komutlardır.
Genelde, eğer birçok kez tekrar ettirmek istediğiniz bir kod bloğunun var olduğunu önceden biliyorsanız, bir "for" döngüsü kullanabilirsiniz. Şu şekilde görünür:
for i in range(n):
... your code ...
n
'nin yerine kodunuzun kaç defa tekrar etmesini istediğinizi yazmalısınız.
Örneğin eğer on defa ileri gitmesini istiyorsanız, move(); komutunu on kez yazmak yerine şunu yazabilirsiniz:
for i in range(10):
move()
Başka bir örnek için 100 Koymak programını inceleyebilirsiniz.
Eğer for döngülerini kullanırsanız, programınızı yazması ve okuması çok daha kolay olacak. Bu problemde for döngüleri kullanmanın birçok avantajı var!