Bu dersler, bilgisayar bilimlerinin temelini oluşturur ve problem çözme ve bilgisayarlara talimat verme becerileri kazandırmayı amaçlar.
Algoritma Kavramı ve Temel Yapıları
Algoritma Nedir?
Bir problemi çözmek veya belirli bir görevi yerine getirmek için adım adım talimatlar dizisidir.
Açık, kesin ve sonlu olmalıdır.
Günlük hayattan algoritma örnekleri (yemek tarifi, montaj kılavuzu vb.).
Algoritma Geliştirme Süreci:
Problemi anlama ve tanımlama.
Çözüm için olası adımları belirleme.
Adımları mantıksal bir sıraya koyma.
Algoritmayı farklı senaryolarla test etme.
Algoritma Gösterim Şekilleri:
Sözde Kod (Pseudocode): Günlük dile yakın, programlama dilinden bağımsız ifade biçimi.
Akış Şeması (Flowchart): Algoritmanın adımlarını ve akışını görsel olarak gösteren diyagramlar.
Temel Algoritma Yapıları:
Sıralı Yapı (Sequential Structure): Adımlar sırayla tek tek kontrol edilir.
Karar Yapısı (Decision Structure / Koşullu İfadeler): Belirli bir koşula göre farklı adımların kontrol edilmesini sağlar (örneğin, if, else).
Tekrar Yapısı (Repetition Structure / Döngüler): Belirli bir kod bloğunun birden çok kez kontrol edilmesini sağlar (örneğin, for, while).
Programlama Kavramlarına Giriş
Programlama Dili Nedir?
Bilgisayarlara ne yapmaları gerektiğini söylemek için kullanılan biçimsel dillerdir. Python, Java, C++, JavaScript vb.
Derleyici (Compiler) ve Yorumlayıcı (Interpreter)
Derleyici (Compiler) ve yorumlayıcı (Interpreter), yüksek seviyeli programlama dillerinde yazılmış kaynak kodunu bilgisayarın anlayabileceği makine koduna veya ara bir koda çeviren yazılımlardır. Ancak bu çevirme ve çalıştırma süreçleri birbirinden farklıdır.
Derleyici (Compiler)
1. Nasıl Çalışır?
Tüm Kaynak Kodu Okur: Derleyici, programcının yazdığı tüm kaynak kodunu tek bir seferde okur.
Analiz Eder ve Hataları Kontrol Eder: Kodun sözdizimini (dilin kuralları) ve semantiğini (anlamını) analiz eder. Bu aşamada, yazım hataları, dilin yanlış kullanımı gibi hataları tespit eder.
Hedef Kod Oluşturur: Eğer herhangi bir hata bulunmazsa, derleyici kaynak kodu hedef bir koda (genellikle makine kodu veya assembly kodu gibi düşük seviyeli bir dil) çevirir. Bu hedef kod, belirli bir donanım mimarisine (örneğin, x86, ARM) özgüdür. Bazı durumlarda, hedef kod doğrudan makine kodu yerine, sanal bir makine (VM) üzerinde çalıştırılmak üzere tasarlanmış bir ara kod (bytecode gibi) olabilir.
Çalıştırma: Derleme işlemi tamamlandıktan sonra, elde edilen hedef kod doğrudan işletim sistemi tarafından çalıştırılabilir. Bu çalıştırma, derleme işleminden tamamen ayrı bir aşamadır.
2. Özellikleri:
Tek Bir Çevirme: Kaynak kod sadece bir kez derlenir.
Hızlı Çalışma: Derlenmiş programlar genellikle daha hızlı çalışır çünkü çevirme işlemi önceden yapılmıştır. Çalıştırma sırasında ek bir çeviriye ihtiyaç duyulmaz.
Platform Bağımlılığı (Genellikle): Doğrudan makine koduna derlenen programlar, derlendikleri işlemci mimarisine ve işletim sistemine bağımlıdır. Farklı bir platformda çalıştırmak için yeniden derlenmeleri gerekir. Ancak bytecode üreten derleyiciler (örneğin Java), sanal makine sayesinde platform bağımsızlığı sağlayabilir.
Hata Ayıklama: Hatalar genellikle derleme aşamasında toplu olarak bildirilir. Bu, programcıların tüm hataları görmesini ve düzeltmesini sağlar. Ancak, çalışma zamanı hataları (program çalışırken ortaya çıkan hatalar) yine de oluşabilir.
Örnek Diller: C, C++, Go, Swift, Rust (genellikle doğrudan makine koduna derlenir). Java ve C# (önce bytecode'a derlenir, sonra sanal makine tarafından çalıştırılır).
Yorumlayıcı (Interpreter)
1. Nasıl Çalışır?
Kaynak Kodu Satır Satır Okur: Yorumlayıcı, programın kaynak kodunu satır satır (veya bazen bloklar halinde) okur.
Her Satırı Çevirir ve Anında Çalıştırır: Okuduğu her bir kodu satırını makine koduna veya ara bir koda çevirir ve hemen ardından bu kodu çalıştırır.
Çalıştırma Anında Çeviri: Çevirme ve çalıştırma işlemi eş zamanlı olarak gerçekleşir. Bir sonraki satıra geçmeden önce mevcut satırın işlemi tamamlanır.
2. Özellikleri:
Satır Satır Çevirme ve Çalıştırma: Kod her çalıştırıldığında yeniden yorumlanır.
Yavaş Çalışma (Genellikle): Yorumlanan programlar genellikle derlenen programlara göre daha yavaş çalışır çünkü her satırın her çalıştırmada yeniden çevrilmesi gerekir.
Platform Bağımsızlığı (Daha Kolay): Yorumlayıcılar, yazıldıkları platformda çalıştığı sürece, yorumlanan kodun farklı işletim sistemlerinde veya donanımlarda çalışması daha kolaydır. Kaynak kodun kendisi genellikle platformdan bağımsızdır.
Anında Geri Bildirim ve Hata Ayıklama: Yorumlayıcılar, bir hatayla karşılaştıklarında genellikle o noktada durur ve hatayı bildirir. Bu, geliştirme sırasında hataları daha hızlı bulmaya yardımcı olabilir. Ancak, kodun ilerleyen kısımlarındaki hatalar ancak o kısımlara gelindiğinde fark edilir.
Çekirge 1 Sıçrar... 2 Sıçrar... 3 Sıçrar... 4 Sıçrar... 5 Sıçrar...
Sıçrar Yani Çekirge Sonuçta Bu
Gidenler.Me, hukuka, yasalara, telif haklarına ve kişilik haklarına saygılı olmayı amaç edinmiştir. Gidenler.Me, 5651 Sayılı İnternet Ortamında Yapılan Yayınların Düzenlenmesi ve Bu Yayınlar Yoluyla İşlenen Suçlara Mücadele Edilmesi Hakkında Kanunda tanımlanan -Yer Sağlayıcı- olarak hizmet vermektedir. İlgili yasaya göre, Gidenler.Me yönetiminin hukuka aykırı içerikleri kontrol etme yükümlülüğü yoktur. Bu sebeple, Gidenler.Me -Uyar ve Kaldır- prensibini benimsemiştir. Telif hakkına konu olan eserlerin yasal olmayan bir biçimde paylaşıldığını ve yasal haklarının çiğnendiğini düşünen hak sahipleri veya meslek birlikleri, gidenlerme@gmail.com mail adresinden bize ulaşabilirler. Buraya ulaşan talep ve şikayetler incelenerek ihlal olduğu belirlenen içerikler Gidenler.Me 'den kaldırılacaktır. Ayrıca, mahkemelerden talep gelmesi halinde hukuka aykırı içerik üreten ve hukuka aykırı paylaşımda bulunan üyelerin tespiti için gerekli teknik veriler sağlanacaktır.