Program, algoritma ve ilk Python programı

Programlama öğrenmeye başlarken asıl hedef, Python’a ait çok sayıda komutu ezberlemek değildir. İlk hedef, bir problemi açık ve sıralı adımlara ayırabilmek, bu adımların bilgisayar tarafından nasıl yürütüldüğünü anlayabilmek ve yazdığımız küçük programın gerçekten beklediğimiz sonucu üretip üretmediğini kontrol edebilmektir.

Bu bölümde henüz değişkenler, tür dönüşümleri veya koşullar gibi ayrıntılara girmeyeceğiz. Önce programlamanın ne işe yaradığını ve nasıl öğrenileceğini konuşacağız; ardından programın ne olduğunu, algoritma ile program arasındaki farkı, girdi–işlem–çıktı modelini ve Python’da ekrana nasıl çıktı verildiğini öğreneceğiz.

Bu bölümün kapsamı

NoteSınavda sorulur
  • algoritma ile programın farkı ve sözde kodun işlevi
  • bir problemi girdi, işlem ve çıktı olarak parçalama
  • Python kodunun yukarıdan aşağıya yürütülmesi
  • print() çıktısını çalıştırmadan tahmin etme
  • söz dizimi hatası veren satırı tanıma
  • yorumlayıcı, düzenleyici ve eklentinin görev ayrımı
  • üretilen kodu teslim etmeden önce doğrulama sorumluluğu
  • Python ve VS Code kurulum adımlarının sırası
  • Windows’ta PATH ve uygulama yürütme diğer adları ayarlarının ayrıntısı
  • VS Code arayüzünün menü ve kısayolları

Bu başlıklar konunun devamıdır; ileride karşınıza çıkar ama bu derste ezberlemeniz beklenmiyor.

Bilgisayar ne yapacağını nereden bilir?

Bir bilgisayar kendi başına hiçbir şeye karar vermez. Ona ne yapacağını, hangi sırayla yapacağını ve sonucu nereye yazacağını biz söyleriz. Bu bölüm o “söyleme” işinin iki katmanını ayırır: çözümü adım adım kurmak ve o adımları çalıştırılabilir koda çevirmek.

Programlamayı neden öğreniyoruz?

Bilgisayarlar tek tek bakıldığında oldukça basit işlemler gerçekleştirir: sayıları karşılaştırır, verileri taşır, metinleri işler ve verilen talimatları uygular. Asıl güçleri, bu işlemleri çok hızlı, çok sayıda ve tutarlı biçimde tekrar edebilmeleridir.

Programlama, bir problemi bilgisayarın uygulayabileceği açık işlemlere dönüştürmemizi sağlar.

Örneğin elinizde öğrencilerin bir sisteme yaptığı girişleri gösteren 10 kayıt olduğunu düşünün. Belirli bir koşulu sağlayan kayıtları elle bulmak kolaydır. Peki aynı işlem 100.000 kayıt için yapılacaksa?

Bir insanın tek tek kontrol etmesi çok zaman alabilir. Buna karşılık doğru yazılmış küçük bir program aynı kuralları binlerce veya milyonlarca kayıt üzerinde kısa sürede uygulayabilir.

NoteProgramlama yalnızca büyük uygulamalar geliştirmek değildir

Bazen amaç bir web sitesi, oyun veya mobil uygulama geliştirmektir. Bazen de birkaç satırlık bir program; dosyaları düzenlemek, verileri filtrelemek, tekrar eden bir işi otomatikleştirmek veya mevcut araçlarla zahmetli olan bir problemi çözmek için yeterlidir.

Bu dersin iki temel amacı vardır. Birincisi, programlamayı gerçek problemlerde kullanabileceğiniz bir araç hâline getirmek; ikincisi ise sonraki programlama ve yazılım geliştirme dersleri için sağlam bir temel oluşturmaktır.

Programlama nasıl öğrenilir?

Programlama yalnızca okuyarak veya bir başkasının kod yazmasını izleyerek öğrenilmez. Açıklamaları okumak ve örnekleri incelemek önemlidir; fakat asıl öğrenme, kodla bizzat uğraştığınızda gerçekleşir.

Bu nedenle ders boyunca sık sık şu döngüyü kullanacağız:

Oku / tahmin et → çalıştır → incele / düzelt → değiştir → üret

İlk denemede hata yapmak bu döngünün dışındaki bir başarısızlık değil, doğrudan döngünün bir parçasıdır. Programlama pratiğinde kod çoğu zaman tek seferde tamamlanmaz; küçük parçalar yazılır, çalıştırılır, hatalar görülür ve program giderek düzeltilir.

TipZor gelmesi olağandır

Programlama başlangıçta farklı bir düşünme biçimi gerektirdiği için bazı kavramlar ilk karşılaşmada zor görünebilir. Bir örneği birkaç kez denemek, hata mesajı almak veya çözümü değiştirip yeniden çalıştırmak programlama öğrenmenin normal parçalarıdır.

Neden Python?

Bu derste Python kullanacağız. Python başlangıç için uygun bir programlama dilidir; ancak bunun nedeni yalnızca sözdiziminin görece sade olması değildir.

  • Okunabilir bir sözdizimine sahiptir.
  • Çok farklı işletim sistemlerinde kullanılabilir.
  • Otomasyon, veri işleme, web geliştirme ve yapay zekâ gibi birçok alanda yaygındır.
  • Başlangıç düzeyinde küçük programlar yazmaya uygun olduğu gibi gerçek projelerde de kullanılabilir.

Python her problem için en iyi dil değildir. Örneğin bazı yüksek performanslı veya donanıma çok yakın uygulamalarda başka diller tercih edilebilir. Buradaki amaç “en iyi dili” seçmek değil, programlamanın temel fikirlerini güçlü ve yaygın bir araçla öğrenmektir.

Python kodunu nerede yazacağız?

Bu derste Python kodunu iki farklı ortamda çalıştırabilirsiniz. Dersin web sayfası, küçük örnekleri hemen denemek için en hızlı yoldur; etkileşimli kod hücreleri tarayıcı içinde çalıştığı için ilk gün herhangi bir kurulum yapmanız gerekmez. Python + VS Code ise kodunuzu dosya olarak saklayacağınız ve dönem boyunca kendi bilgisayarınızda kullanacağınız temel çalışma ortamıdır.

Ortam Ne zaman kullanacağız? Avantajı
Bu web sitesi Ders anlatımı, kısa denemeler ve etkileşimli alıştırmalar Kurulum gerektirmez; kodu doğrudan sayfada çalıştırabilirsiniz.
Python + VS Code Kendi programlarınızı yazarken ve .py dosyalarıyla çalışırken Dosyalarınızı kaydedebilir, yeniden açabilir ve gerçek bir geliştirme ortamında çalışabilirsiniz.
Terminal Gerektiğinde programı doğrudan çalıştırmak ve kurulumun doğru olduğunu kontrol etmek için Python’ın VS Code’dan bağımsız olarak programınızı çalıştıran araç olduğunu görmenizi sağlar.

Üç farklı parça: Python, VS Code ve Python eklentisi

Başlangıçta bu üç araç birbirine karıştırılabilir:

  • Python yorumlayıcısı, yazdığınız Python kodunu gerçekten çalıştırır.
  • Visual Studio Code (VS Code), kodu yazıp düzenlediğiniz editördür.
  • VS Code içindeki Python eklentisi, editöre Python desteği ekler ve doğru Python yorumlayıcısını kullanmasını kolaylaştırır.

Dolayısıyla yalnızca VS Code’u kurmak Python’ı kurmuş olmak anlamına gelmez. Benzer biçimde Python’ı kurduğunuzda da kod yazmak için mutlaka VS Code kullanmanız gerekmez; bu derste ortak ve kullanışlı bir çalışma ortamımız olsun diye VS Code kullanacağız.

1. Python’ı kurun

Python’ı python.org/downloads adresindeki resmî sayfadan indirebilirsiniz. Güncel ve desteklenen bir Python 3 sürümü bu ders için yeterlidir.

Windows’ta python.org kurulum programını kullanıyorsanız, kurulum ekranında sunulan Add python.exe to PATH / Add Python to PATH seçeneğini işaretleyin. Bu seçenek, terminalin python komutuyla kurduğunuz yorumlayıcıyı bulabilmesini kolaylaştırır.

Kurulum tamamlandıktan sonra bir terminal açıp sürümü kontrol edin.

Windows:

py --version

py komutu bulunamazsa şunu da deneyebilirsiniz:

python --version
WarningWindows’ta python Microsoft Store’u açıyorsa

Windows bazı kurulumlarda python.exe ve python3.exe için App execution aliases / Uygulama yürütme diğer adları üzerinden Microsoft Store yönlendirmesi kullanabilir. Python’ı python.org’dan kurduğunuz hâlde python komutu Store’u açıyor, hiçbir beklenen çıktı vermiyor veya yanlış yorumlayıcıyı çalıştırıyorsa:

  1. Önce py --version komutunu deneyin.
  2. Ayarlar → Uygulamalar → Gelişmiş uygulama ayarları → Uygulama yürütme diğer adları bölümünde Store’a ait python.exe / python3.exe diğer adlarını kapatın.
  3. Gerekirse Python kurulumunu yeniden çalıştırıp PATH seçeneğinin etkin olduğunu doğrulayın.

Amaç rastgele ayar değiştirmek değil, terminalde Python 3... çıktısını veren gerçek yorumlayıcıyı bulmaktır.

macOS veya Linux:

python3 --version

Ekranda Python 3... ile başlayan bir sürüm görüyorsanız yorumlayıcı çalışıyor demektir. Burada terminal komutlarını ezberlemeniz beklenmiyor; yalnızca bilgisayarınızda Python’ın gerçekten çalıştığını doğruluyoruz.

2. VS Code’u ve Python eklentisini kurun

  1. code.visualstudio.com adresinden Visual Studio Code’u kurun.
  2. VS Code’u açın ve sol taraftaki Extensions / Eklentiler bölümüne girin.
  3. Python araması yapın ve yayıncısı Microsoft olan Python eklentisini kurun.
  4. VS Code Python yorumlayıcısını otomatik bulamazsa Komut Paleti’ni açıp Python: Select Interpreter komutuyla kurduğunuz Python 3 sürümünü seçin.
NoteŞimdilik başka araçlara ihtiyacınız yok

İlk haftalarda Jupyter, Anaconda, PyCharm, sanal ortam veya ek Python paketleri kurmanız gerekmiyor. Önce tek bir .py dosyasını rahatça yazıp çalıştırabilmek yeterlidir.

3. İlk .py dosyanızı oluşturun

Belgeleriniz içinde ders için bir klasör oluşturabilirsiniz. Örneğin:

programlama-temelleri/
└── hafta01/
    └── ilk_program.py

VS Code’da hafta01 klasörünü açın, ilk_program.py adlı bir dosya oluşturun ve içine şunu yazın:

print("Merhaba, Python!")

Dosyayı kaydedin. Ardından VS Code’un sağ üst kısmındaki Run Python File düğmesiyle çalıştırabilirsiniz. Alt taraftaki terminalde şu çıktıyı görmeniz gerekir:

Merhaba, Python!

Aynı dosya terminalden de çalıştırılabilir. Windows’ta:

py ilk_program.py

macOS veya Linux’ta:

python3 ilk_program.py

Bu iki çalıştırma biçiminin yaptığı temel iş aynıdır: .py dosyanız Python yorumlayıcısına verilir ve program yürütülür.

TipKurulumda takılırsanız AI’den yardım isteyebilirsiniz

Python veya VS Code kurulumu sırasında AI kullanmanızda sakınca yoktur. Hatta teknik bir sorunu açık biçimde tarif etmeyi öğrenmek de yararlı bir beceridir. Yardım isterken işletim sisteminizi, hangi adımda olduğunuzu ve gördüğünüz hata mesajını olduğu gibi belirtin.

Örneğin “Olmuyor” demek yerine şöyle bir soru çok daha yararlıdır:

Windows kullanıyorum. Python’ı kurdum ancak terminalde py --version yazınca şu hatayı alıyorum: .... Kurulumu kontrol etmek için sırayla neleri denemeliyim?

AI’nin önerdiği komutun veya ayarın ne yaptığını anlamadan uygulamayın. Parola, erişim anahtarı veya kişisel bilgi gibi gizli bilgileri de paylaşmayın.

ImportantBu haftanın çalışma ortamı hedefi

Hafta sonunda bilgisayarınızda ilk_program.py gibi basit bir dosya oluşturup çalıştırabiliyorsanız ortamınız hazırdır. Ders sayfasındaki alıştırmaları ise ayrıca doğrudan tarayıcıda çalıştırmaya devam edebilirsiniz.

AI Kullanımı: Bu Derste Ne Zaman, Nasıl?

Bu derste sohbet tabanlı AI araçları tamamen yasak değildir. Mezuniyet sonrasında yazılım geliştirirken bu araçlarla karşılaşmanız çok olasıdır. Ancak Programlama Temelleri dersinde hedef bir coding agent’a proje yaptırmak değil; önce kısa kodu okuyabilmek, davranışı tahmin edebilmek, hatayı araştırabilmek ve bir AI önerisini doğrulayabilmektir.

Dönem boyunca asıl olarak şu becerileri geliştireceğiz:

  • Bir problemi küçük ve uygulanabilir adımlara ayırabilmek,
  • Kısa bir kodun davranışını çalıştırmadan önce tahmin edebilmek,
  • Programın durumunu ve veri akışını takip edebilmek,
  • Hataları rastgele denemelerle değil, sistematik biçimde araştırabilmek,
  • Kendi yazdığınız veya AI tarafından üretilen kısa bir çözümün doğru olup olmadığını test edip değerlendirebilmek.

AI, kod üretme maliyetini önemli ölçüde düşürdü. Birkaç cümlelik istekle saniyeler içinde çalışan bir kod taslağı elde etmek artık mümkündür. Fakat problemi doğru tanımlama, beklenen davranışı belirleme, çıktıyı değerlendirme, hatayı bulma ve sonucu doğrulama ihtiyacı ortadan kalkmadı. Bu yüzden programlama öğrenirken rolünüz yalnızca kod yazan kişi olmak değildir; üretilen kodu anlayan, test eden ve gerektiğinde düzelten kişi olmayı da öğrenmeniz gerekir.

ImportantTemel kural

AI’ye bir işi devretmeden önce, sonucunu nasıl kontrol edeceğinize dair en az bir fikriniz olmalıdır.

AI kullanımı dönem boyunca bir anda serbest veya yasak hâle gelmeyecek. Doğrulama beceriniz geliştikçe izin verilen kullanım da sınırlı biçimde genişleyecek:

Aşama Haftalar Kullanım
Temel zihinsel model 1–6 AI kavram veya hata mesajı açıklayabilir ve ipucu verebilir. Önce kendi tahmininizi veya çözüm denemenizi oluşturmanız beklenir; verilen programlama probleminin çözümünü doğrudan AI’ye yaptırmak bu aşamanın amacı değildir.
Denetimli karşılaştırma ve kısa üretim 7–11 assert, sınır durumları ve sözleşmelerle bir sonucu denetlemeyi öğrendikçe AI’den kısa alternatifler veya kod parçaları istenebilir. Üretilen kodu test edebilmeniz ve neden doğru/yanlış olduğunu açıklayabilmeniz gerekir.
Dosya ve hata inceleme desteği 12–13 AI; dosya/CSV kodundaki olası hata nedenlerini, traceback’i veya kısa bir düzeltme önerisini açıklamada kullanılabilir. Hata türünü, ilgili satırı ve düzeltmenin etkisini öğrencinin kendisi doğrular.
AI çıktısını teknik olarak inceleme 14 Bütünleştirici uygulamada hazır bir AI değişikliği veya önerisi; kabul kriterleri, sınır durumları ve assert kontrolleriyle incelenir. Amaç değişikliği körü körüne kabul etmek değil, kabul / düzelt / reddet kararı verebilmektir.

Coding agent; dosyaları okuyup değiştirebilen, terminal komutları çalıştırabilen ve bir görev üzerinde birden fazla adım atabilen AI aracıdır. Bu kavramla ileride karşılaşacağız; coding agent’ı izin, checkpoint, test ve diff denetimi altında kullanma ise sonraki yazılım geliştirme derslerinin konusudur. Bu derste agent kullanımı bir öğrenme çıktısı değildir.

Bu kademeli model, ders boyunca kullanacağımız Oku / Tahmin Et → Çalıştır → İncele / Düzelt → Değiştir → Üret yaklaşımıyla aynıdır. İlk haftalarda zihinsel modeli siz kurarsınız; ilerleyen haftalarda AI kısa çözüm önerilerine daha fazla katılabilir. Ancak tahmin etme, inceleme, test etme ve açıklama sorumluluğu ortadan kalkmaz; tam tersine daha önemli hâle gelir.

NoteGörevlerde AI durumu açıkça belirtilecek

Bir sınıf içi etkinlik, ödev veya değerlendirme görevinde AI kullanımının uygun olup olmadığı görev açıklamasında ayrıca belirtilir. Özellikle bireysel çekirdek yeterliği ölçen kod izleme, kısa problem çözme ve temel kod yazma görevlerinde AI kullanılmayabilir. AI kullanılan bir görevde ise değerlendirilen şey yalnızca çalışan çıktı değil, çıktıyı nasıl doğruladığınız ve açıklayabildiğinizdir.

Ödev ve sınavlarda yalnızca kodun çalışması değerlendirilmez. Sizden kodun çıktısını tahmin etmeniz, kısa bir kodu adım adım izlemeniz, verilen kodu değiştirmeniz veya bir çözümün neden doğru ya da yanlış olduğunu açıklamanız istenebilir. AI kullanılan çalışmalarda çözümü nasıl doğruladığınızı açıklamanız da istenebilir. Teslim ettiğiniz kodu açıklayamamak veya anlamadan AI çıktısını teslim etmek bu derste kabul edilebilir bir AI kullanımı değildir.

Bilgisayar neyi, nasıl yapacağını nereden bilir?

Bir bilgisayar çok hızlı işlem yapabilir; ancak ne yapılması gerektiğine kendiliğinden karar vermez. Ona yeterince açık talimatlar vermek gerekir.

Örneğin “öğrencinin ders başarı durumunu bul” ifadesi bir insan için anlamlıdır. Bilgisayar açısından ise birçok soru hâlâ cevapsızdır:

  • Hangi bilgiler kullanılacak?
  • Kaç not var?
  • Ortalama nasıl hesaplanacak?
  • Geçme sınırı kaç?
  • Sonuç nasıl gösterilecek?

Programlama, bu belirsizlikleri azaltıp çözümü bilgisayarın uygulayabileceği kadar açık hâle getirme işidir.

ImportantProgramlama yalnızca kod yazmak değildir

Kod, çözümün programlama dilindeki ifadesidir. Problem doğru anlaşılmamış veya çözüm adımları eksik kurulmuşsa sözdizimi doğru bir program bile yanlış sonuç üretebilir.

Algoritma ve program arasındaki fark

Algoritma, bir problemi çözmek veya bir işi tamamlamak için izlenen sonlu ve sıralı adımlar bütünüdür. Algoritmanın Python, Java veya başka bir programlama diliyle yazılması gerekmez.

Bir öğrencinin kampüs kartına bakiye yükleme işlemini düşünelim:

  1. Yüklenecek tutarı belirle.
  2. Ödeme yöntemini seç.
  3. Ödemeyi gerçekleştir.
  4. Ödeme başarılıysa bakiyeyi artır.
  5. Yeni bakiyeyi göster.

Bu adımlar henüz Python kodu değildir. Fakat yapılacak işi açık bir sıraya koyduğu için bir algoritma taslağıdır.

Program ise algoritmanın bilgisayar tarafından çalıştırılabilecek bir programlama diliyle ifade edilmiş hâlidir.

Kısaca:

Problem → algoritma → program → çalıştırma → doğrulama

Bu sıra ders boyunca tekrar tekrar karşımıza çıkacaktır.

Problemden algoritmaya, programa, çalıştırmaya ve doğrulamaya giden temel akış.

Programlama sürecinin temel akışı

Sözde kod

Algoritmayı bir programlama dilinin ayrıntılarına takılmadan yazmak için sözde kod (pseudocode) kullanabiliriz. Sözde kodun tek ve zorunlu bir yazım biçimi yoktur. Önemli olan adımların açık olmasıdır.

Örneğin iki sınav notunun ortalamasını hesaplayan bir çözüm şöyle ifade edilebilir:

BAŞLA
  birinci notu al
  ikinci notu al
  notları topla
  toplamı ikiye böl
  ortalamayı göster
BİTİR

Burada BAŞLA veya BİTİR Python komutu değildir. Ama çözümün sırasını görmemizi sağlar.

Girdi–işlem–çıktı modeli

Başlangıç düzeyindeki birçok programı anlamanın en kolay yollarından biri girdi–işlem–çıktı modelidir.

Bölüm Soru Örnek
Girdi Program hangi verileri alıyor? iki sınav notu
İşlem Bu veriler üzerinde ne yapılıyor? toplama ve ikiye bölme
Çıktı Program hangi sonucu üretiyor? not ortalaması

Bu model her programı açıklamak için tek başına yeterli değildir; ancak ilk problemlerde çok kullanışlıdır.

Kısa düşünme etkinliği

Bir kafede iki ürün satın alındığını düşünün. Program, ödenecek toplam tutarı hesaplayacak.

Aşağıdaki üç soruya kod yazmadan cevap verin:

  1. Girdi olarak hangi bilgiler gerekir?
  2. Hangi işlem veya işlemler yapılır?
  3. Çıktı olarak ne gösterilir?

Alıştırma — aynı problemi sözde kodla yazın

Yukarıdaki kafe problemini bu kez yalnızca girdi–işlem–çıktı başlıklarıyla bırakmayın. İki ürünün fiyatını ve adetini alıp toplam tutarı gösteren çözümü BAŞLA ve BİTİR arasında sıralı sözde kod adımlarıyla yazın.

Örneğin çözümünüz şu tür sorulara açık cevap vermelidir:

  • Hangi dört değer alınacak?
  • Her ürünün ara toplamı hangi işlemle bulunacak?
  • Genel toplam nasıl üretilecek?
  • Hangi değer çıktı olarak gösterilecek?

Bu etkinlikte Python sözdizimi kullanmanız gerekmiyor. Ama adımlar, başka bir öğrencinin aynı algoritmayı okuyup Python’a çevirebileceği kadar açık olmalıdır.

Tip

Bir problemi çözemediğinizde hemen Python kodu yazmaya başlamak yerine önce “Girdim ne? İşlemim ne? Çıktım ne?” sorularını cevaplamak çoğu zaman problemi küçültür. Gerekirse bu üç cevabı sözde kod adımlarına dönüştürün.

Python programı nasıl çalışır?

Python kodu bir Python yorumlayıcısı (interpreter) tarafından yürütülür. Bu derste ilk aşamada yorumlayıcının iç yapısını öğrenmemiz gerekmiyor. Şimdilik şu zihinsel model yeterlidir:

  1. Python programı okumaya başlar.
  2. Deyimleri sırasıyla yürütür.
  3. Bir hata oluşursa hata bilgisi verir ve normal akış kesilebilir.
  4. Program sonuna gelindiğinde çalışma tamamlanır.

İlk programımız yalnızca ekrana bir mesaj yazdırsın:

print("Merhaba, Python!")

print() Python’ın ekrana çıktı vermek için kullandığımız yerleşik fonksiyonlarından biridir. Parantez içindeki "Merhaba, Python!" ise ekrana yazdırılacak metindir.

Şimdilik üç ayrıntıya dikkat edin:

  • print küçük harfle yazılır.
  • Metnin başlangıç ve bitiş tırnakları eşleşmelidir.
  • print() içine virgülle birden fazla değer verirseniz Python bunları varsayılan olarak aralarında bir boşluk bırakarak yazar.

Örneğin:

print("A", "B")

şu çıktıyı üretir:

A B

Gelecek hafta print("Merhaba", ad) gibi kullanımlar gördüğünüzde aradaki boşluğun nereden geldiğini artık biliyor olacaksınız.

Fonksiyon kavramını 6. haftada ayrıntılı olarak öğreneceğiz. Şu anda print() ifadesini “ekrana yazdır” komutu gibi kullanmanız yeterlidir.

Tahmin et, sonra çalıştır

Aşağıdaki kodu önce çalıştırmadan okuyun. Ekrana kaç satır yazılacağını ve satırların hangi sırada görüneceğini tahmin edin.

Tahmininizi yaptıktan sonra Run Code düğmesine basın.

Python bu örnekte kodu yukarıdan aşağıya doğru yürüttüğü için çıktı sırası da kod sırasını izler.

NoteWeb ve PDF sürümü arasındaki fark

Web sürümünde bu hücreyi doğrudan çalıştırabilirsiniz. PDF okuyorsanız aynı etkinliği bilgisayarınızdaki Python ortamında çalıştırabilir veya yalnızca çıktıyı tahmin ederek devam edebilirsiniz.

Alıştırma — İlk çıktıyı tamamla

Aşağıdaki boşluğu doldurarak ekrana tam olarak Merhaba, Python! yazdırın.

print() parantezinin içine bir metin yazacaksanız metni tırnak içine almalısınız.

print("Merhaba, Python!")

Alıştırma — Hatalı kodu düzelt

Aşağıdaki program bilinçli olarak hatalıdır. Önce yalnızca okuyarak problemi bulmaya çalışın. Daha sonra kodu düzeltip çalıştırın.

Bu örnekte başlangıç ve bitiş tırnakları eşleşmediği için Python kodun yapısını doğru biçimde okuyamaz. Bu tür hata bir söz dizimi hatası (syntax error) örneğidir.

Warning

Bir hata mesajı görmek programlamada olağan bir durumdur. Hata mesajı “başarısız oldunuz” anlamına gelmez; programın hangi noktada beklediği yapıyı bulamadığına dair bilgidir. Hata mesajlarını sistematik okumayı ilerleyen haftalarda geliştireceğiz.

Gerçek programlama sürecinde sık kullanılan çalışma biçimi şudur:

Yaz → çalıştır → gözle → düzelt → yeniden çalıştır

Alıştırma — Sırayı değiştir, sonucu gözle

Aşağıdaki kod önce bir ders başlığı, sonra iki bilgi satırı yazdırıyor.

Şimdi kodu şu sonucu üretecek biçimde değiştirin:

Hafta 1
Programlama Temelleri
Python ile ilk program

Yeni bir Python yapısı kullanmanız gerekmiyor. Yalnızca mevcut deyimlerin sırasını değiştirin.

Bu küçük deney önemli bir fikri gösterir: deyimlerin sırası programın davranışının bir parçasıdır.

Alıştırma — Eksik satırı tamamla

Aşağıdaki program üç adımlı küçük bir algoritmayı ekrana yazdırıyor. Ortadaki adımı tamamlayın.

Beklenen çıktı:

1. Dosyayı aç
2. Metni oku
3. Dosyayı kapat

İlk ve üçüncü satırdaki kalıbın aynısını ikinci adım için kullanın.

print("1. Dosyayı aç")
print("2. Metni oku")
print("3. Dosyayı kapat")

Alıştırma — İlk küçük programınızı üretin

Artık başlangıç kodu vermiyoruz. Üç ayrı print() çağrısı kullanarak aşağıdaki çıktıyı üreten programı yazın:

Samsun MYO
Programlama Temelleri
Python'a hoş geldiniz!

Her çıktı satırı için ayrı bir print("...") çağrısı yazın.

print("Samsun MYO")
print("Programlama Temelleri")
print("Python'a hoş geldiniz!")

Neden henüz input() kullanmadık?

Bir programın girdi alabileceğini bu bölümde kavramsal olarak gördük; ancak kullanıcıdan veri alan input() fonksiyonunu, değişkenler ve temel veri türleriyle birlikte gelecek hafta ele alacağız.

Bu bilinçli bir sınırdır. İlk hafta öğrencinin aynı anda hem değişken, hem tür, hem dönüşüm, hem de kullanıcı girdisi ayrıntılarıyla uğraşması yerine şu üç fikri sağlamlaştırıyoruz:

  1. Çözümün adımları önemlidir,
  2. Python deyimleri belirli bir sırayla yürütür,
  3. Küçük bir programın davranışı çalıştırılmadan önce tahmin edilebilir ve çalıştırıldıktan sonra kontrol edilebilir.

Hafta sonu kısa yansıtma

Programlama öğrenirken yalnızca doğru cevaba ulaşmak değil, hangi noktada zorlandığınızı fark etmek de önemlidir. Haftayı bitirmeden önce aşağıdaki sorulara kısa cevaplar verin:

  1. Bu hafta öğrendiğiniz en önemli fikir neydi?
  2. Hangi kavram veya etkinlik hâlâ tam olarak açık değil?
  3. Bir alıştırmada hata yaptıysanız, hatayı nasıl fark edip düzelttiniz?
  4. Bir sonraki hafta benzer bir problemle karşılaştığınızda neyi farklı yaparsınız?

Bu cevapları teslim etmeniz gerekmiyor. Ama özellikle ikinci soruya vereceğiniz cevap, hangi konuyu tekrar etmeniz gerektiğini gösterebilir.

Sınav provası

Önce kendi cevabını seç; sonra cevap anahtarında her şıkkın neden doğru veya yanlış olduğunu oku. Çeldiriciler uydurma değil, bu konuda gerçekten yapılan hatalardır. Sınav maddeleri de bu mantıkla yazılır.

Madde 1. Algoritma ile program arasındaki fark nedir?

  • A. Algoritma Python’da, program C gibi derlenen dillerde yazılır
  • B. Algoritma çözümün dilden bağımsız adımlarıdır; program aynı çözümün bilgisayarın çalıştırabileceği hâlidir
  • C. Algoritma her zaman programdan kısadır
  • D. Algoritma kâğıda yazılır, program ekrana yazılır
  • E. İkisi aynı şeydir; biri Türkçe, diğeri İngilizce terimdir

Madde 2. Bir yemek siparişi uygulamasında “sepete seçilen ürünler” girdi–işlem–çıktı modelinin hangi parçasıdır?

  • A. Çıktı
  • B. Modelin dışında kalan bir ayrıntı
  • C. Girdi
  • D. İşlem
  • E. Hem işlem hem çıktı

Madde 3. Aşağıdaki program kaç satır çıktı üretir?

print("A")
print("B")
print("C")
print("D")
  • A. 3
  • B. 2
  • C. 8
  • D. 4
  • E. 1

Madde 4. Aşağıdaki iki program arasındaki tek fark satırların sırasıdır.

# Program 1
print("Sipariş alındı")
print("Ödeme onaylandı")
# Program 2
print("Ödeme onaylandı")
print("Sipariş alındı")

Bu iki program için hangisi doğrudur?

  • A. İkisi de aynı çıktıyı verir; Python satırları anlamlarına göre sıralar
  • B. Sıra yalnızca değişken kullanıldığında önemlidir
  • C. Program 2 hata verir; ödeme onayı siparişten önce gelemez
  • D. Program 2 yalnızca ilk satırı yazdırır
  • E. İkisi de çalışır ama çıktı sırası farklıdır; Python satırları yukarıdan aşağıya yürütür

Madde 5. Aşağıdaki satır ne yazdırır?

print("A", "B")
  • A. A B
  • B. AB
  • C. "A" "B"
  • D. A, B
  • E. A ve B, iki ayrı satırda

Madde 6. Aşağıdaki iki satırın çıktısı neden farklıdır?

print(2 + 3)
print("2 + 3")
  • A. İkincisi hata verir; tırnak içinde işlem işareti kullanılamaz
  • B. İlki toplama işlemini hesaplayıp 5 yazar; ikincisinde ifade tırnak içinde metin olduğu için 2 + 3 yazılır
  • C. İlki hata verir; print() yalnızca metin alabilir
  • D. İkisi de 2 + 3 yazar; print() hesap yapmaz
  • E. İkisi de 5 yazar; tırnak sonucu değiştirmez

Madde 7. Aşağıdaki satırdaki sorun nedir?

print("Merhaba)
  • A. print yerine Print yazılmalı
  • B. Satır sonunda noktalı virgül eksik
  • C. String’in kapanış tırnağı yok; Python satırın nerede bittiğini anlayamaz
  • D. Hiçbir sorun yok; Merhaba yazdırılır
  • E. Parantez kapatılmamış

Madde 8. Python yorumlayıcısı, VS Code ve VS Code’un Python eklentisi arasındaki görev farkı nedir?

  • A. VS Code kodu çalıştırır, Python yorumlayıcısı yalnızca sözdizimini denetler
  • B. Üçü de kodu çalıştırabilir; hangisinin kullanılacağı tercih meselesidir
  • C. Eklenti Python’ı içerir; ayrıca yorumlayıcı kurmak gerekmez
  • D. Kodu çalıştıran yorumlayıcıdır; VS Code kodu yazdığımız düzenleyici, eklenti ise ikisi arasındaki kolaylıkları sağlayan katmandır
  • E. Yorumlayıcı yalnızca terminalde, VS Code yalnızca dosyada çalışan kodu yürütür

Madde 9. Bu derste AI ile üretilmiş bir kodu teslim etmeden önce ne yapmanız beklenir?

  • A. Kodu bir kez çalıştırıp hata vermediğini görmek
  • B. Değişken adlarını değiştirip kodu kendi yazımınıza benzetmek
  • C. Kodu daha uzun ve ayrıntılı hâle getirmek
  • D. AI kullandığınızı belirtmemek; önemli olan sonucun doğru olmasıdır
  • E. Kodun ne yaptığını açıklayabilmek ve çıktısını örneklerle doğrulamak

Madde 1 — Doğru: B. Aynı algoritma Python’da da başka bir dilde de yazılabilir. Programı ayıran şey çalıştırılabilir olmasıdır.

  • A yanlış: Algoritmanın dili yoktur; belirli bir dile yazıldığı anda zaten program olur.
  • C yanlış: Uzunluk ölçüt değildir. Bir algoritma sayfalarca sürerken programı birkaç satır olabilir.
  • D yanlış: Yazıldığı yüzey farkı değildir. Algoritma bir çözüm planıdır ve bilgisayarda da tutulabilir.
  • E yanlış: Aynı şey değildir. Algoritma çözüm planı, program o planın çalışan hâlidir.

Madde 2 — Doğru: C. Kullanıcıdan gelip programın işleyeceği veridir; tanımı gereği girdidir.

  • A yanlış: Çıktı programın ürettiği sonuçtur; seçilen ürünler ise programa girer.
  • B yanlış: Model tam olarak bu veriyi sınıflandırmak için kullanılır; dışında kalmaz.
  • D yanlış: İşlem, veriyle yapılan hesaptır: toplam tutarı hesaplamak gibi. Ürünlerin kendisi işlem değildir.
  • E yanlış: Ürünler yalnızca programa giren veridir; hesap da sonuç da ayrı parçalardır.

Madde 3 — Doğru: D. Her print() çağrısı kendi satırını yazar ve satır sonuna geçer; dört çağrı dört satır üretir.

  • A yanlış: Dört çağrı var ve hiçbiri atlanmıyor.
  • B yanlış: Satırlar ikişer gruplanmaz; her çağrı bağımsızdır.
  • C yanlış: Her çağrı arasında ayrıca boş satır bırakılmaz; yalnızca dört satır yazılır.
  • E yanlış: Dört çağrının çıktısı tek satırda birleşmez; her biri ayrı satıra yazar.

Madde 4 — Doğru: E. Yürütme sırası yazım sırasıdır. İki program da hatasızdır, yalnızca ekrandaki sıra değişir.

  • A yanlış: Python satırların anlamını yorumlayıp yeniden sıralamaz; yazıldığı sırayla çalıştırır.
  • B yanlış: Sıra her zaman önemlidir; burada da ekrandaki sonucu doğrudan belirler.
  • C yanlış: Bu bir iş kuralı; Python böyle bir denetim yapmaz. İki program da sorunsuz çalışır.
  • D yanlış: Hiçbir satır atlanmaz; ikisi de iki satır yazdırır.

Madde 5 — Doğru: A. Birden fazla argüman verildiğinde print() aralarına varsayılan olarak bir boşluk koyar.

  • B yanlış: Argümanlar bitişik yazılmaz; aralarında varsayılan boşluk vardır.
  • C yanlış: Tırnaklar string’in sınırını gösterir; ekrana yazılan yalnızca içeriktir.
  • D yanlış: Virgül argümanları ayırır, çıktıya yazılmaz.
  • E yanlış: Tek bir print() çağrısı tek satır yazar; argüman sayısı satır sayısını değiştirmez.

Madde 6 — Doğru: B. Tırnak, içindekini hesaplanacak bir ifade olmaktan çıkarıp düz metne çevirir.

  • A yanlış: Tırnak içinde her karakter kullanılabilir; hepsi düz metin sayılır.
  • C yanlış: print() sayı da alır; print(5) geçerli bir çağrıdır.
  • D yanlış: print() kendisi hesap yapmaz ama kendisine verilen ifade çağrıdan önce hesaplanır.
  • E yanlış: Tırnak içindeki karakterler hesaplanmaz, olduğu gibi yazılır.

Madde 7 — Doğru: C. Açılan tırnak kapatılmadığı için metnin sınırı belirsiz kalır ve söz dizimi hatası oluşur.

  • A yanlış: Python büyük/küçük harfe duyarlıdır ve doğru yazım printtir. Buradaki sorun tırnaktır.
  • B yanlış: Python satır sonunda noktalı virgül istemez.
  • D yanlış: Kod çalışmaz; yorumlayıcı satırı okurken hata verir.
  • E yanlış: Parantez kapatılmış; eksik olan kapanış tırnağıdır.

Madde 8 — Doğru: D. Üçü ayrı işler yapar. Kodu yalnızca yorumlayıcı çalıştırır; düzenleyici ve eklenti yazma sürecini kolaylaştırır.

  • A yanlış: Tam tersi. Çalıştıran yorumlayıcıdır.
  • B yanlış: Düzenleyici ve eklenti kod çalıştırmaz; çalıştırma isteğini yorumlayıcıya iletirler.
  • C yanlış: Eklenti yorumlayıcıyı içermez; Python ayrıca kurulur.
  • E yanlış: Böyle bir ayrım yok; her iki durumda da kodu aynı yorumlayıcı çalıştırır.

Madde 9 — Doğru: E. Değerlendirilen şey yalnızca çalışan çıktı değil, o çıktıyı nasıl doğruladığınız ve açıklayabildiğinizdir.

  • A yanlış: Hata vermemesi doğru sonucu ürettiği anlamına gelmez; sınır değerleri yine denenmelidir.
  • B yanlış: Ad değiştirmek anlamayı göstermez; kodun davranışı aynı kalır.
  • C yanlış: Uzunluk doğruluk ölçütü değildir; kısa ve doğrulanmış kod daha değerlidir.
  • D yanlış: Görev açıklamasında istendiğinde AI kullanımı açıkça belirtilir.

Tek sayfa özet

Bu hafta şu temel hattı kurduk:

Problem → algoritma → program → çıktı → doğrulama

  • Programlama, açık kurallarla tekrarlanabilen işlemleri bilgisayara yaptırarak gerçek problemleri çözmemizi sağlar.
  • Programlama; okuyup izlemekten çok, kodu yazarak, çalıştırarak ve değiştirerek öğrenilir.
  • Python okunabilir, yaygın ve genel amaçlı bir programlama dilidir; ancak her problem için tek veya en iyi seçenek değildir.
  • Ders sayfasındaki etkileşimli hücreler kurulum yapmadan deneme yapmanızı sağlar; kendi bilgisayarınızda ise Python yorumlayıcısı, VS Code ve Python eklentisi birlikte temel çalışma ortamınızı oluşturur.
  • Windows kurulumunda PATH ve uygulama yürütme diğer adları, terminalde doğru Python yorumlayıcısının bulunmasını etkileyebilir.
  • AI kod üretme maliyetini düşürmüştür; bu derste AI kullanımı öğrencinin kısa kodu doğrulama becerisi geliştikçe kademeli olarak genişler. Coding agent denetimi sonraki yazılım geliştirme derslerinin konusudur.
  • Algoritma, çözümün programlama dilinden bağımsız adımlarıdır.
  • Sözde kod, algoritma adımlarını Python sözdizimine bağlı kalmadan açıkça ifade etmeye yardım eder.
  • Program, bu çözümün bilgisayar tarafından çalıştırılabilir biçimidir.
  • Girdi–işlem–çıktı modeli başlangıç problemlerini parçalamaya yardım eder.
  • Python kodu temel zihinsel modelimizde yukarıdan aşağıya yürütülür.
  • print() ekrana çıktı vermek için kullanılır; birden fazla argüman varsayılan olarak aralarında boşlukla yazdırılır.
  • Kod yazmadan önce çıktıyı tahmin etmek, programın nasıl çalıştığını anlamanın önemli bir parçasıdır.
  • Hata mesajları programlama sürecinin doğal geri bildirimidir.

Bir sonraki bölümde program artık yalnızca sabit mesajlar yazdırmayacak; değişkenler, temel veri türleri, kullanıcı girdisi ve ifadeler ile gerçek veriler üzerinde işlem yapmaya başlayacaktır.

Bu bölümün kazanımları

Bu bölümü bitiren öğrenci:

  • Algoritma ile programı ayırır ve sözde kodun ne işe yaradığını açıklar.
  • Bir problemi girdi, işlem ve çıktı olarak parçalar.
  • Python kodunun yukarıdan aşağıya yürütüldüğünü kod izleyerek gösterir.
  • print() çağrısının çıktısını çalıştırmadan tahmin eder.
  • Söz dizimi hatası veren satırı tanır ve hata mesajını geri bildirim olarak kullanır.
  • Python yorumlayıcısı, VS Code ve Python eklentisinin görevlerini ayırır.
  • Üretilen kodu teslim etmeden önce doğrulama sorumluluğunu açıklar.
Back to top