Konu Anlatımı
Bu derste ne öğreneceğiz?
Bu derste Programlama konusunu önce ne işe yarar sorusundan başlatacağız, sonra çalışma mantığını açacağız. Amacı bilmek, komutun neden öyle yazıldığını anlamanın ilk adımıdır.
Dersten sonra şunları yapabiliyor olmanız gerekiyor:
- Kazanım 1: Girdi, işlem ve çıktı kavramlarını program örnekleriyle ilişkilendirir.
- Kazanım 2: Geçerli değişken adları oluşturur ve veri türlerini ayırt eder.
- Kazanım 3: Dizilerde indeks ile eleman erişimini hesaplar.
- Kazanım 4: Koşul, döngü ve fonksiyon yapılarını çözümde kullanır.
- Kazanım 5: Verilen problem için adım adım basit bir program tasarlar.
Ön bilgi: bundan önce gördüğümüz
Bu konuyu anlamanın ön koşulu Problem Çözme Kavramları ve Yaklaşımları bilgisidir. Problem Çözme Kavramları ve Yaklaşımları konusundaki temel kavramlar bu derste örneklerin üzerinde yeniden karşımıza çıkacak.
- Problem Çözme Kavramları ve Yaklaşımları — bu derste kullandığımız temel kavram buradan geliyor.
- Web Günceleri — bu derste kullandığımız temel kavram buradan geliyor.
Girdi, İşlem ve Çıktı
Her program üç adımlı bir düzende çalışır: kullanıcıdan ya da bir dosyadan girdi alınır, veri üzerinde işlem yapılır ve sonuç çıktı olarak verilir. Bir ortalama hesaplayan programda puanlar girdidir, toplama ve bölme işlemdir, ekrana yazılan ortalama ise çıktıdır. Girdi yoksa işlenecek veri de yoktur; çıktı yoksa çalışmanın sonucu anlaşılmaz.
Değişkenler ve Veri Türleri
Değişken, veriyi saklamak için isimlendirilmiş bellek kutusudur. Değişken adı boşluk içermez, rakamla başlamaz ve büyük-küçük harf duyarlıdır. Veri türü, kutuya konabilecek değerin cinsini belirler:
| Veri Türü | Örnek | Kullanım |
|---|
| Tam sayı | 25 | Adet ve puan işlemleri |
| Ondalık sayı | 4,8 | Ortalama ve ölçüm hesapları |
| Metin | 'Elif' | Ad, adres ve mesaj |
| Liste | [70, 85, 60] | Sıralı çoklu veri |
| Mantıksal | Doğru / Yanlış | Karar durumları |
Diziler (Listeler)
Dizi, sıralı ve çoklu veriyi tek bir değişkende toplar. Elemanlara indeks ile erişilir ve indeks 0'dan başlar; 8 elemanlı bir dizide son elemanın indeksi 7'dir. Eleman sayısı uzunluk fonksiyonuyla, belirli bir eleman ise indeksiyle alınır.
notlar = [70, 85, 60] → üç elemanlı bir dizi tanımlanır.notlar[0] → ilk eleman olan 70 değeri alınır.notlar[2] → son eleman olan 60 değeri alınır.
Koşul, Döngü ve Fonksiyon
Karar verilmesi gereken yerde if yapısı, tekrar eden işte for ve while döngüleri kullanılır. Bir iş birden fazla yerde gerekiyorsa fonksiyon yazılır: parametre alır, işi yapar ve sonuç döner. Böylece kod tekrarlanmaz, tek yerden yönetilir ve hata düzeltmesi kolaylaşır.
Örneğin def ortalama(a, b): ile başlayan blok iki parametre alır, toplayıp ikiye böler ve sonucu geri döndürür. Fonksiyon gövdesi girintiyle belirlenir; girinti kayarsa kod yanlış blokta çalışır.
Adım Adım: Programı Hata Ayıklama
- Beklenen sonuç ile elde edilen sonuç karşılaştırılır.
- Hata hangi girdide çıkıyor belirlenir ve değişken değerleri yazdırılır.
- Hata sözdizimi, mantık ve çalışma zamanı türlerinden birine ayrıştırılır.
- Tek bir düzeltme yapılır ve program tüm örneklerle yeniden denenir.
Sınav Odaklı Özet
Konudan dizide indeks, fonksiyonun dönüş değeri, döngünün çıktı sırası ve ortalama hesabı sorulur. İndeks 0'dan başlar ve ortalama = toplam ÷ eleman sayısı kuralları, soruların yarısını doğrudan çözmeye yeter.
İndex ve Veri Erişimi
Programlama dillerinde dizilerin elemanlarına erişim için indeks kullanılır. İndeks 0'dan başlar ve her eleman için bir sayısal değer atar. Örneğin, notlar = [70, 85, 60] dizisi için notlar[0] ilk eleman olan 70 değerini, notlar[2] son eleman olan 60 değerini alır. Bu sistem, dizilerin sıralı ve düzenli bir şekilde yönetilmesini sağlar.
İndekslerin doğru kullanıldığı durumlarda programın verimliliği artar. Hata ayıklama sırasında indeks hataları, özellikle eleman sayısı ve indeks sınırı ile ilgili sorunlar ortaya çıkar. Örneğin, 8 elemanlı bir dizi için indeks 7'den büyük bir değer girilirse program hata verir. Bu nedenle, indekslerin 0'dan başlayarak eleman sayısına kadar olan değerlerde kullanıldığına dikkat edilmelidir.
Günlük hayattan bir uygulama
Konuyu pekiştirmek için günlük hayattan bir uygulamaya bakmak gerekir. Aşağıdaki görev, Programlama bilgisini gerçek bir işin içinde kullandırmak için hazırlandı; çözerken hangi adımı nerede kullandığımızı not etmek faydalıdır.
Uygulama sorusu: Kitaplıkta kitapları alfabetik sıraya dizmek için gereken algoritmayı adım adım yazınız. Algoritmanızın kesinlik, sıralılık, sonluluk, giriş-çıkış ve etkililik özelliklerini her adımda nasıl karşıladığını açıklayınız.
Bu görev için 15 puan dağıtılmıştır; puanlama anahtarı, cevabın hangi adımlarla gösterilmesi gerektiğini ayrıntılı biçimde söyler. Puanlamada işlem sırasının ve sonuç cümlenin ayrı ayrı sayıldığına dikkat et.
Bu konuyu çalışırken işinize yarayacak notlar
- İndeks sorularında 0'dan saymaya başla; 8 elemanlı dizide son indeks 7'dir diye düşün.
- Döngü sorularında sayaçı kâğıda yaz ve her turda artır, elle takip çoğu soruyu çözer.
- Fonksiyon sorularında parametreleri ve dönen değeri ayrı ayrı takip et, çağırmayı hesaba katma.
- Ortalama sorularında önce toplamı, sonra eleman sayısını bul; iki adımı karıştırma.
Adım adım çözülmüş örnekler
İki örnek üzerinde çalışacağız. İlk örnek kuralın temel kullanımını, ikinci örnek ise kuralın zorlayıcı bir durumunu gösterir. Adımları kendin yazmayı dene; ikinci adımda nerede durduğunu görmek, sınavda zaman kazanır.
Örnek 1: Dizide Elemana Erişme
Soru: notlar = [70, 85, 60] dizisinde 1. indeksteki değer hangisidir?
- Adım 1: İndeksin 0'dan başladığı hatırlanır.
- Adım 2: 0. indeks 70, 1. indeks 85, 2. indeks 60 olarak sayılır.
- Adım 3: İstenen 1. indeks için 85 değeri alınır.
Cevap: 1. indeksteki değer 85'tir.
Bu örnekte adım sayısını not edin: kural her zaman aynı sayıda işlemle değil, kazanılması gereken bilgiye göre çözülür.
Örnek 2: Fonksiyon Çağırma
Soru: İki sayıyı toplayıp döndüren bir fonksiyon 12 ve 8 değerleriyle çağırıldığında sonuç nedir?
- Adım 1: Fonksiyona giden parametreler belirlenir: 12 ve 8.
- Adım 2: Gövde içinde toplama yapılır: 12 + 8 = 20.
- Adım 3: Sonuç döndürülür ve çağıran yerde saklanır.
Cevap: Fonksiyonun döndürdüğü sonuç 20'dir.
Kavram karşılaştırma tablosu
Bu derste geçen terimler birbirine yakın durur ve sınavda karıştırılır. Aşağıdaki tabloda her terimin anlamı ve sık karıştırılan karşılığı yan yana verilmiştir.
| Kavram | Anlamı | Sık karıştırılan karşılığı |
|---|
| Çıktı | Olarak verilir. Bir ortalama hesaplayan programda puanlar girdidir, toplama ve bölme işlemdir, ekrana yazılan ortalama ise çıktıdır. Girdi yoksa işle… | Bu kavram için ayrı bir hata kaydı tutulmamış; tanımıyla ilgili uyarılar aşağıdaki bölümde. |
| Değişken | Veriyi saklamak için isimlendirilmiş bellek kutusudur. Değişken adı boşluk içermez, rakamla başlamaz ve büyük-küçük harf duyarlıdır. Veri türü, kutuy… | Değişkeni tanımlamadan kullanmak |
| Dizi | Sıralı ve çoklu veriyi tek bir değişkende toplar. Elemanlara | İndeksi 1'den saymak |
| İndeks | İle erişilir ve indeks | İndeksi 1'den saymak |
| İndeks 0'dan başlar | Ve | Bu kavram için ayrı bir hata kaydı tutulmamış; tanımıyla ilgili uyarılar aşağıdaki bölümde. |
Kural, formül ve ölçü tablosu
Aşağıdaki tablo bu konudaki kuralları tek bakışta toplar. Karar verirken önce bu tabloya bakmak, kuralı hatırlamakta işe yarar.
| Kural ya da formül | Ölçü / birim | Örnek adımlarında geçiyor mu |
|---|
| Girdi → işlem → çıktı üçlüsü her programın temelidir | Ölçü birimi yok (saf kural) | Evet — Örnek 4: Dizi Boyutu ve İndeks Aralığı |
| Dizi indeksi 0'dan başlar: son elemanın indeksi eleman sayısı − 1 | Ölçü birimi yok (saf kural) | Evet — Örnek 1: Dizide Elemana Erişme |
| Fonksiyon = parametre girer, iş yapar, sonuç döner | Ölçü birimi yok (saf kural) | Evet — Örnek 2: Fonksiyon Çağırma |
| Döngü seçimi: tekrar sayısı biliniyorsa for, koşul süreceğiyse while | Ölçü birimi yok (saf kural) | Evet — Örnek 5: Döngü ile En Büyük Değeri Bulma |
| Ortalama = toplam ÷ eleman sayısı | Ölçü birimi yok (saf kural) | Evet — Örnek 2: Fonksiyon Çağırma |
Sık Yapılan Hatalar
Bu konudaki tipik hataları gözden geçirmek, tekrar hata yapmayı en hızlı azaltan yoldur. Her hatanın gerekçesi yazılmıştır.
- İndeksi 1'den saymak: Dizilerin ilk elemanı 0. indekstedir; 1'den saymak son elemanda bir kaymaya yol açar.
- Fonksiyonu çağırmayı unutmak: Tanımlanan fonksiyon kendiliğinden çalışmaz, çağrılmadığı sürece gövdesi yürütülmez.
- While döngüsünde sayacı artırmamak: Koşul sürekli doğru kalır ve program durmadan dönmeye devam eder.
- Değişkeni tanımlamadan kullanmak: Atama yapılmadan okunan değişken çalışma zamanı hatası verir.
Bu dersten akılda kalması gerekenler
Kısaca: Her program girdi alır, işlem yapar ve çıktı verir. Değişkenler veriyi saklar, diziler sıralı çoklu veriyi indeksle yönetir, koşul yapıları karar verilmesini, döngüler tekrarın otomatik yapılmasını sağlar. Fonksiyon, tekrar eden işi adlandırıp yeniden kullanılabilir kılar. Çıktı kontrol edilerek ve hata ayıklanarak program güvenilir hâle getirilir.
Derste gördüğümüz ana fikirler şunlar:
- Programın temel düzeni girdi almak, işlem yapmak ve çıktı vermektir.
- Dizi indeksi 0'dan başladığı için 8 elemanlı dizide son indeks 7'dir.
- Değişken adı boşluk içermez, rakamla başlamaz ve büyük-küçük harf duyarlıdır.
- Fonksiyon, tekrar eden işi adlandırarak kod tekrarını önler.
- while döngüsünde sayaç güncellenmezse program sonsuz döngüye girer.
- Çalışan programda sıra girdi, işlem ve çıktı adımlarının kontrol edilmesidir.
Kontrol soruları
Kendi kendine dene: çözümü sen yaz, sonra anahtarla karşılaştır. Doğru yaptığın soruların altını çizmek, sınav öncesi hızlı tekrar sağlar.
- while döngüsü içinde sayaç değeri değiştirilmezse program nasıl davranır? (Şıklar: Döngü hiç çalışmaz · Program yalnızca bir kez çalışır · Sonsuz döngüye girer · Koşul otomatik olarak yanlış olur)
- 8 elemanlı bir dizide son elemanın indeksi kaçtır? (Şıklar: 8 · 1 · 7 · 0)
- Bir listede ilk elemanın indeksi kaçtır? (Şıklar: 1 · -1 · Dizinin boyutuna bağlıdır · 0)
Cevap anahtarı: 1) Sonsuz döngüye girer — Koşulun gerçekleşmesi için gerekiyorsa değişme olmaz ve koşul sürekli doğru kalır; program sonsuz döngüde kalır.
2) 7 — İndeks 0'dan başladığı için son elemanın indeksi eleman sayısından bir küçüktür: 8 − 1 = 7.
3) 0 — Dizilerde indekslemeye 0'dan başlanır; ilk elemanın indeksi her zaman 0'dır.
İlgili konular
Bu konuyu öğrenmek şu başlıkları da kolaylaştırır. Aynı üniteden ve sonraki üniteden ikişer konu seçtik:
- Üç Boyutlu Tasarım Programları — sonraki ünitenin başlangıcı; konuyu genişletir.
Kaynak ve doğruluk notu
Bu konuda ölçü, birim ve kural iddiaları hesapla doğrulanmıştır. Programlama için kullanılan her kural, konunun kendi örneklerinde gösterilerek verilmiştir; anlatım kendi ifadelerimizle yeniden düzenlenmiştir.
Ayrıca derste şu açık uçlu görevler yer alıyor; her biri puanlıdır ve kendi cevabını yazmanı ister:
- Kitaplıkta kitapları alfabetik sıraya dizmek için gereken algoritmayı adım adım yazınız. Algoritmanızın kesinlik, sıralılık, sonluluk, giriş-çıkış ve etkililik özelliklerini her adımda nasıl karşılad… (15 puan)
- Bir programın 70, 85 ve 90 değerlerinden ortalamayı hesaplayıp 50 ve üzerindeyse «Geçti» yazmasını sağlayınız. Kullanılan değişkenleri, koşulu ve çıktıyı açıklayınız. (10 puan)
- Dört öğrencinin sınav puanlarını tutan bir program tasarlayınız. Diziyi, döngü ve koşul yapılarını kullanarak puanların ortalamasını bulmayı, en yüksek puanı belirlemeyi ve 70 ve üzeri puan alanları… (20 puan)
- Bir algoritmayı programlama diline çevirirken uyulması gereken dört kural hangileridir? Her kuralın neden önemli olduğunu da açıklayınız. (20 puan)
Kendini Dene
Soru: Kitaplıkta kitapları alfabetik sıraya dizmek için gereken algoritmayı adım adım yazınız. Algoritmanızın kesinlik, sıralılık, sonluluk, giriş-çıkış ve etkililik özelliklerini her adımda nasıl karşıladığını açıklayınız.
Örnek cevap: Puanlama anahtarı: Kitap adının okunması (girdi) adımının yazılması 2 puan; karşılaştırma ve yerleştirme adımlarının sırayla yazılması 4 puan; döngünün ne zaman biteceğinin belirtilmesi (sonluluk) 3 puan; sonucun listelenmesi (çıktı) 2 puan; beş özelliğin adıyla birlikte açıklanması 3 puan; düzen 1 puan. Toplam 15 puan.