Commodore sayı 70, sayfa 14
Sayfanın metni

Sayfa 14

Sinan Vural Commodore 64 piyasaya ilk çıktığı günden beri kendi alanındaki rakipleri arasında hep yükselmiştir. Her alanda kullanılabilecek kadar esnek olan bu müthiş alet şimdiye kadar ülkemizde eğitim alanında çok sınırlı olarak kullanılmış, ancak bazı ortaokul ve liselerimizde bilgisayar dilleri öğretilmiştir. Birçok bilgisayar sahibi öğrenci Commodore 64'leri ile oyun oynamaktadır. Program yapıp kendini geliştirmeye çalışanların ise ancak küçük bir kısmı kendi dersleriyle ilgili programları yazabilmektedir. Bu yazı boyunca sizlere genel matematik ve bilimsel hesaplamalar konusunda programlar ve algoritmalar anlatacağız, rutinlerden örnekler vereceğiz. Bu kadar geniş bir konuyu işlerken elbette atladığımız birçok detay olacaktır ama bu konuların her biri hakkında birer kitap yazılabilir. Bu yazı dizisinde bilgisayarların, özellikle Commodore 64'ün matematik ve bilimsel hesaplamalar alanında nasıl kullanılabileceğini göstereceğiz. Yazı dizimiz boyunca verdiğimiz programlar BASIC ile hazırlanmış olacak. Programları direkt olarak yazıp kullanmak için hiçbir ön bilgiye sahip olmanız gerekmiyor, ama eğer bilgisayar konusunda biraz deneyimliyseniz kendi amaçlarınız doğrultusunda programları değiştirebilirsiniz. Vereceğimiz programlar kısa rutinler halinde yazılmış olacak ve başka bir program tarafından hemen çağrılabilecek durumda olacaklar. Ayrıca bir konu sonunda o konuyla ilgili rutinler birleştirilmiş olarak ve karşılaştırmalı bir halde yazılacak.

Sıralama Sistemleri ve Programları

Doğal bilimlerle uğraşırken ölçülmüş dataların sıralanması gerekir. Sıralama programları da bu iş için kullanılırlar.

Bu programların birçoğu da altprogram (subroutine) olarak kullanılır. Sıralama sistemlerinden özellikle bazıları çok yaygındır. Burada inceleyeceğimiz sistemler yaygın olarak kullanılanlardan bazılarıdır. Sıralama algoritmalarının sistemleri ve sistemler kullanılarak hazırlanmış olan programların isimleri aşağıda sıralanmıştır. Bu sıralama programların verimlilikleri hakkında da genel bir fikir edinmenizi sağlayabilir: 1. Araya sıkıştırmalı sıralama (insertion). Örnek: doğrusal (linear) sıralama ve dalgacık (ripple) sıralama. 2. Değiştirmeli sıralama (exchange). Örnek: kabarcık (bubble) sıralama. 3. Seçimli sıralama (selection). Örnek: Shell sıralama. 4. Karışık ve özel yöntemler. Örnek: hızlı (quick) sıralama. Datalarımızın sayısal olduğunu varsayacağız. Yani sıralanacak olan bilgiler sayılardan oluşacak ve bir dizi içinde saklanacak. Bu bölümde anlatılanlardan daha verimli sıralama programları mutlaka vardır, ancak bunlar daha kısıtlı alanlarda kullanılabilirler veya çok daha karmaşıktırlar. Bunların dışında, sadece floppy diskler gibi dış kayıt ortamlarında sıralama yapmak için hazırlanmış algoritmalar da vardır. En çok bilinen sıralama algoritmaları doğrusal, kabarcık, hızlı ve Shell-Metzner sıralamalarıdır. Bu metodları anlatmaya çalışacağız, çünkü bu sistemler en yaygın olarak kullanılan algoritmalara dayanırlar. Bu konudan bahsederken, bir yandan da metodların hızlarının karşılaştırmasını yapacağız. Ancak programlara getireceğimiz bazı sınırlamalar olacak, örneğin recursive, yani kendi kendini çağıran algoritmalar kullanmayacağız. Belirtmemiz gerekir ki, özellikle Pascal gibi diğer programlama dillerinde bu sistemler dilin yapısında vardır. Sıralama rutinlerini, kendi programlarınızda istediğiniz gibi kullanabilirsiniz. Örneğin bir grafik çizmek için verilmiş olan bir grup datanın sıralanması gerekebilir. Temel bazı değişkenleri tanımladıktan sonra bu rutinleri çağırarak kendi işleriniz için kullanabilirsiniz. Sıralama algoritmalarını daha da iyileştirebilirsiniz. Programların hızlı çalışmasının zararı değil yararı vardır. Şimdi ilk örneğimize bakalım: kabarcık sıralama.

Klavyeyle gezinmek için ← ve → tuşları.