PROBLEM ÇÖZME YAKLAŞIMLARI

Ortaöğretim bilgisayar dersi konusu. Problem, problem çözümünün düzenlenmesi, problem analiz çizelgesi, modüller ve girdi süreç çıktı çizelgesi.



Problem Nedir?

Problem, teoriler oluşturularak veya belli kurallar çerçevesinde çözülmesi istenen sorudur.

Bilgisayar yazılım terminolojisinde problem, yazılım dillerini kullanarak bilgisayara yaptırılması istenen bir hesap veya iştir.

Burada probleme bir örnek verelim.

Bir kırtasiyeci her yıl belli ürün türlerini aldığını bu ürünlerden kaç tane aldığını ve kaç tane sattığını bilgisayar ortamında saklamak istediğini söylüyor. Bu bir problemdir.

Bir kırtasiyeci bilgisayar programlama ve ileri matematikten çok fazla anlayamayacağından sadece bu isteğini yani ne yapmak istediğini programcıya söyler. Şimdi programcının önünde bir problem vardır. Programcı oturup düşünecek, kafasında kırtasiyecinin istediği programın nasıl çalışabileceğini neler içereceğini tasarlayacak ve programı yazmaya başlayacaktır.

Problem Çözümünün Düzenlenmesi

Problem çözümünde yardımcı olabilecek bazı araçlar aşağıda verilmiştir.

1- Problem Analiz Çizelgesi

2- Girdi - Süreç- Çıktı Çizelgesi

3- Etkileşim Çizelgesi

4- Algoritmalar

5- Akış şemaları


Problem Analiz Çizelgesi

Problem analiz çizelgesi dört bölümden oluşur.

1- Eldeki veriler

2- Problemin çözüm süreci

3- Beklenen sonuç

4- Çözüm seçenekleri


Şimdi örnek bir soru üzerinde bu bölümlerin herbirini inceleyelim.

6 adet sayının ortalamasını bulmak istiyoruz. 

1- Eldeki veri

Elimizdeki veriler ortalamasını alacağımız 6 adet sayıdır.

2- Beklenen sonuç

Beklenen sonuç bu altı sayının ortalamasıdır.

3- Problemin çözüm süreci

On sayının ortalaması matematiksel olarak aşağıdaki gibi bulunur.

Ort = (sayı1 + sayı2 + …. + sayı6)/6

Çözüm sürecinde bilgisayar bu işlemleri yapacaktır.

4- Çözüm Seçenekleri

6 adet değişken tanımlanır ve bu değişkenler kullanıcı tarafından klavyeden girilecek değerlere atanır. Daha sonra bu değerler ile matematiksel işlemler yapılır.


Etkileşim Çizelgesi

Etkileşim çizelgesi bir programın belirli işleri yapan bölümlerine verilen addır. Örneğin sayıları alan kısım bir modül, bunların toplamını yapan kısım bir modül, toplamdan ortalamayı bulan kısım bir modül olabilir.

Örneğin, kullanıcının gireceği 6 sayıyı toplayıp sonucu ekrana yazdıran programı aşağıdaki gibi yapabiliriz.

Problem_S9R1


Yukarıdaki şekilde görüldüğü gibi kontrol grubu yapılacak tüm işlemlerin komutlarının verildiği bölümdür. Diğer modüller kendilerine verilen iş parçalarını yaparlar ve kontrol modülünün alt modülleridir.

Büyük programlar yüzlerce modüllerden oluşabilmektedir.


Girdi – Süreç – Çıktı Çizelgesi

Programa verilerin girilmesi, gerekli hesaplamaların yapılması ve sonucun ekrana yazılması veya bağlı bir cihaza bir işlem yaptırılması adımlarının hepsine birden, Girdi – süreç – çıktı denilmektedir.

Bu çizelge problem analiz çizelgesindeki verileri detaylandırır ve düzenler.

Girdi – süreç çıktı çizelgesi üç bölümden oluşur.

1- Girdi

Girdi kısmı, program için gerekli olan tüm verilere denilir. Bunlar ortalama bulma örneğinde 6 adet sayı, toplama örneğinde toplanacak olan tüm sayılar, çarpma işleminde çarpılacak olan tüm sayılardır.

2- Süreç ve Modül Referansı

Programın adım adım verilen komutları işlemesine süreç denilir. Modül referansı farklı birimlere iş yaptırıldığında bu bölümlerin yapacağı işlerdir.


Süreç Modül Referansı

Ortalama bulma programında süreç aşağıdaki gibi işler.

Sayıları Oku

Sayıları topla

Sayıları 6’ya böl

Sonucu ekrana yaz

Programı bitir


3- Çıktı

Program sonucu çıktıdır. Çıktı ortalama bulma örneğinde sayıların ortalamasıdır.


Aşağıda C++ programlama dili ile yazılmış bir ortalama bulma örneği verilmiştir.


#include <iostream>


using namespace std;


int main()

{

//Kontrol modülü 

 //Başlangıç modülü. Değişkenler tanımlanıyor

 double dizi[6];

 double toplam =0;

 double ortalama = 0;

 char karar ='D';

 //Değişken tanımlama bitti


 while(karar=='D')

 {

//kullanıcıdan sayılar alınıyor. Girdilerin alındığı bölüm

//Burası aynı zamanda okuma modülüdür

  for(int i = 1; i<=6; i++)

  {

   cout<<i<<". ci sayiyi giriniz: ";

   cin>>dizi[i];

  

  }

//Okuma modülünün bitişi

 //Kullanıcının girdiği sayılar toplanıyor

//Burası 1. hesaplama modülüdür aynı zamanda süreç modülü

  for(int k =0; k<=6; k++)

  {

   toplam = toplam + dizi[k];

  }

 //Hesaplama - 1Modülünün bitişi

//Hesaplama-2 modülü. Aynı zamanda süreç modülü

  ortalama= toplam/6;

 // Hesaplama-2 modülünün bitişi

//Yazdırma Modülünün başlangıcı

  cout<<" Girdiginiz sayilarin ortalamasi "<<ortalama <<" dir"<<endl;

  cin.get();

  //Yazdırma modülünün bitişi

//Kullanıcının tercihine göre program sonlanacak veya devam edecek

  cout<<"Yeni bir hesap yapmak icin D, cikmak icin farkli bir karakter giriniz: ";

  cin>>karar;

  

    }

 return 0;

//Kontrol Modülü Sonu

//Program Bitimi


}

Okuma hesaplama ve yazdırma modülleri ana gövde dışında fonksiyon veya sınıf olarak yazılabilir. Bu modüller aldığı değer göre bir sonuç döndürerek programdan bağımsız çalışabilirler. Bunlar daha sonraki konulardır. Modüller ayrı bir fonksiyon veya sınıf olarak verildiğinde ana gövde kalabalık olmaz. Programın düzenlemesi kolaylaşır. İleri derslerde bunlara örnekler verilecektir.


Problem Çözme Süreci -1


Akış Diyagramları Konu Anlatımı ve Örnekler



SANATSAL BİLGİ

26/11/2017

  • YORUM YAZ
  • ADI SOYADI(veya nick)
  • YORUM

YORUMLAR
Aylin
Problem çözme adımları ile ilgili bir örnek
Sanatsal Bilgi
Merhaba Yunus, Problem çözme süreci, birkaç bölüm halinde yayınlanacaktır. İlk bölümü yayınladık. İlgili link yukarıdaki dersin altında yer alıyor. Birkaç gün içinde hepsi yayınlanmış olur.
Yunus büte
Problem çözme süreci konusu varmı
COPYRIGHT© HER HAKKI SAKLIDIR
Sitede Yer Alan Bilgi Belge Ve Materyallerin İzinsiz olarak Kopyalanması ve Alıntılanması Yasaktır

SANATSAL BILGI