Programlamaya Giriş

Bilgisayar ve Programlamaya Giriş
DillerÇeviriAlgoritmaYazılım süreciTemel yapılar
Sercan KÜLCÜ · Giresun Üniversitesi

Giriş

Öğrenme Çıktıları

Kavramlar

Kaynak kod, makine dili ve programlama dilini ayırt etmek.

Çalıştırma

Derleme, yorumlama ve hibrit çalışma biçimlerini açıklamak.

Problem çözme

Algoritmadan programa giden süreci kurmak.

Yapılar

Değişken, karar, döngü, fonksiyon ve diziyi tanımak.

Temel Kavramlar

Programlama Dili Nedir?

  • İnsanların bilgisayara işlem adımlarını ifade etmesini sağlayan biçimsel bir dildir.
  • Söz dizimi hangi ifadelerin yazılabileceğini, anlam kuralları bu ifadelerin ne yaptığını belirler.
  • Aynı problem farklı dillerle çözülebilir; seçim gereksinim ve ortama bağlıdır.

Temel Kavramlar

Kaynak Kod ve Makine Dili

  • Kaynak kod geliştiricinin okuyup değiştirebildiği program metnidir.
  • Makine dili işlemcinin çalıştırdığı ikili komutlardan oluşur.
  • Derleyici veya yorumlayıcı, kaynak kod ile çalışma ortamı arasında köprü kurar.
Programlama dili ile işlemci dili aynı şey değildir.

Çalıştırma

Program Nasıl Çalışır?

Kaynak kod
Çeviri
Makine / ara kod
Çalıştırma
  • Hata mesajları çeviri veya çalışma sırasında ortaya çıkabilir.
  • Çıktı, verilen girdi ve program mantığına bağlıdır.

Çalıştırma

Çalıştırma Yaklaşımları

YaklaşımİşleyişÖrnek
DerlenenProgram önceden hedef koda çevrilirC, C++, Rust
YorumlananKomutlar çalışma sırasında değerlendirilirPython, JavaScript
HibritAra kod sanal makine veya çalışma ortamında yürütülürJava, C#

Diller

Programlama Dillerinin Seviyesi

  • Düşük seviyeli diller donanıma yakın ve ayrıntılı denetim sağlar.
  • Yüksek seviyeli diller insanın problem ifade etme biçimine daha yakındır.
  • Seviye, bir dilin iyi veya kötü olduğunu değil, soyutlama düzeyini anlatır.

Diller

Kullanım Alanları

Web

İstemci, sunucu ve web servisleri.

Mobil

Telefon ve tablet uygulamaları.

Veri ve yapay zekâ

Analiz, modelleme ve otomasyon.

Sistem

İşletim sistemi, sürücü ve gömülü yazılım.

Bilimsel hesaplama

Simülasyon ve mühendislik çözümleri.

Oyun

Oyun motoru, grafik ve etkileşim.

Diller

Dil Seçerken

  • Problem alanı ve kullanılacak platform değerlendirilir.
  • Kütüphane ekosistemi, topluluk ve bakım maliyeti dikkate alınır.
  • Performans, güvenlik, ekip deneyimi ve dağıtım koşulları birlikte düşünülür.
Popülerlik tek başına doğru dil seçimi için yeterli değildir.

Problem Çözme

Algoritma

  • Belirli bir problemi sonlu ve açık adımlarla çözen yöntemdir.
  • Girdiler, beklenen çıktılar ve özel durumlar koddan önce belirlenir.
  • Bir algoritma farklı programlama dillerinde uygulanabilir.

Problem Çözme

Problemden Programa

Problemi tanımla
Örnekleri dene
Algoritmayı kur
Koda dönüştür
Test et
  • Yanlış tanımlanan problem, doğru çalışan ama yanlış işi yapan programa dönüşebilir.

Problem Çözme

Akış Diyagramı

  • Algoritmadaki işlem, karar ve tekrarları standart simgelerle gösterir.
  • Karmaşık dallanmaları kod yazmadan önce görünür kılar.
  • Diyagram okunabilir kaldığı sürece iletişim ve gözden geçirmeyi kolaylaştırır.

Yazılım

Yazılım Geliştirme Süreci

Gereksinim
Tasarım
Kodlama
Test
Dağıtım
Bakım
  • Aşamalar projeye göre ardışık veya yinelemeli yürütülebilir.
  • Kullanıcı geri bildirimi gereksinimleri ve tasarımı değiştirebilir.

Yazılım

Geliştirme Yaklaşımları

YaklaşımGüçlü yönDikkat
ŞelaleAşamalar ve belgeler nettirDeğişikliğe dönüş maliyetlidir
ÇevikKısa döngülerle geri bildirim alırSürekli iletişim gerektirir
PrototiplemeBelirsiz gereksinimi görünür kılarPrototip ürün sanılmamalıdır

Yazılım

Geliştirme Araçları

Kod düzenleyici / IDE

Kod yazma, tamamlama ve proje yönetimi.

Derleyici / çalışma ortamı

Programı çevirme ve çalıştırma.

Hata ayıklayıcı

Program durumunu adım adım inceleme.

Sürüm kontrolü

Değişiklik geçmişi ve ekip çalışması.

Test araçları

Beklenen davranışı otomatik doğrulama.

Paket yöneticisi

Bağımlılıkları yönetme.

Temel Yapılar

Değişkenler ve Veri Türleri

  • Değişken, program boyunca kullanılan bir değeri adlandırır.
  • Veri türü değerin temsilini ve üzerinde yapılabilecek işlemleri sınırlar.
  • Anlamlı adlar programın amacını görünür kılar.

Temel Yapılar

Karar ve Döngü

  • Karar yapısı koşula göre farklı işlem yollarından birini seçer.
  • Döngü, bir işlem grubunu belirli sayı veya koşul boyunca tekrarlar.
  • Her ikisinde de koşulun ne zaman değiştiği açık olmalıdır.

Temel Yapılar

Fonksiyonlar ve Diziler

  • Fonksiyon belirli görevi adlandırır, girdi alabilir ve sonuç döndürebilir.
  • Dizi aynı türdeki çok sayıda değeri indeksle saklar.
  • Bu yapılar programı küçük, test edilebilir parçalara ayırmaya yardımcı olur.

Özet

Bölüm Özeti

  • Programlama dili algoritmayı bilgisayarın yürütebileceği biçimde ifade eder.
  • Kaynak kod derleme, yorumlama veya hibrit bir süreçle çalıştırılır.
  • Yazılım geliştirme gereksinimden bakıma uzanan yinelemeli bir süreçtir.
  • Değişken, karar, döngü, fonksiyon ve dizi temel programlama yapılarını oluşturur.

Özet

Kontrol Soruları

  1. Kaynak kod ile makine dili arasındaki fark nedir?
  2. Derlenen ve yorumlanan programlar nasıl ayrılır?
  3. Bir algoritma neden programlama dilinden bağımsız düşünülebilir?
  4. Yazılım testinin amacı nedir?
  5. Karar yapısı ile döngünün görevleri nasıl farklıdır?

Son

Programlamaya Giriş
1 / 1Sercan KÜLCÜ, Tüm hakları saklıdır.

← → veya boşluk ile gezinin · F: tam ekran · Home/End: ilk/son slayt