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 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 hafta neleri yapabilmelisiniz?
Bölümün sonunda:
- program ve algoritma kavramlarını birbirinden ayırabilmeli,
- basit bir problemi girdi–işlem–çıktı modeline göre açıklayabilmeli,
- günlük bir işlemin adımlarını sözde kod (pseudocode) ile yazabilmeli,
- Python kodunun yukarıdan aşağıya doğru yürütüldüğünü açıklayabilmeli,
print()kullanarak ekrana metin yazdırabilmeli,- kısa bir programın çıktısını çalıştırmadan önce tahmin edebilmeli,
- basit bir söz dizimi hatasını fark edip düzeltebilmelisiniz.
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.
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:
- Yüklenecek tutarı belirle.
- Ödeme yöntemini seç.
- Ödemeyi gerçekleştir.
- Ödeme başarılıysa bakiyeyi artır.
- 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.

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:
- Girdi olarak hangi bilgiler gerekir?
- Hangi işlem veya işlemler yapılır?
- Çıktı olarak ne gösterilir?
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.
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:
- Python programı okumaya başlar.
- Deyimleri sırasıyla yürütür.
- Bir hata oluşursa hata bilgisi verir ve normal akış kesilebilir.
- 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 iki ayrıntıya dikkat edin:
printküçük harfle yazılır.- Metnin başlangıç ve bitiş tırnakları eşleşmelidir.
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.
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.
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.
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:
- çözümün adımları önemlidir,
- Python deyimleri belirli bir sırayla yürütür,
- küçük bir programın davranışı çalıştırılmadan önce tahmin edilebilir ve çalıştırıldıktan sonra kontrol edilebilir.
Bölüm özeti
Bu hafta şu temel hattı kurduk:
Problem → algoritma → program → çıktı → doğrulama
- Algoritma, çözümün programlama dilinden bağımsız adımlarıdır.
- 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.- 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.
Kendinizi kontrol edin
Kodu çalıştırmadan cevaplamaya çalışın:
- Algoritma ile program arasındaki temel fark nedir?
- Bir yemek siparişi uygulamasında “seçilen ürünler” girdi, işlem veya çıktıdan hangisidir?
- Aşağıdaki program kaç satır çıktı üretir?
print("A")
print("B")
print("C")
print("D")print("Merhaba)satırındaki sorun nedir?- Neden bu hafta kullanıcıdan
input()ile veri almak yerine önceprint()ve program sırasına odaklandık?
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.