alpsahin/tubitak-olimpiyat-dataset-v2 huggingface dataset:
Bilgisayar Olimpiyatı 2021, 1. Aşama, Soru 40

[36-50 soruları için açıklama]
- Soruları C programlama dili çerçevesinde cevaplayınız.
- Derleyici olarak gcc kullanıldığını varsayınız.
- Gerekli tüm başlık (header) dosyalarının verilen programa dahil edildiğini varsayınız.

---

Aşağıdaki fonksiyonun amacı ne olabilir?
```c
void f(int *A, int n) {
int i, j, t;
for (i=0; i<n-1; i++)
{
for (j=0; j<n-i-1; j++)
{
if (A[j] < A[j+1])
{
t = A[j];
A[j] = A[j+1];
A[j+1] = t;
}
}
}
}
```

Şıklar:
A) Verilen bir diziyi küçükten büyüğe sıralamak | B) Verilen bir diziyi büyükten küçüğe sıralamak | C) Verilen bir dizinin herhangi bir permutasyonunu elde etmek | D) Bu fonksiyon verilen bir dizide hiçbir değişikliğe neden olmaz | E) Verilen bir dizideki ardışık sayıları birbirleri ile yer değiştirmek

Cevap: B Verilen bir diziyi büyükten küçüğe sıralamak

Çözüm:
Bu fonksiyon Bubble Sort algoritmasının kodlanmış halidir ve verilen bir diziyi büyükten küçüğe sıralar.
Bilgisayar Olimpiyatı 2021, 1. Aşama, Soru 41

[36-50 soruları için açıklama]
- Soruları C programlama dili çerçevesinde cevaplayınız.
- Derleyici olarak gcc kullanıldığını varsayınız.
- Gerekli tüm başlık (header) dosyalarının verilen programa dahil edildiğini varsayınız.

---

Aşağıdaki programın çıktısı nedir?
```c
int main()
{
int i, j, k;
int n = 4;
int s = 0;
for (i=0; i<n; i++)
for (j=0; j<i; j++)
for (k=0; k<j; k++)
s = s+i+j+k;
printf("%d\n", s);
}
```

Şıklar:
A) 10 | B) 288 | C) 60 | D) 210 | E) 18

Cevap: E 18

Çözüm:
İ döngüsü 0,1,2,3 değerleri için çalışır. İ'nin ilk olarak 2 değeri için en içteki k değeri bir kez çalışır ve bu çalışmada s = 0+2+1+0 yani 3 olur. Son olarak i=3 olduğunda, en içteki döngü ilk olarak j'nin 1 değeri için bir kez çalışarak s = 3+3+1+0 yani 7 olur, sonra da j'nin 2 değeri için 2 kez çalışarak s=7+3+2+0 yani 12 olur ve son kez s=12+3+2+1 ile son kez çalışarak 18 değerini almış olur.
Bilgisayar Olimpiyatı 2021, 1. Aşama, Soru 42

[36-50 soruları için açıklama]
- Soruları C programlama dili çerçevesinde cevaplayınız.
- Derleyici olarak gcc kullanıldığını varsayınız.
- Gerekli tüm başlık (header) dosyalarının verilen programa dahil edildiğini varsayınız.

---

[42-43 soruları için açıklama]
42. ve 43. sorular için aşağıdaki kod parçasını göz önüne alınız.
```c
int A[5][5];
int i, j, k;
for (i=0; i<5; i++)
for (j=0; j<5; j++)
A[i][j] = i*5+j;
for (i=0; i<5; i++)
for (j=0;j<5;j++)
for (k=0; i+k<5 && j+k<5; k++)
A[i+k][j+k] += A[i][j];
```

---

Kod parçasının çalışması sonlandığında A [1] [3] içinde hangi değer bulunur?

Şıklar:
A) 8 | B) 20 | C) 22 | D) 24 | E) Hiçbiri

Cevap: D 24

Çözüm:
İlk olarak A dizisinin içi aşağıdaki değerler ile doldurulur.
<table><tr><td>0</td><td>1</td><td>2</td><td>3</td><td>4</td></tr><tr><td>5</td><td>6</td><td>7</td><td>8</td><td>9</td></tr><tr><td>10</td><td>11</td><td>12</td><td>13</td><td>14</td></tr><tr><td>15</td><td>16</td><td>17</td><td>18</td><td>19</td></tr><tr><td>20</td><td>21</td><td>22</td><td>23</td><td>24</td></tr></table>
Daha sonra iç içe üç döngünün yaptığı iş her bir hücreden başlayan köşegen için köşegenin ilk değerini köşegendeki bütün sayılara sırasıyla eklemektir. Yani 8 değerinin bulunduğu hücre 2, 8, 14 köşegeninde önce 2 kendisini 4 yaptıktan sonra 4 değerinin eklenmesiye 12'ye eşit olacak sonra da kendisinin ilk elemanı olduğu köşegende de tekrar 12 eklenerek 24 olacaktır. A dizisinin son durumu aşağıdaki gibidir.
<table><tr><td>0</td><td>2</td><td>4</td><td>6</td><td>8</td></tr><tr><td>10</td><td>12</td><td>18</td><td>24</td><td>30</td></tr><tr><td>20</td><td>42</td><td>48</td><td>66</td><td>84</td></tr><tr><td>30</td><td>72</td><td>138</td><td>156</td><td>210</td></tr><tr><td>40</td><td>102</td><td>228</td><td>426</td><td>480</td></tr></table>
Bilgisayar Olimpiyatı 2021, 1. Aşama, Soru 43

[36-50 soruları için açıklama]
- Soruları C programlama dili çerçevesinde cevaplayınız.
- Derleyici olarak gcc kullanıldığını varsayınız.
- Gerekli tüm başlık (header) dosyalarının verilen programa dahil edildiğini varsayınız.

---

[42-43 soruları için açıklama]
42. ve 43. sorular için aşağıdaki kod parçasını göz önüne alınız.
```c
int A[5][5];
int i, j, k;
for (i=0; i<5; i++)
for (j=0; j<5; j++)
A[i][j] = i*5+j;
for (i=0; i<5; i++)
for (j=0;j<5;j++)
for (k=0; i+k<5 && j+k<5; k++)
A[i+k][j+k] += A[i][j];
```

---

Kod parçasının çalışması sonlandığında A[3] [0] içinde hangi değer bulunur?

Şıklar:
A) 15 | B) 30 | C) 40 | D) 45 | E) Hiçbiri

Cevap: B 30

Çözüm:
İlk olarak A dizisinin içi aşağıdaki değerler ile doldurulur.
<table><tr><td>0</td><td>1</td><td>2</td><td>3</td><td>4</td></tr><tr><td>5</td><td>6</td><td>7</td><td>8</td><td>9</td></tr><tr><td>10</td><td>11</td><td>12</td><td>13</td><td>14</td></tr><tr><td>15</td><td>16</td><td>17</td><td>18</td><td>19</td></tr><tr><td>20</td><td>21</td><td>22</td><td>23</td><td>24</td></tr></table>
Daha sonra iç içe üç döngünün yaptığı iş her bir hücreden başlayan köşegen için köşegenin ilk değerini köşegendeki bütün sayılara sırasıyla eklemektir. 15 değerinin bulunduğu hücre sadece kendisinden başlayan 15,21 köşegeninde bulunduğundan sadece kendi değerinin kendisine eklenmesi ile en son 30 değerini alıyor olacaktır. A dizisinin son durumu aşağıdaki gibidir.
Bilgisayar Olimpiyatı 2021, 1. Aşama, Soru 44

[36-50 soruları için açıklama]
- Soruları C programlama dili çerçevesinde cevaplayınız.
- Derleyici olarak gcc kullanıldığını varsayınız.
- Gerekli tüm başlık (header) dosyalarının verilen programa dahil edildiğini varsayınız.

---

[44-45 soruları için açıklama]
Aşağıda 44. ve 45. sorularda kullanılacak olan f ve p fonksiyonlarının tanımları verilmiştir.
```c
int f(int x) {
if (x == 1)
return 0;
return x/2 + 1 + f(x/2);
}
int p(int x) {
if (x == 0)
return 1;
if (x % 2 == 0) {
int a = p(x / 2);
return a * a;
} else {
int a = p(x / 2);
return a * a * 2;
}
}

---

Aşağıdaki programın çıktısı nedir?
```c
int main() {
int i;
int total = 0;
for(i = 1; i <= 4; i++)
total += f(p(i));
printf("%d\n", total);
}
```

Şıklar:
A) 17 | B) 26 | C) 32 | D) 36 | E) 40

Cevap: D 36

Çözüm:
p fonksiyonu aldığı x parametresi için \(2^x\) sayısını döndürmektedir. f fonksiyonu ise parametre olarak aldığı \(2^x\) sayısı için \(2^x + \log_2(2^x) - 1\) sayısını döndürmektedir. *main* metodunda öncelikle 1,2,3 ve 4 için p fonksiyonu çağırılmakta, elde edilen 2, 4, 8 ve 16 sayılarıyla da f fonksiyonu çağırılmakta ve sonuçları toplanmaktadır. Dolayısıyla, cevap D şıkkı olan 36 (=2+5+10+19) olacaktır.
Bilgisayar Olimpiyatı 2021, 1. Aşama, Soru 45

[36-50 soruları için açıklama]
- Soruları C programlama dili çerçevesinde cevaplayınız.
- Derleyici olarak gcc kullanıldığını varsayınız.
- Gerekli tüm başlık (header) dosyalarının verilen programa dahil edildiğini varsayınız.

---

[44-45 soruları için açıklama]
Aşağıda 44. ve 45. sorularda kullanılacak olan f ve p fonksiyonlarının tanımları verilmiştir.
```c
int f(int x) {
if (x == 1)
return 0;
return x/2 + 1 + f(x/2);
}
int p(int x) {
if (x == 0)
return 1;
if (x % 2 == 0) {
int a = p(x / 2);
return a * a;
} else {
int a = p(x / 2);
return a * a * 2;
}
}

---

Aşağıdaki programın çıktısı nedir?

```c
int main() {
printf("%d\n", f(p(20)));
}
```

Şıklar:
A) 1048594 | B) 1048595 | C) 1048575 | D) 1048596 | E) 1048597

Cevap: B 1048595

Çözüm:
p fonksiyonu aldığı x parametresi için \(2^x\)sayısını döndürmektedir. f fonksiyonu ise parametr olarak aldığı \(2^x\) sayısı için \(2^x + \log_{2}(2^x) - 1\) sayısını döndürmektedir. main metodunda 20 için önce p fonksiyonu daha sonra bu çıktıyla f fonksiyonu çağırılmaktadır. Dolayısıyla, cevap B şıkkı olacaktır.
Bilgisayar Olimpiyatı 2021, 1. Aşama, Soru 48

[36-50 soruları için açıklama]
- Soruları C programlama dili çerçevesinde cevaplayınız.
- Derleyici olarak gcc kullanıldığını varsayınız.
- Gerekli tüm başlık (header) dosyalarının verilen programa dahil edildiğini varsayınız.

---

Aşağıdaki verilen kod parçasının ekrana yazdırdığı sonuç nedir?
int a = 5, b = 3;
int c = (+a>>1) + (b<<2);
printf("%d\n", c);

Şıklar:
A) 8 | B) 9 | C) Hata verir | D) 15 | E) 17

Cevap: D 15

Çözüm:
>> ve << işlemleri verilen bit dizisini sağa ve sola kaydırmayı sağlayacaktır. ++a ifadesi diğer işlemler başlamadan önce gerçekleştirilecektir. Dolayısıyla önce a değeri 6(110) olacak, sonra bir sağa kaydırılarak 3(11) değeri elde edilecektir. b değeri 3(11) olarak verilmiş ve sola doğru iki kaydırma işlemi gerçekleşecektir ve sonuç 12(1100) olacaktır. a ve b değerlerinin toplamıyla da 15 sonucu elde edilecektir.
Bilgisayar Olimpiyatı 2021, 1. Aşama, Soru 49

[36-50 soruları için açıklama]
- Soruları C programlama dili çerçevesinde cevaplayınız.
- Derleyici olarak gcc kullanıldığını varsayınız.
- Gerekli tüm başlık (header) dosyalarının verilen programa dahil edildiğini varsayınız.

---

Aşağıdaki verilen kod parçasının ekrana yazdırıldığı sonuç nedir?
void func(void(*fp)(void))
{
printf("foo ");
fp();
}
void f()
{
printf("fp ");
}
int main()
{
func(f);
return 0;
}

Şıklar:
A) foo | B) fp | C) Hata verir | D) foo fp | E) fp foo

Cevap: D foo fp

Çözüm:
Verilen işlem fonksiyonların işaretçi(pointer) ile gösterilmesini içermektedir. Önce func fonksiyonu çalıştırılacaktır ve bu fonksiyona parametre olarak başka bir fonksiyon adresi verilmektedir. Bu durum hata oluşturmamaktadır. func fonksiyonu ekrana önce “foo” değerini yazdıracaktır. Daha sonra fp fonksiyonu çağrılacaktır, ve bu fonksiyon parametre olarak alınmış bir f fonksiyonudur. Yani sistem f fonksiyonunu da uygun biçimde çalıştırıp ekrana “fp” değerini de yazacaktır. Doğru seçenek D şıkkıdır.
Bilgisayar Olimpiyatı 2021, 1. Aşama, Soru 50

[36-50 soruları için açıklama]
- Soruları C programlama dili çerçevesinde cevaplayınız.
- Derleyici olarak gcc kullanıldığını varsayınız.
- Gerekli tüm başlık (header) dosyalarının verilen programa dahil edildiğini varsayınız.

---

Aşağıdaki verilen kod parçasının ekrana 28 adet “*” yazdırması isteniyorsa boşluk bırakılan yere aşağıdakilerden hangisi getirilmelidir?
```c
for (int i = 0; i < 8; i++)
for (int j = i; j < ______; j++)
printf("%*");
```

Şıklar:
A) i+j | B) i*j | C) j*2 | D) i*i | E) i*2

Cevap: E i*2

Çözüm:
Verilen kod parçası aslında 1’den 8’e kadar olan sayıların toplamı olacaktır. 1+2+3+4+5+6+7=28 olacaktır. 
Bu nedenle boşluk bırakılan yere i*2 değeri getirilmelidir. Doğru cevap E şıkkıdır.
Bilgisayar Olimpiyatı 2022, 1. Aşama, Soru 1

Her biri birçok top içeren 9 ayrı torbadan 5 tanesinde kırmızı toplar bulunmaktadır. Kaç 
farklı şekilde 4 torba seçilebilir ki seçilen torbaların en az 2 tanesinde kırmızı top olsun?

Şıklar:
A) 36 
B) 60 
C) 105 
D) 126 
E) Hiçbiri

Cevap: C 105

Çözüm:
Seçilen 4 torbadan kırmızı içerenlerin sayısının tam olarak 2 olduğu durum sayısı 5’in 2’li 
kombinasyonu çarpı 4’ün 2’li kombinasyonu yani 10*6=60’tır. Benzer şekilde kırmızı içerenlerin 
sayısının tam olarak 3 olduğu durum sayısı 5’in 3’lü kombinasyonu çarpı 4’ün 1’li kombinasyonu 
yani 10*4=40’tır. Yine benzer şekilde kırmızı içerenlerin sayısının tam olarak 4 olduğu durum sayısı 
5’in 4’lü kombinasyonu çarpı 4’ün 0’lı kombinasyonu yani 5*1=5’tir. Tüm bu durumların toplamı 
60+40+5 = 105 olur.
Bilgisayar Olimpiyatı 2022, 1. Aşama, Soru 2

Elimizde 300 tane birbirinin aynısı top ve 8 adet farklı kutu bulunmaktadır. C(n,k), n'nin k'lı kombinasyonunu göstermektedir. Her bir kutuda en az 10 tane top bulunacak şekilde topları kaç farklı şekilde kutulara dağıtabiliriz?

Şıklar:
A) C(300,8) | B) C(220,8) | C) C(220,8) - 8! | D) 2C(220,8) | E) C(227,7)

Cevap: E C(227,7)

Çözüm:
En az her kutuda 10 tane top olacak şekilde 8 kutuya topları yerleştirdiğimizde 220 tane top kalır. Bu 220 topu da 8 kutuya kaç farklı şekilde yerleştirebileceğimiz C(220+8-1,8-1) = C(227,7) ile bulunabilir.
Bilgisayar Olimpiyatı 2022, 1. Aşama, Soru 3

5 kişilik bir arkadaş grubunun tamamı COVID pozitif çıkmıştır. Pazartesi, Salı ve Çarşamba günleri kimlerin kiminle temas içinde olduğu konusunda elimizde şu bilgiler vardır:
Pazartesi: Birkan önce Ahmet ile karşılaşmış sonra da Deniz ile karşılaşmıştır. Ceren de Ezgi ile konuşmuştur.
Salı: Ahmet önce Ceren, sonra Ezgi ve daha sonra da Deniz ile konuşmuştur.
Çarşamba: Deniz önce Birkan sonra da Ezgi ile konuşmuştur.
Eğer COVID’in bu grubun tamamına bir kişi tarafından bulaştırıldığı biliniyorsa, bu kişi aşağıdakilerden hangisi olamaz?

Şıklar:
A) Ahmet | B) Birkan | C) Ceren | D) Deniz | E) Ezgi

Cevap: D Deniz

Çözüm:
İlk COVID olan Ahmet olursa sırayla Birkan, Deniz, Ceren ve Ezgi'ye bulaşmış olurdu. Birkan'da olursa o zamanda Ahmet, Deniz, Ceren ve Ezgi'ye bulaşabilirdi. Ceren'de olsa Ezgi, Ahmet, Deniz ve Birkan'a bulaşırdı. Ercüment'te olsa Ceren, Ahmet, Deniz ve Birkan'a bulaşırdı. Fakat ilk olarak Deniz'de olsa Birkan, Ahmet ve Ezgi'ye bulaşabilirdi ama Ceren'e bulaşmamış olurdu. Yani Deniz virüsü ilk taşıyan kişi olamaz.
Bilgisayar Olimpiyatı 2022, 1. Aşama, Soru 4

Bir durgun su birikintisinde bulunan bakteri kolonisi 5 saatte bir gözlemlenmektedir ve bir önceki gözlemdeki miktara göre her bir gözlemde bakteri sayısında %20 artış olduğu belirlenmiştir.
Bakteri sayısının ilk gözlemlenen değerin 3 katını geçmesi, ilk gözlemden kaç saat sonra gözlemlenecektir?

Şıklar:
A) 15 | B) 25 | C) 30 | D) 35 | E) İlk gözlemdeki bakteri sayısı bilinmeden bulunamaz

Cevap: D 35

Çözüm:
Her gözlemde artış şu şekildedir. 0. saatte x olsun. 5. saatte 1.2x, 10. saatte 1.44x, 15. saatte 1.728x. Her gözlemde 1.2 katına çıktığı için aradığımız değer 1.2*1.2*1.2*1.2*1.2*1.2= 3.58'dir. Bu çarpımlardan 1 tane 1.2 çıkarttığımızda 3'ten küçük bir değer elde ederiz. 3.58 elde ettiğimiz değeri 7*5=35. saatte gözlemlemiş oluruz.
Bilgisayar Olimpiyatı 2022, 1. Aşama, Soru 5

[5-7 soruları için açıklama]
Elimizde iki yüzü (A yüzü ve B yüzü) olan yeni bir taş var. Taşı yere bıraktığımızda bu iki yüzden herhangi biri yukarı bakacak şekilde dönüyor. Yapılan araştırmalarda, bırakılan taşın A yüzüne dönme ihtimalinin %60, B yüzüne dönme ihtimalinin de %40 olduğu anlaşılıyor. Ayrıca her dönme eyleminin önceki denemelerden bağımsız olduğu görülüyor.

---

Taş üst üste 4 denemede A yüzüne döndüyse, 5. denemenin A yüzüne dönme ihtimali nedir?

Şıklar:
A) 1/2 | B) 1/3 | C) 2/3 | D) 3/5 | E) 1/32

Cevap: D 3/5

Çözüm:
Taşın A yüzüne dönme ihtimali %60 = 6/10 = 3/5' tir. Dönme eylemi önceki denemelerden bağımsız olduğu için bir sonraki denemede taşın A yüzüne dönmesi yine 3/5 olacaktır.
Bilgisayar Olimpiyatı 2022, 1. Aşama, Soru 6

[5-7 soruları için açıklama]
Elimizde iki yüzü (A yüzü ve B yüzü) olan yeni bir taş var. Taşı yere bıraktığımızda bu iki yüzden herhangi biri yukarı bakacak şekilde dönüyor. Yapılan araştırmalarda, bırakılan taşın A yüzüne dönme ihtimalinin %60, B yüzüne dönme ihtimalinin de %40 olduğu anlaşılıyor. Ayrıca her dönme eyleminin önceki denemelerden bağımsız olduğu görülüyor.

---

Taş 3 kere yere bırakıldığında 2 kere A ve 1 kere B yüzüne dönme ihtimali nedir?

Şıklar:
A) 3/8 | B) 18/125 | C) 12/125 | D) 5/8 | E) 54/125

Cevap: C 12/125

Çözüm:
Soruda verilen şartların sağlanabilmesi için AAB, ABA veya BAA olması gerekmektedir. Bu sıralamaların her biri için denk gelme olasılığı (3/5)*(3/5)*(2/5)=18/125 olacaktır. Şartları sağlayan durumlar 3 farklı şekilde ortaya çıktığı için 18/125+18/125+18/125 = 54/125 olacaktır.
Soru koşulları incelendiğinde A'dan sonra B gelmeyeceği belirtilmektedir. Başka bir deyişle A geldikten sonra yapılan tüm denemelerin A gelmesi gereklidir. Bu durumlar 4 tanedir BBB, BBA, BAA, AAA. Hepsinin olasılığının tek tek hesaplanması ve sonrasında toplam olasılığın toplanarak bulunması gerekmektedir.
P(BBB)=(2/5)^3=8/125,
P(BBA)=(2/5)^2*(3/5)=12/125,
P(BAA)=(2/5)*(3/5)^2=18/125,
P(AAA)=(3/5)^3=27/125 olacaktır. Bu nedenle doğru cevap 8/125+12/125+18/125+27/125=65/125 olmalıdır.
Bilgisayar Olimpiyatı 2022, 1. Aşama, Soru 7

[5-7 soruları için açıklama]
Elimizde iki yüzü (A yüzü ve B yüzü) olan yeni bir taş var. Taşı yere bıraktığımızda bu iki yüzden herhangi biri yukarı bakacak şekilde dönüyor. Yapılan araştırmalarda, bırakılan taşın A yüzüne dönme ihtimalinin %60, B yüzüne dönme ihtimalinin de %40 olduğu anlaşılıyor. Ayrıca her dönme eyleminin önceki denemelerden bağımsız olduğu görülüyor.

---

Ali Ayşe’den aklından bir sayı tutmasını istiyor. Ayşe’nin tuttuğu sayının 3’e bölümünden kalan 2, 
5’e bölümünden kalan 2 ve 7’ye bölümünden kalan 4 ise Ayşe’nin tuttuğu sayının (mod 105)’teki 
karşılığı nedir?

Şıklar:
A) 16 
B) 32 
C) 44 
D) 72 
E) 80

Cevap: B 32

Çözüm:
Ayşe’nin tuttuğu sayı x olsun. x mod 3 = 2, x mod 5 = 2, ve x mod 7 = 4 olarak verilmiştir. 3, 5, ve 
7 değerleri aralarında asal olduğu için, Çinli kalan teoremine göre x değeri bilinmese de x mod 105 
değerinin tekil olması gerekmektedir. Verilen seçenekler arasında yer alan 32 değeri 3 ile 
bölündüğünde 2, 5 ile bölündüğünde 2 ve 7 ile bölündüğünde 4 kalanını vermektedir. Bu nedenle 
doğru cevap 32 olmalıdır.
Bilgisayar Olimpiyatı 2022, 1. Aşama, Soru 8

Ali Ayşe'den aklından bir sayı tutmasını istiyor. Ayşe'nin tuttuğu sayının 3'e bölümünden kalan 2, 5'e bölümünden kalan 2 ve 7'ye bölümünden kalan 4 ise Ayşe'nin tuttuğu sayının (mod 105)'teki karşılığı nedir?

Şıklar:
A) 16 | B) 32 | C) 44 | D) 72 | E) 80

Cevap: B 32

Çözüm:
Ayşe'nin tuttuğu sayı x olsun. x mod 3 = 2, x mod 5 = 2, ve x mod 7 = 4 olarak verilmiştir. 3, 5, ve 7 değerleri aralarında asal olduğu için, Çinli kalan teoremine göre x değeri bilinmese de x mod 105 değerinin tekil olması gerekmektedir. Verilen seçenekler arasında yer alan 32 değeri 3 ile bölündüğünde 2, 5 ile bölündüğünde 2 ve 7 ile bölündüğünde 4 kalanını vermektedir. Bu nedenle doğru cevap 32 olmalıdır.
Bilgisayar Olimpiyatı 2022, 1. Aşama, Soru 9

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

<table><tr><td>A</td><td>B</td><td>A∨B</td><td>A∧B</td><td>A⇒B</td></tr><tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr><tr><td>1</td><td>0</td><td>1</td><td>0</td><td>0</td></tr><tr><td>0</td><td>1</td><td>1</td><td>0</td><td>1</td></tr><tr><td>0</td><td>0</td><td>0</td><td>0</td><td>1</td></tr></table>

Genel mantık verilerine göre A ve B için 1 değeri ifadenin “Doğru” olduğunu 0 değeri ise “Yanlış” 
olduğunu ifade etmektedir. Tabloda mantıksal veya (), mantıksal ve (), mantıksal ise () 
işlemlerinin sonuçları verilmiştir. Mantıksal değil (‘) ifadesi 1 değerini 0, 0 değerini 1 yapmaktadır.

---

I. \(p \Rightarrow q = p' \lor q\)
II. \((p \Rightarrow q)' = p \land q'\)
III. \(1 \Rightarrow p = p\)
IV. \(p \Rightarrow p' = p'\)
V. \(p \Rightarrow p' = p' \Rightarrow p\)
Elimizde p ve q ifadeleri olsun. Bu durumda yukarıda verilenlerden kaç tanesi doğrudur?

Şıklar:
A) 1 | B) 2 | C) 3 | D) 4 | E) 5

Cevap: D 4

Çözüm:
Mantıksal ise ifadesi p ⇒ q = p' ∨ q olarak tanımlanmıştır. Dolayısıyla I seçeneği doğrudur. Bunun 
değilinin alınması sonucu p ∧ q’ olacağı için II seçeneği de doğrudur. 1’in değili sıfır olacağı için 1 
⇒ p ifadesi p’ye bağlıdır. III ve IV seçenekleri de doğrudur. V seçeneği ise yanlış olarak verilmiştir.
Bilgisayar Olimpiyatı 2022, 1. Aşama, Soru 11

## [11-13 soruları için açıklama]
Ali, Bartu, Can ve Deniz top sektirme oyunu oynamışlar. Oyunun sonucunda bir tanesi birinci, bir tanesi ikinci, bir tanesi üçüncü, bir tanesi de dördüncü olmuş. Oyun bittikten sonra yanlarına gelen arkadaşları Enes oyunu kimin kaçıncı bitirdiğini merak etmiş. Ali, Bartu ve Can'ın herbiri Enes'e oyunun sonucu hakkında bir tanesi doğru ve bir tanesi yanlış olan iki bilgi vermiş.
Ali, "Can birinci oldu, Bartu ikinci oldu" demiş.
Bartu, "Can ikinci oldu, Deniz üçüncü oldu" demiş.
Can, "Deniz dördüncü oldu, Ali ikinci oldu" demiş.
Üç arkadaşının kendisine bir doğru ve bir yanlış bilgi verdiğini bilen Enes oyunu kimin kaçıncı sırada bitirdiğini bulmaya çalışmış.

---

Oyun sonunda kim birinci olmuştur?

Şıklar:
A) Ali | B) Bartu | C) Can | D) Deniz | E) Kesin cevap vermek için yeterli veri yoktur

Cevap: C Can

Çözüm:
Ali'nin söylediği iki önermeyi sırasıyla \(a_1\) ve \(a_2\) olarak isimlendirelim. Benzer şekilde Bartu ve Can'ın söylediği önermeleri de \(b_1, b_2, c_1, c_2\) olarak isimlendirelim. Bir önerme doğru ise değeri 1, yanlış ise değeri 0 olsun. Örneğin Can gerçekten birinci ise \(a_1 = 1\) ve \(b_1 = 0\) olacaktır.
Aşağıdaki eşitliğin sol tarafı Ali'nin söylediği iki önermenin ikisinin de doğru yada ikisinin de yanlış olduğu durumlarda 0, iki önermenin bir tanesinin doğru ve bir tanesinin yanlış olduğu durumda ise 1 yapmaktadır. Ali'nin söylediği önermelerden bir tanesi doğru bir tanesi yanlış olduğuna göre bu eşitlik sağlanmaktadır.
\[a_1 + a_2 - 2 a_1 a_2 = 1\]
Bartu ve Can'ın söylediği önermelerden bir tanesi doğru ve bir tanesi yanlış olduğundan aşağıdaki eşitlikler de sağlanır.
\[b_1 + b_2 - 2 b_1 b_2 = 1\]
\[c_1 + c_2 - 2 c_1 c_2 = 1\]
Bunlara ek olarak \(a_1\) ve \(b_1\) birbiriyle çeliştiğinden \(a_1 b_1 = 0\) eşitliği, \(a_2\) ve \(b_1\) birbiriyle çeliştiğinden \(a_{2} b_{1} = 0\) eşitliği, \(b_{2}\) ve \(c_{1}\) birbiriyle çeliştiğinden \(b_{2} c_{1} = 0\) eşitliği, \(a_{2}\) ve \(c_{2}\) birbiriyle çeliştiğinden \(a_{2} c_{2} = 0\) eşitliği ve \(b_{1}\) ve \(c_{2}\) birbiriyle çeliştiğinden \(b_{1} c_{2} = 0\) eşitliği sağlanır.
\(b_1 = 1\) olduğunu (Can'ın ikinci olduğunu) varsayalım. Hem \(a_1 b_1 = 0\), hem de \(a_2 b_1 = 0\) olduğuna göre \(a_1 = a_2 = 0\)'dır. Ancak bu \(a_1 + a_2 - 2 a_1 a_2 = 1\) eşitliğiyle çelişmektedir. Öyleyse \(b_1 = 0\)'dır. Bartu'nun söylediği önermelerden tam olarak bir tanesi doğru olduğundan \(b_2 = 1\)'dir yani Deniz üçüncü olmuştur.
\(b_2 c_1 = 0\) eşitliğinin sağlandığı bilinmektedir. \(b_2 = 1\) olduğu için \(c_1 = 0\)'dır ve dolayısıyla \(c_2 = 1\)'dir. Yani Ali ikinci olmuştur.
\(a_2 c_2 = 0\) eşitliğinin sağlandığı bilinmekte. \(c_2 = 1\) olduğu için \(a_2 = 0\)'dır ve dolayısıyla \(a_1 = 1\)'dir. Yani Can birinci olmuştur.
Can birinci, Ali ikinci, Deniz üçüncü olduğuna göre Bartu dördüncü olmuştur.