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

## [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.
t = 0;
n = 5;
for (a = 1; a <= n; a = a+1)
{
for (b = 1; b <= n; b = b+1) t = t+0;
for (c = 0; c <= 0; c = c+1) t = t+0;
}
## 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) 11 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

---

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?

Şıklar:
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

Cevap: B n 1 a n

Çözüm:
Açıklamaya göre cevap B
Bilgisayar Olimpiyatı 2008, 1. Aşama, Soru 43

## [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.
t = 0;
n = 5;
for (a = 1; a <= n; a = a+1)
{
for (b = 1; b <= n; b = b+1) t = t+0;
for (c = 0; c <= 0; c = c+1) t = t+0;
}
## 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) 11 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

---

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?

Şıklar:
A) banc                        B) n1an                        C) 1an1                        D) b1ac                        E) 11n1

Cevap: A banc

Çözüm:
Açıklamaya göre cevap A
Bilgisayar Olimpiyatı 2008, 1. Aşama, Soru 44

int i;
int main(void)
{ for (i=0; i<10;) printf("%d ", i++); }

Yukarıdaki C programı ne yazar?

Şıklar:
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

Cevap: A 0 0
1 1
2 2

Çözüm:
i++ ifadesi'nin önce değerini döner (printf'e verir), sonra'i yi bir artırır. Yanilik yazılacak sayı O olur. En son ise 9 yazdırıldıktan sonra i O olur ve i<O ifadesi yanlış olduğundan döngü biter. En sonda çıktı O 12 ... 9 olur.
Bilgisayar Olimpiyatı 2008, 1. Aşama, Soru 45

int a[4],b[4],i;
int main(void)
{ for (i=0; i<3; i++) a[i] = i;
  for (i=0; i<3; ++i) b[i] = i;
  for (i=0; i<3;) { printf("%d %d\n", a[i], b[i]);
                    i = i + 1; }}

Yukarıdaki C programı ne yazar?

Şıklar:
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

Cevap: A 0 0
1 1
2 2

Çözüm:
s += i += 2 ifadesi her seferinde i'yi 2 artırıp s'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 = 51² - 1 = 2601 - 1 = 2600 olur.
Bilgisayar Olimpiyatı 2008, 1. Aşama, Soru 46

int i,s;
int main(void)
{ for (i=1,s=0; i<=100; ) s += i += 2;
  printf("%d",s); }

Yukarıdaki C programı ne yazar?

Şıklar:
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

Cevap: E 1 2 3
4 5 4
3 2 1

Çö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=O, j=O → {1,2,3},{4,5,6},{7,8,1}
- i=O, j=1 → {1,2,3},{4,5,6},{7,2,1}
- i=O, j=2 → {1,2,3},{4,5,6},{3,2,1}
- i=1, j=O → {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:
12 3
4 5 4
3 2 1
Şeklinde yazdırılır.
Bilgisayar Olimpiyatı 2008, 1. Aşama, Soru 47

#define N 3
int a[N][N] = {{1,2,3},{4,5,6},{7,8,9}};
int i,j;
int main(void)
{ for (i=0; i<N; i++) for (j=0; j<N; j++)  a[N-i-1][N-j-1] = a[i][j];
  for (i=0; i<N; i++, puts("")) for (j=0; j<N; j++) printf("%d ", a[i][j]); }

Yukarıdaki C programı ne yazar?

Şıklar:
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

Cevap: B 1 2 3
4 5 4
3 2 1

Çö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=O, (5)x[O]-- → {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==O → diziden çıkılır.
Dizinin son hali çıktıya basılır.
Bilgisayar Olimpiyatı 2008, 1. Aşama, Soru 48

#define N sizeof(x)/sizeof(int)
int i, x[]={5,2,4,9,5,6,3,6,4,4};
int main(void)
{ for (i=0; i<N; i=x[i])
    if (!(x[i]%3)) break;
    else x[i]--;
  for (i=0; i<N; i++) printf("%d ", x[i]); }

Yukarıdaki C programı ne yazar?

Şıklar:
A) ***** (yani5 adet '*') | B) ********* (yani9 adet '*') | C) ********** (yani10 adet '*') | D) *********** (yani11 adet '*') | E) Hiçbir şey yazmaz.

Cevap: C ********** (yani10 adet '*')

Çözüm:
En başta i=j=0'dir. 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.
Bilgisayar Olimpiyatı 2008, 1. Aşama, Soru 49

int i,j;
int main(void)
{ for (i=j=0; i<10; i++, j++)
    for (j=0; j<10; j++, i++) printf("*"); }

Yukarıdaki C programı ne yazar?

Şıklar:
A) ***** (yani5 adet '*') | B) ********* (yani9 adet '*') | C) ********** (yani10 adet '*') | D) *********** (yani11 adet '*') | E) Hiçbir şey yazmaz.

Cevap: B ********** (yani10 adet '*')

Çözüm:
En başta a dizisi 0 ile doldurulur. Sonrasında ise 'ALIveliDELITEPELI' kelimesinin başını gösteren s göstéricisi a[*(s++)]+ifadesi ile a dizisinin 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.
Bilgisayar Olimpiyatı 2008, 1. Aşama, Soru 50

int a[128],t;
char *s = "ALiveliDELITEPELI";
int main(void)
{ for (i=0; i<128; i++) a[i] = 0;
  while (*s) a[*s++]++;
  for (i=0,t=0; i<128; i++) t += a[i];
  printf("%d", t); }

Yukarıdaki C programı ne yazar?

Şıklar:
A) 1274563 | B) 1634527 | C) 1234567 | D) 0000000 | E) 1111111

Cevap: B 17

Çözüm:
En başta a dizisi 0 ile doldurulur. Sonrasında ise 'ALIveliDELITEPELI' kelimesinin başını gösteren s göstéricisi a[*(s++)]+ifadesi ile a dizisinin 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.
Bilgisayar Olimpiyatı 2008, 1. Aşama, Soru 50

int a[] = {1,2,3,4,5,6,7};
int i;

void f(int x, int y)
{ int temp;
  temp = x;
  x = y;
  y = temp; }

int main(void)
{ f(a[1],a[2]);
  f(a[2],a[6]);
  f(a[6],a[1]);
  for (i=0; i<7; i++) printf("%d ",a[i]); }

Yukarıdaki C programı ne yazar?

Şıklar:
A) 1274563 | B) 1634527 | C) 1234567 | D) 0000000 | E) 1111111

Cevap: D 1234567

Çözüm:
Soruda koloninin her 4 saatte %25 artmaktadır. Yani her 4 saatte bakteri sayısı 1.25 katına çıkmaktadır. Bu yüzden \(\sqrt[4]{1.25} \times 3\) denklemini sağlayan en küçük x tam sayısını bulmalıyız. Bu x sayısı 20 olarak bulunur. Bu yüzden cevap 20'dir.
Bilgisayar Olimpiyatı 2009, 1. Aşama, Soru 2

**Ardışık 12 pozitif tamsayının toplamının 4 ile bölünmesinden kalan nedir?**

Şıklar:
A) 0 | B) 1 | C) 2 | D) 3 | E) İlk sayı verilmeden bilinemez

Cevap: C 2

Çözüm:
İlk sayının a olduğunu varsayalım. O zaman 12 ardışık sayının toplamı \(12 \times a + (0 + 1 + \dots + 1)\) olur. Bu toplam da \(12 \times a + 66\) ya eşittir. Soruda 4 ile bölümden kalan sorulduğu için cevap \((0 \times a + 2)\)'den 2 olur.
Bilgisayar Olimpiyatı 2009, 1. Aşama, Soru 3

**40 kg ağırlığındaki bir taşı parçalara bölmeniz isteniyor öyle ki bu parçaları kullanarak 1 kg'dan 40 kg'a kadar bütün tamsayı ağırlıkları tartabilesiniz. Terazinin her iki kefesine de ağırlık koymanıza izin verilmektedir. Parçaların sayısı en az kaç olmalıdır?**

Şıklar:
A) 3 | B) 4 | C) 5 | D) 6 | E) 7

Cevap: B 4

Çözüm:
Eğer kütleleri 3'ün 3°'den itibaren 3°'e kadar üsleri şeklinde seçersek 40kg'a kadar tüm toplamları elde edebiliriz. Örneğin 1kg'yi tek kefeye 1kg'lik koyarak, 2kg'yi bir kefeye 3kg'lik diğer kefeye 1kg'lik kütle koyarak elde edebiliriz. Bu durumda 4 parça ile istenen durum sağlanmış olur.
Bilgisayar Olimpiyatı 2009, 1. Aşama, Soru 4

Kutulardan oluşan bir piramit şekilde gösterildiği gibi kuruluyor. Her bir kutunun içinde negatif olmayan bir tamsayı vardır. Bir kutunun içindeki sayı, onun altındaki iki kutunun içindeki sayıların toplamına eşittir. Şekilde görüldüğü gibi, bazı kutuların içindeki sayılar verilmiştir. Piramidin tepesindeki kutuda hangi sayı bulunmalıdır?

Şıklar:
A) 27 | B) 32 | C) 37 | D) 49 | E) 59

Cevap: D 49

Çözüm:
[GÖRSEL]
Sayıları şekildeki gibi yazıp denklemleri çözersek \(b = 6\) ve \(c = 5\) bulunur. Dolayısıyla \(a = 11\) olur. O zaman, \(? = ((15 + 11) + (12 + 11)) = 49\) olur.
Bilgisayar Olimpiyatı 2009, 1. Aşama, Soru 5

## [5-7] soruları için açıklama
İkiller (ikili sistemdeki O ve 1 rakamları) üzerinde tanımlanmış işlemler kullanılarak oluşturulmuş ifadeleri, ikili karar ağaçları yardımıyla hesaplamak mümkündür.
Örnek olarak ☒ ikili işleminin tanım tablosu ile \(p \otimes q\) ifadesine ait iki farklı ikili karar ağacı aşağıda gösterilmektedir. Burada p ile q O ya da 1 değerlerini alabilen değişkenlerdir.
[GÖRSEL]
Ağaçtaki bir düğümün sola doğru dallanması düğümdeki değişkenin değerinin O olduğu, sağa doğru dallanması ise 1 olduğu durumu göstermektedir. Ağacın üç düğümlerinde (yapraklarında) ise ifadenin alabileceği değerler yer almaktadır.

---

Aşağıda ☒ işlemine ait tanım tablosu verilmektedir.
[GÖRSEL]
Aşağıdakilerden hangisi (p ⊗ q) ⊗ (q ⊗ r) ifadesine ait bir ikili karar ağacıdır?
[GÖRSEL]

Şıklar:

Cevap:  \( p \cup q' \)

Çözüm:
Verilen işlem için  \( p \oplus q \) ,  \( p \cup q' \)  işlemine denk gelir.  \( ((p \oplus q) \oplus (q \oplus r)) \)  işlemini açarsak ve gerekli sadeleştirmeleri yaparsak işlem sonucu  \( p \cup q' \)  ne denk gelir. Bu ifade de B seçeneğindeki ağaç ile temsil edilebilir.
Bilgisayar Olimpiyatı 2009, 1. Aşama, Soru 6

## [5-7] soruları için açıklama
İkiller (ikili sistemdeki O ve 1 rakamları) üzerinde tanımlanmış işlemler kullanılarak oluşturulmuş ifadeleri, ikili karar ağaçları yardımıyla hesaplamak mümkündür.
Örnek olarak ☒ ikili işleminin tanım tablosu ile \(p \otimes q\) ifadesine ait iki farklı ikili karar ağacı aşağıda gösterilmektedir. Burada p ile q O ya da 1 değerlerini alabilen değişkenlerdir.
[GÖRSEL]
Ağaçtaki bir düğümün sola doğru dallanması düğümdeki değişkenin değerinin O olduğu, sağa doğru dallanması ise 1 olduğu durumu göstermektedir. Ağacın üç düğümlerinde (yapraklarında) ise ifadenin alabileceği değerler yer almaktadır.

---

Aşağıdakilerden tam olarak hangisi/hangileri (p ⊗ q) ⊗ r ifadesine ait ikili karar ağacıdır/ağaçlarıdır?
[GÖRSEL]

Şıklar:
A) I | B) II | C) III | D) I, II | E) I, II, III

Cevap: E I, II, III

Çözüm:
Bu soruda verilen işlem (pUq') n r ifadesine denk gelir. Bu ifadenin 1 olduğu durumda r kesinlikle 1 olmalıdır. Bunun Yanında p=1 veya q=O'dan en az biri de sağlanmalıdır. Sorudaki tüm ağaçlar bu durumları tam olarak karşılayacak şekilde verilmiştir. Dolayısı ile cevap I, II ve III olur.
Bilgisayar Olimpiyatı 2009, 1. Aşama, Soru 7

## [5-7] soruları için açıklama
İkiller (ikili sistemdeki O ve 1 rakamları) üzerinde tanımlanmış işlemler kullanılarak oluşturulmuş ifadeleri, ikili karar ağaçları yardımıyla hesaplamak mümkündür.
Örnek olarak ☒ ikili işleminin tanım tablosu ile \(p \otimes q\) ifadesine ait iki farklı ikili karar ağacı aşağıda gösterilmektedir. Burada p ile q O ya da 1 değerlerini alabilen değişkenlerdir.
[GÖRSEL]
Ağaçtaki bir düğümün sola doğru dallanması düğümdeki değişkenin değerinin O olduğu, sağa doğru dallanması ise 1 olduğu durumu göstermektedir. Ağacın üç düğümlerinde (yapraklarında) ise ifadenin alabileceği değerler yer almaktadır.

---

Aşağıdaki ikili karar ağaçlarından hangisi diğerlerinden farklı bir üçlü işleme karşılık gelmektedir. (Bir üçlü işlemi f(p, q, r) gibi üç değişkenti bir fonksiyon olarak düşünebilirsiniz.)
[GÖRSEL]

Şıklar:


Çözüm:
Her bir ağaç için 8'lık çözüm tablosunu oluşturduğumuzda tablolar
<table><tr><td>A, B, C, E için:</td><td>D için:</td></tr><tr><td>p</td><td>q</td><td>r</td><td>f</td><td>p</td><td>q</td><td>r</td><td>f</td></tr><tr><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td></td></tr><tr><td>0</td><td>0</td><td>1</td><td>1</td><td>0</td><td>0</td><td>1</td><td>1</td></tr><tr><td>0</td><td>1</td><td>0</td><td>0</td><td>0</td><td>1</td><td>0</td><td>1</td></tr><tr><td>0</td><td>1</td><td>1</td><td>1</td><td>0</td><td>1</td><td>1</td><td>0</td></tr><tr><td>1</td><td>0</td><td>0</td><td>1</td><td>1</td><td>0</td><td>0</td><td>0</td></tr><tr><td>1</td><td>0</td><td>1</td><td>0</td><td>1</td><td>0</td><td>1</td><td>0</td></tr><tr><td>1</td><td>1</td><td>0</td><td>1</td><td>1</td><td>1</td><td>0</td><td>0</td></tr><tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>0</td></tr></table>
Şekillerinde olur.
Bilgisayar Olimpiyatı 2009, 1. Aşama, Soru 8

## [8-10] soruları için açıklama
Zamanı, “şimdi”den başlayıp birbirini izleyen anlardan oluşan sonsuz bir dizi olarak düşünebiliriz. Bu zaman anlayışında, anlar, doğal sayılar ile temsil edilebilir. Şimdiyi herhangi bir n sayısı ile, bir sonraki anı n + 1 sayısı ile gösterebilir ve böyle devam edebiliriz.
Mantıktaki anlamıyla bir önerme, ya doğru ya da yanlış olabilen bir cümle olarak tanımlanabilir. Örneğin p önermesi “yağmur yağıyor” olabilir. Bu cümlede öne sürülen, önermenin söylendiği anda ve yerde yağmurun yağmakta olduğudur ki bu ya doğru ya da yanlıştır. Önermelerin doğruluğunun zamana bağlı olarak değişmesi doğaldır. Zamana bağlılığı ifade etmek için, önermelerden yeni önermeler üretmeyi sağlayan G ve F işleçlerinden yararlanacağız. Gp önermesi p’nin daima (şimdi ve şimdiden sonraki her
anda) doğru olacağını öne sürer. Örnekte, Gp”, simdi yağmur yağmaktadır ve bundan sonra hep yağmur yağacaktır” anlamına gelir. Fp önermesi ise p’nin doğrulandığı en az bir an olacağını öne sürer. Aynı örnekte, Fp “yağmurun yağacağı bir an gelecektir” anlamına gelir. “Gelecek” kavramını şimdiyi de kapsayacak şekilde genişletilmiş olarak kullandığımıza dikkat ediniz. Şimdi yağmur yağmakta olması Fp’yi doğru saymak için yeterlidir ancak gerekli değildir.
G ve F işleçlerini içe kullanarak daha karmaşık önermeler elde edebiliriz. Örneği genişletecek olursak, GFp yağmurun yağacağının daima doğru olduğunu (diğer bir deyişle, her yağmursuzluk döneminin bir sonu olduğunu); FGp ise gelecekte bir anda yağmurun yağacağını ve ondan sonra hep yağacağını (diğer bir deyişle, sonu olmayan bir yağmur döneminin geleceğini) öne sürer.
G ve F işleçlerini içe kullanarak daha karmaşık Önermeler elde edebiliriz. Örneği genişletecek okursak, GFp yağmurun yağacağının daima doğru olduğunu (diğer bir deyişle, her yağmursuzlük döneminin bir sonu olduğunu); FGp ise gelecekte biri anda yağmurun yağacağını ve ondan sonra hep yağacagını (diğer bir deyişle, sonu olmayan bir yağmurdöneminin geleceğini) öne sürer.

---

Bir ülkenin nüfusunun bu yıl 8 milyon olduğu, her yıl artarak 12 milyona çıkacağı, ondan sonra azalma eğilimine gireceği ve nihayet 9 milyonda karar kılacağı öngörülmektedir. Bu ön görüye göre, aşağıdaki önermelerden hangisi doğru değildir?
(n ülkenin nüfusunu belirten bir değişkendir; m ise milyon anlamına gelmektedir.)

Şıklar:
A) F (n ≥ 12m) | B) G (n ≥ 8m) | C) GF (n ≥ 10m) | D) FG (n ≤ 10m) | E) GG (n ≥ 8m)

Cevap: C GF (n ≥ 10m)

Çözüm:
Şıkları tek tek inceleyelim:
• A şıkkında nüfusun 12 milyondan fazla ya da eşit olduğu bir an geleceği söylenmiştir. Doğru bir ifade olur.
• B şıkkında nüfusun her zaman 8 milyondan büyük eşit olduğu söylenmiştir ve doğrudur.
• C şıkkında nüfusun bir zamandan sonra sürekli 10 milyondan büyük eşit olacağı söylenmiştir. Yanlış bir ifadedir.
• D şıkkında nüfusun bir tarihten sonra sürekli 10 milyondan küçük eşit olacağı söylenmiştir ve doğrudur.
• E şıkkında her zaman nüfusun 8 milyondan büyük eşit olduğu söylemmiştir ve doğrudur.
Bilgisayar Olimpiyatı 2009, 1. Aşama, Soru 9

## [8-10] soruları için açıklama
Zamanı, “şimdi”den başlayıp birbirini izleyen anlardan oluşan sonsuz bir dizi olarak düşünebiliriz. Bu zaman anlayışında, anlar, doğal sayılar ile temsil edilebilir. Şimdiyi herhangi bir n sayısı ile, bir sonraki anı n + 1 sayısı ile gösterebilir ve böyle devam edebiliriz.
Mantıktaki anlamıyla bir önerme, ya doğru ya da yanlış olabilen bir cümle olarak tanımlanabilir. Örneğin p önermesi “yağmur yağıyor” olabilir. Bu cümlede öne sürülen, önermenin söylendiği anda ve yerde yağmurun yağmakta olduğudur ki bu ya doğru ya da yanlıştır. Önermelerin doğruluğunun zamana bağlı olarak değişmesi doğaldır. Zamana bağlılığı ifade etmek için, önermelerden yeni önermeler üretmeyi sağlayan G ve F işleçlerinden yararlanacağız. Gp önermesi p’nin daima (şimdi ve şimdiden sonraki her
anda) doğru olacağını öne sürer. Örnekte, Gp”, simdi yağmur yağmaktadır ve bundan sonra hep yağmur yağacaktır” anlamına gelir. Fp önermesi ise p’nin doğrulandığı en az bir an olacağını öne sürer. Aynı örnekte, Fp “yağmurun yağacağı bir an gelecektir” anlamına gelir. “Gelecek” kavramını şimdiyi de kapsayacak şekilde genişletilmiş olarak kullandığımıza dikkat ediniz. Şimdi yağmur yağmakta olması Fp’yi doğru saymak için yeterlidir ancak gerekli değildir.
G ve F işleçlerini içe kullanarak daha karmaşık önermeler elde edebiliriz. Örneği genişletecek olursak, GFp yağmurun yağacağının daima doğru olduğunu (diğer bir deyişle, her yağmursuzluk döneminin bir sonu olduğunu); FGp ise gelecekte bir anda yağmurun yağacağını ve ondan sonra hep yağacağını (diğer bir deyişle, sonu olmayan bir yağmur döneminin geleceğini) öne sürer.
G ve F işleçlerini içe kullanarak daha karmaşık Önermeler elde edebiliriz. Örneği genişletecek okursak, GFp yağmurun yağacağının daima doğru olduğunu (diğer bir deyişle, her yağmursuzlük döneminin bir sonu olduğunu); FGp ise gelecekte biri anda yağmurun yağacağını ve ondan sonra hep yağacagını (diğer bir deyişle, sonu olmayan bir yağmurdöneminin geleceğini) öne sürer.

---

Bir servis sisteminin gelen her talebi (er ya da geç, bir süre sonra) karşılayacağı belirtilmektedir. p önermesi, sisteme bir servis talebi yapıldığını, q ise sistemin bir servis sunduğunu belirtsin. Söz konusu belirtim ne şekilde ifade edilebilir? (→) mantıksal bağlacının kullanımı şöyledir: a → b ifadesi, a'nın doğru olması durumunda b'nin de doğru olduğunu söyler; a'nın yanlış olması durumunda b için bir kısıtlama getirmez.)

Şıklar:
A) G (p→Fq) | B) F (p → Gq) | C) G (p → q) | D) Fp → Fq | E) p → Fq

Cevap: A G (p→Fq)

Çözüm:
A seçeneğinde p önermesi doğru olursa gelecekte bir zamanda q önermesinin de doğru olduğu bir zaman olacağı ifadesinin her zaman doğru olduğu verilmiş. Doğru seçenek A olur.
Bilgisayar Olimpiyatı 2009, 1. Aşama, Soru 10

## [8-10] soruları için açıklama
Zamanı, “şimdi”den başlayıp birbirini izleyen anlardan oluşan sonsuz bir dizi olarak düşünebiliriz. Bu zaman anlayışında, anlar, doğal sayılar ile temsil edilebilir. Şimdiyi herhangi bir n sayısı ile, bir sonraki anı n + 1 sayısı ile gösterebilir ve böyle devam edebiliriz.
Mantıktaki anlamıyla bir önerme, ya doğru ya da yanlış olabilen bir cümle olarak tanımlanabilir. Örneğin p önermesi “yağmur yağıyor” olabilir. Bu cümlede öne sürülen, önermenin söylendiği anda ve yerde yağmurun yağmakta olduğudur ki bu ya doğru ya da yanlıştır. Önermelerin doğruluğunun zamana bağlı olarak değişmesi doğaldır. Zamana bağlılığı ifade etmek için, önermelerden yeni önermeler üretmeyi sağlayan G ve F işleçlerinden yararlanacağız. Gp önermesi p’nin daima (şimdi ve şimdiden sonraki her
anda) doğru olacağını öne sürer. Örnekte, Gp”, simdi yağmur yağmaktadır ve bundan sonra hep yağmur yağacaktır” anlamına gelir. Fp önermesi ise p’nin doğrulandığı en az bir an olacağını öne sürer. Aynı örnekte, Fp “yağmurun yağacağı bir an gelecektir” anlamına gelir. “Gelecek” kavramını şimdiyi de kapsayacak şekilde genişletilmiş olarak kullandığımıza dikkat ediniz. Şimdi yağmur yağmakta olması Fp’yi doğru saymak için yeterlidir ancak gerekli değildir.
G ve F işleçlerini içe kullanarak daha karmaşık önermeler elde edebiliriz. Örneği genişletecek olursak, GFp yağmurun yağacağının daima doğru olduğunu (diğer bir deyişle, her yağmursuzluk döneminin bir sonu olduğunu); FGp ise gelecekte bir anda yağmurun yağacağını ve ondan sonra hep yağacağını (diğer bir deyişle, sonu olmayan bir yağmur döneminin geleceğini) öne sürer.
G ve F işleçlerini içe kullanarak daha karmaşık Önermeler elde edebiliriz. Örneği genişletecek okursak, GFp yağmurun yağacağının daima doğru olduğunu (diğer bir deyişle, her yağmursuzlük döneminin bir sonu olduğunu); FGp ise gelecekte biri anda yağmurun yağacağını ve ondan sonra hep yağacagını (diğer bir deyişle, sonu olmayan bir yağmurdöneminin geleceğini) öne sürer.

---

Aşağıdaki önerme çiftlerinden hangisi mantıksal olarak denktir?

Şıklar:
A) p, Fp | B) Fp, FFp | C) FGp, GGp | D) GFp, FFp | E) GFp, GGp

Cevap: B Fp, FFp

Çözüm:
Doğru cevap B seçeneği olur, çünkü gelecekte p’nin doğru olduğu bir an olacağı ifadesi, gelecekte, gelecekte p’nin 
doğru olacağı bir an olacağı ifadesinin doğru olacağı bir an olacağı ifadesiyle denktir. Art arda gelen F ifadeleri tek F ye 
indirgenebilir. Aynı çıkarım G için de geçerlidir.