Bilgisayar Programcılığı bölümü Test 1

Soru 03 / 10

🎓 Bilgisayar Programcılığı bölümü Test 1 - Ders Notu

Bu ders notu, Bilgisayar Programcılığı bölümü Test 1'de karşılaşabileceğiniz temel bilgisayar kavramlarını, programlama mantığını ve ilk kodlama adımlarını sade bir dille özetlemektedir. Amacımız, karmaşık konuları anlaşılır hale getirerek sınavda başarılı olmanıza yardımcı olmaktır.

📌 Bilgisayarın Temel Yapısı ve Çalışma Prensibi

Bir bilgisayar, karmaşık görevleri yerine getiren bir dizi donanım ve yazılım bileşeninden oluşur. Bu bölüm, bilgisayarın ana parçalarını ve nasıl etkileşim kurduklarını açıklar.

  • Donanım (Hardware): Bilgisayarın fiziksel, elle tutulur tüm parçalarıdır (örneğin, klavye, fare, monitör, işlemci, bellek).
  • Yazılım (Software): Bilgisayarın donanımını yöneten ve belirli görevleri yerine getirmesini sağlayan programlar ve verilerdir. İki ana kategoriye ayrılır:
    • Sistem Yazılımları: Bilgisayarın kendisinin çalışmasını sağlayan yazılımlardır (örneğin, İşletim Sistemi - Windows, macOS, Linux).
    • Uygulama Yazılımları: Belirli görevleri yerine getirmek için kullanıcılar tarafından kullanılan yazılımlardır (örneğin, kelime işlemci, web tarayıcı, oyunlar).
  • İşletim Sistemi (Operating System - OS): Bilgisayarın tüm donanım ve yazılım kaynaklarını yöneten, kullanıcı ile bilgisayar donanımı arasında köprü kuran temel sistem yazılımıdır.

💡 İpucu: Donanım bir orkestra gibidir, yazılım ise bu orkestrayı yöneten şef gibidir. Birlikte uyum içinde çalışırlar.

📌 Algoritma ve Akış Şemaları

Programlamanın temelinde, bir problemi çözmek için izlenecek adımların belirlenmesi yatar. Algoritma ve akış şemaları, bu adımları düzenli ve anlaşılır bir şekilde ifade etmenin yollarıdır.

  • Algoritma: Bir problemi çözmek veya belirli bir görevi yerine getirmek için tasarlanmış, adım adım, açık ve sonlu talimatlar dizisidir. Günlük hayatta yemek tarifi veya yol tarifi de birer algoritmadır.
  • Akış Şeması (Flowchart): Bir algoritmanın veya sürecin görsel temsilidir. Farklı şekiller (semboller) kullanılarak adımlar, kararlar ve yönler gösterilir.
    • Başla/Bitir (Oval): Sürecin başlangıcını veya sonunu belirtir.
    • İşlem (Dikdörtgen): Yapılacak bir işlemi veya hesaplamayı gösterir.
    • Giriş/Çıkış (Paralelkenar): Veri girişi veya sonuçların çıktısını belirtir.
    • Karar (Eşkenar Dörtgen): Bir koşulun kontrol edildiği ve sonuca göre farklı yolların izlendiği noktayı gösterir (Evet/Hayır).
    • Akış Yönü (Oklar): Adımlar arasındaki sırayı ve yönü gösterir.

⚠️ Dikkat: Algoritma adımları net, sıralı ve mantıklı olmalıdır. Her adımın tek bir görevi olmalı ve belirsizliğe yer bırakmamalıdır.

📌 Programlamaya Giriş ve Diller

Bilgisayarların bizim istediğimiz görevleri yapması için onlara komutlar vermemiz gerekir. Bu komutları belirli kurallar ve yapılarla yazma sürecine programlama denir.

  • Programlama: Bilgisayarın belirli bir problemi çözmesi veya bir görevi yerine getirmesi için gerekli talimatları (kodu) yazma sürecidir.
  • Programlama Dili: Bilgisayara komutlar vermek için kullanılan, belirli bir sözdizimi (syntax) ve anlambilime (semantics) sahip yapay dildir.
    • Yüksek Seviyeli Diller: İnsan diline daha yakın, okunması ve yazması kolay dillerdir (Python, Java, C#, JavaScript).
    • Düşük Seviyeli Diller: Bilgisayar donanımına daha yakın, makine koduna daha benzer dillerdir (Assembly).
  • Derleyici (Compiler): Yüksek seviyeli bir programlama dilinde yazılmış kodu, bilgisayarın doğrudan anlayabileceği makine koduna (0 ve 1'ler) dönüştüren programdır. Dönüştürme işlemi program çalışmadan önce bir kez yapılır.
  • Yorumlayıcı (Interpreter): Yüksek seviyeli bir programlama dilinde yazılmış kodu, satır satır okuyup anında makine koduna dönüştürerek çalıştıran programdır. Her çalıştırmada yeniden yorumlama yapar.

💡 İpucu: Programlama dilleri, bizimle bilgisayar arasında bir tercüman görevi görür. Derleyici ve yorumlayıcı ise bu tercümanların farklı çalışma şekilleridir.

📌 Değişkenler ve Veri Tipleri

Programlar çalışırken geçici veya kalıcı olarak bilgi saklamaları gerekir. Değişkenler, bu bilgileri sakladığımız "kutular" gibidir; veri tipleri ise bu kutuların içine ne tür bilgilerin konulabileceğini belirler.

  • Değişken (Variable): Program içinde değer saklamak için kullanılan, bellekte ayrılmış bir alana verilen sembolik isimdir. Değeri programın çalışması sırasında değişebilir.
  • Değişken İsimlendirme Kuralları:
    • Harf, rakam ve alt çizgi (_) içerebilir.
    • Bir harf veya alt çizgi ile başlamalıdır (rakamla başlayamaz).
    • Boşluk içeremez.
    • Programlama dilinin anahtar kelimeleri (reserved words) kullanılamaz.
    • Büyük/küçük harf duyarlılığı olabilir (örneğin, "sayi" ile "Sayi" farklı olabilir).
  • Veri Tipi (Data Type): Bir değişkenin hangi türde veri saklayabileceğini (sayı, metin, doğru/yanlış vb.) ve bu veriler üzerinde hangi işlemlerin yapılabileceğini belirler.
    • Tam Sayılar (Integer - int): Negatif veya pozitif tam sayıları saklar (örneğin, $5, -10, 0$).
    • Ondalıklı Sayılar (Float/Double - float): Ondalık kısmı olan sayıları saklar (örneğin, $3.14, -0.5, 10.0$).
    • Karakter Dizileri (String - str): Metinleri ve karakterleri saklar (örneğin, "Merhaba Dünya", "A", "123"). Genellikle çift tırnak (" ") veya tek tırnak (' ') içine yazılır.
    • Mantıksal Değerler (Boolean - bool): Sadece iki değer alabilen veri tipidir: Doğru ($True$) veya Yanlış ($False$).

⚠️ Dikkat: Bir değişken tanımlarken, ona uygun bir veri tipi atamak önemlidir. Örneğin, yaş bilgisini tam sayı (int), isim bilgisini karakter dizisi (string) olarak saklamalısınız.

📌 Operatörler

Operatörler, değişkenler ve değerler üzerinde çeşitli işlemler (matematiksel, karşılaştırma, mantıksal vb.) yapmak için kullanılan sembollerdir.

  • Aritmetik Operatörler: Matematiksel işlemler için kullanılır.
    • Toplama: $+$ ($5+3$)
    • Çıkarma: $-$ ($10-4$)
    • Çarpma: $*$ ($6*2$)
    • Bölme: $/$ ($15/3$)
    • Mod alma (kalan): $\%$ ($10\%3 = 1$ çünkü $10$ üçe bölündüğünde kalan $1$'dir)
  • Karşılaştırma (İlişkisel) Operatörler: İki değeri karşılaştırarak doğru ($True$) veya yanlış ($False$) sonucu verir.
    • Eşit mi?: $==$ ($x == y$)
    • Eşit değil mi?: $!=$ ($a != b$)
    • Büyük mü?: $>$ ($s > t$)
    • Küçük mü?: $<$ ($u < v$)
    • Büyük veya eşit mi?: $>=$ ($p >= q$)
    • Küçük veya eşit mi?: $<=$ ($r <= s$)
  • Mantıksal Operatörler: Mantıksal ifadeleri birleştirmek veya tersine çevirmek için kullanılır, sonuç yine doğru ($True$) veya yanlış ($False$) olur.
    • VE (AND): İki koşulun da doğru olması durumunda doğru döner (örneğin, $x > 5$ AND $y < 10$).
    • VEYA (OR): İki koşuldan en az birinin doğru olması durumunda doğru döner (örneğin, $hava == "yağmurlu"$ OR $hava == "karlı"$).
    • DEĞİL (NOT): Bir koşulun mantıksal tersini alır (örneğin, NOT $isLogin$).
  • Atama Operatörü: Bir değişkene değer atamak için kullanılır.
    • Eşittir: $=$ ($sayi = 10$)

💡 İpucu: Matematikteki işlem önceliği (parantez, çarpma/bölme, toplama/çıkarma) programlamada da geçerlidir. Mantıksal operatörlerde ise NOT > AND > OR şeklinde bir öncelik vardır.

📌 Giriş/Çıkış İşlemleri

Programların kullanıcıyla etkileşime geçebilmesi için giriş (input) alması ve sonuçları kullanıcıya göstermesi (output) gerekir.

  • Giriş (Input): Programın kullanıcıdan veya başka bir kaynaktan (dosya, sensör vb.) veri alması işlemidir. Çoğu programlama dilinde kullanıcıdan klavye aracılığıyla veri almak için özel fonksiyonlar bulunur (örneğin, Python'da input()).
  • Çıkış (Output): Programın işlediği verileri veya sonuçları kullanıcıya (ekran, dosya, yazıcı vb.) göstermesi işlemidir. En yaygın çıkış işlemi, bilgiyi ekrana yazdırmaktır (örneğin, Python'da print()).

⚠️ Dikkat: Kullanıcıdan alınan tüm veriler (sayı bile olsa) genellikle varsayılan olarak metin (string) tipinde gelir. Eğer bu verilerle matematiksel işlemler yapacaksanız, onları uygun sayısal veri tipine (int veya float) dönüştürmeniz gerekir.

📌 Koşullu İfadeler (Karar Yapıları)

Programlar, belirli koşullara göre farklı işlemler yapma yeteneğine sahip olmalıdır. Koşullu ifadeler, programın akışını belirli şartlara göre yönlendirmemizi sağlar.

  • if (Eğer): Belirtilen bir koşul doğru ($True$) ise belirli bir kod bloğunu çalıştırır. Koşul yanlışsa, bu blok atlanır.
  • else if / elif (Aksi Halde Eğer): İlk if koşulu yanlışsa, başka bir koşulu kontrol etmek için kullanılır. Birden fazla else if bloğu olabilir ve sırayla kontrol edilirler.
  • else (Aksi Halde): Önceki tüm if ve else if koşulları yanlış olduğunda çalışacak kodu içerir. Bu, tüm diğer durumlar için varsayılan bir yoldur.

Örnek senaryo:

Eğer hava yağmurlu ise şemsiye al.
Aksi halde eğer hava güneşliyse şapka tak.
Aksi halde (hiçbiri değilse) normal giyin.

💡 İpucu: Koşullu ifadeler, programınızın "karar vermesini" sağlar. Günlük hayattaki "eğer... ise, yoksa..." mantığıyla birebir aynıdır.

↩️ Testi Çözmeye Devam Et
✨ Konuları Gir, Yapay Zeka Saniyeler İçinde Sınavını Üretsin!
1 2 3 4 5 6 7 8 9 10
Geri Dön