Bu sayfadaki yazılar
Sayfanın metni
Sayfa 10
ra yüzünde muzip bir gülümsemeyle geri çıktı. "Kolaymış." dedi, "Sadece hologram laserinin soğutucu kablosunu takmayı unut- muşsun." Pan, şaşkın şaşkın bakıyor ve bu basit hatayı göreme- diği için için kendi kendine kızıyordu. Konuyu değiştirmek için, "Söyle bakalım senin derdin neymiş?" dedi. Kendi problemini hatırlayan Abdullah'ın suratı tekrar asıldı. "Öğretmenin verdiği ödev... Ben nerden biliym dört işlemi bilgi- sayara yaptırmayı." Pan, "Aaa." dedi. "Dört işlemden kolay ne var canım? İlk sa- yıyı ARG'ye, ikinci sayıyı da FAC'ye koyup, gerekli kernal rutin- lerine sıçramak yeterli. Bu arada BASIC ROM'unun yerinde ol- .ması lazım. Tabii..." derken sesi kesildi. | Abdullah, Pan'ın söylediklerinden hiç bir şey anlamamıştı tabi ki. Neyse ki o anda Pan'ı ziyarete gelen Peter konuşmanın son kısmına kulak misafiri olmuştu. "Sen nelerden bahsediyorsun böyle?" diye sordu Pan'a. "Ab- dullah daha üçüncü sınıfta bunları nereden bilsin?" "Biraz önce hiç de öyle görünmüyordu ama." diye kendini savundu Pan. "Saatlerce uğraşıp da beceremediğim işin on saniyede halletti." Kendini savunma sırası Abdullah'a gelmişti. "İyi ama." dedi, "Se- ninkisi tamamen dikkatsizlikti Pan abi. Soğutma hortumunun çıktığınıkim baksa görürdü." Peter, "Tamam tamam." diye kesti tartışmayı. "Gel bakalım Abdullah. Seninle bütün bu işleri baştan sona bir inceleyelim. Orhan Gotan'ın komut dükkanında her şeyi daha iyi anlayabilir- sin." Peter, Abdullah'la beraber oradan uzaklaşırken Pan'a sert bir bakış fırlattı. "Bana ne." der gibi omuz silken Pan kendi işleri- ne döndü. Hala kendi kendisine, nasıl olup da bu kadar basit bir hatayı göremediği için kızıyordu. Peter, Abdullah'a bilgisayarın temel mantığını anlatmaya başladı. "Bak Abdullahcım, sen bilgisayarın nasıl çalıştığını bili- yor musun?" diye sordu Peter. "Eh işte, biraz." dedi Abdullah. "Okulda söylediklerine göre bilgisayarlar kullanıcıdan gelen ko- mutları işlemek üzere yapılmışlar. Bu işleri yürütebilmek için de çeşitli bölümleri var. Bunlardan en önemlisi merkezi işlem birimi denen ve tüm komutları anlayan ana merkez. Buna bağlı olarak giriş/çıkışları kontrol eden bazı devreler ve bilgisayarın iç denge- lerini kuran zamanlayıcılar var. Klavye ve joystick giriş, ekran ve yazıcılar da çıkış ortamı oluyor. Disk ve kaset gibi kayıt ortamları ise hem giriş hem de çıkış için kullanılabiliyor." "Çok iyi. Çok iyi." dedi Peter. "Gerçekten de bilgisayarların verimi kullanıcının becerisine çok bağlı. Sen herhangi bir komut vermezsen orada öyle durur bilgisayar. Kullanılmadığı zaman- larda bir bilgisayarla konserve kutusunun farkı yoktur. İkisi de birşeyler saklar ama herhangi bir etki yapılmazsa ikisi de öylece durur." "Peki Basic'in nasıl çalıştığını biliyor musun?" Bu soruya ka- fasını sallayarak cevap verdi Abdullah, "İşletim sistemini genel olarak gördük ama daha bu konuya gelmedik. Fakat öğretmen gene de ödev verdi işte. N'apıcamı bilemiyorum." Peter, Abdul- lah'ı yatıştırdı. "Tamam." dedi, "Ben sana tüm bunları anlatıcam. Ama önce biraz temel bilgi edinmen gerekiyor." "Bak şimdi." diye anlatmaya başladı Peter. "Bilgisayarı açtı- ğın zaman karşına çıkan mesaj aslında sana önemli bilgiler ve-
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 11
Commodore'un
Di Ş ER
Üci
rir. Buradan, Commodore 64'ün kullandığı Basic'in ikinci versiyon olduğunu ve programlarında kullanmak üzere 38911 baytının serbest bulunduğunu anlayabilirsin." Peter ve Abdullah, Orhan Gotan'ın komut deposuna giderlerken Oscar'la karşılaştılar. Oscar, her zamanki çok bilmişliğiyle "Neler konuşuyorsunuz bakiim?" diye sordu. "Belki size yardım edebilirim." Peter hafifçe gülerek, "Yok bişey canım." dedi. "Abdullah'a, işletim sistemini ve Basic'in nasıl çalıştığını anlatıyordum." Oscar, "Basic'te ne var canım? Ben makina dili bile biliyorum. Yalnız söylediklerinde hatalı bir nokta var galiba. Bu işletim sistemi de ne? Neyi işletir bu sistem?" Peter artık kahkahalarını gizleyemiyordu, katılmış bir halde gülerken Abdullah lafa girdi. "Hem makina dili biliyorsun hem de işletim sisteminin ne olduğundan bile habersizsin ha? İşletim sistemi, bilgisayarının hafızasında yani ROM'unda her zaman bulunan, farklı ama birbirleriyle bağlantılı üç programdan oluşur ve senin bilgisayarı kullanmanı sağlar akıllım." Oscar, Abdullah'ın bile kendisini bu kadar kolaylıkla altedebilmesine sinirlenmişti. Üste çıkmak için hemen sordu sorusunu, "Neymiş bu üç program bakalım?" Abdullah bilmiş bilmiş anlatmaya başladı, "Bak şimdi. Basic yorumlayıcısı senin verdiğin komutları anlayan ve bunların sırayla işlenmesini sağlayan bir programdır. Kernal ise Basic programların ve Basic işlemlerinin yapılmasını sağlayan makina dili programcıklardan oluşur. Bir program daha vardır, o da ekran üzerindeki kursor hareketlerini ve işlemlerini gerçekleştirir." Oscar kıpkırmızı bir suratla oradan uzaklaşırken Peter da Abdullah'ı kutladı. "Aferin. Sen bayağı biliyormuşsun bu işi. O zaman ben sana Basic yorumlayıcının nasıl çalıştığını ve programların nasıl işletildiğini anlatayım. Orhan'dan gerekli şeyleri aldıktan sonra da programını yaparız. Bildiğin gibi Komut Market ondan sorulur." Orhan, Komut Market'in rafları arasında sarmaşıkların üzerinde dolaşıyor ve komutları oradan oraya taşıyordu. Peter'la Abdullah'ın geldiğini görünce sarmaşıklardan aşağı sarkarak, "Hoşgeldiniz." dedi. "Bu arkadaş da yeni programcı adayımız mı?" diye sordu Abdullah'ı göstererek. Abdullah konuşmaları duymuyordu bile. Ortamın büyüsüne kapılmış göz alabildiğine yükselen raflardaki komutları inceliyordu. Peter, Abdullah'ı şöyle bir dürttü ve Orhan'ı tanıştırdı. "Memnun oldum." dedi Abdullah. "Bu kadar çok komut arasında buluyorsunuz? Ya program yaparken hangisinin hangi sırayla geleceğini nereden biliyorsunuz?" diye sıraladı sorularını. Orhan'la Peter birbirlerine bakıp hafifçe gülüştüler. Her şeyin bir sırası ve düzeni vardı elbette. Orhan anlatmaya başladı. “Bilgisayarın anlayabileceği komutlar, işletim sisteminin Basic'i anlayan kısmı olan yorumlayıcı tarafından işlenir. Hafızada bunların bir listesi vardır. Komut kullanıcı tarafından verilince sırasıyla bazı işlemler gerçekleştirilir. Önce Basic yorumlayıcısı bu komutun var olup olmadığını kontrol eder. Eğer böyle geçerli bir komut varsa komutla verilen diğer bilgiler kontrol edilir. Eğer bunlar da geçerli ise gerekli kernal programcıklarına atlanarak işlem gerçekleştirilir." "Ben de burada aynı sistemi uyguluyorum. Birisi benden bir komut istediği zaman elimdeki listede böyle bir madde olup ol-
« 3
» " a. Yy Be
ğ VAS 4 ACI e e day “e
VA
K
© Mİ CI LU A > RİA KİR E madığını kontrol ediyorum. Komut listemde yoksa bir hata yaptıklarını söylüyorum. Eğer istedikleri komut, listemdeyse hemen çıkarıp veriyorum. Tabi yanında bir de kullanım kılavuzuyla beraber. Herkese bıkıp usanmadan söylediğim bir şey var: 'Önce kullanım kılavuzunu okuyun!" Bu söz, ister bilgisayar ister kalem olsun her şey için geçerli." Abdullah, komutların nasıl işlendiklerini anlamıştı. "Ama, komutların düzgün yazıldığını bilsek bile programda hangi sırayla olacaklarını nasıl bileceğiz?" diye sordu. Bu soruya Peter karşılık verdi. "Basic ile yazdığın programlarda satır numarası kullanman gerekir. Bilgisayara RUN komutu verildiğinde, program çalışmaya en küçük numaralı satırdan başlar. Sen programı listelemek için LIST komutunu verdiğinde de yine en küçük numaralı satırdan başlayarak listelenir program." Orhan, Peter'ın anlattıklarını başıyla onayladı ve ekledi, "Programını yazmadan önce bir akış şeması hazırlarsan bu seni hem zaman kaybından kurtarır hem de programın çalışmasını daha iyi kavramanı sağlar." Abdullah'ın biraz kafası karışmıştı. "Bi dakka durun." dedi. "Bu akış şeması da nesi?" Orhan bunu açıklamayı üstlendi. "Akış şeması, bir program yazılmadan önce hazırlanan bir taslaktır. Bu şemada çeşitli işlemler için geometrik şekiller kullanılır: dikdörtgenler, paralelkenarlar, eşkenar dörtgenler falan. Programa bir elipsle başlanır. Bilgisayara dışarıdan veri girişini bir paralel kenar gösterir. Karar verme durumlarında da eşkenar dörtgen kullanılır. Tüm bu işlem kutuları oklarla akış yönünde birbirlerine bağlanır." "Dur şimdi bir örnek vereyim sana. Diyelim ki sen buradan Pan'a telefon etmek istiyorsun ve mantık yapını da bilgisayarınki gibi kabul edelim. Telefonu açıp konuşmaktan kapamaya kadar yer alan süreci, bir bilgisayar programının akış şeması olarak hazırlayalım..." "Önce başlamak için bir elips çiziyoruz ve içine ilk olarak ne yapacağımızı yazıyoruz: Telefonu aç. Bir sonraki işlem çevir sesini beklemek. Bu işlemi bir dikdörtgenin içinde gösteriyoruz. Üçüncü işlem ise bizden bir bilgi, yani telefon numarasının bir rakamını beklediği için paralelkenar olarak çiziliyor. Çevireceğimiz numara 01318. Numaranın bir rakamını tuşladıktan sonra kritik bir noktaya geliyoruz: Beş rakamı da tuşladık mı? Bunun kontrolünün yapıldığı işlemi bir eşkenar dörtgen ile göstereceğiz. Eğer tüm sayılar tuşlanmamışsa dörtgenin bir köşesinden çıkan ok üçüncü adıma gidecek. Alttaki köşeden çıkan ok ise akışın devamında yer alan konuşma işlemini gösterecek. Dikdörtgen olarak gösterebileceğimiz bu işlemden sonra, şemanın son adımı olan telefonu kapatmayı ise yine bir elips içine koyacağız." Abdullah anladığı kadarını özetlemeye çalıştı. "Yani aslında bu şemasal gösterim, benim programı anlamamı sağlıyor, yoksa bilgisayarın bundan bişey anladığı yok. Programı tasarlarken bu yola başvurmak işimi kolaylaştıracak." Peter, Abdullah'ın söylediklerini onayladıktan sonra yapacakları programda kullanacakları komutları seçmeye başladılar. Peter, "Senin programında kullanmak üzere, PRINT, INPUT, IF/THEN, GOSUB/RETURN ve GOTO komutlarını almamız yeter sanırım." dedi. Bu komutları alan Peter ve Abdullah programa başlamak üzere Orhan'a veda ettiler. dedi Peter, "Senin programın dört işlemi gerçekleştirecekti değil mi? Tamam. Aslında bu iş, Basic yorumcusunun iki durumunda da yapılabilir." Abdullah bu iki durumun ne olduğunu sorarcasına baktı Peter'a. Açıklama ihtiyacı hisseden Peter, "Sen işletim sistemini anlatırken söylemiştin ya. Basic yorumcusu verilen komutları işler diye. İşte bu Basic yorumcusu iki durumda çalışabilir. Birincisi satır numarası verilmiş satırları sırasıyla işler. Diğer yöntem ise komutları direkt olarak vermektir. Yani satır numarası yazmadan da hemen işlenebilecek bir komut verebilirsin." "Senin programında örneğin; çarpılacak olan iki sayıyı PRINT komutundan sonra, aralarına çarpı işareti koyup yazar ve RETURN tuşuna basarsan bu sayıların çarpımları ekrana yazılır. İstersen bunları bir de ekranda deneyelim." Bunları söyledikten sonra Peter, ceketinin ceplerinden ve gözlerinden parçalar çıkarıp bunları birleştirmeye başladı. Abdullah, gözleri faltaşı gibi açılmış, olanları merakla izliyordu. Yavaş yavaş bir bilgisayar şekillenmeye başladı gözleri önünde. Peter, işini bitirince, "Hadi bakalım." dedi ve ikisi birden klavyeye eğildiler. Önce direkt komutları denemek isteyen Abdullah hemen atılıp ekrana, PRINT 6*7 yazdı ve sonucun 42 olduğunu sevinerek gördü. Bunun üzerine Peter, "Bu bir şey değil. Bu komutu değişik şeyler yazdırmak için de kullanabilirsin. Bak şimdi..." dedikten sonra ekrana şunları yazdı: "6*7=",6*7 Bu sefer ekranda yazısı belirdi. "Peki." dedi Peter. "Bu kadar temel bilgiden sonra aldığımız komutları kullanarak sen bir program yapmaya çalış bakalım. Komutları nasıl kullanacağını Orhan'ın verdiği kullanım kılavuzundan öğrenebilirsin. Programı bitirince de getirir bana gösterirsin. Beraber hatalarını düzeltiriz." Abdullah teşekkür edip Peter'ın yanından ayrıldı ve yeni öğrendiği komutları kullanmak üzere çalışmaya girişti.