Algoritmalar
Çoktan Seçmeli · Problem ve Algoritma
Soru 1: Problem Tanımında Kısıt
“n sayısının faktöriyelini 64 bitlik tam sayı (Java long) ile hesapla” probleminin tanımında aşağıdakilerden hangisi bir kısıttır?
D: Kısıt, değerlerin sınırı ve geçerlilik koşuludur. A girdiyi, B çıktıyı, C ise doğrulama için küçük bir örneği tanımlar. 20! = 2.432.902.008.176.640.000 long'a sığar, 21! sığmaz; bu yüzden kısıt 0 ≤ n ≤ 20'dir.
Çoktan Seçmeli · Problem ve Algoritma
Soru 2: Hangisi Algoritma Değil?
İyi bir algoritma açık, sıralı, uygulanabilir ve sonlu olmalıdır. Aşağıdaki adım dizilerinden hangisi bu özelliklerden birini sağlamadığı için algoritma sayılmaz?
B: i 1'den başlayıp hep artar; i > 0 koşulu hiçbir zaman yanlış olmaz, adımlar sonsuza dek sürer (sonluluk bozulur). A'da i her turda büyür ve n'i geçince döngü biter; C ve D zaten tek bir karardan oluşur.
Çıktı Sorusu · Örnek Algoritmalar
Soru 3: Geçicisiz Yer Değiştirme
İki sayıyı küçükten büyüğe yazmak isteyen bir öğrenci gecici değişkenini kullanmamış. a = 7, b = 3 girilirse çıktı nedir?
oku a, b eğer a > b ise a = b b = a yaz a, b
Cevabı göster
Çıktı: 3 3
- 7 > 3 doğru → bloğa girilir.
a = b: a = 3; a'nın eski değeri 7 kaybolur.b = a: b = 3 (a artık 3).
Doğrusu: önce gecici = a, sonra a = b, b = gecici → 3 7.
Adım Adım Çalıştırma · Örnek Algoritmalar
Soru 4: Üç Sayıyı Sırala
İki sayıyı sıralama adımı (a-b, b-c, a-b) üç kez uygulanıyor. a = 9, b = 2, c = 5 için değişkenleri izleyin.
Önce kendiniz tahmin edin, sonra › ile ilerleyin.
Üç değer okunur.
9 > 2 doğru → a ile b yer değiştirir (gecici ile üç atama).
9 > 5 doğru → b ile c yer değiştirir. En büyük (9) artık c'de.
2 > 5 yanlış → değişim yok. Bu son karşılaştırma, ikinci adımda c'den gelen küçük değeri a ile karşılaştırmak için gerekir.
Çıktı 2 5 9. En fazla 3 karşılaştırma ile üç sayı sıralanır.
oku a, b, c eğer a > b ise a ile b yer değiştir eğer b > c ise b ile c yer değiştir eğer a > b ise a ile b yer değiştir yaz a, b, c
Çoktan Seçmeli · Örnek Algoritmalar
Soru 5: Çarpımın Başlangıç Değeri
Faktöriyel algoritmasında sonuc = 1 yerine yanlışlıkla sonuc = 0 yazılırsa n = 5 için ne yazılır?
oku n eğer n < 0 ise "hata" yaz ve dur sonuc = 0 // hata burada i = 2 i ≤ n iken sonuc = sonuc × i i = i + 1 yaz sonuc
A: 0 × i her zaman 0'dır; döngü 4 kez döner ama sonuc hiç değişmez. Biriktiricinin başlangıç değeri işleme uygun seçilir: toplam için 0, çarpım için 1.
Çıktı Sorusu · Örnek Algoritmalar
Soru 6: Bir Eksik Tur
Faktöriyel algoritmasında döngü koşulu i ≤ n yerine i < n yazılmış. n = 5 ve n = 1 için çıktılar nedir?
oku n sonuc = 1 i = 2 i < n iken sonuc = sonuc × i i = i + 1 yaz sonuc
Cevabı göster
n = 5 → 24, n = 1 → 1
| i (tur başı) | 2 | 3 | 4 | 5 |
|---|---|---|---|---|
| i < 5 ? | doğru | doğru | doğru | yanlış |
| sonuc | 2 | 6 | 24 | — |
- i = 5 iken döngü biter; ×5 hiç yapılmaz: 4! = 24 hesaplanır (bir eksik tur, off-by-one).
- n = 1'de döngü zaten dönmez ve 1 doğrudur; hata yalnızca n ≥ 2'de görünür. Bu yüzden tek test yetmez.
Adım Adım Çalıştırma · Geçmiş Sınav (2024-25 Final A)
Soru 7: Azalan Çarpım
Sınavdaki Java kodunun sözde kod karşılığı aşağıdadır. Her turda sonuc ve sayi nasıl değişir, ne yazılır?
Önce kendiniz tahmin edin, sonra › ile ilerleyin.
Başlangıç: çarpım için 1.
6 > 2 doğru → 1. tur.
sonuc = 1 × 6 = 6; sayi = 5; 6 yazılır.
5 > 2 doğru → sonuc = 6 × 5 = 30; sayi = 4.
4 > 2 doğru → sonuc = 30 × 4 = 120; sayi = 3.
3 > 2 doğru → sonuc = 120 × 3 = 360; sayi = 2.
2 > 2 yanlış → döngü biter. Çıktı: 6 30 120 360 (4 tur). Yazma çarpmadan sonra olduğu için ilk değer 1 değil 6'dır.
sonuc = 1 sayi = 6 sayi > 2 iken sonuc = sonuc × sayi sayi = sayi - 1 yaz sonuc + " "
Çıktı Sorusu · Geçmiş Sınav (2024-25 Bütünleme A)
Soru 8: Hep Aynı Çarpan
Aşağıdaki algoritmanın çıktısı nedir? (Sınavdaki Java for döngüsünün sözde kod karşılığı.)
sonuc = 1 sayac = 6 i = 3 i < sayac iken sonuc = sonuc × sayac yaz sonuc + " " i = i + 1
Cevabı göster
Çıktı: 6 36 216
- i = 3, 4, 5 için döngü 3 kez döner (6 − 3 = 3).
- Çarpan i değil, hep
sayac= 6'dır: 6, 6², 6³.
| i | 3 | 4 | 5 | 6 |
|---|---|---|---|---|
| i < 6 | doğru | doğru | doğru | yanlış |
| sonuc | 6 | 36 | 216 | — |
B kitapçığında sayac = 7, i = 4 ile başlar: 7 49 343.
Çıktı Sorusu · Örnek Algoritmalar
Soru 9: Fibonacci'de Atama Sırası
Fibonacci algoritmasında son iki atamanın yeri değiştirilmiş. n = 6 için çıktı nedir?
oku n a = 0, b = 1 0'dan n-1'e kadar tekrarla yaz a sonraki = a + b b = sonraki // yer değişti a = b
Cevabı göster
Çıktı: 0 1 2 4 8 16 (doğrusu 0 1 1 2 3 5)
- b = sonraki yapıldıktan sonra
a = beski b'yi değil yeni b'yi alır; a ile b hep eşit olur. - Her tur sonraki = a + a = 2a → değer ikiye katlanır.
| tur | 0 | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|---|
| yazılan a | 0 | 1 | 2 | 4 | 8 | 16 |
| tur sonu a = b | 1 | 2 | 4 | 8 | 16 | 32 |
Doğru sıra: önce a = b, sonra b = sonraki.
Adım Adım Çalıştırma · Örnek Algoritmalar
Soru 10: Fibonacci Penceresi
Dersteki Fibonacci algoritması n = 5 için çalıştırılıyor. Her tur sonunda a, b ve sonraki ne olur?
Önce kendiniz tahmin edin, sonra › ile ilerleyin.
İlk iki terim: a = 0, b = 1. 5 tur dönülecek (0…4).
Tur 0: 0 yazılır; sonraki = 0 + 1 = 1; pencere kayar: a = 1, b = 1.
Tur 1: 1 yazılır; sonraki = 2; a = 1, b = 2.
Tur 2: 1 yazılır; sonraki = 3; a = 2, b = 3.
Tur 3: 2 yazılır; sonraki = 5; a = 3, b = 5.
Tur 4: 3 yazılır; sonraki = 8; a = 5, b = 8.
5 tur bitti. Çıktı 0 1 1 2 3; a = 5 ve b = 8 hesaplandı ama yazılmadı.
oku n a = 0, b = 1 0'dan n-1'e kadar tekrarla yaz a sonraki = a + b a = b b = sonraki
Adım Adım Çalıştırma · Örnek Algoritmalar
Soru 11: Palindrom: "Kayık"
Palindrom algoritması "Kayık" metni için çalıştırılıyor. Kaç karşılaştırma yapılır, sonuç ne olur?
Önce kendiniz tahmin edin, sonra › ile ilerleyin.
Küçük harfe çevrilir: "kayık" (5 harf).
İki uç: sol = 0, sag = 4.
0 < 4 doğru. metin[0] = 'k', metin[4] = 'k' → aynı.
İçe doğru: sol = 1, sag = 3.
1 < 3 doğru. metin[1] = 'a', metin[3] = 'ı' → farklı → yanlış döndürülür.
"Kayık" palindrom değildir. 2 karşılaştırma yetti; ilk farklı çiftte algoritma durur, ortadaki 'y' hiç incelenmez.
metni oku metni kurala göre temizle sol = 0, sag = uzunluk - 1 sol < sag iken karakterler farklıysa yanlış döndür sol = sol + 1, sag = sag - 1 doğru döndür
Çoktan Seçmeli · Örnek Algoritmalar
Soru 12: Kaç Karşılaştırma?
Palindrom algoritması temizlenmiş hâli 11 harfli bir palindrom olan metin için çalıştırılırsa kaç karakter karşılaştırması yapılır?
D: Her karşılaştırmada iki uçtan birer karakter elenir; sol < sag oldukça devam edilir. 11 harfte (0,10), (1,9), (2,8), (3,7), (4,6) çiftleri karşılaştırılır; sol = sag = 5 olunca döngü biter. En fazla ⌊uzunluk / 2⌋ = 5.
Çıktı Sorusu · Örnek Algoritmalar
Soru 13: Asal mı: n = 91
Asal sayı algoritması n = 91 için ne yazar? Kaç kez % işlemi yapılır?
oku n eğer n < 2 ise "asal değil" yaz ve dur i = 2 i × i ≤ n iken eğer n % i == 0 ise "asal değil" yaz ve dur i = i + 1 "asal" yaz
Cevabı göster
Çıktı: asal değil, 6 kez % yapılır.
| i | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|
| i×i ≤ 91 | 4 | 9 | 16 | 25 | 36 | 49 |
| 91 % i | 1 | 1 | 3 | 1 | 1 | 0 |
91 = 7 × 13: çift sayı olmadığı için ilk bakışta asal sanılabilir. Küçük bölen 7, √91 ≈ 9,5'ten küçük olduğu için sınırın içinde yakalanır.
Çoktan Seçmeli · Örnek Algoritmalar
Soru 14: Karekök Sınırında Hata
Asal sayı algoritmasında döngü koşulu i × i ≤ n yerine i × i < n yazılırsa aşağıdaki girdilerden hangisi için yanlış sonuç üretilir?
A: 49 = 7 × 7. i = 7 iken 49 < 49 yanlış olduğu için döngü 7'yi denemeden biter; 2…6 bölmediği için "asal" yazılır. Tam kareler (4, 9, 25, 49…) bu hatayı yakalayan sınır testleridir. 21 için 3 bölen olarak bulunur; 29 ve 2 zaten asaldır.
Çıktı Sorusu · Geçmiş Sınav (2023-24 Vize)
Soru 15: Sonraki Asal
Sınavdaki sonrakiAsal metodunun sözde kodu aşağıdadır. sayi = 24 için çıktı nedir?
oku sayi tekrarla sayi = sayi + 1 eğer asal(sayi) ise yaz sayi + " asal sayıdır" dur değilse yaz sayi + " asal sayı değildir"
Cevabı göster
25 asal sayı değildir 26 asal sayı değildir 27 asal sayı değildir 28 asal sayı değildir 29 asal sayıdır
- Artırma kontrolden önce yapılır (
++sayi): 24'ün kendisi denenmez. - 25 = 5×5, 26 = 2×13, 27 = 3×9, 28 = 4×7; 29 asaldır → döngü durur.
Aynı mantıkla oncekiAsal(100) (2024-25 Vize) 99, 98'i eler ve 97 döndürür.
Çoktan Seçmeli · Geçmiş Sınav (2023-24 Vize)
Soru 16: Basamak Toplamında Eksik Satır
Rakamlar toplamını bulan algoritmada bir satır eksik (sınavın cevap anahtarında da bu satır unutulmuştu). Boşluğa hangisi gelmelidir?
oku sayi toplam = 0 sayi > 0 iken ______________ toplam = toplam + rakam sayi = sayi / 10 // tam bölme yaz toplam
C: sayi % 10 son basamağı verir (472 % 10 = 2); sayi / 10 ise son basamağı atar (472 / 10 = 47). Eksik satır olmadan rakam hiç tanımlanmaz ve kod derlenmez. Sınav anahtarındaki yorumlar da ("Son basamağı al") bu satırın yerini gösteriyordu.
Adım Adım Çalıştırma · Örnek Algoritmalar
Soru 17: Basamak Toplamı: 472
Tamamlanmış rakamlar toplamı algoritmasını sayi = 472 için izleyin.
Önce kendiniz tahmin edin, sonra › ile ilerleyin.
Toplam için başlangıç 0.
472 > 0 doğru. rakam = 472 % 10 = 2.
toplam = 2; sayi = 472 / 10 = 47 (tam bölme, kesir atılır).
47 > 0 doğru. rakam = 7.
toplam = 2 + 7 = 9; sayi = 4.
4 > 0 doğru. rakam = 4.
toplam = 13; sayi = 4 / 10 = 0.
0 > 0 yanlış → döngü biter. Tur sayısı = basamak sayısı (3).
13 yazılır (4 + 7 + 2). Basamaklar sağdan sola işlendi.
oku sayi toplam = 0 sayi > 0 iken rakam = sayi % 10 toplam = toplam + rakam sayi = sayi / 10 yaz toplam
Çoktan Seçmeli · Geçmiş Sınav (2023-24 Telafi, 2024-25 Vize)
Soru 18: Basamak Sayısı ve 0
Sınavlarda basamak sayısı iki biçimde yazıldı. sayi = 0 girilirse sırasıyla ne yazılır?
// I. önce koşul (while) basamak = 0 sayi > 0 iken basamak = basamak + 1 sayi = sayi / 10 yaz basamak // II. sonda koşul (do-while) basamak = 0 tekrarla basamak = basamak + 1 sayi = sayi / 10 sayi > 0 iken yaz basamak
B: I'de 0 > 0 yanlış olduğu için gövde hiç çalışmaz → 0 (ama 0 tek basamaklıdır). II'de gövde koşuldan önce en az bir kez çalışır → 1. 2025-26 Vize anahtarı bu yüzden while'dan önce eğer sayi == 0 ise 1 döndür kontrolü ekler.
Çıktı Sorusu · Doğrulama
Soru 19: Çift Sayıların Toplamı
1'den n'e kadar çift sayıları toplayan algoritmanın n = 10 ve n = 0 için çıktısı nedir? İzleme tablosu çıkarın.
oku n toplam = 0 i = 2 i ≤ n iken toplam = toplam + i i = i + 2 yaz toplam
Cevabı göster
n = 10 → 30, n = 0 → 0
| An | i | toplam | i ≤ 10 |
|---|---|---|---|
| başlangıç | 2 | 0 | — |
| tur 1 | 2 | 2 | doğru |
| tur 2 | 4 | 6 | doğru |
| tur 3 | 6 | 12 | doğru |
| tur 4 | 8 | 20 | doğru |
| tur 5 | 10 | 30 | doğru |
| çıkış | 12 | 30 | yanlış |
n = 0 sınır testidir: 2 ≤ 0 yanlış, döngü hiç dönmez. (n = 7 için 2+4+6 = 12.)
Çoktan Seçmeli · Doğrulama
Soru 20: Test Durumları
Faktöriyel algoritması (kısıt 0 ≤ n ≤ 20) için hazırlanan test tablosundaki satırlardan hangisi yanlıştır?
C: 21! değeri doğrudur ama long en çok 9.223.372.036.854.775.807 tutar; 21! sığmaz (taşma). Bu test, algoritmanın kısıtı (n ≤ 20) denetlemesi gerektiğini gösterir. Tek bir başarılı test, algoritmanın her girdi için doğru olduğunu kanıtlamaz.
Çıktı Sorusu · Arama
Soru 21: Doğrusal Arama
dizi = {4, 8, 15, 16, 23, 42} için aşağıdaki iki çağrı ne döndürür? Her birinde kaç karşılaştırma yapılır?
int ara(int[] dizi, int hedef) { for (int i = 0; i < dizi.length; i++) { if (dizi[i] == hedef) return i; } return -1; } ara(dizi, 16); ara(dizi, 5);
Cevabı göster
ara(dizi, 16) → 3 (4 karşılaştırma)ara(dizi, 5) → −1 (6 karşılaştırma)
- 16 bulununca
returndöngüyü hemen bitirir; 23 ve 42'ye bakılmaz. - 5 dizide yok: dizi sıralı olsa da doğrusal arama bunu kullanmaz, n = 6 elemanın hepsine bakar (en kötü durum, O(n)).
Adım Adım Çalıştırma · Arama
Soru 22: İkili Arama: 27
{2, 5, 9, 14, 20, 27, 33} dizisinde 27 aranıyor. Her turda sol, sag ve orta değerlerini izleyin.
Önce kendiniz tahmin edin, sonra › ile ilerleyin.
Aralık tüm dizi: 0…6.
0 ≤ 6 doğru, 1. tur. orta = 0 + 6/2 = 3, dizi[3] = 14.
14 ≠ 27; 14 < 27 → hedef sağ yarıda: sol = 4.
4 ≤ 6 doğru, 2. tur. orta = 4 + (6 − 4)/2 = 5, dizi[5] = 27.
27 == 27 → return 5. 2 turda bulundu; doğrusal arama 6 karşılaştırma yapardı.
int ikiliAra(int[] dizi, int hedef) { int sol = 0, sag = dizi.length - 1; while (sol <= sag) { int orta = sol + (sag - sol) / 2; if (dizi[orta] == hedef) return orta; if (dizi[orta] < hedef) sol = orta + 1; else sag = orta - 1; } return -1; }
Çıktı Sorusu · Arama
Soru 23: İkili Arama: Olmayan Değer
Aynı dizide ({2, 5, 9, 14, 20, 27, 33}) ikili arama ile 4 aranırsa kaç tur yapılır, her turda sol / sag / orta nedir, ne döner?
Cevabı göster
| tur | sol | sag | orta | dizi[orta] | karar |
|---|---|---|---|---|---|
| 1 | 0 | 6 | 3 | 14 | 14 > 4 → sag = 2 |
| 2 | 0 | 2 | 1 | 5 | 5 > 4 → sag = 0 |
| 3 | 0 | 0 | 0 | 2 | 2 < 4 → sol = 1 |
| — | 1 | 0 | 1 ≤ 0 yanlış → döngü biter | ||
3 tur, sonuç −1. 4, 2 ile 5 arasında olurdu; sol sag'ı geçince aralık boşalır. 7 eleman için en çok ⌊log₂ 7⌋ + 1 = 3 tur.
Çoktan Seçmeli · Arama
Soru 24: Sırasız Dizide İkili Arama
İkili arama sıralı olmayan {7, 3, 9, 5, 1} dizisinde 5 için çalıştırılırsa ne olur?
C: Tur 1: orta = 2, 9 > 5 → sag = 1 (5'in bulunduğu sağ taraf yanlışlıkla elendi). Tur 2: orta = 0, 7 > 5 → sag = −1; 0 ≤ −1 yanlış → −1. Yarıyı elemek ancak dizi sıralıysa güvenlidir.
Çoktan Seçmeli · Arama
Soru 25: En Kötü Durumda Karşılaştırma
1000 elemanlı sıralı bir dizide bulunmayan bir değer aranıyor. En kötü durumda doğrusal arama kaç karşılaştırma, ikili arama kaç tur yapar?
A: Doğrusal arama n = 1000 elemanın hepsine bakar: O(n). İkili arama her turda aralığı yarıya indirir: ⌊log₂ 1000⌋ + 1 = 9 + 1 = 10 tur, O(log n). n = 1.000.000'da fark 1.000.000'a karşı 20 olur.
Adım Adım Çalıştırma · Sıralama
Soru 26: Seçmeli Sıralama
[6, 2, 8, 3] dizisi seçmeli sıralama ile sıralanıyor. Her geçişte enK ve dizi nasıl değişir, toplam kaç karşılaştırma yapılır?
Önce kendiniz tahmin edin, sonra › ile ilerleyin.
i = 0: aday en küçük dizi[0] = 6.
j = 1: 2 < 6 → enK = 1. j = 2: 8 < 2 hayır. j = 3: 3 < 2 hayır.
dizi[0] ile dizi[1] yer değiştirir → 2 yerine oturdu.
i = 1: enK = 1 (6). j = 2: 8 < 6 hayır. j = 3: 3 < 6 → enK = 3.
dizi[1] ile dizi[3] yer değiştirir → 3 yerine oturdu.
i = 2: enK = 2 (8). j = 3: 6 < 8 → enK = 3.
Yer değiştir → dizi sıralı. 3 + 2 + 1 = 6 = n(n−1)/2 karşılaştırma, 3 yer değiştirme.
i = 0'dan n-2'ye kadar enK = i j = i+1'den n-1'e kadar eğer dizi[j] < dizi[enK] ise enK = j dizi[i] ile dizi[enK] yer değiştir
Çıktı Sorusu · Sıralama
Soru 27: Kabarcık Sıralama
Erken durmalı kabarcık sıralama [6, 2, 8, 3] dizisine uygulanıyor. Her geçişin sonunda dizi nedir; kaç geçiş ve kaç karşılaştırma yapılır?
tur = 0 tekrarla degisti = yanlış j = 0'dan n-2-tur'a kadar eğer dizi[j] > dizi[j+1] ise dizi[j] ile dizi[j+1] yer değiştir degisti = doğru tur = tur + 1 degisti yanlış olana kadar
Cevabı göster
| geçiş | karşılaştırılan çiftler | sonra |
|---|---|---|
| 1 | (6,2)↔ (6,8) (8,3)↔ | [2, 6, 3, 8] |
| 2 | (2,6) (6,3)↔ | [2, 3, 6, 8] |
| 3 | (2,3) | değişim yok → dur |
3 geçiş, 3 + 2 + 1 = 6 karşılaştırma, 3 yer değiştirme. Dizi 2. geçişte sıralandı ama bunu anlamak için 3. geçiş gerekir: degisti = yanlış.
Çıktı Sorusu · Sıralama
Soru 28: Yerleştirmeli Sıralama
Yerleştirmeli sıralama [6, 2, 8, 3] dizisine uygulanıyor. Her i için dizi nedir ve toplam kaç dizi[j] > anahtar karşılaştırması yapılır?
i = 1'den n-1'e kadar anahtar = dizi[i] j = i - 1 j >= 0 ve dizi[j] > anahtar iken dizi[j+1] = dizi[j] j = j - 1 dizi[j+1] = anahtar
Cevabı göster
| i | anahtar | karşılaştırmalar | sonra |
|---|---|---|---|
| 1 | 2 | 6>2 ✓ (j = −1 durur) | [2, 6, 8, 3] |
| 2 | 8 | 6>8 ✗ | [2, 6, 8, 3] |
| 3 | 3 | 8>3 ✓ 6>3 ✓ 2>3 ✗ | [2, 3, 6, 8] |
Toplam 1 + 1 + 3 = 5 karşılaştırma. j = −1 olunca j >= 0 yanlış olduğu için dizi[j] hiç okunmaz.
Aynı dizi için seçmeli 6, kabarcık 6 karşılaştırma yaptı; yerleştirmeli neredeyse sıralı verilerde en hızlısıdır.
Çoktan Seçmeli · Sıralama
Soru 29: Sıralı Diziyi Sıralamak
Zaten sıralı olan [1, 2, 3, 4, 5] dizisi için hangi eşleştirme doğrudur (yapılan karşılaştırma sayısı)?
B: Seçmeli sıralama girdi ne olursa olsun n(n−1)/2 = 10 karşılaştırma yapar (en iyi durum da O(n²)). Kabarcık ilk geçişte 4 karşılaştırma yapar, hiç değişim olmadığı için durur. Yerleştirmelide her anahtar için tek karşılaştırma: 4 → O(n).
Çıktı Sorusu · Geçmiş Sınav (2024-25 Final A)
Soru 30: Koşullu Dizi Güncelleme
Sınavdaki kodun sözde kod karşılığı aşağıdadır. Döngü bitince dizi ne olur?
dizi = [20, 15, 16, 6, 10, 19, 12, 5, 3, 13] i = 0'dan 9'a kadar eğer dizi[i] % 2 == 0 ise dizi[i] = dizi[i] × 2 değilse eğer dizi[i] % 3 == 0 ise dizi[i] = dizi[i] × 3 diziyi yaz
Cevabı göster
Çıktı: 40 45 32 12 20 19 24 5 9 13
- Çiftler ×2 (yeşil): 20, 16, 6, 10, 12.
- Tek ve 3'e bölünenler ×3 (turuncu): 15 → 45, 3 → 9.
- 6 ve 12 hem çift hem 3'e bölünür ama
değilse eğeryüzünden yalnızca ilk doğru dal çalışır: ×2. - 19, 5, 13 değişmez.
B kitapçığında çarpanlar yer değiştirir: 60 30 48 18 30 19 36 5 6 13.