17. Uygulama - bölüm 1

Uygulama bölümlerinde zorluğu giderek artan programlar yazacağız.


İlk adımlar

Basit bir problemle başlayalım: Reeborg'un önünde hiç bir engel olmadığını varsayarak tam bir tur atmasını sağlayacağız. Bunu daha önceden front_is_clear() testini anlattığımızda yapmıştık. Reeborg'un en az bir tane bip taşıdığını varsayarsak çözüm şöyle olabilir:

1. Bip'i nereden başladığını unutmamak için bulunduğun noktaya bırak
2. Bir duvarla karşılaşıncaya kadar yürü.
3. Duvarla karşılaşınca sola dön.
4. 2. ve 3. adımları başlangıçta bıraktığın biple karşılaşıncaya kadar tekrar et.
5. Bip'i bulunca kendini kapat. 

Burada tekrarlamanın yapıldığı 4. adım önemlidir, bunu şu şekilde kodlayabiliriz:

while not next_to_a_beeper():

bunu 2 ve 3. adımlar takip etmelidir, tam çözümü şöyle yazabiliriz:

put_beeper()
while not next_to_a_beeper():
    if front_is_clear():
        move()
    else:
        turn_left()

turn_off()

Eğer başlangıç pozisyonu aşağıdaki gibiyse yukarıdaki program çalıştırıldığında ne olur bunu uzun uzun düşünün.

around the world: start

Aşağıda olduğu gibi bir sonuç elde edemedik, değil mi? Neden olduğunu bulabildiniz mi? Bulamadıysanız düşünmeye devam edin.

around the world: start

previousBir süre için For a while - home - Uygulama - bölüm 2next