Diğer 10 soru

Algoritma ve Programlamaya Giriş Ünite -4 (Güz)

Kaynak: https://lolonolo.com/2025/10/26/algoritma-ve-programlamaya-giris-unite-4-guz/

📖 Konu özeti (sınav öncesi tekrar)

Algoritma ve Programlamaya Giriş Ünite -4 (Güz) : Döngüler

Döngüler (Tekrarlı Yapılar)

Bir programda her işlem ardışık yürütülmez. Bazı işlemlerin belirli bir koşula bağlı olarak veya belirli bir sayıda tekrar edilmesi gerekir. Bir programdaki belli işlemlerin istenen sayıda gerçekleştirilmesini sağlayan bu tekrarlı yapılara döngü (loop) denir. Döngüler tasarlanırken, programın sonsuz döngüye girmemesi için koşullara dikkat edilmelidir.

Döngüler iki ana gruba ayrılır:

10 soru
Şıkka dokun, anında açıklamasını gör — ya da çalışma modunda tüm cevapları aç.
Soru 1
Sonsuz kontrol hangi aşamada yapılır?
ADoğru cevap
Açıklama
“Sonsuz kontrol” ifadesi, muhtemelen koşulun döngüye girmeden önce kontrol edildiği “do while…loop” (veya standart “while”) yapısını kastetmektedir. Bu yapıda koşul, ilgili kod bloğunun başında kontrol edilir.
Soru 2
do loop…while döngüsünde kontrol hangi aşamada yapılır?
BDoğru cevap
Açıklama
“do…loop while” (veya “do…while”) yapısında, kod bloğu en az bir kez çalıştırılır ve döngü koşulunun kontrolü bloğun sonunda yapılır.
Soru 3
Döngü kontrolünün başta ve sonda yapıldığı yapılar hakkında aşağıdakilerden hangisi doğrudur?
CDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

Kontrolü sonda yapılan döngülerde (do-while) işlem, koşula bakılmadan önce en az bir kez yürütülür; koşul ancak sonra test edilir. Bu yüzden koşul kontrolünden önce işlem çalıştığı için, kontrolü başta yapılan döngülere göre sonsuz döngüye girme ihtimali daha fazla kabul edilir. B şıkkı yanlıştır, çünkü "en az bir kez çalışma" özelliği kontrolü sonda olan döngülere aittir.

Soru 4
Aşağıdaki kaba kodla ilgili verilen şıklardan hangisi doğrudur?
sayı = 100
DO WHILE (sayı >= 0)
YAZ (sayı)
LOOP
BDoğru cevap
Açıklama
Kod “DO WHILE” (koşul başta) yapısındadır. Koşul `sayı >= 0` (100 >= 0) doğrudur. Döngü içine girer ve ekrana “100” yazar. Ancak döngü içinde `sayı` değişkeninin değerini değiştiren bir komut (örn: `sayı = sayı – 1`) bulunmamaktadır. Bu nedenle `sayı` hep 100 kalacak, koşul hep doğru olacak ve program sonsuz döngüye girecektir.
Soru 5
10 arasındaki sayıların (10 hariç) toplamınını do while…loop döngüsü kullanarak hesaplamak için gerekli kod aşağıdakilerden hangisidir (sayı = 0, toplam = 0 başlangıçta tanımlanmış varsayılmaktadır)?
BDoğru cevap
Açıklama
10 hariç dediği için koşul `sayı < 10` olmalıdır. Toplamı bulmak için `toplam = toplam + sayı` işlemi yapılmalıdır (A ve C yanlış). Sayacın (`sayı`) döngü içinde artırılması gerekir (D ve E yanlış). `sayı = sayı ++` (veya `sayı = sayı + 1`) artırma işlemini yapar. Doğru yapı B şıkkındadır.
Soru 6
Aşağıda kaba kodu verilen algoritmanın çıktısı ne olur?
toplam = 0
FOR i = 1 TO 5
    toplam = toplam + i
    YAZ(i)
NEXT i
YAZ(toplam)
ADoğru cevap
Açıklama
Döngü `i`=1’den 5’e kadar çalışır. Döngü içinde hem `toplam` hesaplanır hem de `i` değeri yazdırılır.
i=1: toplam=1, YAZ(1)
i=2: toplam=3, YAZ(2)
i=3: toplam=6, YAZ(3)
i=4: toplam=10, YAZ(4)
i=5: toplam=15, YAZ(5)
Döngü biter. Ekrana “1 2 3 4 5” yazılmıştır. Döngüden sonra `YAZ(toplam)` komutu çalışır ve ekrana son toplam değeri olan “15” yazılır. Çıktı: 1 2 3 4 5 15.
Soru 7
Bir for döngüsünde sayaç değişkeninin artması gerektiğini ifade etmek için hangi eleman kullanılır?
EDoğru cevap
Açıklama
PDF (Sayfa 12) Tablo 1’e göre, “Sayılı Döngü” (for döngüsü) altıgen şekil ile gösterilir. Bu eleman, sayacın başlangıç, bitiş ve artış/azalış miktarını içerir.
Soru 8
10-0 arasındaki sayıları for döngüsü kullanarak (10’dan 0’a doğru) yazdırılmak isteniliyorsa aşağıdakilerden hangisi bu yapı ile ilgili doğru bir ifade olur?
DDoğru cevap
Açıklama
10’dan 0’a geriye doğru saymak için `for` döngüsünün başlangıç değeri 10, bitiş koşulu 0 (`>= 0`) olmalı ve her adımda sayaç birer birer azaltılmalıdır (örn: `step -1` veya `i–`).
Soru 9
for döngüsü ile ilgili aşağıdakilerden hangisi yanlıştır?
EDoğru cevap
Açıklama
Çoğu programlama dilinde (ve PDF’te belirtildiği gibi VB’de) `for` döngüsünde artış miktarı (`step`) belirtilmezse, varsayılan olarak +1 artış yapılır. Bu nedenle artış miktarının “mutlaka” belirtilmesi gerektiği ifadesi yanlıştır.
Soru 10
Aşağıdaki algoritmada, kullanıcının girdiği ikiye bölünebilen pozitif bir tam sayıdan başlayarak, 0’a kadar olan çift sayılar ekrana yazdırılmaktadır.
Bu algoritmada boş bırakılan yerlere sırasıyla gelmesi gereken ifadeler hangi şıkta doğru olarak verilmiştir?
OKU (sayı)
i = sayı
DO WHILE i > 0
    _______
    _______
LOOP
CDoğru cevap
Açıklama
Döngü 0’a kadar (0 hariç) çalışmalıdır (`i > 0`). Geriye doğru sayıldığı ve çift sayılar istendiği için sayacın 2 azaltılması gerekir (`i = i – 2`). Döngüye girildiğinde o anki `i` değeri (çift sayı) yazdırılmalı, sonra azaltılmalıdır. Bu nedenle önce `YAZ (i)`, sonra `i = i – 2` gelmelidir.