28
1 16. ULUSAL BİLGİSAYAR OLİMPİYATI BİRİNCİ AŞAMA SINAVI SORU VE ÇÖZÜMLERİ 2008 BİLGİSAYAR SANAYİ VE TEKNOLOJİ BAKANLIĞI

16. ULUSAL BİLGİSAYAR OLİMPİYATI BİRİNCİ …...Takİmlarİ 1’den 8’e numaralandİralİm. Şlk önce 1 Ğle eğleğecek takİmİ 7 farklİ ğekĞlde seçebĞlĞrĞz. EğleğmemĞğ

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 16. ULUSAL BİLGİSAYAR OLİMPİYATI BİRİNCİ …...Takİmlarİ 1’den 8’e numaralandİralİm. Şlk önce 1 Ğle eğleğecek takİmİ 7 farklİ ğekĞlde seçebĞlĞrĞz. EğleğmemĞğ

1

16. ULUSAL BİLGİSAYAR OLİMPİYATIBİRİNCİ AŞAMA SINAVISORU VE ÇÖZÜMLERİ

2008

BİLGİSAYAR

SANAYİ VE TEKNOLOJİ BAKANLIĞI

Page 2: 16. ULUSAL BİLGİSAYAR OLİMPİYATI BİRİNCİ …...Takİmlarİ 1’den 8’e numaralandİralİm. Şlk önce 1 Ğle eğleğecek takİmİ 7 farklİ ğekĞlde seçebĞlĞrĞz. EğleğmemĞğ

TÜRKİYE BİLİMSEL VE TEKNOLOJİK ARAŞTIRMA KURUMU BİLİM İNSANI DESTEK PROGRAMLARI BAŞKANLIĞI

ULUSAL BİLGİSAYAR OLİMPİYATLARI SORU ve ÇÖZÜMLERİ

Ankara

Ocak 2019

Page 3: 16. ULUSAL BİLGİSAYAR OLİMPİYATI BİRİNCİ …...Takİmlarİ 1’den 8’e numaralandİralİm. Şlk önce 1 Ğle eğleğecek takİmİ 7 farklİ ğekĞlde seçebĞlĞrĞz. EğleğmemĞğ

16. ULUSAL BİLGİSAYAR OLİMPİYATIBİRİNCİ AŞAMA SINAVISORU VE ÇÖZÜMLERİ

2008

BİLGİSAYAR

SANAYİ VE TEKNOLOJİ BAKANLIĞI

Page 4: 16. ULUSAL BİLGİSAYAR OLİMPİYATI BİRİNCİ …...Takİmlarİ 1’den 8’e numaralandİralİm. Şlk önce 1 Ğle eğleğecek takİmİ 7 farklİ ğekĞlde seçebĞlĞrĞz. EğleğmemĞğ

BİLGİSAYAR

1

1. Şampiyonlar ligi çeyrek finaline 8 futbol takımı kalmıştır. Takımlar, eleme usulü oynanacak olan çeyrek final turu için kura çekilerek eşleşeceklerdir. Kaç değişik eşleşme mümkündür? (A ile B nin eşleşmesinin B ile A nın eşleşmesinden bir farkı yoktur.)

A) 105 B) 1680 C) 2520 D) 5040 E) 10080

ÇÖZÜM

Takımları 1’den 8’e numaralandıralım. İlk önce 1 ile eşleşecek takımı 7 farklı şekilde seçebiliriz. Eşleşmemiş en küçüğü 5 farklı şekilde eşleştirebiliriz. Kalan 4 takımdan eşleşmemiş en küçüğü 3 farklı şekilde eşleştirebiliriz. En sona kalan 2 takımda eşleşmiş olur ve toplamda eşleşmeler 7 5 3 1 = 105 farklı şekilde yapılabilir.

Doğru Cevap A

2. Bir aritmetik ifade, ağaç yapısı ile temsil edilebilir. Örneğin, a × b + (c − (d − e)) ifadesi aşağıdaki ikili ağaç ile gösterilebilir:

Aşağıda verilen ağaç ile temsil edilen aritmetik ifadenin değeri nedir?

A) -24 B) -18 C) 0 D) 24 E) 63

ÇÖZÜM

Önce 2-5 yapılır ve -3 yazılır. Sonra -3 7 yapılır ve -21 yazılır. -3 4=-12, -12+9=-3, -21-(-3)=-18 işlemleri de takip eder ve en son değer -18 olur.

Doğru Cevap B

ÇÖZÜM

ÇÖZÜM

Page 5: 16. ULUSAL BİLGİSAYAR OLİMPİYATI BİRİNCİ …...Takİmlarİ 1’den 8’e numaralandİralİm. Şlk önce 1 Ğle eğleğecek takİmİ 7 farklİ ğekĞlde seçebĞlĞrĞz. EğleğmemĞğ

ULUSAL BİLGİSAYAR OLİMPİYATLARI SORU VE ÇÖZÜMLERİ

2

3. Bir adada iki kabile yaşamaktadır. Mar kabilesindekiler Pazartesi, Salı, Çarşamba ve Perşembe günleri doğru, diğer günler yalan söylerler. Ven kabilesindekiler ise Perşembe, Cuma ve Cumartesi günleri doğ-ru, diğer günler yalan söylerler. Mar kabilesinden biri ile Ven kabilesinden biri karşılaşırlar. Sohbet eder-lerken her ikisi de “Yarın benim doğrucu günüm olacak” derler. Bugün aşağıdaki günlerden hangisidir?

A) Çarşamba B) Perşembe C) Cuma D) Cumartesi E) Pazar

ÇÖZÜM

Birisi yarın doğrucu günü olduğunu söylüyorsa ya o gün ve ertesi gün yalan söyler ya da o gün ve ertesi gün doğru söyler. Yani herhangi bir kabilenin doğru veya yalan söyleme günlerinin sonunda bu ifadeyi kullanılamaz. Ven kabilesi bunu dediği için Çarşamba veya Cumartesi olamaz. Mar kabilesi bunu söylediği için Pazar veya Çarşamba olamaz. Diğer günler olabilir.

Doğru Cevap C

4. 001110110001110001001110 dizisi aşağıda anlatıldığı şekilde türetilmiştir: Sol uçta verilmiş olan 3 bitlik bloktan (001) başlanmakta, birinci adım sonunda 6 bitlik, ikinci adım sonunda 12 bitlik, nihayet üçüncü adım sonunda 24 bitlik dizi elde edilmektedir. Her adımda aynı kural uygulanmaktadır. Aşağıdaki dizilerden hangisi, yine sol uçta verilmiş olan 3 bitlik bloktan başlayarak, yine üç adımda fakat farklı bir kural uygulanarak türetilmiştir?

A) 111000000111000111111000

B) 101010010101010101101010

C) 011001011001011001011001

D) 110001001110001110110001

E) 001110110001110001001110

ÇÖZÜM

Üretilme aşamalarına bakalım:

• 001 için, diziye eklenen: 110, Yeni dizi:001 110

• 001110 için, diziye eklenen: 110001, Yeni dizi:001110 110001

• Aynı şekilde sonraki adımda da diziye eklenen bitler her bitin ters çevrilmiş haline denk gelir.

• Bu kurala göre(Her adımda dizinin bitlerinin ters çevrilmiş halini sona ekle) A, B, D ve E şıkları üretilmiştir. C şıkkında ise 011001 dizisi 4 kere tekrarlanmıştır.

Doğru Cevap C

Page 6: 16. ULUSAL BİLGİSAYAR OLİMPİYATI BİRİNCİ …...Takİmlarİ 1’den 8’e numaralandİralİm. Şlk önce 1 Ğle eğleğecek takİmİ 7 farklİ ğekĞlde seçebĞlĞrĞz. EğleğmemĞğ

BİLGİSAYAR

3

5. Polis bir suçun zanlılarını sorguya çekmektedir. Suçlunun/suçluların yalan söylediği, masum/ masumla-rın ise doğru söylediği bilinmektedir. Zanlıların ifadeleri şu şekildedir:

Dilek : Hilal suçludur. Hilal : Dilek ile Meral’in ikisi de masumdur. Meral : Dilek ile Hilal’in ya ikisi birden suçludur ya da ikisi birden masumdur. Suçluyu / suçluları bulunuz.

A) Yalnızca Dilek

B) Yalnızca Hilal

C) Yalnızca Meral

D) Dilek ve Hilal

E) Hilal ve Meral

ÇÖZÜM

Bu tarz sorularda farklı birinin yalan söylediğini iddia edenden başlarız. Dilek Hilal suçludur dediği için Dilek ya da Hilal’den biri suçludur. Yani Meral’in dediği ifade yanlış olur ve Meral suçlu olur. Hilal, Meral’e masumdur dediği için suçludur ve Meral suçlu olduğundan Dilek masumdur.

Doğru Cevap E

6. Alper, Burçin, Can, Derin ve Erkut 400m engelli yarışına katılacaklardır. Yarış öncesi yürüttükleri tah-minler şöyledir:

Alper: Burçin Can’dan iki sıra üstte olacak. Burçin: Ben ¨üçüncü olacağım. Can: Derin birinci olacak. Derin: Burçin ikinci olacak. Erkut: Can Alper’den üç sıra aşağıda olacak. (Birinci sıra en üst sıradır.) Yarıştan sonra bu tahminlerden yalnızca birinin doğru çıktığı görüldü. Doğru tahmini yapan birinci olan yarışmacıydı. O kimdi?

A) Alper B) Burçin C) Can D) Derin E) Erkut

ÇÖZÜM

Can derin birinci olacak dediği için 1. olamaz ve onu haklı çıkarmamak için Derin de 1. olamaz. Burçin kendisine 3.olacağım dediği için 1. olamaz(olsa tahmini yanlış çıkardı). Derin Burçin 2. olacak dediği için ve kendisi 1. olmadığı için Burçin 2. Olamaz. Kendi ifadesinden dolayı 1. veya 3. olamayan Burçin 4. ve 5. Olabilir ki bu da Alper’in ifadesini yanlış yapar. Geriye 1. olabilecek sadece Erkut kalır.

Doğru Cevap E

Page 7: 16. ULUSAL BİLGİSAYAR OLİMPİYATI BİRİNCİ …...Takİmlarİ 1’den 8’e numaralandİralİm. Şlk önce 1 Ğle eğleğecek takİmİ 7 farklİ ğekĞlde seçebĞlĞrĞz. EğleğmemĞğ

ULUSAL BİLGİSAYAR OLİMPİYATLARI SORU VE ÇÖZÜMLERİ

4

7. n × n boyutlarında bir satranç tahtası veriliyor. Bu tahta üzerinde kaç tane k × k boyutlarında kare vardır? (Simetrik kareler ayrı ayrı sayılacaktır.)

A) (n − k)2 + 2n − 1

B) (n − k)2 + 2k − 1

C) (n − k + 1)2

D) (n − k)(n − k + 1)/2

E) (n − k − 1)(n − k)/2 + 1

ÇÖZÜM

k k boyutundaki karenin sol üst noktasını seçelim. Sol-üst köşesi, köşeleri (1,1) ile (n-k+1, n-k+1) olan bir karenin herhangi bir yerine gelebilir. Yani toplamda (n – k + 1)2 tane k k boyutlarında kare vardır.

Doğru Cevap C

[8-10] soruları için açıklama

Bir fonksiyon belirtmek için

[değişken ! değişkeni içeren tanımlayıcı ifade]

fonksiyonu uygulamak için ise

fonksiyon(argüman)

notasyonlarını kullanıyoruz. Aşağıdaki örnekleri inceleyiniz.

[x → x × x] kare alma fonksiyonunu belirtmektedir. Dolayısıyla,

[x → x×x](3) ifadesi hesaplandığında 3×3 = 9 değerini verecektir. Fonksiyonlar fonksiyonlar

üzerinde uygulanabilmekte ve sonuç olarak fonksiyon dönebilmektedir.

[f → [x → f(f(x))]] bir f fonksiyonu verildiğinde bunu iki kez uygulayan yeni bir fonksiyon döndüren bir fonksiyonu belirtmektedir. Dolayısıyla, [f → [x → f(f(x))]]([x → x × x]) ifadesinin değeri iki kez kare alan bir fonksiyondur. Böylece,

([f → [x → f(f(x))]]([x → x × x]))(3) ifadesi hesaplandığında sonuç 81 olacaktır.

Başka bir örnek:

([x → [y ! 2 × x + y]](3))(4 + 1) = [y → 2 × 3 + y](4 + 1)

= 2 × 3 + (4 + 1) = 11

Page 8: 16. ULUSAL BİLGİSAYAR OLİMPİYATI BİRİNCİ …...Takİmlarİ 1’den 8’e numaralandİralİm. Şlk önce 1 Ğle eğleğecek takİmİ 7 farklİ ğekĞlde seçebĞlĞrĞz. EğleğmemĞğ

BİLGİSAYAR

5

AÇIKLAMA

Sorularda gelecek ifadeleri kolay olan sırada (Hangisinin argümanı en küçük ise o ilk sırada yapılır) sadeleştirelim. Mesela örnekteki f fonksiyonu ile tanımlanan ifadeyi sadeleştirelim.

Sadeleştirme işlemini soruda belirtildiği gibi ifadelerin sonucunu yazarak yaparız. [x→x x](3) ifadesinde olduğu gibi x gördüğümüz yerlere 3 yazarız ve sonucu buluruz. (okun sağındaki yere okun solundaki harf nerede geçiyorsa onun yerine parantez içerisindeki ifadeyi parantezle birlikte yaz. x’in geçtiği yerlere (3) yaz ve ifade (3) (3)=9 olsun.)

• [ f→[x→f(f(x))] ] ([x→x x]) ifadesinde f gördüğümüz yere [x→x x] yazarız.

• [ x→ [x→x x]( [x→x x](x) ) ] burada [x→x x](x) fonksiyonunu sadeleştirelim.

• [ x→ [x→x x](x x) ] burada [x→x x](x x) fonksiyonunu sadeleştirelim. (x gördüğümüz yerlere x x yazarız.)

• En son fonksiyon [ x→ (x x) (x x) ] haline gelir.

Buna göre ilgili sorulara bakalım:

8. [y → [z → z × (z + 1)/2](y − 1)](8) hesaplandığında hangi değeri verir?

A) 21 B) 28 C) 36 D) 45 E) 72

ÇÖZÜM

İfadeyi sadeleştirelim:

• [y→[z→z (z+1)/2](y-1)](8) ifadesinde y gördüğümüz yerlere 8 yazalım.

• [z→z (z+1)/2](8-1) olur. Şimdi z gördüğümüz yerlere 7 yazalım.

• 7*(7+1)/2 = 7 4 = 28 olur.

Doğru Cevap B

9. ([z → [g → g(z + 1)]](4))([x → 2 × x]) hesaplandığında hangi değeri verir?

A) 6 B) 7 C) 9 D) 10 E) 12

ÇÖZÜM

İfadeyi sadeleştirelim:

• ([z→[g→g(z+1)]](4))([x→2 x]) ifadesinde z gördüğümüz yerlere 4 yazalım. (En kısa argüman)

• [g→g(4+1)]([x→2 x]) olur. Şimdi g gördüğümüz yerlere [x→2 x] yazalım. (Tek seçenek)

• [x→2 x](4+1). Son olarak x gördüğümüz yerlere (4+1=5) yazarsak cevap 2 5=10 olur.

Doğru Cevap D

Page 9: 16. ULUSAL BİLGİSAYAR OLİMPİYATI BİRİNCİ …...Takİmlarİ 1’den 8’e numaralandİralİm. Şlk önce 1 Ğle eğleğecek takİmİ 7 farklİ ğekĞlde seçebĞlĞrĞz. EğleğmemĞğ

ULUSAL BİLGİSAYAR OLİMPİYATLARI SORU VE ÇÖZÜMLERİ

6

10. ([f → [g → [x → (g(f(x)))]]](M))(N) ifadesinin fonksiyon olarak [y → y] ile denk olması için M ve N yerine hangi ifadeler gelebilir?

A) M : [z → 2 × z], N : [z → z × 2]

B) M : [z → z × (z + 1)/2], N : [z → z × (z − 1)/2]

C) M : [z → z × (z − 1)/2], N : [z → z × (z + 1)/2]

D) M : [z → z × (−z)], N : [z → z × z]

E) M : [z → z + 1], N : [z → z − 1]

ÇÖZÜM

İfadeyi daha açık olması açısından sadeleştirelim:

• ( [f→[g→[ x→g( f(x) ) ] ] ](M) ) (N) ifadesinde öncelikle f gördüğümüz yerlere M yazalım.

• İfade [g→[ x→g( M(x) ) ] ] (N) olur. Şimdi g gördüğümüz yerlere N yazalım.

• İfade [ x→N( M(x) ) ] olur. Aynı şekilde [ y→N( M(y) ) ] diyebiliriz.

O zaman N( M(y) ) = y olmalı ki sadece E şıkkında ( (y+1) - 1 ) = y şartı sağlanır.

Doğru Cevap E

[11-17] soruları için açıklama

Aşağıda üç adet karşılıklı özyinelemeli yapının söz dizim kuralları verilmiştir. Bu tanımlarda yer alan • gibi semboller tanımlanan yapıların söz dizimlerinde yer almaktadırlar, fazla ya da eksik kullanılamazlar. Bu tanımlara uygun olarak oluşturulan ifadeleri aşağıdaki sorularda X1, X2 ve X3 nesneleri olarak adlandıracağız.

Page 10: 16. ULUSAL BİLGİSAYAR OLİMPİYATI BİRİNCİ …...Takİmlarİ 1’den 8’e numaralandİralİm. Şlk önce 1 Ğle eğleğecek takİmİ 7 farklİ ğekĞlde seçebĞlĞrĞz. EğleğmemĞğ

BİLGİSAYAR

7

X1, X2 ve X3 nesneleri üzerinde aşağıdaki fonksiyonlar tanımlanmaktadır. Fonksiyonların parametrelerinin türleri parametreden sonra | ile belirtilmiştir ve T pozitif tamsayıları ifade etmektedir. Bu fonksiyon tanımlarında f1, f2, f3, g1, g2, g3 fonksiyon adlarını, px1

ve px′1 X1 nesnelerini, px2 ve px′2 X2 nesnelerini ve px3 ve px′ 3 X3 nesnelerini, n ise pozitif tamsayıları göstermektedir. f1, f2 ve f3 fonksiyonları pozitif tamsayıları, g1 fonksiyonu yeni X1 nesnelerini, g2 fonksiyonu yeni X2 nesnelerini, g3 fonksiyonu yeni X3 nesnelerini üretmektedirler. g1, g2 ve g3 fonksiyonları 2 adet tamsayı parametre almaktadır ve bu parametrelerden ikincisi birincisinin katı olmalıdır (aksi durumda bu fonksiyonlar tanımlı değildir).

AÇIKLAMA

g1,2,3 fonksiyonları sırasıyla A1,2,3, B1,2,3, C1,2,3 sembollerini bir sonraki fonksiyon ile üretilecek nesnenin sonuna ekler. f1,2,3 fonksiyonları ise uygun formatta A1,2,3, B1,2,3, C1,2,3 sembollerinin karşılık gelen değerlerini toplama ekler (A0, B0, C0 sembollerinin değerleri 0 olduğu için bitirme sembol olarak sayıyoruz). Her sembolün değerleri f fonksiyonuna göre aşağıdaki gibidir:

A1 = 1, A2 = 2, A3 = 3,

B1 = 10, B2 = 20, B3 = 30,

C1 = 100, C2 = 200, C3 = 300,

Page 11: 16. ULUSAL BİLGİSAYAR OLİMPİYATI BİRİNCİ …...Takİmlarİ 1’den 8’e numaralandİralİm. Şlk önce 1 Ğle eğleğecek takİmİ 7 farklİ ğekĞlde seçebĞlĞrĞz. EğleğmemĞğ

ULUSAL BİLGİSAYAR OLİMPİYATLARI SORU VE ÇÖZÜMLERİ

8

f fonksiyonları her zaman uygun formatta çalıştığından herhangi bir nesne f fonksiyonlarından birine girdiğinde, f fonksiyonu elemanlarının değerlerinin toplamını döner. Yani C2 • B2 • B2 • B0 nesnesi f fonksiyonuna verildiğinde( Doğru format için f3 gerekli ) f fonksiyonu 200+20+20=240 döner.

Bir de nesnelerin oluşma şekline, yani g fonksiyonlarına göz atalım.

• İlk olarak görürüz ki n her zaman sabit kalıyor ve m her zaman n kadar azalıyor.

• Buradan (n ≡ 0 mod m) olduğunu çıkartabiliriz(formata uygun olması için gerekir.)

• (n ≡ 0 mod m) olduğunu biliyoruz. Bu şartlara baktığımızda nesnemizin • sembolleri hariç m/n tane sembolden oluştuğunu biliyoruz.

• Yani gx(n, m) çağırıldığında sonraki ve ondan sonraki her adımda gn fonksiyonu çağırılacağından ilk sembol Xn sonrakiler Nn olur. (Büyütünce karşılık gelen ifadeymiş gibi düşünün x=1 ise X=A, x=2 ise X=B, x=3 ise X=C, n için de aynısı geçerli)

Bu genellemeye göre fx(gx(n,m)) değeri: (Xn’in değeri) + (m/n-1) (Nn’in değeri) olur.

11. f1(g1(2, 8)) işleminin sonucu aşağıdakilerden hangisidir?

A) 8 B) 62 C) 80 D) 107 E) 260

ÇÖZÜM

8/2 = 4 olduğundan açıklamada belirtilen genellemeye göre sonuç A2 + 3 B2 = 2 + 3 20 = 62 olur.

Doğru Cevap B

12. f2(g2(2, 8)) işleminin sonucu aşağıdakilerden hangisidir?

A) 8 B) 62 C) 80 D) 107 E) 260

ÇÖZÜM

8/2 = 4 olduğundan açıklamada belirtilen genellemeye göre sonuç B2 + 3 B2 = 20 + 3 20 = 80 olur.

Doğru Cevap C

13. f3(g3(2, 8)) işleminin sonucu aşağıdakilerden hangisidir?

A) 8 B) 62 C) 80 D) 107 E) 260

ÇÖZÜM

8/2 = 4 olduğundan açıklamada belirtilen genellemeye göre sonuç C2 + 3 B2 = 200 + 3 20 = 260 olur.

Doğru Cevap E

Page 12: 16. ULUSAL BİLGİSAYAR OLİMPİYATI BİRİNCİ …...Takİmlarİ 1’den 8’e numaralandİralİm. Şlk önce 1 Ğle eğleğecek takİmİ 7 farklİ ğekĞlde seçebĞlĞrĞz. EğleğmemĞğ

BİLGİSAYAR

9

14. f1(g1(1, (f1(g1(1, 3))))) işleminin sonucu aşağıdakilerden hangisidir?

A) 3 B) 20 C) 21 D) 201 E) 202

ÇÖZÜM

3/1 = 1 olduğundan f1(g1(1,3)) = A1+2 A1 = 3 olur. İçerik yerine koyduğumuzda içerik aynı kalır ve tekrar sadeleştirebiliriz.

Doğru Cevap A

15. f2(g2(1, (f2(g2(1, 3))))) işleminin sonucu aşağıdakilerden hangisidir?

A) 3 B) 20 C) 21 D) 201 E) 202

ÇÖZÜM

3/1 = 1 olduğundan f2(g2(1,3)) = B1+2 A1 = 12 olur. f2(g2(1,12)) = B1+11 A1 = 21 olur.

Doğru Cevap C

16. f3(g3(1, (f3(g3(1, 3))))) işleminin sonucu aşağıdakilerden hangisidir?

A) 3 B) 20 C) 21 D) 201 E) 202

ÇÖZÜM

3/1 = 1 olduğundan f2(g2(1,3)) = C1+2 A1 = 102 olur. f2(g2(1,102)) = C1+101 A1 = 201 olur.

Doğru Cevap D

17. f3(g3(3, (f2(g2(3, (f1(g1(3, 3)))))))) işleminin sonucu aşağıdakilerden hangisidir?

A) 3 B) 30 C) 300 D) 3000 E) 30000

ÇÖZÜM

3/3 = 1 olduğundan f1(g1(3,3)) = A3 = 3 olur.

3/3 = 1 olduğundan f2(g2(3,3)) = B3 = 30 olur.

30/3 = 10 olduğundan f3(g3(3,30)) = C3 + 9 C3 = 10 300 = 3000 olur.

Doğru Cevap D

Page 13: 16. ULUSAL BİLGİSAYAR OLİMPİYATI BİRİNCİ …...Takİmlarİ 1’den 8’e numaralandİralİm. Şlk önce 1 Ğle eğleğecek takİmİ 7 farklİ ğekĞlde seçebĞlĞrĞz. EğleğmemĞğ

ULUSAL BİLGİSAYAR OLİMPİYATLARI SORU VE ÇÖZÜMLERİ

10

18. 3722 ve 5854 sayılarının ortak bölenlerinin en büyüğü aşağıdakilerden hangisidir?

A) 2 B) 3 C) 4 D) 6 E) 8

ÇÖZÜM

gcd( a, b ) = gcd( a mod b, b ) özelliğini kullanalım:

gcd( 3722, 5854 ) = gcd( 3722, 2134 ) = gcd( 1588, 2134 ) =

gcd( 1588, 546 ) = gcd( 50, 546 ) = gcd( 50, 46 ) =

gcd( 4, 46 ) = gcd( 4, 2 ) = 2

Doğru Cevap A

19. 2x ≡ 5 (mod 9) denkleminin çözümü aşağıdakilerden hangisidir (k bir doğal sayıdır)?

A) 5 + 11k B) 4 + 5k C) 7 + 9k D) 2 + 5k E) 9 + 5k

ÇÖZÜM

2x = 9a+5 şeklinde bir ifade kullanabiliriz. İfadeyi değiştirirsek:

2x = 9a+5 = 9b+14 = 18k+14 à 2x = 18k+14 à x = 7 + 9k

Doğru Cevap C

20. COEFFICIENT kelimesindeki harflerin tamamı kullanılarak kaç farklı kelime oluşturulabilir?

A) 11! B) 11!/2! C) 11!/4! D) 11!/6! E) 11!/16

ÇÖZÜM

Aynı harfleri görmezden gelirsek 11! Farklı kelime vardır. Aynı olan harflerin sıralanma sayılarını da bölersek; 2 tane C, 2 tane E, 2 tane I, 2 tane F olduğundan 11!

2!* 2!*2!*2! = 11!

16 olur.

Doğru Cevap E

21. (x + 1)6 açıldığında terimleri arasında en yüksek sabit çarpana (katsayı) sahip terimin katsayısı aşağıdaki-lerden hangisidir?

A) 2 B) 8 C) 15 D) 20 E) 30

ÇÖZÜM

Xk’lı terimin katsayısı 6( (k olduğundan en büyük katsayı k=3 içindir ve bu değer 6( (3 = 20’dir.

Doğru Cevap D

Page 14: 16. ULUSAL BİLGİSAYAR OLİMPİYATI BİRİNCİ …...Takİmlarİ 1’den 8’e numaralandİralİm. Şlk önce 1 Ğle eğleğecek takİmİ 7 farklİ ğekĞlde seçebĞlĞrĞz. EğleğmemĞğ

BİLGİSAYAR

11

22. (5a + 8b)15 açıldığında kaç terim elde edilir?

A) 15 B) 16 C) 17 D) 18 E) 19

ÇÖZÜM

a’nın üzeri [0,15] aralığında değer alabileceğinden ve her bir değeri için ona karşılık gelen tek bir b değeri (b = 15-a) olduğundan 16 farklı terim vardır.

Doğru Cevap B

23. olduğunda = 18 denkleminin kaç farklı tamsayı çözümü vardır?

A) C(21, 18) B) C(21, 18) − C(13, 6) C) 186 D) 216 E) 246

ÇÖZÜM

Tekrarlı kombinasyon ile xi 7 şartı olmasaydı C( 18+4-1, 4-1 ) = C( 21, 3 ) = 21 20 19/6 = 1330 farklı durum olurdu. Fazla durumları çıkarmak için içerme dışarma yapalım:

• 1 tane x değeri 7’ den büyükse ona 8 tane top koyduğumuzu farz edelim ve topları dağıtalım: (C(4,1)=4) C( 10+4-1, 4-1 ) = 4 C( 13, 3 ) = 4 13 12 11/6 = 104 11 = 1144 olur.

• 2 tane x değeri 7’ den büyükse onlara 8 tane top koyduğumuzu farz edelim ve topları dağıtalım: (C(4,2)=6) C( 2+4-1, 4-1 ) = 6 C( 5, 3 ) = 6 10 = 60 olur.

En son cevap 1330-1144+60 = 246 olur.

Doğru Cevap E

24. 20 adet boş kartın her birinin üzerine kare, daire veya üçgen resmi çizilebilmektedir. Buna göre kaç farklı şekilde 20 karttan oluşan bir demet oluşturulabilir?

A) 229 B) 230 C) 231 D) 232 E) 233

ÇÖZÜM

Kartlar farklı olmadığından önemli olan sadece kaç tane kare, daire ve üçgen olduğudur. 20 kağıdı kare, daire veya üçgene 20+3-1( (3-1

= 22( (2 = 22*21

2 = 231 farklı şekilde dağıtabiliriz.

Doğru Cevap C

Page 15: 16. ULUSAL BİLGİSAYAR OLİMPİYATI BİRİNCİ …...Takİmlarİ 1’den 8’e numaralandİralİm. Şlk önce 1 Ğle eğleğecek takİmİ 7 farklİ ğekĞlde seçebĞlĞrĞz. EğleğmemĞğ

ULUSAL BİLGİSAYAR OLİMPİYATLARI SORU VE ÇÖZÜMLERİ

12

[25-27] soruları için açıklama

A = {0, 1, {1}, {1, {1}}} küme olarak tanımlanıyor.

25. A kümesi üzerinde kaç farklı ikili bağıntı tanımlanabilir?

A) 28 B) 210 C) 216 D) 232 E) 264

ÇÖZÜM

4 farklı elemana sahip A kümesinde A’dan A’ya olan 4 4=16 farklı ikili vardır. Bunların oluşturduğu 216 farklı kümenin herhangi biri bağıntıdır.

Doğru Cevap C

26. A kümesi üzerinde kaç farklı simetrik olan ikili bağıntı tanımlanabilir?

A) 16 B) 64 C) 1024 D) 2048 E) 2049

ÇÖZÜM

Bir bağıntının simetrik olması için her (a, b) elemanı için (b, a) elemanı da olmalıdır. Yani (a, b) ikilisiyle (b, a) ikilisini birleştirirsek toplamda 10 tane grup olur ve bunlar 210 = 1024 farklı bağıntı oluşturur.

Doğru Cevap C

27. A kümesi üzerinde kaç farklı simetrik ve yansıma özelliğine sahip ikili bağıntı tanımlanabilir?

A) 64 B) 128 C) 256 D) 512 E) 1024

ÇÖZÜM

Bir bağıntının simetrik olabilmesi için her (a, a) elemanının bulunması gerekir. Yansıma özelliğiyle birlikte ekleyip çıkartabileceğimiz 10 tane ikili bulunurken (a, a) elemanlarının eklendiği kesinleştiğinde 6 tane grubu ekleyip çıkartabiliriz. 26 = 64.

Doğru Cevap A

Page 16: 16. ULUSAL BİLGİSAYAR OLİMPİYATI BİRİNCİ …...Takİmlarİ 1’den 8’e numaralandİralİm. Şlk önce 1 Ğle eğleğecek takİmİ 7 farklİ ğekĞlde seçebĞlĞrĞz. EğleğmemĞğ

BİLGİSAYAR

13

[28-32] soruları için açıklama

Bir derede daire şeklinde yerleşmiş 8 taş vardır ve kurbağalar bu taşların üzerinde güneşlenir. Bir taşta tek bir kurbağa güneşlenebilir. Kurbağalar taşlara çıkarken şekilde K ile gösterilen yerden taşların üzerine zıplarlar. Zıplarken zıpla(x) şeklinde bir fonksiyonu kullanırlar. Bu fonksiyon verilen x değeri için kurbağanın kaç kere zıplayacağını söyler.

Örneğin bu fonksiyon 3 değerini döndüyse kurbağa 3 kere zıplar ve 3. taş üzerine yerleşir.

8. taştan sonra kurbağa zıplamaya 1. taştan itibaren devam eder. Örneğin zıpla fonksiyonu

13 döndüyse kurbağa 5. taşa yerleşir.

Fakat kurbağanın zıpladığı taşta başka bir kurbağa varsa kurbağa o taşta kalamaz zıpla fonksiyonundaki tanıma göre bulunduğu yerden tekrar bir zıplama yapar. Buna göre zıpla fonksiyonu şu şekilde tanımlanır:

zıpla(x) = (M | N)

M, zıplama miktarını, N ise zıplanan yerde kurbağa varsa yeni zıplama değerini verir.

Örneğin ‘zıpla(x) = x | zıpla(x)’ şeklinde tanımlanırsa ve kurbağa zıpla(3) şeklinde zıplarsa x = 3. taşa gider. 3. taşta kurbağa varsa fonksiyonun ikinci kısmındaki zıpla(x) ifadesine göre tekrar zıplar ve 6. taşa gider. 6. taşta da kurbağa varsa 9, yani 1. Taşa gider. Kurbağa boş bir taş buluncaya kadar zıplar. Bulamadığı sürece sonsuza kadar bunu tekrarlar. Fonksiyon tanımında t değişkeni kullanılabilir. 0 ≤ t ≤ 8, bulunulan taşın numarasını gösterir. Başlangıç noktasında t = 0 olarak kabul edilir. M ifadesi zıplamadan önce, N ifadesi zıplanan yerde (kurbağa bulunan) hesaplanır.

Kurbağalar geri zıplayamaz. Dolayısıyla zıplama sonucu 0 ya da daha küçük bir sayı geldiğinde kurbağa bulunduğu taşta (başka kurbağa olsa da) kalır, bir daha zıplayamaz.

AÇIKLAMA

Kurbağaların başlangıç pozisyonu ve zıplama fonksiyonu soruya göre değiştiğinden; bu pakette soru çözümünü kolaylaştırıcı genel yolu bulmaktansa, soruları çözmeye başlayıp fonksiyonun adımlarını hızlıca uygulamak daha mantıklı olur.• % işaretini mod olarak kullanacağız ([1, n] aralığında değer veren özel mod diyelim), her atlamada

(taşın numarası+zıplama miktarı) %8 yeni taşın numarası olur.

28. 2., 5. ve 7. taşlarda kurbağalar varken: zıpla(x) = (x + 1 | zıpla(x + 1)) tanımına göre kurbağa zıpla(1) ile baş-larsa hangi taşa yerleşir?

A) 1 B) 6 C) 8 D) 3 E) 4

Page 17: 16. ULUSAL BİLGİSAYAR OLİMPİYATI BİRİNCİ …...Takİmlarİ 1’den 8’e numaralandİralİm. Şlk önce 1 Ğle eğleğecek takİmİ 7 farklİ ğekĞlde seçebĞlĞrĞz. EğleğmemĞğ

ULUSAL BİLGİSAYAR OLİMPİYATLARI SORU VE ÇÖZÜMLERİ

14

ÇÖZÜM

Fonksiyonumuza göre kurbağa önce x+1 kadar zıplar. Eğer taş doluysa zıpla(x+1) fonksiyonuna göre tekrar zıplar. Şimdi başlayalım:

• Kurbağa 0. taşta. zıpla(1) gelir, 1+1 = 2 kadar zıplar ve 2.taş dolu olduğundan zıpla(1+1) çağrılır.

• Kurbağa 2. taşta. zıpla(2) gelir, 2+1 = 3 kadar zıplar ve 5.taş dolu olduğundan zıpla(2+1) çağrılır.

• Kurbağa 5. taşta. zıpla(3) gelir, 3+1 = 4 kadar zıplar ve 1.taşa gelir.

• 1.taş boş olduğundan kurbağa bu taşa yerleşir.

Doğru Cevap A

29. 1., 4., 5., 6. taşlarda kurbağalar varken zıpla(x) = (x | zıpla(x−1)) tanımına göre kurbağa zıpla(5) ile başlarsa hangi taşa yerleşir?

A) 2 B) 3 C) 7 D) 8 E) Başka bir kurbağanın üzerinde kalır.

ÇÖZÜM

Fonksiyonumuza göre kurbağa önce x kadar zıplar. Eğer taş doluysa zıpla(x-1) fonksiyonuna göre tekrar zıplar. Şimdi başlayalım:

• Kurbağa 0. taşta. zıpla(5) gelir, x = 5 kadar zıplar ve 5.taş dolu olduğundan zıpla(5-1) çağrılır.

• Kurbağa 5. taşta. zıpla(4) gelir, x = 4 kadar zıplar ve 1.taş((5+4)%8=1) dolu olduğundan zıpla(4-1) çağrılır.

• Kurbağa 1. taşta. zıpla(3) gelir, x = 3 kadar zıplar ve 4.taş dolu olduğundan zıpla(3-1) çağrılır.

• Kurbağa 4. taşta. zıpla(2) gelir, x = 2 kadar zıplar ve 6.taş dolu olduğundan zıpla(5-1) çağrılır.

• Kurbağa 6. taşta. zıpla(1) gelir, x = 1 kadar zıplar ve 7.taşa gelir.

• 7.taş boş olduğundan kurbağa bu taşa yerleşir.

Doğru Cevap C

30. 1., 2., ve 6. taşlarda kurbağalar varken zıpla(x) = (2 _ x | zıpla(t)) tanımına göre kurbağa zıpla(3) ile başlarsa hangi taşa yerleşir?

A) 3 B) 4 C) 5 D) 8 E) Sonsuza kadar zıplar.

ÇÖZÜM

Fonksiyonumuza göre kurbağa önce x kadar zıplar. Eğer taş doluysa zıpla(x-1) fonksiyonuna göre tekrar zıplar. Şimdi başlayalım:

• Kurbağa 0. taşta. zıpla(3) gelir, 2 x = 2 3 = 6 kadar zıplar ve 6.taş dolu olduğundan zıpla(6) çağrılır. (zıpla(t) yazılmadan önce t=6 olmuştu)

• Kurbağa 6. taşta. zıpla(6) gelir, 2 6 % 8 = 4 kadar zıplar ve 2.taş dolu olduğundan zıpla(2) çağrılır.

• Kurbağa 2. taşta. zıpla(2) gelir, 2 2 = 4 kadar zıplar ve 6.taş dolu olduğundan zıpla(6) çağrılır.

• Kurbağa 6. taşta. zıpla(6) gelir, bu işlem ise 2.işlem ile aynı olduğundan kurbağa sonsuza kadar zıplar.

Doğru Cevap E

Page 18: 16. ULUSAL BİLGİSAYAR OLİMPİYATI BİRİNCİ …...Takİmlarİ 1’den 8’e numaralandİralİm. Şlk önce 1 Ğle eğleğecek takİmİ 7 farklİ ğekĞlde seçebĞlĞrĞz. EğleğmemĞğ

BİLGİSAYAR

15

31. Taşların hepsi boşken zıpla(x) = (x | zıpla((x + t − 1)(mod 8))) tanımına göre elimizdeki bir çok kurbağayı arka arkaya zıpla(6) ile başlattığımızda en fazla kaç farklı taşı doldurabiliriz?

A) 4 B) 5 C) 6 D) 7 E) 8

ÇÖZÜM

Fonksiyonumuza göre kurbağa önce x kadar zıplar. Eğer taş doluysa zıpla( (x+t-1) mod 8 ) fonksiyonuna göre tekrar zıplar. Şimdi başlayalım:

• Kurbağa 0. taşta. zıpla(6) gelir, x = 6 kadar zıplar. Bu kurbağa 6. taşa yerleşir ve arkasından gelen kurbağa bu taş dolu olduğundan zıpla( (6+6-1) mod 8 = 3 ) fonksiyonuyla devam eder.

• Kurbağa 6. taşta. zıpla(3) gelir, x = 3 kadar zıplar. Bu kurbağa 1. taşa yerleşir ve arkasından gelen kurbağa bu taş dolu olduğundan zıpla( (3+1-1) mod 8 = 3 ) fonksiyonuyla devam eder.

• Kurbağa 1. taşta. zıpla(3) gelir, x = 3 kadar zıplar. Bu kurbağa 4. taşa yerleşir ve arkasından gelen kurbağa bu taş dolu olduğundan zıpla( (3+4-1) mod 8 = 6 ) fonksiyonuyla devam eder.

• Kurbağa 4. taşta. zıpla(6) gelir, x = 6 kadar zıplar. Bu kurbağa 2. taşa yerleşir ve arkasından gelen kurbağa bu taş dolu olduğundan zıpla( (2+6-1) mod 8 = 7 ) fonksiyonuyla devam eder.

• Kurbağa 2. taşta. zıpla(7) gelir, x = 7 kadar zıplar, 1. taş dolu olduğundan zıpla( (7+1-1) mod 8 = 7 ) fonksiyonuyla devam eder.

• Kurbağa 1. taşta. zıpla(7) gelir, x = 7 kadar zıplar. Bu kurbağa 8. taşa yerleşir ve arkasından gelen kurbağa bu taş dolu olduğundan zıpla( (7+8-1) mod 8 = 6 ) fonksiyonuyla devam eder.

• Kurbağa 8. taşta. zıpla(6) gelir, x = 6 kadar zıplar, 6. taş dolu olduğundan zıpla( (6+6-1) mod 8 = 3 ) fonksiyonuyla devam eder. Bu da 2.işlemde olan 6.taştan zıpla(3) ile zıplama olacağından daha fazla kurbağa yerleşemez.

• En son 6, 1, 4, 2 ve 8 numaralı taşlarda kurbağa bulunur.

Doğru Cevap B

32. 5) Taşların hepsi boşken zıpla(x) = (x + t | zıpla(x)) tanımına göre arka arkaya zıpla(5) ile kurbağaları baş-lattığımızda en fazla kaç farklı taşı doldurabiliriz?

A) 3 B) 4 C) 5 D) 6 E) 7

ÇÖZÜM

Fonksiyonumuza göre kurbağa önce x+t kadar zıplar. Eğer taş doluysa zıpla( x ) fonksiyonuna göre tekrar zıplar. Şimdi başlayalım:

• Kurbağa 0. taşta. zıpla(5) gelir, 5+0 kadar zıplar. Bu kurbağa 5. taşa yerleşir ve arkasından gelen kurbağa bu taş dolu olduğundan zıpla( 5 ) fonksiyonuyla devam eder. ( her zaman zıpla( 5 ) sabit kalır. )

• Kurbağa 5. taşta. zıpla(5) gelir, (5+5)%8 = 2 kadar zıplar. Bu kurbağa 7. taşa yerleşir ve arkasından gelen kurbağa bu taş dolu olduğundan zıpla( 5 ) fonksiyonuyla devam eder.

• Kurbağa 7. taşta. zıpla(5) gelir, (5+7)%8 = 4 kadar zıplar. Bu kurbağa 3. taşa yerleşir ve arkasından gelen kurbağa bu taş dolu olduğundan zıpla( 5 ) fonksiyonuyla devam eder.

• Kurbağa 3. taşta. zıpla(5) gelir, 3+5 kadar zıplar. Bu kurbağa 3.taşta kalır ve her adımda zıpla( 5 ) ile 3.taşta kalmaya devam eder.

• En son en fazla 5, 7 ve 3 numaralı taşlara kurbağa gelebilir.

Doğru Cevap A

Page 19: 16. ULUSAL BİLGİSAYAR OLİMPİYATI BİRİNCİ …...Takİmlarİ 1’den 8’e numaralandİralİm. Şlk önce 1 Ğle eğleğecek takİmİ 7 farklİ ğekĞlde seçebĞlĞrĞz. EğleğmemĞğ

ULUSAL BİLGİSAYAR OLİMPİYATLARI SORU VE ÇÖZÜMLERİ

16

[33-37] soruları için açıklama

Bir laboratuvarda 3 adet akıllı fare eğitilmektedir. Fareler labirent içine bırakılarak hangi yollardan gidecekleri gözlenmektedir. Eğitim sonucunda 3 farenin de birbirine benzeyen yöntemler geliştirdiği gözlenmiştir. Fareler bir yol ayrımına geldiklerinde (Bkz. Sağdaki şekil) pozisyonlarını ve son hamlelerini akıllarında tutmakta, daha sonra aynı konum ve yöne geri dönebilmektedir. Art arda geçtikleri ayrım noktalarını birlikte tutabilmekte, geri dönme durumunda her zaman en son ayrım noktasına, kaldıkları konum ve yöne dönmektedirler. Bir ayrım noktasındaki bütün seçenekleri deneyip çıkış bulamadıklarında daha önceki ayrım noktasında, kaldıkları yerden ve karar verdikleri konumdan devam etmektedirler. Ayrım noktaları şekilde görüldüğü gibi üç seçenekli olabileceği gibi iki seçenekli (sol-sağ, sol-ileri, sağ-ileri) de olabilir.

Daha önce geçmiş oldukları yerlerde bıraktıkları izleri hissetmekte, dolayısıyla geçmiş oldukları yollarda duvar varmış gibi davranmaktadırlar. Fareler çıkmaz sokağa gelmedikçe geri dönmezler. Geldiklerinde de hatırladıkları ve hala denemedikleri seçenek olan son konuma doğrudan zıplarlar. Fareler kendi konumlarına göre davranmakta, küresel bir kuzey, güney, batı, doğu ayırımını yapamamaktadır. Yani çizime göre aşağı yönde ilerleyen bir fare için ilerisi aşağıya doğru, sol taraf ise çizime göre sağ yönde olacaktır.

Bu 3 fare aynı yöntemi öğrenmiş olmakla birlikte ayrım noktasındaki tercihleri birbirinden farklı olarak gelişmiştir. Bir fare önce düz giden yolu denemeyi tercih ederken başkası önce soldaki yolu denemektedir. Sonuçta bütün yolları çıkış bulana kadar deneseler de buldukları yollar ve birden fazla çıkış varsa bulabildikleri çıkışlar değişebilmektedir.

Buna göre farelerin denedikleri yönler aşağıdaki gibidir:

Fare 1 Önce sol, sonra ileri, sonra sağ yönler.

Fare 2 ¨Önce ileri, sonra sol, sonra sağ yönler.

Fare 3 Önce sağ, sonra sol, sonra ileri yönler.

Takip eden 5 soruyu bu fareler ve aşağıdaki labirent için yanıtlayınız

AÇIKLAMA

Fareler çıkmaz sokağa girdikten sonra aynı şekilde geri döneceğinden çıkmaz sokakları önemsemeyelim. Farelerin kararlarına göre gideceği yönün değiştiği şekilde belirtilen 13 kritik noktaya göre farelerin çıkış kapısını bulalım. Çıkmaz sokaklar haricinde 3 yolun birleşimi kritik noktadır. Farenin kritik noktalar dışındaki hareketi önemsizdir. Yani bir kritik noktadan belirli bir yöne doğru gittikten sonra diğer bir kritik noktaya varana kadar farenin komutları deneme sırası önemsizdir ve o yol takip edildiğinde aynı noktaya varılır.

33. 3 numaralı fare A noktasından bırakılırsa hangi çıkışı bulur? A) B B) C C) D D) E E) Hiçbir çıkış bulamaz.

Page 20: 16. ULUSAL BİLGİSAYAR OLİMPİYATI BİRİNCİ …...Takİmlarİ 1’den 8’e numaralandİralİm. Şlk önce 1 Ğle eğleğecek takİmİ 7 farklİ ğekĞlde seçebĞlĞrĞz. EğleğmemĞğ

BİLGİSAYAR

17

ÇÖZÜM

A noktasından başlayan 3 numaralı fare( sağ, sol, ileri ) ilk 1.noktaya gelir ve şöyle devam eder:

• 1 noktasından sağa gider ve 2’ye gelir.

• 2 noktasından sağa gider ve 3’e gelir.

• 3 noktasından sağa gider ve 4’e gelir.

• 4 noktasından sola gider ve 5’e gelir. (sağ kapalıdır)

• 5 noktasından sağa gider ve 6’ya gelir.

• 1 noktasından sağa gider ve C çıkışından çıkar.

Doğru Cevap B

34. 2 numaralı fare A noktasından bırakılırsa hangi çıkışı bulur?

A) B B) C C) D D) E E) Hiçbir çıkış bulamaz.

ÇÖZÜM

A noktasından başlayan 2 numaralı fare( ileri, sol, sağ ) ilk 1.noktaya gelir ve şöyle devam eder:

• 1 noktasından ileri gider ve 10’a gelir.

• 10 noktasından ileri gider ve 11’e gelir.

• 11 noktasından ileri gider ve 12’ye gelir.

• 12 noktasından sonra 3 kez ileri gider sırayla 9, 8, 2 noktalarından geçer.

• 2 noktasından ileriye gidemez.(çünkü 1’e daha önce gidilmiştir.) sola gider ve 3’e gelir.

• 3 noktasından sola gider ve 5’e gelir.

• 5’ten ileri gider ve 4’e gelir.

• 4’ten sola gider ve B çıkışından çıkar.

Doğru Cevap A

35. 1 numaralı fare A noktasından bırakılırsa hangi çıkışı bulur?

A) B B) C C) D D) E E) Hiçbir çıkış bulamaz.

Page 21: 16. ULUSAL BİLGİSAYAR OLİMPİYATI BİRİNCİ …...Takİmlarİ 1’den 8’e numaralandİralİm. Şlk önce 1 Ğle eğleğecek takİmİ 7 farklİ ğekĞlde seçebĞlĞrĞz. EğleğmemĞğ

ULUSAL BİLGİSAYAR OLİMPİYATLARI SORU VE ÇÖZÜMLERİ

18

ÇÖZÜM

A noktasından başlayan 1 numaralı fare( sol, ileri, sağ ) ilk 1.noktaya gelir ve şöyle devam eder:

• 1 noktasından ileri gider ve 10’a gelir. (sol doludur)

• 10 noktasından ileri gider ve 11’e gelir. (sol doludur)

• 11 noktasından sola gider ve E çıkışından çıkar.

Doğru Cevap D

36. 1 numaralı fare E noktasından bırakılırsa hangi çıkışı bulur?

A) A B) B C) C D) D E) Hiçbir çıkış bulamaz.

ÇÖZÜM

E noktasından başlayan 1 numaralı fare( sol, ileri, sağ ) ilk 11.noktaya gelir ve şöyle devam eder:

• 11 noktasından sola gider ve 12’ye gelir.

• 12 noktasından ileri gider ve 9’a gelir. (sol doludur)

• 9 noktasından ileri gider ve 8’e gelir. (sol doludur)

• 8 noktasından sola gider ve 7’ye gelir.

• 7 noktasından sola gider ve 13’e gelir.

13 noktasından sola gidemez çünkü 12 daha önce geçilmiştir. İleri gidemez çünkü doludur. Sağa gider ve D çıkışından çıkar.

Doğru Cevap D

37. 3 numaralı fare C noktasından bırakılırsa hangi çıkışı bulur?

A) A B) B C) D D) E E) Hiçbir çıkış bulamaz.

ÇÖZÜM

C noktasından başlayan 3 numaralı fare( sağ, sol, ileri ) ilk 6.noktaya gelir ve şöyle devam eder:

• 7 noktasından sağa gider ve 6’ya gelir.

• 6 noktasından sola gider ve 8’e gelir. (sağ doludur)

• 8 noktasından sağa gider ve 9’a gelir.

• 9 noktasından sola gider ve 10’a gelir. (sağ doludur)

• 10 noktasından sağa gider ve 11’e gelir.

• 11 noktasından sola gider (sağ doludur) ve E çıkışından çıkar.

Doğru Cevap D

Page 22: 16. ULUSAL BİLGİSAYAR OLİMPİYATI BİRİNCİ …...Takİmlarİ 1’den 8’e numaralandİralİm. Şlk önce 1 Ğle eğleğecek takİmİ 7 farklİ ğekĞlde seçebĞlĞrĞz. EğleğmemĞğ

BİLGİSAYAR

19

[38-42] soruları için açıklama

Aşağıda 3 adet döngüden oluşan ve 4 adet içeriği sizden sorulan yer içeren bir C programı

parçası verilmektedir. Bu yerlere sadece 1, n, a, b ya da c ifadeleri yazılabilecektir.

AÇIKLAMA

Kolaylık olsun diye f(x) = 1 + 2 + … + x ve g( x ) = f( 1 ) + f( 2 ) + … + f( x ) fonksiyonlarını tanımlayalım. Bu fonksiyonların değerleri [1, 5] aralığında şöyle olur:

f(1) = 1, f(2) = 3, f(3) = 6, f(4) = 10, f(5) = 15

g(1) = 1, g(2) = 4, g(3) = 10, g(4) = 20, g(5) = 35

Aynı zamanda b değerinin arttığı döngü ile c değerinin arttığı döngü birbirinden bağımsızdır. Bu yüzden t değerine sağladığı artış miktarını ayrı ayrı hesaplayıp toplayabiliriz.

Şimdi ilgili soruların şıklarına bakalım:

A) b a n c è b döngüsünde her a için t, f(n) = f(5) = 15 artar ve toplamda 5 15 artırılır. c döngüsünde her a için t, f(n)-f(a-1) artar ve toplamda n f(n)-g(n-1) = 5 15- 20 = 55 artırılır. t = 75 + 55 = 130

B) n 1 a n è b döngüsünde her a için t, n n = 25 artar ve toplamda 5 25 = 125 artırılır. c döngüsünde her a için t, a n artar ve toplamda n f(n) = 5 15 = 75 artırılır. t = 125 + 75 = 200

C) 1 a n 1 è b döngüsünde her a için t, 1 n = 5 artar ve toplamda 5 5 = 25 artırılır. c döngüsünde her a için t, n-a+1 artar ve toplamda f(n) = 15 artırılır. t = 25 + 15 = 40

D) b 1 a c è b döngüsünde her a için t, f(n) = f(5) = 15 artar ve toplamda 5 15 = 75 artırılır. c döngüsünde her a için t, f(a) artar ve toplamda g(n) = g(5) = 35 artırılır. t = 75 + 35 = 110

E) 1 1 n 1 è b döngüsünde her a için t, 1 n = 5 artar ve toplamda 5 5 = 25 artırılır. c döngüsünde her a için t, n=5 artar ve toplamda n n = 5 5 = 25 artırılır. t = 25 + 25 = 50

38. Yukarıda verilen program parçası tamamlandığında t’nin değerinin 40 olması için @@1@@, @@2@@, @@3@@ ve @@4@@ ile gösterilen yerlere sırası ile hangi ifadeler yazılmalıdır? sırası ile hangi ifadeler yazılmalıdır?

A) b a n c B) n 1 a n C) 1 a n 1 D) b 1 a c E) 1 1 n 1

ÇÖZÜM

Açıklamaya göre cevap C

Doğru Cevap C

Page 23: 16. ULUSAL BİLGİSAYAR OLİMPİYATI BİRİNCİ …...Takİmlarİ 1’den 8’e numaralandİralİm. Şlk önce 1 Ğle eğleğecek takİmİ 7 farklİ ğekĞlde seçebĞlĞrĞz. EğleğmemĞğ

ULUSAL BİLGİSAYAR OLİMPİYATLARI SORU VE ÇÖZÜMLERİ

20

39. Yukarıda verilen program parçası tamamlandığında t’nin değerinin 50 olması için @@1@@, @@2@@, @@3@@ ve @@4@@ ile gösterilen yerlere sırası ile hangi ifadeler yazılmalıdır?

A) b a n c B) n 1 a n C) 1 a n 1 D) b 1 a c E) 1 1 n 1

ÇÖZÜM

Açıklamaya göre cevap E

Doğru Cevap E

40. Yukarıda verilen program parçası tamamlandığında t’nin değerinin 110 olması için @@1@@, @@2@@, @@3@@ ve @@4@@ ile gösterilen yerlere sırası ile hangi ifadeler yazılmalıdır?

A) b a n c B) n 1 a n C) 1 a n 1 D) b 1 a c E) 1 1 n 1

ÇÖZÜM

Açıklamaya göre cevap D

Doğru Cevap D

41. Yukarıda verilen program parçası tamamlandığında t’nin değerinin 130 olması için @@1@@, @@2@@, @@3@@ ve @@4@@ ile gösterilen yerlere sırası ile hangi ifadeler yazılmalıdır?

A) b a n c B) n 1 a n C) 1 a n 1 D) b 1 a c E) 1 1 n 1

ÇÖZÜM

Açıklamaya göre cevap A

Doğru Cevap A

42. Yukarıda verilen program parçası tamamlandığında t’nin değerinin 200 olması için @@1@@, @@2@@, @@3@@ ve @@4@@ ile gösterilen yerlere sırası ile hangi ifadeler yazılmalıdır?

A) b a n c B) n 1 a n C) 1 a n 1 D) b 1 a c E) 1 1 n 1

ÇÖZÜM

Açıklamaya göre cevap B

Doğru Cevap B

Page 24: 16. ULUSAL BİLGİSAYAR OLİMPİYATI BİRİNCİ …...Takİmlarİ 1’den 8’e numaralandİralİm. Şlk önce 1 Ğle eğleğecek takİmİ 7 farklİ ğekĞlde seçebĞlĞrĞz. EğleğmemĞğ

BİLGİSAYAR

21

43. Yukarıdaki C programı ne yazar?

A) 0 1 2 3 4 5 6 7 8 9 10

B) 1 2 3 4 5 6 7 8 9 10

C) 0 1 2 3 4 5 6 7 8 9

D) 1 2 3 4 5 6 7 8 9

E) printf argümanlarında ++ operatörü kullanmak belirsizliğe yol açar, bundan ötürü yanıt belirsizdir.

ÇÖZÜM

i++ ifadesi i’nin önce değerini döner(printf’e verir), sonra i’yi bir artırır. Yani ilk yazılacak sayı 0 olur. En son ise 9 yazdırıldıktan sonra i 10 olur ve i<10 ifadesi yanlış olduğundan döngü biter. En sonda çıktı 0 1 2 … 9 olur.

Doğru Cevap C

44. Yukarıdaki C programı ne yazar?

A) 0 0

1 1

2 2

B) 0 1

1 2

2 3

C) 1 0

2 1

3 2

D) 1 1

2 2

3 3

E) 0 0

1 1

2 2

3 3

Page 25: 16. ULUSAL BİLGİSAYAR OLİMPİYATI BİRİNCİ …...Takİmlarİ 1’den 8’e numaralandİralİm. Şlk önce 1 Ğle eğleğecek takİmİ 7 farklİ ğekĞlde seçebĞlĞrĞz. EğleğmemĞğ

ULUSAL BİLGİSAYAR OLİMPİYATLARI SORU VE ÇÖZÜMLERİ

22

ÇÖZÜM

i++, ++i veya i=i+1 ifadeleri fark etmeksizin bu programın döngüleri, i = 0, 1, 2 değerleri için içerisindeki eylemleri yaparlar. Yani a[0] = 0, a[1] = 1, a[2] = 2, b[0] = 0, b[1] = 1, b[2] = 2 olur ve bu değerler yazdırılır.

Doğru Cevap A

45. Yukarıdaki C programı ne yazar?

A) 2600 B) 2500 C) 2525 D) 5050 E) 4950

ÇÖZÜM

s += i += 2 ifadesi her seferinde i’yi 2 artırıp s’i i kadar artırır. s, en başta (i=1 iken) 3 artırılırken en sonda(i=99 iken) 101 artırılır. Yani s = 3 + 5 + 7 + … + 101 = 1 + 3 + 5 + … + 101 – 1 = 512 – 1 = 2601 – 1 = 2600 olur.

Doğru Cevap A

46. Yukarıdaki C programı ne yazar?

A) Hiçbir şey yazmaz.

B) 1 2 3

4 5 6

7 8 9

C) 9 8 7

6 5 4

3 2 1

D) 8 7 6

5 4 3

2 1 0

E) 1 2 3

4 5 4

3 2 1

Page 26: 16. ULUSAL BİLGİSAYAR OLİMPİYATI BİRİNCİ …...Takİmlarİ 1’den 8’e numaralandİralİm. Şlk önce 1 Ğle eğleğecek takİmİ 7 farklİ ğekĞlde seçebĞlĞrĞz. EğleğmemĞğ

BİLGİSAYAR

23

ÇÖZÜM

2 boyutlu dizimiz sırayla şu değişikliğe uğrar:

• En başta: {{1,2,3},{4,5,6},{7,8,9}}

• i=0, j=0 à {{1,2,3},{4,5,6},{7,8,1}}

• i=0, j=1 à {{1,2,3},{4,5,6},{7,2,1}}

• i=0, j=2 à {{1,2,3},{4,5,6},{3,2,1}}

• i=1, j=0 à {{1,2,3},{4,5,4},{3,2,1}}

• Bu adımdan sonra dizimiz simetrik olduğundan dizimizin elemanları değişmez.

En son bu dizi:

1 2 3

4 5 4

3 2 1

Şeklinde yazdırılır.

Doğru Cevap E

47. Yukarıdaki C programı ne yazar?

A) Hiçbir şey yazmaz, sonsuz döngüye girer.

B) 4 2 4 9 3 6 3 6 4 4

C) 4 0 4 9 3 6 3 6 4 4

D) 4 2 2 6 2 4 2 5 3 4

E) 0 1 2 3 4 5 6 7 8 9 10

ÇÖZÜM

İlk döngüdeki i değerleri ve bu değerlere göre döngünün içerisindeki işlemler yapıldığında dizinin hali şöyle olur:

• i = 0, (5)x[0]-- à {4,2,4,9,5,6,4,4}

• i = 4, (5)x[4]-- à {4,2,4,9,4,6,4,4}

• i = 4, (4)x[4]-- à {4,2,4,9,3,6,4,4}

• i = 3, (9)x[3]%3 == 0 à diziden çıkılır.

Dizinin son hali çıktıya basılır.

Doğru Cevap B

Page 27: 16. ULUSAL BİLGİSAYAR OLİMPİYATI BİRİNCİ …...Takİmlarİ 1’den 8’e numaralandİralİm. Şlk önce 1 Ğle eğleğecek takİmİ 7 farklİ ğekĞlde seçebĞlĞrĞz. EğleğmemĞğ

ULUSAL BİLGİSAYAR OLİMPİYATLARI SORU VE ÇÖZÜMLERİ

24

48. Yukarıdaki C programı ne yazar? A) ***** (yani 5 adet ‘ ’)

B) ********* (yani 9 adet ‘ ’)

C) ********** (yani 10 adet ‘ ’)

D) *********** (yani 11 adet ‘ ’)

E) Hiçbir şey yazmaz.

ÇÖZÜM

En başta i=j=0’dır. 2. döngüde j 10 kere artırıldığında i de 10 kere artırılır ve i=j=10 olur. Bu değerler ile i<10 sağlanmaz ve ilk döngüden de çıkılır. 2. 10 kere döndüğünden toplamda çıktıya 10 adet basılmıştır.

Doğru Cevap C

49. Yukarıdaki C programı ne yazar? A) 1383 ( ALIveliDELITEPELI yi oluşturan karakterlerin ASCII değerlerinin toplamı)

B) 17

C) 13

D) 3

E) 0

ÇÖZÜM

En başta a dizisi 0 ile doldurulur. Sonrasında ise ‘ALIveliDELITEPELI’ kelimesinin başını gösteren s göstericisi a[ (s++)]++ ifadesi ile a dizisininin o an gösterdiği değere karşılık gelen yerini 1 artırır ve gösterdiği yeri 1 sağa kaydırır. Bu işlemi kelimenin sonuna kadar tekrarladığında a dizisinde her harften kaç defa geçtiği tutulur. Yani bu dizinin toplamı bize kelimenin uzunluğunu(17) verir.

Doğru Cevap B

Page 28: 16. ULUSAL BİLGİSAYAR OLİMPİYATI BİRİNCİ …...Takİmlarİ 1’den 8’e numaralandİralİm. Şlk önce 1 Ğle eğleğecek takİmİ 7 farklİ ğekĞlde seçebĞlĞrĞz. EğleğmemĞğ

BİLGİSAYAR

25

50. Yukarıdaki C programı ne yazar?

A) 1 2 7 4 5 6 3 B) 1 6 3 4 5 2 7 C) 1 2 3 4 5 6 7

D) 0 0 0 0 0 0 0 E) 1 1 1 1 1 1 1

ÇÖZÜM

F fonksiyonuna 2 değer verildiğinde, bu fonksiyon bu 2 değere sahip yeni x ve y değişkenlerini alır ve bu değişkenlerin değerlerini değiştirir. Yani değerleri değişen sadece x ve y olduğundan a dizisindeki elemanların değerleri değişmez. En sonda dizi 1 2 3 4 5 6 7 olarak kalır.

Doğru Cevap C