4 – Problem Çözme Yaklaşımları Ünitesi Ders Notu

Problem Çözme Yaklaşımları Ünitesi Bilgisayar Bilimi dersinin dördüncü ünitesidir. Aşağıda problem çözme yaklaşımlarını ünitesine ait kitapta yer alan içeriklerin sadeleştirilmiş halini göreceksiniz. Problem çözme yaklaşımları ünitesi, bilgisayar ile nasıl iletişim kurulduğu ve çözümlerin düzenlenmesine ilişkin bilgileri içermektedir. Problem çözme yaklaşımları ünitesinde ayrıca programlama öğrenmenin temeli sayılan algoritma ve akış şemalarına ilişkin teorik bilgiler yer almaktadır.

PROBLEM ÇÖZME YAKLAŞIMLARI
4.1. Bilgisayar ile Nasıl İletişim Kurulur?

Bilgisayarlar ancak donanımları, yazılımları ve onları kullanan kişiler kadar iyidir. Yapılacak işlem için mevcut donanımın yeterli olduğunu varsayarsak bir bilgisayarın etkililiği onu kullanan programcının yetkinliğine bağlıdır. Bilgisayara bir dizi işlem aracılığı ile ne yapması gerektiği söylenmelidir. Bu işlemler bir programlama dili aracılığı ile kodlandığında bir program hâline gelir. Bilgisayarların çok iyi çözdüğü problemler, algoritma yapıda olanlardır yani adım adım işlemlerden oluşan yapılardır. Bu işlemler bilgisayarın anlayabileceği biçimde ifade edilir ve bilgisayar bu satırları sıra ile çalıştırır. Bilgisayarlar bizim konuştuğumuz dili bilemediğinden onlarla anlaşmamız için bizim onların konuştuğu dili öğrenmemiz gerekir.

Bilgisayarın işletim sistemi, dili ve uygulamalarına ilişkin kurallara “söz dizimi” denir. Bir hata oluşursa buna “yazılım hatası”; hatayı bulup düzenleme işlemine ise “hata ayıklama” denir. Yazılım hataları bazen söz dizimi hatalarından bazen de mantık hatalarından kaynaklanabilir. Bu hatalar problem çözme sürecinde bulunarak düzeltilir. Programın hatasız çalışması ve doğru sonucu üretebilmesi için tüm hataların düzeltilmiş olması gerekir.

4.2. Çözümün Düzenlenmesi

Problem çözme sürecini destekleyen bazı düzenleme araçları vardır. “Bunlar;

  1. Problem Analiz Çizelgesi,
  2. Etkileşim Çizelgesi,
  3. GSÇ (Girdi Süreç Çıktı) Çizelgesi,
  4. Algoritmalar,
  5. Akış Şemaları”dır.

Bu araçları kullanmak; çözüme daha hızlı ulaşmak, en etkili programı yazmak, anlaşılır olmak ve süreci kolaylaştırmak için önemlidir.

4.2.1. Problemin Analiz Çizelgesi

Çözümü̈ düzenlemek için önce programın beklentilerini analiz etmek gerekir. Bunun için en iyi yol, problemi dört aşamada ele almaktır:

  1. Eldeki veri
  2. Beklenen sonuç
  3. Problemin çözüm süreci
  4. Çözüm seçenekleri

4.2.2. Etkileşim Çizelgesi Geliştirme

Çözüme ulaşma yolunda ikinci adım, çözüm sürecini modüllere ayırmak ve süreçteki modüllerin birbiri ile etkileşimini görmek için modülleri birleştirmektir. Yönetsel etkileşim çizelgesi hazırlanırken yukarıdan aşağıya yaklaşım kullanılır. Tüm modülleri kontrol eden bir ana kontrol mekanizması dâhilinde süreç yukarıdan aşağıya doğru işler.

4.2.3. GSÇ Çizelgesi

GSÇ (girdi-süreç-çıktı) çizelgesi problem analiz çizelgesindeki bilgiyi detaylandırır ve düzenler. GSÇ çizelgesi dört bölümden oluşur: girdi, süreç, modül referansı ve çıktı.

4.2.4. Algoritmalar

Bu çizelgeleri geliştirdikten sonraki adım, yapılacak işlemleri bilgisayarın anladığı dilde yazabilmektir. Bu yönergeler “algoritma” olarak adlandırılır. “Sözde kod” algoritmaya çok benzer bir dildir ve bazen algoritma yerine kullanılabilir. Algoritmayı oluşturmak, bilgisayarda problem çözme sürecinin en zor bölümüdür. Modüller etkileşim çizelgesinden ve süreç GSÇ çizelgesinden alınır. Algoritmadaki işlem sayısı, programcının problemi çözme yoluna bağlıdır.

4.2.5. Akış Şemaları

Problem çözme sürecimiz, bilgisayarın iletişim kurma yöntemi ile şekillenir. Algoritma, bilgisayara hangi işlemi hangi sırada yapması gerektiğini söyleyen yönergeler bütünüdür. Akış şeması ise algoritmanın görsel gösterimidir. Programcı, oluşturulan algoritmadan grafiksel gösterimler oluşturur. Akış şeması, program geliştirmeye başlamadan önceki son adımdır. Akış şemasında hatalar rahatlıkla görülüp düzeltilebilir. Akış şemalarını oluşturmak için kullanılan evrensel simgeler ve bu her bir simgenin anlamı vardır.

4.3. Algoritma Yönergeleri ve Akış Şeması Sembolleri

Akış şeması, bir problem çözümünün başlangıcından bitişine kadar olan süreci gösterir. Akış şeması içerisindeki her bir simge, algoritmadaki bir işlemi ifade eder. Genellikle işlemler tek yönlü olmasına rağmen karar kutularından iki farklı ok çıkar. Bir karar simgesinden çıkan ok, bazı işlemlerin tekrarlanmasını sağlayabilir; böylece bir “döngü” oluşur.

Akış şemalarını oluştururken dikkat edilmesi gereken bazı noktalar şunlardır:

  1. Yönergeler, simgelerin içine yazılmalıdır.
  2. Hatırlatıcı bilgiler simgenin yanına yazılabilir. Böylece akış şeması ek açıklamalı bir şemaya dönüşür.
  3. Bir akış şeması her zaman sayfanın başından başlar ve sonuna doğru gider. Eğer bir sayfaya sığmazsa bir ya da daha fazla bağlantı simgesi kullanılarak diğer sayfaya geçilebilir.
  4. Akış şemasını çizmek için uygun yazılımlar kullanılırsa daha standart bir görünüm elde edilir.
  5. Simgeler, içeriğindeki yazının rahatça okunabileceği kadar büyük yapılmalıdır.
4.4. Haricî ve Dâhilî Dokümantasyon

İyi programcılar, kodları başkaları tarafından rahatça anlaşılabilsin diye satırlar arasına açıklamalar yazarlar. Bu açıklamalar, diğer programcılar açısından büyük önem taşır çünkü kod üzerinde değişiklik yapılabilmesi için her bir satırın ya da fonksiyonun işlevinin anlaşılması gerekir. Bu şekilde, yazılıma ait “dâhilî dokümantasyon” oluşturulmuş olunur. Kod satırları haricinde yazılımın kullanımına ve teknik gereksinimlere ait bilgilerden oluşan “haricî dokümantasyon” hazırlanır. Bu bilgiler, diğer kullanıcılar tarafından ortaya çıkan problemleri çözmek için kullanılır.

4.5. Çözümün Programlanması/Kodlanması

Akış şeması ve algoritmalar tamamlandıktan sonra istenilen bir programlama dili kullanılarak programın yazılması işlemine geçilir ki bu işleme “programlama” ya da “kodlama” adı verilir. Kodlama sonucunda programın ne kadar hatasız çalıştığı, algoritmanın etkililiğine bağlıdır.

Problem Çözme Yaklaşımları Ünitesi Ders Notu İndir

Bilgisayar Bilimi Kur 1 Kitabı İndir

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir