5.Problem Çözme Kavramları
Günlük hayatta karşılaştığımız problemler çok çeşitli olmasına rağmen bilgisayar ile çözebildiğimiz yalnızca 3 tür vardır:
Hesaplamalı–matematiksel işlem ve süreçler içeren problemler,
Mantıksal–ilişkisel süreçler içeren problemler,
Tekrarlayan–matematiksel ya da mantıksal bir dizi işlemin yinelenme sürecini içeren problemler.
Bu bölümde, bilgisayara ilişkin temel kavramlar ve belirtilen türdeki problemleri çözmek için kullanılan ifade ve eşitlikler anlatılmaktadır. “Sabit” ve “değişken” önemli iki kavramdır. Programcı işlenmemiş hâlde veriyi alır, işlenmiş hâle yani bilgiye dönüştürür. Bunlar eşitlik ve ifadelerin yapı taşlarıdır. Programcı, problemi çözebilmek için gereken sabit ve değişkenleri, uygun veri türünde, örneğin sayısal olarak tanımlar.
Diğer önemli kavramlar ise operatör ve fonksiyonlardır. “Operatör”, sabit ve değişkenler arasındaki ilişkileri gösteren, eşitlik ve ifadelerde kullanılan işaret ve sembolleri ifade eder. Operatörlerin belirli bir hiyerarşik yapı içerisinde kullanılması gerekir. Operatörler sabit ve değişkenlerle birlikte kullanıldığında “eşitlik” ve “ifade” olarak adlandırılan yapılar oluşur. Eşitlik ve ifadeler ise çözüm sürecinin yapı taşları olan işlemlerdir. “Fonksiyonlar” bir dizi işlem seti olarak tanımlanabilir. Tüm bu kavramları anlama- dan bilgisayarlar ile problem çözmek olası değildir.
6.Veri Türleri
Sayısal Veri: Sayısal veriler tüm sayı tiplerini içerir. Sayısal veri, hesaplama işlemlerinde kullanılabilen tek veri türüdür. Pozitif ya da negatif tam sayılar ve reel sayılar kullanılabilir. Sayısal veriler; açılar, uzaklık, nüfus, ücret, yarıçap gibi hesaplama sürecinde gerekli değerler için tanımlanır. Banka hesap numarası ya da posta kodu gibi sayısal ama hesaplama için kullanılmayan veriler de vardır. Bu tür veriler sayısal olarak tanımlanmaz. Her bir veri türünün bir veri seti vardır. Sayısal veri için tanımlanmış veri seti 0-9 arasındaki sayılar ve “+” ile “–” işaretlerini kapsar. Örneğin 66578 ve -2356 tam sayı örnekleridir. Reel sayılar, tüm reel ve ondalık sayıları kapsar. Örneğin-56.23, 8695.235 ya da 0.005 reel sayı için örneklerdir. Sayıların alabileceği en küçük ve en büyük değerler kullanılan bilgisayar ve programlama diline göre değişebilir.
Alfanümerik/Karakter Veri: Karakter veri seti; tüm tek haneli sayılar (“0”.. “9”), harf ler (“a”..“z”, “A”..“Z”) ve özel karakterleri (“#”, “&”, “*”, ..) kapsar. Bu veri setinden oluşturulan değer, tırnak içinde belirtilir. Büyük ve küçük harf duyarlıdır yani “a” ile “A” farklı algılanır. ASCII (American Standard Codefor Information Interchange) olarak adlandırılan karakter seti 256 karakterden oluşur. Karakterler sadece sayıdan oluşsa bile hesaplama işlemlerinde kullanılamaz. Birden fazla karakter bir araya getirilirse bilgisayar, bu yapıyı “dizi” olarak adlandırır. Karakter ve dizi verileri karşılaştırılabilir ve alfabetik sıraya göre sıralanabilir. Bilgisayar her karaktere bir numara verir ve işlemi bu şekilde gerçekleştirir çünkü bilgisayarlar sayısal işlem yapabilen cihazlardır. Veriler birbirleri ile karşılaştırılır ve azalan ya da artan şekilde sıralanır. Örneğin Muz ile Elma karşılaştırıldığında M harfi E harfinden daha büyük bir sayıya sahip olduğu için Muz dizisinin değeri daha büyüktür. Elif ile Esra karşılaştırıldığında ise Esra daha büyük değer alır çünkü s harfi l harfinden daha sonra gelir. Büyük harflerin küçük harflerden daha düşük sayısal değerleri vardır.
Karakterler ve diziler + operatörü kullanarak birbirine bağlanabilir. Birleştirme olarak adlandırılan bu işlem, iki karakter parçasını yan yana getirir. Örneğin “6”+“6” = “66” olur. Genellikle matematiksel işlem gerektirmeyen verilerin, dizi şeklinde tanımlanması önerilir.
Mantıksal Veri: Mantıksal veri, veri setinde yalnızca iki kelime barındırır: doğru ve yanlış. Bu veri evet ya da hayır şeklindeki karar verme süreçlerinde kullanılır. Örneğin elde edilen değer, beklenen değer mi, evli mi, arabası var mı, öğrenci lise mezunu mu gibi sonucu kesin doğru ya da yanlış olan durumlarda mantıksal veri tanımlaması yapılır. Bu kelimeler ayrılmış özel kelimelerdir ve dizi olarak algılanmaz.
Veri Türleri İçin Kurallar
Tanımladığınız veri genellikle sayısal, karakter, dizi ya da mantıksal olmalıdır.
Programcı programlama sürecinde verinin adını ve türünü belirtir. Bilgisayar çalışmaya başladığında verinin adı ile türünü eşleştirir.
Veri türleri karışık kullanılamaz. Örneğin sayısal olarak tanımlanmış bir veri, dizi olarak algılanamaz. Bu durumda bilgisayar, beklediği veri türü ile karşılamaz ve hata verir.
Her bir veri türü kendisi için tanımlı veri setini kullanır.
Matematiksel işlemlerde kullanılacak tüm veriler sayısal olarak, diğerleri karakter ya da dizi olarak tanımlanmalıdır.
Programcılar kendi tanımladıkları veri türlerini de oluşturabilirler. Kullanıcı tanımlı olarak adlandırılan bu veri türleri, bugünün tarihi, hedef, varılacak süre gibi hem dizi hem de sayısal veriler içeren yapılar oluşturulabilir.
Örnekler
7.Bilgisayar Veriyi Nasıl Saklar?
Bilgisayar veriyi hafızada saklar. Her bir değişken için hafızada belirli bir alan ayrılır ve bu alan her seferinde tek bir değer saklayabilir. Kullanıcı, var olan değer yerine yeni bir değer atadığında eski değer silinir. Hafızada bu konumlar geçicidir. Programın çalışması bittiğinde ya da bilgisayar kapatıldığında bu veriler silinir. Verilerin daha sonra tekrar kullanılması gerekiyorsa sabit disk gibi kalıcı bir konuma kaydedilmeleri gerekir. Bu şekilde kaydedilen verilere “dosya” adı verilir. Temel anlamda program dosyaları ve veri dosyaları olmak üzere iki dosya türü vardır. Program dosyaları, bilgisayarın yapması istenen komutları ve işlemleri içerir. Veri dosyaları ise programlar çalışırken gereken verileri kapsar.
8.Sabit ve Değişkenler
Bilgisayarlar problemleri çözmek için süreç boyunca sabit ve değişken olarak adlandırılan verileri kullanır. “Sabit” olarak tanımlanan veriler problemin çözüm süreci boyunca asla değişmeyen değerlerdir. Sabit değerler sayısal, karakter ya da özel semboller olabilir. Bu durumda bu değere bilgisayarın hafızasında bir yer ayrılır ve bir isim verilir. Program çalıştığı sürece bu değer kendisine verilen isim ile çağrılır ve değeri asla değiştirilemez. Örneğin, pi değeri değişmeyen bir değer olacağı için sabit olarak tanımlanmalıdır.
Bu durumun tam tersi şekilde bir “değişken” tanımlandığında değeri, program çalıştığı sürece değişebilir. Değişkenlere taşıdığı değerleri ifade eden isimler verilir, bu şekilde belirleyici özellikleri de oluşur. Programcılar çözüm sürecinde ihtiyaç duyulan her bir değişkene ayrı bir isim vermelidir. Böylece bilgisayar bu ismi, ilgili değeri hafızada bulmak için kullanır. Değişken, farklı veri türlerinde olabilir ancak ismi, içerdiği değer ile tutarlı olmalıdır. Örneğin fiyat isimli bir değişenin içerisinde 50 değeri atanmış olabilir, program çalıştığı süre içerisinde bu değer değişebilir ancak değişkenin ismi hiçbir zaman değişmez.
Değişkenlere isim verirken ve bunları kullanırken dikkat edilmesi gereken kurallar şunlardır:
Değişkene içerdiği değer ile tutarlı isimler veriniz.
Değişkenlere isim verirken boşluk kullanmayınız.
Değişkenlere isim verirken bir karakter ile başlayınız.
Matematiksel semboller kullanmamaya dikkat ediniz.
Aşağıda “Doğru” ve “Yanlış” olarak kullanılmış değişken isimleri yer almaktadır:
Değişken isimleri konusunda aşağıdaki noktalara dikkat edilmelidir.
Bazı platformlar desteklemediği için Türkçe karakter kullanımı tavsiye edilmez.
Programlama dillerinde kullanılan komut isimleri değişken olarak kullanılamaz. Çok bilinenleri; if, for, while, else, do, int, vb.
Değişken isimlendirmelerinde boşluk karakteri yerine alt çizgi ( _ ) karakteri kullanılabilir ancak değişken isimlendirmede genellikle küçük harf le başlanır ve ikinci bir kelime yazılacaksa ilk kelimenin hemen ardından büyük harf le devam edilir. Buna “Camel Karakter” kullanımı denir. Örnek: tcKimlikNo
Özel karakterler değişken isimlerinde kullanılamaz (*,/, -,+, #,%,&,(,=,?,$,[,{ gibi…).
Problem Çözme Kavramları konusu ile ilgili sunum dosyasına ve konu testine (yakında) aşağıdan ulaşabilirsiniz.