Konu Anlatımı
Algoritmanın Özellikleri
Bir algoritmanın geçerli sayılması için üç temel özellik taşıması gerekir. Belirginlik: Her adım tek anlamda anlaşılabilir, yoruma açık değildir. Sonluluk: Sonsuza dek sürmez, sonlu adımda biter. Belirsizlik içermeme: Hangi adımda ne yapılacağı önceden bellidir. Ayrıca algoritmanın bir girişi (problem verisi), en az bir işlemi ve bir çıkışı (sonucu) bulunur.
Algoritma, çözüm yolunun tarifidir; program ise bunun bir dilde yazılmış hâlidir. Aynı algoritma farklı dillerde yazılabilir. Algoritmayı kâğıtta kurmak, kod yazmadan önce hataları görünür kılar; bu yüzden profesyonel çalışma akışında tasarım, kodlamanın önündedir.
Akış Şeması Sembolleri
Akış şeması, algoritmanın geometrik sembollerle anlatımıdır. Oval başlangıç ve bitişi, dikdörtgen işlemi, paralelkenar giriş-çıkış (okuma-yazma) adımını, eşkenar dörtgen karar adımını gösterir. Karar adımından çıkan iki yol, evet ve hayır cevaplarına karşılık gelir ve akış iki yöne ayrılır.
Akışın yönü oklarla belirtilir; okun yönü sırayı tayin eder. Döngü oluştuğunda akış geriye doğru bağlanır ve program belirli koşul sağlanana kadar tekrar eder. Şemayı çizerken baştan başlayıp her adımı tek tek bağlamak, atlanan adımları görünür kılar.
| Sembol | Anlam | Tipik Kullanım |
|---|
| Oval | Başla / Bitir | Programın girişi ve sonu |
| Dikdörtgen | İşlem | Toplama, atama, güncelleme |
| Paralelkenar | Giriş / Çıkış | Değer okuma, sonucu yazdırma |
| Eşkenar dörtgen | Karar | Koşul sorma, yol ayrımı |
Temel Algoritmalar
Veri düzenlemek için kullanılan iki klasik algoritma sıralama ve aramadır. Sıralama, öğeleri küçükten büyüğe (veya tersi) dizer; basit yöntemlerde komşu öğeler sürekli karşılaştırılıp yer değiştirir. Arama ise hedefi listede bulmaktır; veri sıralıysa doğrusal arama yerine daha hızlı bir yaklaşım kullanılabilir, sıralıysa aradaki bölüm elenerek ilerlenir.
Bir örnek olarak: komşu karşılaştırmalı sıralamada en soldan başlanır, yan yana iki öğe karşılaştırılır ve büyük olan sağa alınır; tur sonunda en büyük değer en sağa oturur. Turlar bitene kadar sürer. Bu yöntemin mantığı basittir, ancak uzun listelerde yavaştır; bu yüzden veri büyüdükçe daha gelişmiş yöntemler tercih edilir.
Hata Türleri ve Ayıklama
Program hataları ikiye ayrılır. Sözdizimi hatası, dilin kuralına aykırı yazımdır ve program başlatılmayı reddeder. Mantık hatası, program çalışır ancak yanlış sonuç verir; en tehlikelisi budur çünkü hemen fark edilmez. Ayrıca çalışma anı hataları, örneğin tanımsız değere erişim, programı aniden durdurur.
Hata ayıklama sistematik yürütülür: belirgin bir örnek veri seçilir, program adım adım izlenir, her adımdaki değişken değeri beklenenle karşılaştırılır. Farkın görüldüğü adım, hatanın bulunduğu adımdır. Bu yöntem, deneme-yanılmaya kıyasla çok daha hızlı sonuç verir.
Adım Adım Yöntem
- Problemi tek cümleyle tanımla, giriş ve çıkışı belirle.
- Çözümü adım adım yazıya dök, sonra akış şemasıyla çiz.
- Küçük bir örnek veriyle adım adım çalıştırarak doğrula.
- Hata varsa türünü belirle (sözdizimi mi, mantık mı), düzelt ve yeniden test et.
Örnek Uygulama
Not ortalaması hesaplanacaktır. Giriş: üç not. İşlem: notları topla, sayısına böl. Çıkış: ortalama. Akış şemasında başla ovali ile açılır, üç not paralelkenarla okunur, toplama ve bölme dikdörtgende yapılır, sonuç yazdırılır ve bitir ovali ile kapanır. Sonuç yuvarlama kuralıyla karşılaştırıldığında mantık hatası yoksa algoritma doğrulanmış olur.
Sınav Odaklı Bilgiler
Sınavlarda özellik eşleştirme, sembol tanıma, sıralama-arama mantığı ve hata türü soruları yaygındır. Sembol sorularında şekli çizip adlandır: oval yuvarlak, karar dörtgen. Hata sorularında 'çalışıyor ama yanlış veriyor' ifadesini mantık hatası olarak oku. Adım sayısında döngüleri dikkatle say, tekrarları ayrı ayrı değil tur bazında değerlendir.
Ne Öğreneceğiz
Algoritma özelliklerini, akış şeması sembollerini, temel algoritmaları ve hata türlerini ayrıntılı biçimde öğretir. Bu konuda ögrenme çıktıları:
- Algoritmanın temel özelliklerini (belirginlik, sonluluk) açıklar.
- Akış şeması sembollerini anlamlarıyla eşleştirir.
- Sıralama ve arama algoritmasının mantığını yorumlar.
- Sözdizimi ile mantık hatasını ayırt eder.
- Sistematik hata ayıklama yöntemi uygular.
Ön Bilgi
Bu konuya başlamadan önce temel kavram ve ön koşulları kavramanız yardımcı olacaktır. Konunun çerçevesinde şu kavramlar dikkat ister:
- Algoritma dilden bağımsız çözüm tarifidir, program ise onun kodlanmış hâlidir.
- Karar adımından iki yol çıkar: evet ve hayır dalları.
- Döngüde akış, koşul sağlanana kadar geriye bağlanır.
- Mantık hatası program çalışırken ortaya çıkar, bu yüzden daha tehlikelidir.
- Adım adım çalıştırma, hatanın bulunduğu yeri kesin gösterir.
Basit Örnek ve Günlük Yaşam
Günlük yaşamda ve mesleki bağlamda bir uygulama:
Soru: İki sayının toplamını bulan algoritmanın giriş, işlem ve çıkışı nedir?
- Adım 1: Problemin verisini belirle: iki sayı → giriş.
- Adım 2: Yapılacak işi yaz: sayıları topla → işlem.
- Adım 3: Elde edilecek sonucu belirle: toplam → çıkış.
Sonuç/cevap: Giriş iki sayı, işlem toplama, çıkış toplam sonucudur.
Karşılaştırma Tablosu
| Kavram | Açıklama |
|---|
| Algoritma dilden bağımsız çözüm tarifidi | Algoritma dilden bağımsız çözüm tarifidir, program ise onun kodlanmış hâlidir. |
| Karar adımından iki yol çıkar: evet ve h | Karar adımından iki yol çıkar: evet ve hayır dalları. |
| Döngüde akış, koşul sağlanana kadar geri | Döngüde akış, koşul sağlanana kadar geriye bağlanır. |
| Mantık hatası program çalışırken ortaya | Mantık hatası program çalışırken ortaya çıkar, bu yüzden daha tehlikelidir. |
| Adım adım çalıştırma, hatanın bulunduğu | Adım adım çalıştırma, hatanın bulunduğu yeri kesin gösterir. |
Sık Yapılan Hatalar
Algoritma ile programı aynı sanmak: Algoritma çözüm yolunun tarifi, program ise belirli bir dilde yazılmış uygulamasıdır.
Karar sembolünü işlemle karıştırmak: Soru sorup iki yola ayıran eşkenar dörtgen karar, tek işlem yapan dikdörtgendir.
Mantık hatasını önemsememek: Program hatasız çalışsa da yanlış sonuç üretiyorsa kullanıcıya zarar verir; giderilmelidir.
Sıralamada her öğeyi ayrı tur saymak: Karşılaştırmalar tur içinde gerçekleşir; tur ve adım ayrı kavramlardır.
Özet
Algoritma; belirginlik, sonluluk ve belirsizlik içermeme özellikleriyle tanımlanır. Giriş-işlem-çıkış yapısı her algoritmanın iskeletidir. Akış şeması sembolleri (oval, dikdörtgen, paralelkenar, eşkenar dörtgen) görsel çözüm sağlar. Sıralama ve arama algoritmaları veri düzenini kurar. Sözdizimi ve mantık hataları ayrılır, hata ayıklama sistemli test ile yürütülür, çözüm adımları doğrulanarak tamamlanır.
Kendini Dene
Soru: Not ortalaması hesaplama algoritması için akış şeması tarifi hazırlayınız: girdi, işlem ve çıktıyı belirleyiniz, kullanılan sembolleri (oval, dikdörtgen, paralelkenar, eşkenar dörtgen) görevleriyle eşleştiriniz, akışın sırasını ve gerekiyorsa döngünün nasıl gösterileceğini yazıp algoritmanın geçerli üç özelliğini (belirginlik, sonluluk, belirsizlik içermeme) açıklayınız.
Örnek cevap: Puanlama anahtarı: Girdinin üç not, işlemin toplama ve sayısına bölme, çıktının ortalama olarak yazılması (3 puan); oval-başla bitir, dikdörtgen-işlem, paralelkenar-giriş-çıkış, eşkenar dörtgen-karar eşleştirmesi (4 puan); akışın oklarla ve sırayla tarif edilmesi (2 puan); her notun okunması gerekiyorsa döngünün geriye bağlanarak gösterilmesi (2 puan); belirginlik, sonluluk ve belirsizlik içermemenin örnek üzerinden açıklanması (4 puan).