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

[5-8 soruları için açıklama]
Ortaokul öğrencileri için düzenlenen bir yaz kampında öğrencilere spor öğretmenliği yapıyorsunuz. Spor programı kapsamında her öğrenci ilk olarak havuzda 10 tur yüzecek, sonrasında 5 km bisiklet sürecek, en son olarak da 2 km koşacaktır. Her öğrenci bu aktiviteleri verilen sırayla gerçekleştirecektir. Kampın güvenlik kuralları gereği aynı anda havuzda en fazla bir öğrenci bulunabilmektedir. Ancak aynı anda bisiklet sürebilecek ya da koşabilecek öğrenci sayısına ilişkin bir kısıt bulunmamaktadır. Havuzdan çıkan bir öğrenci hemen bisiklet sürmeye başlayacak ve aynı anda bir sonraki öğrenci yüzmeye başlayacaktır. Benzer şekilde bisiklet sürmesi biten öğrenci hemen koşmaya başlayacaktır.
Spor programı ilk öğrencinin havuza girmesiyle başlayıp koşusunu en son tamamlayan öğrencinin koşusunu tamamlamasıyla bitmektedir. Kamptaki n öğrencinin yüzme süreleri, bisiklet sürme süreleri ve koşma süreleri önceden bilinmektedir. Dikkat edilirse spor programının süresi öğrencilerin hangi sırayla havuza girdiklerine göre değişmektedir.
Örnek vermek gerekirse, \(n = 3\) öğrenci için yüzme süreleri, bisiklet sürme süreleri ve Koşma süreleri aşağıda verildiği gibi olsun.
<table><tr><td></td><td>Öğrenci 1</td><td>Öğrenci 2</td><td>Öğrenci 3</td></tr><tr><td>Yüzme süresi</td><td>3</td><td>6</td><td>8</td></tr><tr><td>Bisiklet süresi</td><td>4</td><td>8</td><td>6</td></tr><tr><td>Koşma süresi</td><td>6</td><td>4</td><td>5</td></tr></table>
Bu örnekte öğrenciler havuza 3, 1, 2 sırasıyla (ilk olarak 3. öğrenci, ardından 1. öğrenci ve son olarak da 2. öğrenci) girerlerse spor programı 29 birim zaman sürer. Ancak öğrenciler havuza 2, 3, 1 sırasıyla girerlerse spor programı 27 birim zaman sürmektedir.

---

Öğrencilerin yüzme, bisiklet ve koşma Süreleri aşağıdaki tablodaki gibi olursa spor programı **en fazla** ne kadar sürede tamamlanabilir?
<table><tr><td><td>Öğrenci 1</td><td>Öğrenci 2</td><td>Öğренci 3</td><td>Öğrenci 4</td><td>Öğrenci 5.</td></td></tr><tr><td>Yüzme süresi</td><td>8</td><td>10</td><td>3.</td><td>8</td><td>10</td></tr><tr><td>Bisiklet süresi</td><td></td><td>7</td><td>4</td><td>8</td><td>3</td></tr><tr><td>Koşma Süresi</td><td>1</td><td>3</td><td>5</td><td>7</td><td>9</td></tr></tfoot></table>

Şıklar:
A) 48 | B) 52 | C) 54 | D) 60 | E) 63

Cevap: C 54

Çözüm:
Öğrenciler havuzu hangi sırayla girerlerse girsinler son öğrenci havuzdan 8 + 10 + 3 + 8 + 10 = 39 anında çıkacaktır. Spor programının en uzun sürede tamamlanması için havuzdan son çıkacak olan öğrencinin bisiklet ve koşma süresi toplamı en uzun öğrenci olması gerekir. 4. öğrencinin bisiklet ve koşma süreleri toplamı en uzun (8 + 7 = 15) olduğundan havuzu en son 4. öğrenci girmelidir. Bu durumda spor programını hem havuzu en geç girdiği hem de sonrasında en fazla zaman harcadığı için 4. öğrenci tamamlayacaktır. Spor programı 39 + 15 = 54 birim sürede tamamlanmış olacaktır.
Ortaokul Bilgisayar Olimpiyatı 2021, 1. Aşama, Soru 9

Herhangi iki sesli harfin ya da iki sessiz harfin yan yana olmaması koşuluyla,
{b, c, d, f, g, h, k, m, n, p, a, e, o, u, i}
harflerinden anlamlı ya da anlamsız 5 harfli kaç farklı kelime üretebilirsiniz? Bir harf kelime içinde birden fazla geçebilir.

Şıklar:
A) 15⁵ | B) 10⁵ · 5⁵ | C) 10³ · 5² + 10² · 5³ | D) 10³ · 5³ + 10³ · 5³ | E) 10⁵+5⁵

Cevap: C 10³ · 5² + 10² · 5³

Çözüm:
Sessiz harfle başladığımızda daha sonra sesli, sessiz, sesli, sessiz şeklinde kelime üretmek zorunlu olacaktır. Bu şekilde 10 · 5 · 10 · 5 · 10 = 10³ · 5² kelime üretilebilir. Aynı şekilde sesli harfle başladığımızda da 5 · 10 · 5 · 10 · 5 = 10² · 5³ tane farklı kelime üretilebilir.
Ortaokul Bilgisayar Olimpiyatı 2021, 1. Aşama, Soru 10

Balık tutmaktan dönen Ali “Tuttuğum her balık alabalıktı. Gördüğüm her alabalığı tuttum.” demiştir. Buna göre aşağıdaki ifadelerden hangisi doğrudur.

Şıklar:
A) Ali balık tutmaya gittiğinde sadece alabalık görmüştür | B) Ali’nin balık tuttuğu bölgede alabalıktan başka tür balık bulunmamaktadır | C) Ali gördüğü her balığı tutmuştur | D) Ali balık tutmaya gittiğinde alabalıktan başka balık görmemiştir | E) Ali alabalıktan başka balık tutmamıştır

Cevap: E Ali alabalıktan başka balık tutmamıştır

Çözüm:
Ali, söyledikleri ile tutarlı olarak, başka balıklar görmüş fakat tutmamış olabilir. Bu durumda A, B, C, D şıklarındaki ifadeler yanlış olacaktır. E şıkkındaki ifade doğru bir ifadedir.
Ortaokul Bilgisayar Olimpiyatı 2021, 1. Aşama, Soru 11

[11-12 soruları için açıklama]
Elimizde 20 tane üzerleri 1’den 20’ye numaralandırılmış top bulunmaktadır. Bu topları bir masada soldan sağa sıralı bir biçimde en solda bulunan topu 1. sıradaki top ve en sağda bulunan topu da 20. sıradaki top olarak adlandırarak top üzerinde bulunan sayılar açısından karışık bir sırada yerleştiriyoruz. Örnek vermek gerekirse üzerinde 1 sayısı yazan top bu sıralama 13. top olarak masada yer alıyor olabilir. Böyle bir hazırlık sonrasında bize 1 ile 20 arasında bir K sayısı verilecek ve masa üzerindeki K. toptan başlayıp aşağıdaki ikinci işlem sonunda top üzerindeki sayı K olana kadar verilen iki işlemi tekrar edeceğiz.
1. Topun üzerinde yazan sayı M ise M. sıradaki topa git.
2. M. topun üzerindeki sayıya bak

---

Aşağıdaki ifadelerden hangisi/hangileri yanlıştır.
I. Belirtilen iki işlemi en fazla 20 kere çalıştırırız
II. Belirtilen iki işlemi en az 1 kere çalıştırırız
III. Belirtilen iki işlemi çalıştırma sırasında üzerinde K yazan topa mutlaka uğrarız

Şıklar:
A) Yalnız I | B) Yalnız II | C) Yalnız III | D) I ve III | E) Hiçbiri

Cevap: E Hiçbiri

Çözüm:
I, II ve III ifadelerinin hepsi doğru ifadelerdir. Bu nedenle
Ortaokul Bilgisayar Olimpiyatı 2021, 1. Aşama, Soru 12

[11-12 soruları için açıklama]
Elimizde 20 tane üzerleri 1’den 20’ye numaralandırılmış top bulunmaktadır. Bu topları bir masada soldan sağa sıralı bir biçimde en solda bulunan topu 1. sıradaki top ve en sağda bulunan topu da 20. sıradaki top olarak adlandırarak top üzerinde bulunan sayılar açısından karışık bir sırada yerleştiriyoruz. Örnek vermek gerekirse üzerinde 1 sayısı yazan top bu sıralama 13. top olarak masada yer alıyor olabilir. Böyle bir hazırlık sonrasında bize 1 ile 20 arasında bir K sayısı verilecek ve masa üzerindeki K. toptan başlayıp aşağıdaki ikinci işlem sonunda top üzerindeki sayı K olana kadar verilen iki işlemi tekrar edeceğiz.
1. Topun üzerinde yazan sayı M ise M. sıradaki topa git.
2. M. topun üzerindeki sayıya bak

---

1-20 arasındaki tek sayıların yazılı olduğu bütün topların ilk 10 sırada ve üzerlerinde çift sayıların yazılı olduğu bütün topların da son 10 sırada yer aldığı bir sıralamada bu iki işlem en fazla kaç kez çalıştırılabilir?

Şıklar:
A) 1 | B) 5 | C) 10 | D) 15 | E) 20

Cevap: E 20

Çözüm:
Toplar soldan sağa 3, 13, 5, 15, 7, 17, 9, 19, 11, 1, 2, 14, 4, 16, 6, 18, 8, 20, 12, 10 şeklinde soldan sağa sıralandıklarında ve K=1 olduğunda yani en soldaki toptan başladığımızda üzerinde tekrar 3 yazılı topa gelene kadar bu iki işlem 20 kez çalışır.
Ortaokul Bilgisayar Olimpiyatı 2021, 1. Aşama, Soru 13

Bir araziye düz bir biçimde, aralarındaki mesafe 6 m ve ilk ağaçla son ağaç arasındaki uzaklık 720 m olacak şekilde kaç ağaç dikilebilir?

Şıklar:
A) 118 | B) 119 | C) 120 | D) 121 | E) 122

Cevap: D 121

Çözüm:
Soruda ilk ağaçla son ağaç arasındaki mesafe verilmiştir. İki ağaç arasındaki mesafe 6 m olacaksa, 720/6=120 adet aralık verilen soru için kullanılacaktır. 120 aralık elde edebilmek için toplam 121 adet ağaca ihtiyaç olacaktır.
Ortaokul Bilgisayar Olimpiyatı 2021, 1. Aşama, Soru 14

Bir okulda toplam 142 öğrenci ve 7 sınıf bulunmaktadır. Tüm sınıflara öğrenci sayılarının eşit bir şekilde dağılmasını isteyen okul yönetiminin tam eşit dağıtım yapamayacağı açıktır. Dağıtım sonucunda en çok kaç sınıfta ekstra bir öğrenci olacaktır?

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

Cevap: B 4

Çözüm:
Tüm sınıflara öğrenci sayısı eşit biçimde dağıtılmak isteniyor. Bu nedenle 142/7 değerinden her sınıf en az 20 öğrenciye sahip olacaktır. Açıkta kalan öğrencilerin de maksimum sayıda sınıfa dağıtılması istendiğine göre arta kalan iki öğrenci iki sınıfa dağıtılmalıdır.
Yolcu A şehrinden C şehrine 4 C’den B’ye de 3 farklı yoldan gidebilir. Bu durumda A-B arası 12 farklı yol kullanılarak gerçekleştirilebilir. Dönüşte de bu yollardan biri kullanılmayacağına göre 11 farklı seçenek olacaktır. 12*11=132 doğru sonuç olacaktır,
Ortaokul Bilgisayar Olimpiyatı 2021, 1. Aşama, Soru 16

6 ile tam bölünebilen fakat 5 ile tam bölünemeyen 3 basamaklı kaç sayı vardır?

Şıklar:
A) 140 | B) 139 | C) 120 | D) 110 | E) 109

Cevap: C 120

Çözüm:
3 basamaklı 6 ile bölünebilen ilk sayı 102 ve son sayı ise 996'dır. 3 basamaklı 6 ile bölünebilen sayıyı (996-102)/6 +1 =150 olarak bulabiliriz. Bu sayıların bir kısmı 5 ile bölünebilir durumdadır. Bunu bulmak için 5 ile 6'nın en küçük ortak katı olan 30'u kullanmalıyız. 30 ile bölünebilen 3 basamaklı sayıları da benzer teknikle hesaplarsak (990-120)/30 + 1 = 30 olarak bulacağız. 150-30=120 doğru cevap olacaktır.
Ortaokul Bilgisayar Olimpiyatı 2021, 1. Aşama, Soru 17

Ahmet her gün elindeki sakızlardan 1 tanesini çiğneyip 3 yeni sakız alıyor. Başlangıçta Ahmet'in elinde 7 sakız varsa bunu dört katından fazlasına çıkarabilmesi için en az kaç gün geçmesi gerekiyor?

Şıklar:
A) 8 | B) 9 | C) 10 | D) 11 | E) 12

Cevap: D 11

Çözüm:
Her gün için artış miktarı 2 sakız olacaktır. Hedeflenen toplam sakız miktarı 4*7=28 olduğuna göre aradaki fark olan 21 sakız 10,5 gün içinde tamamlanacaktır. Seçenekler içinde 10'dan büyük en küçük sayı 11'dir.
Ortaokul Bilgisayar Olimpiyatı 2021, 1. Aşama, Soru 18

Aşağıdaki seçeneklerden sadece biri doğruysa doğru olan seçenek hangisidir?

Şıklar:
A) E seçeneği doğrudur | B) A seçeneği doğru değildir | C) D seçeneği ve B seçeneği yanlıştır | D) Hepsi doğrudur | E) Hepsi yanlıştır

Cevap: B A seçeneği doğru değildir

Çözüm:
Sadece biri doğru olacağı için D seçeneği yanlıştır. A seçeneği de başka bir seçeneğin doğru olduğunu ifade ettiği için doğru olmayacaktır. A seçeneğinin yanlış olduğu kesin olduğuna göre B seçeneği doğru olacaktır. Bu durumda E seçeneğinin doğru olma ihtimali de ortadan kalkmış olur.
Ortaokul Bilgisayar Olimpiyatı 2021, 1. Aşama, Soru 19

[19-20 soruları için açıklama]
 1
4  2
 3
Ayşe şekildeki pozisyonlara sahip dairesel bir şekilde yerleştirilmiş sayılardan oluşan ve kuralları aşağıda verilen yeni bir işlem makinesi dizayn ediyor.
1. A tuşuna basıldığında sayılar dairesel bir şekilde saat yönünde bir adım olacak şekilde dönüyorlar
2. B tuşuna basıldığında karşılıklı sayılar yer değiştiriyor
3. C tuşuna basıldığında 1. pozisyon ile 2. pozisyon ve 3. pozisyon ile 4. pozisyondaki sayılar yer değiştiriyor
4. D tuşuna basıldığında 1. pozisyonda en küçük, 4. pozisyonda en büyük sayı olacak şekilde sıralama işlemi yapıyor. Yani 1. pozisyon < 2. pozisyon < 3. pozisyon < 4. pozisyon olacaktır.

---

 6
2 5
 3

Başlangıç durumu yukarıdaki şekilde verilirse, tanımlı işlemler sayı sınırı olmaksızın kullanılarak toplam kaç farklı yerleşim elde edilebilir?

Şıklar:
A) 6 | B) 7 | C) 8 | D) 9 | E) 10

Cevap: B 7

Çözüm:
Verilen işlemlerden A işlemini iki kere uyguladığımızda B işleminin sonucu elde edilmiş olacaktır. Verilen örnek için C ve D işlemleri de aynı sonucu elde etmemize sebep olacaktır. Dolayısıyla A işlemi uygulanarak iki farklı sekansta toplam 8 farklı yerleşim elde edilebilir durumdadır.
Ortaokul Bilgisayar Olimpiyatı 2021, 1. Aşama, Soru 21

[21-30 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ı ne olur?
```c
int main()
{
char A[7] = "ABCDEF";
int i;
for (i=5; i; i--) {
if (i%2)
printf("%c", A[i]);
}
}
```

Şıklar:
A) ABCDEF | B) FEDCBA | C) ACE | D) ECA | E) FDB

Cevap: E FDB

Çözüm:
Program çalıştırıldığında i değeri 5'ten başlayıp en son 1 olana kadar i'nin tek sayı değerleri için ilgili indeksteki karakter basılır. Karakter indeksleri 0'dan başladığı için altıncı karakter olan F 5. indekstedir ve ilk olarak o basılır. Sonra sırasıyla tek sayı olan 3. ve 1. indekslerdeki karakterler olan D ve B ekrana basılır. Çıktı FDB olur.
Ortaokul Bilgisayar Olimpiyatı 2021, 1. Aşama, Soru 22

[21-30 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 parçası ekrana kaç tane 'A' karakteri yazar?
```c
for (i=0; i<N; i++)
for (j=i; j<N; j++)
printf("A\N");
```

Şıklar:
A) \(N^2\) | B) \(N^2 + 2N + 1\) | C) \(\frac{N^2}{2} + \frac{N}{2}\) | D) \(\frac{N^2}{2} + \frac{3N}{2} + 1\) | E) \(N^3\)

Cevap: C \(\frac{N^2}{2} + \frac{N}{2}\)

Çözüm:
İ döngüsü ilk kez çalıştığında yani i 0 iken, j döngüsü N kez çalışacaktır. Daha sonra en son bir kez çalışana kadar her seferinde birer kez azalarak çalışacaktır. Bu durumda ekrana basılan A karakteri sayısı 1'den N'ye kadar olan sayıların toplamıdır. Bu da (N)(N+1)/2'ye eşittir. Bu ifadenin açık hali D şıkkında verilmiştir. Yani
Ortaokul Bilgisayar Olimpiyatı 2021, 1. Aşama, Soru 23

[21-30 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ı şıklardan hangisinde doğru olarak verilmiştir?
```c
int main() {
int a=3, b=4, c=5, d=6;
c = c-a;
a = a+c;
c = a-c;
printf("%d\n", a+c*d/b%c);
}
```

Şıklar:
A) 0 | B) 2 | C) 4 | D) 5 | E) 6

Cevap: E 6

Çözüm:
İlk olarak c ve a değişkenlerinin içerikleri yer değiştirir ve c 3 ve a 5 olur. Sonra matematisel ifade, çarpma, bölme ve mod operatörleri toplamadan daha öncelikli olduğundan onlar işleme konulur. c*d ile ilk olarak 18 elde edilir sonra 18/4'ün sonucu tam sayısı bölme işlemi sonucu 4 olur. 4 mod 3'ün sonucu 1 olur ve son olarak 1'e 5 eklenerek çıktı 6 olarak elde edilmiş olur.
Ortaokul Bilgisayar Olimpiyatı 2021, 1. Aşama, Soru 24

[21-30 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
int f(int n, int m) {
int i, r=1;
for (i = 0; i < m; i++)
r *= n;
return r;
}
```

Şıklar:
A) n'nin m. kuvvetini hesaplamak | B) n'nin faktöriyelini hesaplamak | C) n ile m'nin çarpımını hesaplamak | D) n faktöriyel ve m faktöriyelin çarpımını hesaplamak | E) Hiçbiri

Cevap: A n'nin m. kuvvetini hesaplamak

Çözüm:
Bu fonksiyonda m kere çalıştırılan döngüde n değeri sürekli sonuç ile çarpılarak n'nin kendisi ile m kez çarpılması yani n'nin m. kuvveti hesaplanmış olur.
Ortaokul Bilgisayar Olimpiyatı 2021, 1. Aşama, Soru 25

[21-30 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: A Verilen bir diziyi küçükten büyüğe sıralamak

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

[21-30 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 = 3;
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) 0 | B) 3 | C) 6 | D) 18 | E) Hiçbiri

Cevap: B 3

Çözüm:
İ döngüsü 0,1,2 değerleri için çalışır. İ'nin sadece 2 değeri için en içteki k değeri bir kez çalışabilir ve bu çalışmada s = 0+2+1+0 yani 3 olur. Bu ifade başka çalışmadığı için s'nin son değeri 3 olarak kalmış olur.
Ortaokul Bilgisayar Olimpiyatı 2021, 1. Aşama, Soru 27

[21-30 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.

---

C programlama dili ile ilgili aşağıdaki ifadelerden hangisi doğrudur?

Şıklar:
A) break ifadesi mutlaka bir for ya da while döngüsü içerisinde yer almalıdır. | B) Bölme işleminde sayılardan birisi int diğeri float ise, float olan otomatik olarak int'e çevrildikten sonra işlem gerçekleştirilir. | C) Bir değişkene ilk değer atanmadan bir fonksiyonda parametre olarak kullanılması derleme hatasına yol açar. | D) Bir float değişkenin hafızada kapladığı alan bir int değişkeninin kapladığı alandan daha fazladır. | E) Bir if ifadesindeki koşul sayısal olarak 0'dan farklı ise koşul doğru olarak kabul edilip if altındaki ifade çalıştırılır.

Cevap: E Bir if ifadesindeki koşul sayısal olarak 0'dan farklı ise koşul doğru olarak kabul edilip if altındaki ifade çalıştırılır.

Çözüm:
break ifadesi switch içinde de yer alabilir. Bölme işleminde sayılardan birisi int diğeri float isе, int olan otomatik olarak float'a çevrildikten sonra işlem gerçekleştirilirir. Bir değişkene ilk değer atanmamış olması bir derleme hatasına yol açmaz. Bir float değişkenin hafızada kapladığı alan bir in
değişkeninin kapladığı alan ile aynı olabilir. Bu ifadelerden tek doğru olan E şıkkındaki ifadedir.
Ortaokul Bilgisayar Olimpiyatı 2021, 1. Aşama, Soru 28

[21-30 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 kod parçası ekrana kaç kere “Tubitak” yazacaktır?
```c
int i = 0;
while (i < 5)
{
for (int j = (++i); j < 5; j = j + 2)
printf("Tubitak\n");
break;
i++;
}
```

Şıklar:
A) Hiç yazmaz | B) 2 kere yazar | C) 3 kere yazar | D) 12 kere yazar | E) Hata verir

Cevap: B 2 kere yazar

Çözüm:
Kod parçası i=0 için “for” döngüsü içinde iki kere “Tubitak” yazacaktır. Çünkü j'nin ilk değeri “++i” olmasından dolayı 1 olacak ve her adımda j değeri ikişer ikişer artırılmaktadır. “for” döngüsü sonrasında “break” komutu çalışacak ve program dıştaki “while” döngüsünden çıkacaktır.
Ortaokul Bilgisayar Olimpiyatı 2021, 1. Aşama, Soru 29

[21-30 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 kod parçasının çıktısı nedir?
```c
int x = 1, y = 2, z = 3;
while(x < y || z > y)
{
z *= x;
y++;
x *= X;
}
printf("%d\n", y);
```

Şıklar:
A) 2 | B) 3 | C) 6 | D) 8 | E) Çıktı üretmez

Cevap: E Çıktı üretmez

Çözüm:
x değeri her adımda kendisiyle çarpılmakta ve ilk değer 1 olduğu için x değeri her zaman 1 olarak kalacaktır. Bu durumda x<y koşulu her zaman sağlanıyor olacaktır. Verilen kod parçası sonsuz döngüye girdiği için çıktı üretmez.
Ortaokul Bilgisayar Olimpiyatı 2021, 1. Aşama, Soru 30

[21-30 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.

---

```c
int foo2(int b)
{
int a = 3;
return a * b;
}
int foo(int *a)
{
*a = (*a) + 1;
return foo2(*a);
}
int main(void) {
int *a;
int b = 2;
a = &b;
foo(a);
printf("%d\n", b);
return 0;
}
```
Verilen kod parçasının ürettiği çıktı aşağıdakilerden hangisidir?

Şıklar:
A) 2 | B) 3 | C) 9 | D) Derleme hatası verir | E) Hiçbiri

Cevap: B 3

Çözüm:
a değişkeni işaretçidir ve b’nin adresini göstermektedir. “foo” fonksiyonu içinde yapılan değişiklik b’nin 
değerini de etkileyecektir. Ancak “foo2” fonksiyonu değer üzerinde değişikliğe sebep olmayacaktır.
Ortaokul Bilgisayar Olimpiyatı 2022, 1. Aşama, Soru 1

TÜBİTAK kampına katılan öğrencileri 7 kişilik odalara yerleştirdiğimizde 3 öğrenci, 3 kişilik odalara yerleştirdiğimizde 2 öğrenci açıkta kalmaktadır. Kampa katılan öğrenci sayısının 130’dan fazla 160’dan az olduğu bilinmektedir. Bu bilgiler değerlendirildiğinde, kampa kaç öğrenci katılmıştır?

Şıklar:
A) 157 | B) 149 | C) 143 | D) 136 | E) 131

Cevap: C 143

Çözüm:
Verilen seçeneklerden 143 7 ile bölündüğünde 3, 3 ile bölündüğünde 2 kalanını vermektedir.
Ortaokul Bilgisayar Olimpiyatı 2022, 1. Aşama, Soru 3

Sürekli etkinlik yapan Sevil 3 farklı organizasyon firmasından hizmet almaktadır. Sevil’in A firmasından hizmet alma olasılığı 3/10, B firmasından hizmet alma olasılığı 4/10 ve C firmasından hizmet alma olasılığı 3/10’dur. Daha önce gerçekleştirdiği etkinliklere istatistiklerle bakan Sevil bu firmalardaki hata oranını çıkarmıştır. Buna göre, A firmasında hata olma ihtimali 1/10, B firmasında hata olma ihtimali 2/10 ve C firmasında hata olma ihtimali 4/10’tır. Buna göre Sevil’in yapacağı bir sonraki etkinlikte hata olma ihtimali nedir?

Şıklar:
A) 3/100 | B) 8/100 | C) 36/100 | D) 23/100 | E) 14/100

Cevap: D 23/100

Çözüm:
A firmasından alınan hizmette sorun çıkma ihtimali : 3/10*1/10=3/100. B firmasından alınan hizmette sorun çıkma ihtimali: 4/10*2/10=8/100. C firmasından alınan hizmette sorun çıkma ihtimali  : 3/10*4/10=12/100. Bu ihtimallerin toplamı da 23/100 olmaktadır.
Ortaokul Bilgisayar Olimpiyatı 2022, 1. Aşama, Soru 4

Okul gezisindeki grubu izleyen matematik öğretmeni şu gözlemleri yapıyor.
• Ekipteki öğrenciler gözlüklü, uzun saçlı, veya gözlük takmayan kısa saçlı öğrencilerden oluşuyor
 Saçı uzun öğrencilerin sayısı gözlüklü öğrencilerin sayısının 3 katından 10 fazla
 Gözlük takan uzun saçlı öğrenci sayısı 20
 Kısa saçlı gözlük takmayan öğrenciler ekibin %50’sini oluşturuyor
Eğer sınıfta x tane gözlüklü öğrenci varsa, matematik öğretmeninin rastgele seçtiği bir öğrencinin gözlüklü olma ihtimalini aşağıdakilerden hangisi verir?

Şıklar:
A) x / (4x – 10) | B) 2x / (4x – 20) | C) x / (8x – 20) | D) 2x / (8x – 10) | E) x / (8x + 10)

Cevap: A x / (4x – 10)

Çözüm:
Gözlüklü öğrenci sayısı x olduğunda, saçı uzun öğrencilerin sayısı 3x+10 olacaktır. Bu iki grubu topladığımızda gözlük takan uzun saçlı öğrencileri iki kere saymış olacağız. Gözlük takmayan kısa saçlı öğrenciler tüm ekibin yarısını oluşturduğuna göre, aynı sayıda öğrenci de gözlük takan veya uzun saçlı öğrenci olacaktır. Bu öğrenci sayısı da x+(3x+10)-20=4x- 10 olacaktır. Toplam öğrenci sayısı (4x-10)*2=8x-20 olacaktır. Seçilen öğrencinin gözlüklü olma ihtimali de x / (8x-20) olmalıdır.