Aşağıdakilerden hangisi (5) numaralı şekli çizer.
A) 4([<i2(3(>)i)]>>)
B) >4([i]>>i>>i)
C) 4([ii3(>>>i)]>>)]
D) 4([ii3(>>>i)]>)]
E) >4([i]>>i>i)
CEVAP: Şekil her ne kadar karmaşık görünsede aynı alt şeklin 4 kere tekrar edilmesinden oluşuyor. Yapı olarak 40. soruya çok benziyor. Biz 5 numaralı şeklin sol üst çeyreğindeki şeklin çizilmesine odaklanalım.

Yukarıdaki şekle göre algoritmamızı yazmaya başlayabiliriz. Tosbağamız kuzeye baktığından dolayı öncelikle 45 derecelik sola dönüş gerekli bize. İfademiz < şeklinde başlıyor. 1′den 2′ye gitmek için ilerliyoruz. İfademiz <i oldu. 2. köşeden saat yönünde 135 derecelik dönüş lazım. İfademiz <i>>> oldu. 2′den 3′e gitmek istiyoruz. İfademiz <igt;>>i oldu. Yine 3. köşede 135 derecelik dönüş yapmamız gerekiyor. İfademiz <i>>>i>>> oldu. 3′den 4′e gitmek istiyoruz. İfademiz <i>>>i>>>i oldu. Diğer tüm alt şekiller için aynı algoritma uygulanabilir. Bunu değişik şekillerde sadeleştirebiliriz. Örneğin <2(i3(>))i veya <i2(3(>)i) şeklinde sadeleştirebiliriz. Diğer şekilleride çizebilmek için bize 90 derecelik dönüşler gerekli. Tabi bunun için öncelikle ilk konumumuzu hatırlamalı ve alt şeklin çizilmesi bittiği zaman tekrar ilk konuma dönmemiz gerekir. Yani ifade [<i2(3(>)i)] şeklini alır. Bunun sonuna 90 derecelik dönüş ekleyip işlemi 4 kere tekrarlamamız 5 numaralı şeklin çizilmesini sağlayacaktır. İfademiz 4([<i2(3(>)i)]>>) şeklini aldı. Doğru seçenek A şıkkı.
Not: Çizim Dia yazılım ile üretilmiştir.
İlgili Yazılar:
- Ulusal Bilgisayar Olimpiyadı 2009 – Soru 40 Aşağıdakilerden hangisi 13 numaralı şekli çizer? A) 4([i<[i]>[i]]>) B)...
- Ulusal Bilgisayar Olimpiyadı 2009 – Soru 38 Soru metni için öncelikle 40. soruda verdiğimiz açıklamaları okuyun. ‘8(i3(>))’...
- Ulusal Bilgisayar Olimpiyadı 2009 – Soru 37 Soru metni için öncelikle 40. soruda verdiğimiz açıklamaları okuyun. ‘i3(3([i]>))’...
- Ulusal Bilgisayar Olimpiyadı 2009 – Soru 36 Soru metni için öncelikle 40. soruda verdiğimiz açıklamaları okuyun. ‘i3(3(...
- Ulusal Bilgisayar Olimpiyadı 2009 – Soru 43 Aşağıdaki programın derlenip çalıştırılmasında ne olur? int i,j; main(void) {...

0 Yorum.