Programlamaya Giriş

Programlamaya Giriş · Çalışma Soruları
Programlama diliDerleme ve yorumlamaHata türleriDiller ve seviyelerAlgoritma ve sözde kodAkış diyagramıYazılım süreciTemel yapılar
Her slaytta bir soru · çoktan seçmeli, çıktı ve adım adım çalıştırma soruları. Önce kendiniz çözün, sonra cevabı açın. · Sercan KÜLCÜ

Çoktan Seçmeli · Temel Kavramlar

Soru 1: Söz Dizimi ve Anlam

Programlama dilinin söz dizimi (syntax) ve anlamı (semantics) hakkında hangisi doğrudur?

B: Söz dizimi biçimi (nasıl yazılır), anlam davranışı (ne yapar) tanımlar. A yanlıştır: kuralına uygun yazılmış program yanlış iş yapabilir (mantık hatası). Aynı problem farklı dillerle çözülebilir; seçim gereksinime bağlıdır.

Çoktan Seçmeli · Temel Kavramlar

Soru 2: Kaynak Kod ve Makine Dili

Kaynak kod ve makine dili ile ilgili ifadelerden hangisi yanlıştır?

Kaynak kodinsan okurÇeviriciderleyici/yorumlayıcıMakine dili0101 komutlarİşlemciyürütür

C yanlıştır: işlemci yalnızca kendi makine dilini anlar. Kaynak kod önce derleyici veya yorumlayıcı (Java'da javac + JVM) aracılığıyla çalıştırılabilir hâle getirilir; programlama dili ile işlemci dili aynı şey değildir.

Çoktan Seçmeli · Çalıştırma

Soru 3: Derlenen, Yorumlanan, Hibrit

C, Python ve Java dilleri (yaygın uygulamalarına göre) sırasıyla nasıl sınıflandırılır?

D: C önceden hedef makine koduna derlenir. Python komutları çalışma sırasında (bytecode üzerinden) yürütülür, yorumlanan olarak anılır. Java kaynak kodu bytecode'a derlenir, bytecode JVM'de yürütülür: hibrit. C# da hibrittir.

Çoktan Seçmeli · Çalıştırma

Soru 4: Python Neden Yorumlanan?

CPython bir .py dosyasını nasıl çalıştırır?

C: CPython önce bytecode üretir (bu adım programcıdan gizlidir), sonra sanal makinesinde yürütür; makine kodu dosyası üretilmez. "Yorumlanan" etiketi bu yürütme biçiminden gelir. Derlenen/yorumlanan ayrımı dilin değil, uygulamanın özelliğidir.

Çıktı Sorusu · Çalıştırma

Soru 5: Yazım Hatası: Derleyici ve Yorumlayıcı

3. satırda bir yazım (söz dizimi) hatası var. Program (a) bir derleyiciyle, (b) satır satır çalışan basit bir yorumlayıcıyla çalıştırılırsa ekranda ne görünür?

yaz "Merhaba"
x ← 10
yaz (x + 2     // ) eksik!
yaz "Son"
Cevabı göster

(a) Derleyici: ekranda hiçbir şey görünmez; yalnızca "satır 3: söz dizimi hatası" iletisi çıkar. Çeviri başarısız olduğu için çalıştırılabilir dosya üretilmez, program hiç başlamaz.

Çeviri 1–4satır 3: hataÇalıştırmahiç başlamaz

(b) Basit yorumlayıcı: Merhaba yazılır, x = 10 atanır, satır 3'e gelince hata verip durur; "Son" yazılmaz.

Satır 1MerhabaSatır 2x = 10Satır 3hata!

Modern Python/JavaScript önce tüm dosyayı ayrıştırır, yazım hatasını en başta bildirir.

Adım Adım Çalıştırma · Çalıştırma

Soru 6: Derlenen Programda Sıfıra Bölme

Bu program derlenerek çalıştırılıyor. Çeviri ve çalıştırma aşamalarında sırayla ne olur, ekranda ne görünür?

Önce kendiniz tahmin edin, sonra › ile ilerleyin.

Derleyici programın tamamını okur ve söz dizimini denetler. Henüz hiçbir satır çalışmadı.

x / 0 yazım kuralına uygundur; çeviri başarılı. 0'a bölme bir yazım hatası değildir.

Çalıştırma başlar: satır 1 → Merhaba.

x10

Bellekte x kutusuna 10 yazılır.

10 / 0 hesaplanamaz: çalışma zamanı hatası, program durur. Derleyici bu hatayı yakalayamadı.

Satır 4 hiç çalışmaz; "Son" yazılmaz. Önceki satırlar çoktan çalışmıştı.

yaz "Merhaba"
x ← 10
yaz x / 0
yaz "Son"

Çoktan Seçmeli · Hata Türleri

Soru 7: Yanlış Bölen

Üç notun ortalaması hesaplanırken toplam yanlışlıkla 3 yerine 4'e bölünmüş. Program sorunsuz çalışıyor ama yanlış sonuç veriyor. Bu hangi hata türüdür?

B: Program derlenir ve çalışır, hata iletisi yoktur; ancak sonuç yanlıştır → mantık hatası. Bu tür hatalar ancak test edilerek (beklenen ve gerçek sonucu karşılaştırarak) bulunur.

Çoktan Seçmeli · Hata Türleri

Soru 8: Çalıştırmadan Önce Yakalanan Hata

Aşağıdaki hatalardan hangisi program hiç çalışmadan, derleme sırasında yakalanır?

A: Noktalı virgül eksikliği bir söz dizimi hatasıdır; derleyici satır numarasıyla bildirir ve program üretilmez. B çalışma zamanında (girdi 0 olunca), C ve D ise mantık hatası olarak ancak yanlış sonuçla fark edilir.

Çıktı Sorusu · Hata Türleri

Soru 9: Ortalama Neden 185?

Notları 70, 85 ve 90 olan öğrenci için bu sözde kod ne yazdırır? Beklenen sonuç nedir, hata nerededir?

n1 ← 70
n2 ← 85
n3 ← 90
ort ← n1 + n2 + n3 / 3
yaz "Ortalama: ", ort
Cevabı göster

Çıktı: Ortalama: 185 (beklenen 81.67)

  • Bölme, toplamadan önce yapılır: yalnızca n3 / 3 = 30 hesaplanır.
  • 70 + 85 + 30 = 185.
  • Program çalışır ve hata iletisi vermez: mantık hatası.
  • Düzeltme: ort ← (n1 + n2 + n3) / 3 → 245 / 3 ≈ 81.67.
n170n285n390ort185

Çoktan Seçmeli · Diller

Soru 10: Dil Seviyesi

Programlama dillerinin seviyesiyle ilgili hangisi doğrudur?

B: Assembly, makine komutlarının sembolik karşılığıdır; donanıma çok yakındır. Seviye bir kalite ölçüsü değil, soyutlama düzeyidir: yüksek seviyeli diller (Python, Java) problemi insanın ifade biçimine yakın yazdırır.

Çoktan Seçmeli · Diller

Soru 11: Dillerin Tarihsel Sırası

Aşağıdakilerden hangisi programlama dillerinin ortaya çıkış sırasına uygundur (eskiden yeniye)?

D: 1940–1960: makine dili, assembly ve ilk yüksek seviyeli diller (FORTRAN, COBOL). 1970'ler: C ile yapısal, taşınabilir sistem programlama. 1990 sonrası: Java, Python, JavaScript, C#.

Çoktan Seçmeli · Problem Çözme

Soru 12: Algoritma Olmayan Tarif

Aşağıdakilerden hangisi bir algoritma değildir?

A: Algoritma belirli bir problemi sonlu ve açık adımlarla çözer. A'nın hiçbir durma koşulu yoktur, sonsuza dek sürer. Diğerleri girdisi, çıktısı ve sonu belli tariflerdir.

Adım Adım Çalıştırma · Problem Çözme

Soru 13: Alan ve Çevre Sözde Kodu

Girdi en = 3, boy = 4 iken sözde kod satır satır nasıl çalışır, ne yazdırır?

Önce kendiniz tahmin edin, sonra › ile ilerleyin.

en3

en = 3 okunur; bellekte "en" kutusuna yazılır.

en3boy4

boy = 4 okunur.

İki koşul da doğru → "ise" koluna girilir.

alan = 3 × 4 = 12.

en3boy4alan12cevre14

Önce parantez: 3 + 4 = 7, sonra 2 × 7 = 14.

Metin ve değer yan yana yazılır.

Çevre yazılır.

"değilse" kolu bu çalıştırmada atlanır. Program biter.

oku en
oku boy
eğer en > 0 ve boy > 0 ise
    alan ← en × boy
    cevre ← 2 × (en + boy)
    yaz "Alan: ", alan
    yaz "Çevre: ", cevre
değilse
    yaz "Geçersiz ölçü"

Çıktı Sorusu · Problem Çözme

Soru 14: Sınır Durumu Girdileri

Aynı sözde kod iki kez çalıştırılıyor: (a) en = 0, boy = 5 · (b) en = 5, boy = 2. Her çalıştırmanın çıktısı nedir?

oku en
oku boy
eğer en > 0 ve boy > 0 ise
    alan ← en × boy
    cevre ← 2 × (en + boy)
    yaz "Alan: ", alan
    yaz "Çevre: ", cevre
değilse
    yaz "Geçersiz ölçü"
Cevabı göster

(a) Geçersiz ölçü

  • 0 > 0 yanlıştır; "ve" ile bağlanan koşulun tamamı yanlış olur → değilse kolu. Alan ve çevre hiç hesaplanmaz.

(b)

Alan: 10
Çevre: 14
  • 5 × 2 = 10 ve 2 × (5 + 2) = 14. Farklı dikdörtgenlerin çevresi aynı olabilir.

0 bir sınır durumudur: algoritma tasarlanırken elle denenmesi gereken özel girdilerdendir.

Çıktı Sorusu · Problem Çözme

Soru 15: Not Ortalaması Sözde Kodu

Sözde kod iki öğrenci için çalıştırılıyor: (a) 70, 85, 90 · (b) 40, 55, 62. Çıktılar nedir? (Ortalama 2 ondalık basamağa yuvarlanarak yazılır.)

oku n1, n2, n3
ort ← (n1 + n2 + n3) / 3
eğer ort ≥ 60 ise
    yaz "Geçti: ", ort
değilse
    yaz "Kaldı: ", ort
Cevabı göster

(a) Geçti: 81.67 · (b) Kaldı: 52.33

  • (a) Parantez önce: 70 + 85 + 90 = 245; 245 / 3 ≈ 81.67 ≥ 60 → "ise" kolu.
  • (b) 40 + 55 + 62 = 157; 157 / 3 ≈ 52.33 < 60 → "değilse" kolu.
  • Her çalıştırmada iki koldan yalnızca biri çalışır.
n140n255n362ort52.33

Çoktan Seçmeli · Akış Diyagramı

Soru 16: Karar Simgesinden Çıkış

Akış diyagramında girdi x = 7 ise çıktı ne olur?

Başlaoku xx mod 2 = 0 ?EvetHayıryaz "çift"yaz "tek"Bitir

D: 7 mod 2 = 1 (7'nin 2'ye bölümünden kalan) → "x mod 2 = 0 ?" sorusunun cevabı Hayır → sol kol: tek. Karar (eşkenar dörtgen) simgesinden iki yol çıkar; her çalıştırmada yalnızca biri izlenir. x = 12 olsaydı "çift" yazılırdı.

Çıktı Sorusu · Akış Diyagramı

Soru 17: Döngülü Akış Diyagramı

Akış diyagramındaki algoritma çalıştırıldığında ekrana ne yazılır? Döngü kaç kez döner?

Başlas ← 0 ; i ← 1i ≤ 5 ?Evets ← s + ii ← i + 2Hayıryaz sBitir
Cevabı göster

Çıktı: 9 · döngü gövdesi 3 kez çalışır.

i ≤ 5 ?s ← s + ii ← i + 2
1 ≤ 5 Evet0 + 1 = 13
3 ≤ 5 Evet1 + 3 = 45
5 ≤ 5 Evet4 + 5 = 97
7 ≤ 5 Hayır——
  • Geri dönen ok döngüyü gösterir; i her turda 2 arttığı için koşul sonunda yanlış olur.
  • s, 5'e kadarki tek sayıların toplamıdır: 1 + 3 + 5.

Çoktan Seçmeli · Yazılım Süreci

Soru 18: Geliştirme Aşamalarının Sırası

Yazılım geliştirme döngüsünün aşamaları hangi seçenekte doğru sırada verilmiştir?

GereksinimTasarımKodlamaTestDağıtımBakım

C: Önce kullanıcının ne istediği (gereksinim), sonra plan (tasarım; akış diyagramı burada), kodlama, test (hata varsa kodlamaya dönülür), dağıtım ve bakım. Bakımda gelen yeni istekler döngüyü yeniden başlatır.

Çoktan Seçmeli · Yazılım Süreci

Soru 19: Belirsiz Gereksinim

Müşteri ne istediğini tam anlatamıyor; "ekranları görünce karar veririm" diyor. Bu durumda en uygun ilk adım hangisidir?

D: Prototipleme belirsiz gereksinimi görünür kılar. Dikkat: prototip ürün sanılmamalıdır. Şelalede aşamalar nettir ama geri dönüş maliyetlidir; çevik yaklaşım da kısa döngülerle geri bildirim alır.

Çoktan Seçmeli · Yazılım Süreci

Soru 20: Doğru Araç

"Kodun değişiklik geçmişini tutmak ve ekip olarak aynı proje üzerinde çalışmak" için hangi geliştirme aracı kullanılır?

A: Sürüm kontrolü değişiklik geçmişini ve ekip çalışmasını yönetir. Hata ayıklayıcı program durumunu adım adım inceler, paket yöneticisi bağımlılıkları yönetir, derleyici programı çevirir.

Çoktan Seçmeli · Temel Yapılar

Soru 21: Uygun Veri Türleri

Bir öğrenci için sırasıyla ad, not ortalaması ve dersi geçti mi? bilgileri hangi veri türlerinde saklanmalıdır?

A: Ad karakterlerden oluşur (metin; Java'da String), ortalama 81.67 gibi kesirli olabilir (ondalık; double), geçti mi sorusu doğru/yanlış değer alır (mantıksal; boolean). Veri türü değerin temsilini ve yapılabilecek işlemleri belirler.

Adım Adım Çalıştırma · Temel Yapılar

Soru 22: Tekrarlı Toplama

Sözde kod çalıştırıldığında her turdan sonra toplam ve i ne olur, ekrana ne yazılır?

Önce kendiniz tahmin edin, sonra › ile ilerleyin.

toplam0i1

Başlangıç değerleri atanır.

1. tur: 1 ≤ 4 doğru → toplam = 0 + 1 = 1, i = 2.

2. tur: 2 ≤ 4 → toplam = 1 + 2 = 3, i = 3.

3. tur: 3 ≤ 4 → toplam = 3 + 3 = 6, i = 4.

toplam10i5

4. tur: 4 ≤ 4 doğru (eşitlik dahil) → toplam = 10, i = 5.

5 ≤ 4 yanlış → döngüden çıkılır. i artırılmasaydı koşul hep doğru kalır, döngü sonsuz olurdu.

Çıktı 10 = 1 + 2 + 3 + 4.

toplam ← 0
i ← 1
i ≤ 4 iken tekrarla
    toplam ← toplam + i
    i ← i + 1
yaz toplam

Adım Adım Çalıştırma · Temel Yapılar

Soru 23: Geri Sayan Döngü

Bu sözde kod ekrana hangi sayıları yazar? Döngü kaç kez çalışır?

Önce kendiniz tahmin edin, sonra › ile ilerleyin.

sayac = 10.

10 > 0 → sayac = 7 → yazılır.

7 > 0 → 4.

4 > 0 → 1.

1 > 0 hâlâ doğru → sayac = −2 ve −2 de yazılır: koşul yazmadan önce değil, tur başında denetlenir.

−2 > 0 yanlış → döngü biter. Toplam 4 tur.

Döngüden sonraki satır çalışır.

sayac ← 10
sayac > 0 iken tekrarla
    sayac ← sayac − 3
    yaz sayac
yaz "bitti"

Çoktan Seçmeli · Temel Yapılar

Soru 24: Sonsuz Döngü

Aşağıdaki döngülerden hangisi hiç bitmez?

C: Döngü gövdesi i'yi hiç değiştirmez; 1 ≤ 5 koşulu sonsuza dek doğru kalır ve ekrana durmadan 1 yazılır. Döngülerde koşulun ne zaman değiştiği açık olmalıdır; A, B ve D'de değişken her turda sınıra yaklaşır.

Çıktı Sorusu · Temel Yapılar

Soru 25: Dizi ve İndeks

İndeksler 0'dan başlıyor (Java'daki gibi). Sözde kodun çıktısı nedir?

dizi ← [4, 8, 15, 16, 23]
yaz dizi[2]
yaz dizi[0] + dizi[4]
yaz uzunluk(dizi)
4081152163234
Cevabı göster
15
27
5
  • dizi[2]: ilk öğe 0. indekste olduğu için 3. öğe → 15 (8 değil).
  • dizi[0] + dizi[4] = 4 + 23 = 27: ilk ve son öğe.
  • 5 öğe vardır; son indeks uzunluk − 1 = 4'tür. dizi[5] istenseydi dizinin dışına çıkılırdı.

Adım Adım Çalıştırma · Temel Yapılar

Soru 26: Fonksiyon Çağrısı

Fonksiyon iki kez çağrılıyor. Her çağrıda x ne olur, ne döner ve ekrana ne yazılır?

Önce kendiniz tahmin edin, sonra › ile ilerleyin.

Program fonksiyon tanımını atlar, 4. satırdan başlar: kare(3) çağrılır.

Yeni çağrı açılır; girdi x = 3. 3 × 3 = 9 döndürülür.

Çağrı biter, sonuç a'ya atanır: a = 9. kare'nin x'i artık yok.

Aynı fonksiyon farklı girdiyle: x = 4 → 16 döner.

a9b16

b = 16.

9 + 16 = 25. Fonksiyon bir görevi adlandırır; tekrar tekrar kullanılabilir.

fonksiyon kare(x)
    döndür x × x
son
a ← kare(3)
b ← kare(4)
yaz a + b

Son

Programlamaya Giriş: Çalışma Soruları
Konu anlatımı: Programlamaya Giriş sunumu
1 / 1 Sercan KÜLCÜ, Tüm hakları saklıdır.