11.07.2015 Views

Amiga Dunyasi - Sayi 23 (Nisan 1992).pdf - Retro Dergi

Amiga Dunyasi - Sayi 23 (Nisan 1992).pdf - Retro Dergi

Amiga Dunyasi - Sayi 23 (Nisan 1992).pdf - Retro Dergi

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

: set of [1..2]+[7..9]; {1,2,7,8,9}c : set of [1..10] - [5..10] {1,2,3,4}Daha güzeli, bu küme işlemlerini programiçinde de yapabilmemiz. Bu aradamantıksal sonuç veren İN, =, o, işlemlerini kullanabiliyoruz. Diyelimbir sayınız var ve bu sayının l ila 20 ara-Ninda bir asal sayı olup olmadığını kontroledeceğiz.vara : integer;beginreadln (a);if a in [2,3,5,7,11,13,17,19] thenwriteln ('ASAL');end.Veya bir karakter girildi bu karakteracaba harf mi, değil mi?vara: Char;beginreadln(a);if a in ['a'..'z','A'..'Z'] than write(a);endDaha bunlarla işimiz bitmedi, şimdilikbiraz ara verelim. Tek ve çok boyutlu dizilerbilgisayarda her zaman kullanılır.Bunları tanımlamak için ARRAY kullanılacaktır.Hemen örnek:vara : Array [1 ..10,1 ..10] of integer;Basic'te karşılığı Dim a( 10,10) olan birkomut. Bu değişken ile 100 adet tamsayıtutabiİiyoruz. Bunlara erişebilemek içina[n][m| ifadesi kullanılır.Son olarak dosya tipini tanıtmam gerekiyor.Genelde kullanılan bilgilerin biryerlere aktarılması gerekir. BU iş için enuygunu. dosyalar kullanmaktır. Bir değişkenidosya değişkeni olarak tanımlamakmümkün.varf: file of char;içeriği karakterlerden oluşacak olan birdosya değişkeni olur. Konuyu fazla derinleştirmeden,hemen zevkli bir başka konuyageçelim.Dikkat edin, deminden beri değişkenleritanımlamak için kullanılan tipleri inceliyoruz.Niye Tamsayılar'a integer diyelim,niçin kafama göre tipler tanımlamayalımdiyorsanız, tam yerine geldiniz.Hatırlayın Pascal'ın blokları arasındaType kısmı vardı. Burada kendinize istediğiniztipi tanımlayabilirsiniz. Sıkı durunörnek geliyor:typeTamsayi = integer;vara : tamsavi:f: file of tamsayi;Bir ikinci örnekte, daha önce anlatılankümeleri ve Arrayleri de işin içine katalım:typematris = Array [1..100,1..100] of integer;Rakam = '0'..'9';Pozitif = L.Maxint;{Dikkat edelim şu an değişken değil,degişken tipi tanımlıyoruz. Bu tiplerde değişkenlerivar kısmında tanımlamamızşart.}Vara:matris;n:rakam;p:pozitifNasıl ama ??? Şimdi iyi bir bomba. Tiptanımlarken parantez içinde sıralı olarakyazacağımız değerler tanımlayabiliriz:TypeAy =(Ocak, subat, mart, nisan,mayis, haziran, temmuz, agustos,eylül, ekim, kasim, aralik);Tatil = haziran..eylül;varsimdiki ay : ay;beğinif simdiki_ay : Ocak then writeln(‘Ocak soguktur.’);end.Belki anlatması saçma olacak ama. ilkolarak ismi ay olan bir tip tanımlıyoruz.Bu tipin alacağı değerler ocak ila aralıkarasında (Bu değerler sıralıdır, yani ocak< şubat) yer alıyor. Daha sonra ismisimdiki_ay olan bir değişken tanımlıyoruz.Bu değişken artık ay ile tanımlanandeğerleri alabilir. Pekala simdiki_ay isimlideğişkenin değeri şubat olabilir. Komikgörünse de, bu tür tipleri tanımlamanınbirçok yararı oluyor. Bir ikinci tip özelliği,değişik tipte değişkenleri içeren tipleroluyor. Bunlar RECORD sözcüğü ile tanımlanıyor.Önce örnek:type'Sanal_sayi = RECORDReel : real;Sanal: real;END;vara : Sanal şayibegina.reel := 25.765a.sanal := 12.87end.Görüldüğü üzere, burada bir sanal sayıtipi tanımlanmış. Bu tip iki adet reel sayıdanoluşuyor. Bu türde tanımlanan bir değişkeninalt bölümlerine ulaşabilmek için,değişken isminin sonuna . konuyor, iştekapsamlı bir örnek:program Telefon defteri;typeNumara = recordDERLEYİCİLERisim : string [20];soyisim : string [40];numara : Long;end;Defter = array [1..100] of numara;varkayıt: numara;T_Defteri : Defter;f: file of Defter;beginT_Defteri [1].isim :='F.Kağan'T_Defteri[1].soyisim:=Gurkaynakend.gibi. Dikkat ederseniz, değişkenleri girmekzahmetli oluyor. Onun da bir kolayıvar elbet. Geçen ay anlattığımız WITHbloğunu kullanarak, yukarıdaki örnekte,beginWITH T_Defteri[1]DOBeginisim :='F.Kağan'soyisim :=' Gurkaynak'End;End.yapısı kullanılabilir. İngilizce biliyorsanız,bu tür tanımları ve değişkenleri kullanarakroman yazar gibi program yazabiliyorsunuz.Son örnekte dikkat ederseniz f değişkeninidefter türünü içeren bir dosya olaraktanımladık. Dosya komutlarını kullanarakbir hamlede bütün kayıtları disketeaktarabilme olanağımız var.Güzel, artık neredeyse tüm değişkenleri,nasıl tanımlandıklarını ve tarafımızdannasıl tanımlanabileceklerini öğrendik. AncakPascal ile hala fazla birşeyler yapabiliyordeğiliz. Sebebi basit. Kullanabilecekemirlerimiz yok. Şu an öğrendiklerimizlebırakın güzel bir program yazmayı, ekranabasit bir nokta bile koymaktan aciziz.Emirleri nereden öğreneceğiz. İlk olarakPascal'ın standart emirleri var. Bundansonra <strong>Amiga</strong>'nın sistem emirleri geliyor.Yaklaşık 1000 kadar emir size yeterli olacaktır.Bunlarda yetmezse emirlerinizikendiniz tanımlıyorsunuz. Procedure veFunctionîar olarak tanımladığınız emirleribir araya getirip toplayabiliyorsunuz. Butür toplamalara ve özel şekline UNIT adıveriliyor. Bir UNIT, bir programa benzemesinerağmen, sadece procedure vefunctionîar içerir. Bir unit hazırladıktansonra, yeni yazdığınız programlarda ounit'te tanımladığınız fonksiyonları kullanabilirsiniz.Bunun için tanım kısmınasadece gereken unit'i eklemeniz yeter:Uses Kagan_in_Uniti;Diyelim, bu unit'te 10 adet emir var. Artıkprogramınızı yazarken bu emirleri kullanabiliyorsunuz.Nasıl Unit oluşturacağınızkonusuna ise ileride değineceğim. Dahaprogram bile yazamadan Unit kullanmakayıp olur doğrusu.Gelecek ay bir <strong>Amiga</strong> Pascal programcısıolmak için gerekenleri öğreneceksiniz.O zamana dek hoş olun, öyle kalın.AMIGA DÜNYASI 35

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!