1. Reklam


    1. joysro
      ledas
      jungler
      keasro
      zeus
      karantina

Pascal Temel Dersler


  1. ReAcTiVe

    ReAcTiVe Bilgiliyim rank8

    Kayıt:
    4 Ekim 2007
    Mesajlar:
    2.284
    Beğenilen Mesajlar:
    0
    Ödül Puanları:
    0
    Meslek:
    Öğrenci
    Şehir:
    Lise
    [​IMG]

    ÖN BİLGİ

    Bir programi programlama dillerinde yazdigimizi ögrendik. Programlama dilinin ne oldugunu daha sonra anlatacagim. Programlama dillerinde bir program yazarken yapilan her isleme komut ve bu komutlarin bütününe de programin kodu denilir. Yani biz bir programi kodlariz. Ancak bu kodlari belirli sirada ve düzende vermek zorundayiz. Yoksa pek de akilli olmayan bilgisayarimiz bunlari kendine göre siraya koyamaz. Biz ona hangi islemi ne zaman yapacagini söyleriz. Gerekirse bazi komutlari hiç isleme sokmamasini, bir komutu birden çok defa icra etmesini ya da belirli sartlarda ne yapmasi gerektigini bilgisayara anlatmak için bir düzen içinde kodlarimizi yazmaliyiz. Iste bu düzene programin akisi ve bu akisin tamamina da programin algoritmasi denilir.
    Çok akilli bir robot düsünelim. Bu robot sesle çalissin. O zaman her sözümüz robot için bir komuttur. Robota egil dersek egilir. Bu onun için bir komuttur. Ancak robottan yerdeki kalemi size vermesini isteyecekseniz belki birden fazla komut kullanmak zorundasiniz. Mesela bu örnek için robota 4 tane komutu söyle verebilirsiniz:

    1) Egil.
    islemlere. Bu durumda semsiye de alinmis oluyor.
    Buraya kadar okuduklarimiza göre programciyi "Problemi analiz eden ve onu bir programlama dili ile bilgisayara anlatan, yazan, programlayan kisi" olarak tanimlayabiliriz. Algoritma ise "Programcinin Problemi analiz ettikten sonra onu en kisa ve en hizli çözmek için gelistirdigi yoldur".
    Artik genel olarak algoritmayi anlamis olduk. Pascal'da Programlamayi anlatirken de yeri geldikçe algoritmalardan yararlanacagiz. Sunu unutmayalim ki iyi bir program önceden tasarlanmis ve bütün kullanim amaçlari belirlenmis programdir. Aksi takdirde isimiz hizlanacagina yavaslayabilir de..




    PASCAL'A GİRİŞ
    Pascal Dersleri'ne baslamadan önce bilgisayariniza Turbo Pascal Derleyicisini kurmamiz gerekiyor.Kurduktan sonra,Simdi asagidaki listeyi takip edin.

    -Giris ekranini Enter tusuna basip geçin.
    -Size kaynak sürücüyü soracaktir.Normalde install.exe programinin bulundugu sürücü otomatik olarak yazilmis olacaktir.Enter tusuna basin.
    -Size kaynak sürücüyü soracaktir.Eger gerekli dosyalar install.exe programinin bulundugu klasördeyse degistirmeden Enter tusuna basin.
    -Install Turbo Pascal on a Hard-Drive i seçip Turbo Pascali Hard Diske yükleyecegimizi belirtelim.
    -Otomatik olarak C:\Tp klasörünü ayarlayacaktir.Degistirmeden Start Installation a basin.
    -Dosyalarin yüklenmesini bekletin.Mavi bir mesaj kutusu çikacak.Herhangi bir tusa basin.
    -Turbo Pascal'in Ingilizce Readme yazisi çikacaktir.Çikmak için Esc'ye basin.
    -Turbo Pascal hard diskinizin belirtilen dizinine kurulmus olacaktir.


    Simdi isimizi daha da kolaylastirmak için Not Defteri programini çalistirin ve Windows'un kurulu oldugu hard diskin içindeki Autoexec.bat dosyasini açin ve dosyanin sonuna asagidaki kodu ekleyin.


    Kod:
    Set Path=%PATH%;C:\Tp\Bin;
    Yalniz bunu yaparken dikkat edin.Baska bir kodu silmeyin.

    Bu islemleri tamamladiysaniz bilgisayarinizi yeniden baslatin.Böylece kodlarinizi programa(exe) çevirecek olan Turbo Pascal Derleyicisi bilgisayariniza kurulmus olacaktir.

    Bir sonraki yazi Programlama Mantigi ile ilgili.Daha önceden Qbasic,TurboC veya farkli bir programlama dili ile ugrastiysaniz,bu bölümü atlayabilirsiniz.


    Artik bilgisayarimizda Turbo Pascal Derleyicisi ve bizde programlama mantigi olduguna göre yavas yavas örneklerle Turbo Pascal'i ve Pascal dilini ögrenmege baslayabiliriz.
    Kodumuzu iki türlü yazabiliriz.Birinci yöntem kodu Not Defteri gibi bir programda yazip kaydettikten sonra derleyici ile derlemek.Ikinci yöntem ise Turbo Pascal'in editörünü kullanarak kodu yazip derlemek.Eger elinizde bu derslerin yazili dökümü varsa ikinci yöntemi kullanabilirsiniz.Eger derslerin yazili dökümü yoksa,onlari bilgisayar ortaminda okuyup farkli bir Windows programiyla yazmaniz daha kolay olacaktir.Çünkü Turbo Pascal'in orijinal editörü Dos ortaminda çalisiyor ve buda size çok vakit kaybettirebilir.Yinede her sartta birinci yöntemi öneririm.Böylece ikide bir Windows'tan çikmaniza gerek kalmaz.


    Pascal Kaynak Kodlarinin(Derlenmemis) uzantisi ".pas"dir.Turbo Pascal degisik uzantili dosyalari derleyebilir(Pascal kodu içermek sartiyla),fakat ".pas" uzantisi yayginlik kazanmis ve benimsenmistir.Bu yüzden Windows'a .pas uzantisini tanitmamiz gerekebilir.Notepad ile bir seyler yazip 1.txt ismi ile kaydedin.Daha sonra bunu Yeniden Adlandirarak(Rename) .txt yerine .pas yazin.Dosya türünü degistirmek istiyor musunuz diyaloguna Evet cevabini verdikten sonra dosyayi çift tiklayin "Birlikte Aç" penceresi açilacaktir.Dosya tanimina Pascal Kaynak Kodu yazin.Program listesinden de Notepad'i bulup seçin."Bu dosyayi açmak için her zaman bu programi kullan" kutusunun seçili olduguna dikkat ederek "Tamam" butonuna basin.Böylece bilgisayariniz .pas uzantili dosyalara ne isim verecegini ögrenmis olur.


    Baslat(Start)-->Çalistir(Run) ile çikan kutucuga notepad yazin.Böylece Windows'un klasik Not Defteri programi çalisacaktir.Asagidaki kodu yazin.


    Kod:
    Program ilk;
    begin
    end.

    Bu kodu ilk.pas olarak Masaüstü(Desktop)'ne kaydedin.Daha sonra tüm klasör pencerelerini kapatip.Masaüstünde iken Baslat-->Çalistir deyip kutucuga tpc ilk.pas yazin.




    3 lines, 1472 bytes code, 668 bytes data.
    yazisini görürseniz programiniz derlenmis demektir.Masaüstünde ilk programiniz olan Ilk.exe bulunuyorsa basardiniz demektir.Eger bu asamaya gelemediyseniz korkarim daha önceden bir hata yapmissiniz.Kurulum yazisini tekrar inceleyin.
    Ilk.exe'yi hevesle çalistirdiniz ama bir sey olmadi degil mi?Olmamasi çok dogal çünkü programin sadece ismi,basi ve sonu var.Ama hiçbir islem yok.Bu arada yapilacak islemler begin ile end komutlari arasina yazilir.End komutunun sonundaki nokta(.) ise programin bittigini gösterir.Unutmayin bir programda birden fazla begin ve end bulunabilir.Programi bitiren end nokta ile program içerisindeki endler ise noktali virgül( ile sonlandirilmalidir.
    Genelde pascal kod satiri noktali virgül( ile sonlandirilir.Fakat bazi istisnai kodlarda noktali virgül kullanilmaz.Bunlar begin,repeat gibi degisik sekilde sonlandirilan komutlardir.Endise etmenize gerek yok zamani gelince her seyi daha net anlayacaksiniz.
    Yukaridaki kodu yorumlamak gerekirse "Program ilk;" satiri programin isminin ilk oldugunu bildirir."begin" komutu programin baslangicini "end" komutu ise programin sonunu belirtir.

    Pascal ile yazilabilecek en basit program budur.Bir sonraki derste daha kullanisli programlar yazmaya baslayacagiz.


    Artik Pascal'i çalistirdigimiza göre Editörün nasil kullanildigini ögrenmeliyiz. Pascal editörü Ingilizce olmasi sebebiyle Ingilizce bilenler tarafindan daha kolay kullanilir ama Ingilizce'yi hiç bilmeseniz de burda anlatacagim birkaç seyi bilerek rahatlikla kullanabilir ve program yazip çalistirabilirsiniz. Burda isinize yarayacak hemen hemen bütün özellikleri anlatacagim. Ilerdeki konularda bazi islemler için tekrar bu sayfaya dönerek yardim alabilirsiniz. Turbo Pascal editörünü ilk açtiginizda karsiniza söyle bir ekran gelir:

    Tabii ki bu ekranda yazan yazilar olmayacaktir! Ediörün kullanimi çok kolay demistik. En üstte gördügünüz "File Edit Serch Run Compile.." diye giden menü çubugu Pascal editöründe yapacaginiz bütün islemleri yapabileceginiz komutlari bulundurur. Yanlis anlamayin, bu menüde yazacaginiz program kodlari yok! Bu menüdeki birçok komutun kisayol tuslari da var. Bu menüyü ayrintili olarak tanitacagim. Onun altinda programlarinizi yazdiginiz mavi ekran var. Dedigim gibi buraya kodlarinizi yaziyorsunuz. Pascal editöründe bütün renkleri degistirebileceginiz gibi bu rengi de (maviyi) degistirebilirsiniz ama bence mavi güzel renktir. Bu pencerenin altinda ve yaninda Windows'takine benzer kaydirma çubuklari vardir. Mouse'unuzlar bunlari hareket ettirebilirsiniz. Alttaki kaydirma çubugunun solunda yazan iki sayi o anda imlecin bulundugu kordinatlari verir. Örnek resimde imleç gördügünüz gibi 11. satirin 5. sutunundadir. Onun hemen solunda bu ekranda tam ne olarak gözükmese de * (yildiz) isareti var. Eger dosyayi en son kaydettiginizden bu yana birseyler degistirmisseniz bu isaret gözükür. Kaydettiginde tekrar kaybolur. Bu sayede dosyayi kaydetmeniz gerektigini anlamis olursunuz. Yine bu mavi pencerenin en üstünde ortada programinizin adi ve uzantisi (uzantisi PAS olur) yazar. Eger dosyayi kaydetmediyseniz bu isim noname01.pas gibi birsey olur. Kaydettikden sonra gerçek ismi gözükür. Pascal editöründe ayni anda birden fazla programla çalisirken hangi programda oldugunuzu görmeniz açisinda faydalidir. Ayrica Mouse'unuzla pencerenin sag üst kösesindeki kare isarete tiklarsaniz pencere kapanir ve eger kaydetmediyseniz uyari mesaji çikar. Sag üst kösedeki "1" sayisi (ki bu sayi degisebilir) kaçinci pencerede/programda oldugunuzu gösterir. Son olarak onun yanindaki isaret ise küçük olan pencereleri tam ekran yapmak içindir. Yine eger isterseniz pencerenin kenarlarindan tutarak (mouse ile) boyutlarini ayarlayabilir ve en üstüne tiklayip basili tuarak pencereyi tasiyabilirsiniz. En son olarak en alttaki "F1 Help F2 Save.." seklindeki çubuga da durum çubugu deniliyor. Buradaki yazilar duruma göre degisir ve programin (Turbo Pascal'in) size mesajlar iletmesini saglar. Simdi menü'ye bir göz atalim bakalim neler var.

    File Menüsü:

    TP (Turbo Pascal, bundan sonra TP diye bahsedecegim) editörünün üstteki menülerinin ilkidir. En çok kullanacagimiz menü bu menü olacak. Bu menüyü açmak için alt tusuna basili tutarak F tusuna basin. Tüm menüleri için aslinda bu böyledir. Ya da F10 tusuna basarak da menü çubuguna geçebilirsiniz. Ayrica mouse kullanarak da bu menüyü açabilirsiniz. Simdi bu menüde yapabilecegimiz islemlere bakalim:
    New: Bu komutla yeni ve bos bir sayfa açariz.

    Open: Daha önceden kaydettigimiz dosyalari tekrar açip düzenlemek ya da görmek gibi amaçlarla açmak için kullanilir. Açilan program yeni bir pencerede açilir. Kisayol tusu F3'dür.

    Save: Yazdiginiz programlari bilgisayariniza kaydetmeniz lazim. Bu seçenegi seçerek ya da kisayol olarak F2 tusuna basarak programlarinizi kaydedebilirsiniz. Kaydetme isiniz çi sik yapmanizi tavsiye ederim. Yoksa bütün emekleriniz bir elektrik kesilmesi yada yanlis bir-iki tusa basmakla gidebilir.

    Save as:
    Üstünde çalistiginiz program kodunu farkli bir dosya olarak kaydetmek için kullanilir.

    Save all: O anda üstünde çalistiginiz bütün programlari birden kaydtmenizi saglar. Isinize yarayacak bir komut. Change dir: TP'i çalistirdiginizda otomatikmen turbo.exe dosyasinin bulundugu dizin esas alinir. Yani bir dosya kaydedrken veya açarken hep o dizin ilk olarak karsiniza gelir. Baska sebeplerden dolayi da eger yeni bir program yazmaya basliyorsaniz ilk önce bir klasör açin ve pascal'i açinda bu seçenekle o klasörü seçip bütün islemlerinizi orada yapin. Yani bu seçenek aktif klasörü degistirmeye yarar.
    Print: Yazdiginiz programi yazicidan çikartmak için bunu kullanabilirsiniz. Eger yaziciniz dogru çalisiyor ve açiksa yaptiginiz programlari yazicidan düzgün bir sekilde çikarir.

    Printer Setup: Yazici ayarlarini yapmak için. Eger yaziciniz dogru oldugu halde yazicidan programi çikaramiyorsaniz buradan gerekli ayarlari yapabilirsiniz.

    Dos Shell: Geçici olarak MS-DOS'a çikmak için kullanilabilir. Tekrar TP'a dönmek için Exit yazmaniz gerekir. Ama bu komut artik pek ise yaramiyor. Çünkü dos degil Windows var. Yine de dos kullanmayi biliyorsaniz yeni dizin açmak gibi ufak islerinizde kullanabilirsiniz.

    Exit: Pascal editöründen çikmak için. Alt tusu ve x'e birlikte basarak da ayni isi yapilir.

    Edit Menüsü:
    En çok kullanilan menülerden birisi de Edit menüsüdür. Ancak genelde direk menüyü kullanmayiz, onun yerine kisayol tuslarini kullaniriz. Gördügünüz
    gibi neredeyse herseyin bir kisayol tusu var.

    Undo: En son yaptiginiz degisikligi iptal eder, geri alir. TP'da çok fazla sayida (neredeyse sinirsiz) geri al yapabilirsiniz. Bu sekilde yaptiginiz yanlisliklari görmek ve iptal etmek çok kolaydir. Kisayol için Alt tusu ile birlikte Backspace tusu kullanilir.

    Redo: Yanlislikta Undo yaparak iptal ettiginiz islemleri terkar düzeltir, yani bu da ileri alir.

    Cut: Kes manasindadir. Bir yaziyi isaretleyip bu seçenegi seçer ya da Shift tusuyla beraber Delete tusuna basarsaniz isaretli yazi silinir ve hafizaya alinir. Daha sonra bunu istediginiz biryere yapistirabilirsiniz. TP'da bir metini isaretlemeyi ya mouse ile ya da shift tusuna basili tutarak yön tuslariyla yapabilirsiniz.

    Copy: Bir yaziyi isaretledikten sonra bu komutu çalistirisaniz ya da kisayolu olarak Crtl ile birlikte Insert tusuna basarsaniz yaziya birsey olmaz ama bir kopyasi hafizaya alinir.

    Paste: Kopyaladiginiz ya da kestiginiz metinleri herhangi biryere yapistirmak/eklemek için kullanilir. Koplayanlis ya da kesilmis yazi imlecin bulundugu yerden itibaren ekrana yazilir. Shift ile birlikte Insert tusuna basarsaniz da ayni isi yapabilirsiniz.

    Clear: Bir yaziyi isaretleyip tamamen silmek için kullanilir. Kisayolu Ctrl+Delete.
    Show Clipboard: Kopyaladiginiz ve kestiginiz tüm yazilar clipboard denilen ve hafizada biryerde tutulur. Bunlarin hepsini birden görmek için kullanabileceginiz bu seçenek yeni bir pencere açar ve bunlari gösterir.

    Search Menüsü:
    Bu menü ile programlarinizin içerisinde bir kelime ya da bir metini aratip, bulup degistirebilirsiniz. Özellikle çok uzun programlarinizda çok faydali. Otomatik degistirme ile ayni anda programdaki bütün ayni metinleri istediginiz bir metin ile degistirebilirsiniz.
    Find: Gireceginiz yaziyi programin içinden bulur.
    Replace: Program içindeki bir kelimeyi ya da kelime gurubunu (ya da bir parçasini) bulup istediginiz bir yazi ile degistirmek için.
    Search Again: En son aradiginizi tekrar aramak için kullanilir. Bunlarin haricindeki seçenekler çok fazla kullanilmiyor ama deneyerek ne ise yaradigini bulabilirsiniz.

    Run Menüsü:
    File menüsü ile birlikte en çok kullanilan menüdür.
    Run: Yazdiginiz programi çalistirmak için kullanilir. Eger programinizda yazim hata varsa çalismaz ve bu hatayi olusturan satira gidilip beklenir. Kisayolu Ctrl+F9.
    Step over: Programi satir satir çalistirmayi saglar. Procedure ve Functionlari satir satir degil toplu halde çalistirir. Kisayol tusu F8.

    Trace Into: Programin tamamini satir satir çalistirmak içindir. Bu sekilde hata yapilan yeri görebilirsiniz ama özellikle büyük programlarda pek ise yaramaz. Kisayol tusu F7.
    Go to Cursor: Programi imlecin (Cursor'un) bulundugu yere kadar çalistirir ve oraya gelindiginde programin koduna geri döner. Devam etmek için yukardakilerden birisini kullanabilirsiniz. Kisayolu F4.
    Program reset: Pascal'da bir programda hatali bir is yaptiysaniz ve program sona ermiyorsa Ctrl ve Pause tuslarina birlikte basarak programi durdurabilirsiniz. Durdurdugunuz programi tekrar çalistirirsaniz kaldigi yerden devam eder. Eger en bastan baslamasini istiyorsaniz programi resetlemenize lazim. Bu islem onu yapar. Kisayol tusu olarak Ctrl'ye basarken F2'ye basabilirsiniz.
    Paramaters: Bazi programlar çalisirken parametre ile beraber çalisir. Eger böyle bir parametreli program yaptiysaniz o zaman buraya istediginiz parametreleri girebilirsiniz. Bu konuya daha sonra deginiriz.

    Compile Menüsü:
    Programizini yaptiktan sonra veya yaparken sik sik hatalarinizin olup olmadigini kontrol etmek istersiniz. Bu menü de bu ise yarar. Iyi bir programci olmak için her birkaç satir yaziminin sonunda F9 tusu ile hatalarinizi kontrol etmeniz gerekir!
    Compile: O anda aktif olan programi derlemek, yani hatalari kontrol etmek için kullanilir. Kisayol için Ctrl tusuna basarken F9'a basabilirisiniz.

    Make: Üzerinde çalistiginiz programi degisen unitleriyle beraber derler. Unitin ne oldugunu daha ögrenmedik. En iyi derleme yöntemi budur. Sik sik F9 tusuna basarak programinizi derleyin.
    Build: Üzerinde çalistiginiz programi degisen unitleriyle beraber derler. Make komutu bundan daha kullanisli ve hizlidir.
    Destination Memory/Disk: Bu seçenegin üzerine gelip entera basarsaniz ve tekrar menüyü açarsaniz "Memory" yerine "Disk" yazdigini görürsünüz. Disk aktif durumdayken programi (F9 ile) derlerseniz harddiskinizde de (O anki aktif dizinde) programin .EXE hali olusturulur. Programlarinizi bu sekilde exe haline dönüstürebilirsiniz. Eger bu seçenekte "Disk" yerine "Memory" yaziyorsa bu durumda programi derlediginizde exe dosyasi olusturulmaz. Sadece exe dosyasi olusturmak istediginiz zaman bu seçenegi disk yapin. Diger durumlarda ve zamanlarda Memory kalmasi programin daha kisa sürede derlenmesini saglar.
    Primary File: Bu seçenegi seçip bir dosya adi girerseniz artik hangi programin üzerinde çalisirsaniz çalisin F9 ile programi derlemek isterseniz buraya yazdiginiz dosya derlenir ya da çalistirilir. Bunun avantajini Unit'leri ögrendikten sonra görecegiz. Programa bagli olan unitlerin üstünden programi çalistirmaniz çok yararli olacak.
    Clear Primary File: Primary file'i iptal etmek için kullanilir.
    Information: Programiniz hakkinda kisa bir bilgi verir.
    Buraya kadar isimize yarayacak ve en çok kullanilan menüleri anlattik. Ama TP'da daha baska menüler de var. Bunlari simdilik anlatmayalim ama yeri geldikçe ve lazim oldukça deginiriz. Ayrica Help menüsü de çok isinize yarayabilir. Burayi kurcalayarak birseyler ögrenebilirsiniz.
    Ama ben isinize yarayacak birsey daha söylemek istiyorum. Debug menüsünden User Screen seçenegini seçerek ya da alt ile birlikte F5'e basarak son ekran görüntüsünü görebilrisiniz.

    Artik Pascal editörünü de tanidigimiza göre Pascal komutlarini ve program yapisini anlatmaya baslayabiliriz.


    Genelde bir programlama dili ögrenilirken ilk yazilan aktif program ekrana "Merhaba Dünya" yazdiran programdir.Bu o kadar klasiklesmistir ki neredeyse bir standart haline gelmistir.Bende bu kurali bozmak istemiyorum.Iste "Merhaba Dünya" programinin kodlari...


    Program merhaba;
    begin
    write ('Merhaba Dunya');
    readln;
    end.

    Derleyip çalistirin sonucu göreceksiniz.Burada write komutu parantez ve tirnak isaretleri arasindaki stringi(sayi olmayan-alfanümerik) yazdirmaya yarar.Bu da ayni sonucu veren fakat kodu farkli olan bir program.

    Kod:
    begin
    write ('Merhaba ');
    write ('Dunya');
    end.

    Gördügünüz gibi tirnak isaretleri içindeki boslukta programa yansiyor.Isterseniz o boslugu kaldirip programi derlemeyi deneyin.Merhaba ve Dunya kelimelerinin bitisik yazildigini göreceksiniz."write" komutu tek satira yazi yazmak için kullanilir."writeln" komutu ise stringi yazip imleci bir alt satira atlatir.Asagidaki örnegi inceleyin.

    Kod:
    Program merhaba3;
    begin
    writeln('Merhaba Dunya');
    writeln('Merhaba Mars');
    writeln('Merhaba Saturn');
    end.

    "readln" komutu kullanicinin programa girdi girmesine izin verir.Girdi girisi Enter tusuyla sonlandirilir.Bu girdi bir degiskene atanabilir yada hiçbirsey yapmadan kullanicinin Enter tusuna basmasi beklenebilir.Asagidaki örnegi incleyin.


    Kod:
    Program readln1;
    begin
    writeln('Programi sonlandirmak icin Enter tusuna basiniz.');
    readln;
    end.
    Her programlama dilinde degiskenler vardir. Degiskenler programlamada hayati önem tasir. Degiskeni program içinde bir degeri ya da bilgiyi tutan bir birim olarak ifade edebiliriz. Bu bölümde degiskenleri tüm tipleriyle çok ayrintili ve bol örnekli anlatacagim. Ayrica sabitler, tipler ve labelleri de ögrenecegiz. Adindan da anlasilabilecegi gibi degiskenlerin degeri program içinde istenildigi kadar degistirilebilir. Bir degiskenin bir adi, tipi ve degeri vardir. Degisken adi olarak istediginiz ismi verebilirsiniz. Degiskenin tipini ise programinizin basinda var deyimi ile tanimlamak zorundasiniz. Var Deyimi:
    Programda kullanacagimiz bütün degiskenleri programin basinda tanimlamak ve cinsini (sayi mi, yazi mi.. gibi) belirtmek zorundayiz. Her programlama dilinde buna gerek olmayabilir ama Pascal'da bu is mecburidir. Degiskenlerimizi Var deyiminde sonra tanimlamamiz gerekir. Var deyimi bir komut olmadigindan sonuna noktali virgül konulmaz. Genel kullanim sekli:
    Var
    degisken: degisken_tipi;
    seklindedir ve Pascal'da program yapisi dersinde gördügümüz yerde kullanilir. Degisken tiplerini görürken bu deyimin kullanilisini görecegiz. Merak edenler için söyleyim: Var kelimesi Ingilizce Variable kelimesinin kisaltilmisidir ve degisken ya da kisaltma anlamindadir.

    Degisken Tipleri

    Pascal'da her degiskenin bir tipi olmak zorundadir. Bir degisken programin basinda hangi tipte tanimlandiysa programin sonuna kadar o tipte bilgi saklayabilir ve o degiskene o tipten baska bir tipte veri atanamaz, eklenemez. Yani mesela sayi tipinde bir degiskene "kalkan" degeri atanamaz. Bu durumda program hiç çalismaz ve Pascal editörü hata verip o yanlisligin yapildigi degiskene imleci getirip hata uyarisi yapar. Simdi Pascal'da kullanabilecegimiz degisken tiplerine bakalim.
    Sayisal Degiskenler:
    Adindan da anlasilacagi gibi degeri bir sayi olabilen degiskenlerdir. Bu degiskenler bir sayiyi tutarlar. Ayrica matematiksel islemlerde de kullanilabilirler. Birkaç çesidi vardir. Öncelikle sayisa degiskenleri ikiye ayirmak gerekir. Birncisi tasayilar ve ikincisi gerçek (ondalikli) sayilar. Tam sayilarin ve ve gerçek sayilarin da kendi aralarinda siniflari vardir. Ilk önce tamsayi tiplerinden baslayalim. Tamsayi tiplerini hemen bir tabloda verelim:

    [​IMG]
    Tabloda tip adi dedigimiz sey var deyimiyle kullanacagimiz ad, sinirlari o sayisal degikenin alabilecegi degerlerin siniridir. Yani byte tipinde bir degiskenin degeri 256 olamaz. Buna göre bizim isimize hangisi yariyorsa onu kullanabiliriz. Kapladigi alan ise bu degisken için hafizada kullanilan alanin byte cinsinden degeridir. Programlarimizin hafizada (hard-disk'te degil) az yer kaplamasi daha iyidir. Bunun için gereksiz yere longint degiskenini kullanmamamiz iyi olur. Çünkü pascalda en fazla 64 kilobyte'lik (yaklasik 64000 byte) degisken kullanabiliriz. Hemen bunlarla ilgili birkaç örnek program yapalim.
    Örnek 1: Bu program 2 sayiyi toplar ve sonucu ekrana yazar. Simdilik ekrana nasil yazdigimizin üzerinde durmayalim ama zaten sizin de anlayacaginizi düsünüyorum.
    Kod:
    Program Toplama_Denemesi;
    Uses Crt;
    Var
    sayi1,sayi2: integer;
    toplam: integer;
    Begin clrscr;
    sayi1:=19;
    sayi2:=81;
    toplam:=sayi1+sayi2;
    write('Bu sayilarin toplami=',toplam);
    readln;
    end.

    Bu program ekrana 100 yazar. Çünkü toplam isimli degiskenimizin son degeri 100'dür. Burada readln komutu enter'a basilmasini bekler. Bunu daha sonra görecegiz. Write ise ekrana birseyler yazar. Bunu da ayrintili olarak inceleyecegiz. Clrscr ise ekrani temizler. Simdilik görmemiz gereken atama islemleri, yani bir degiskenin degerini degistirme ve degiskenleri tanimlama. Gördügünüz gibi 3 tane degiskenimiz var ve bunlari iki satirda tanimliyoruz. Hepsinin tipi de ayni oldugu için üç degiskenimizi birden
    Var
    sayi1, sayi2, toplam: integer;
    seklinde topluca ya da üçünü de ayri ayri tanimlayabiliriz. Bu sizin keyfinize kalmis.
    Örnek 2: Bu program da kullanicidan (yani sizden) aldigi iki sayiyi çarpip ekrana yazar:

    Kod:
    Program Carpma_Denemesi;
    Uses Crt;
    Var
    a, b, c: integer;
    Begin clrscr;
    write('Birinci sayiyi giriniz:');
    readln(a);
    write('Ikinci sayiyi giriniz:');readln(b);
    c:=a*b;
    writeln('Sonuç=',c);
    readln;
    End.

    Gördügünüz gibi ilk önce a ve b degiskenlerinin degeri kullanicidan aliniyor, sonra c degiskeninin degeri a ile b'nin çarpimi olacak sekilde hesaplanip ekrana yazdiriliyor. Burada readln(degisken_adi); komutunu daha sonra anlatacagiz. Simdilik kullanicidan bir bilgi almak amaciyla kullanildigini bilseniz yeter. Pascal'da ayni satira birden çok komut yazilabilecegini ve büyük-küçük harf ayrimi olmadigini tekrar hatirlatiyim.
    Örnek 3: Son olarak sizin kaç yasinda oldugunuzu bulan basit bir program yapalim:

    Kod:
    Program Yas_Bul;
    Uses Crt;
    Var
    simdiki_yil, dogum_yili: integer;
    yas: byte;
    Begin clrscr;
    write('Kaç yilinda dogdunuz: ');readln(dogum_yili);
    write('Simdi hangi yildayiz: ');readln(simdiki_yil);
    yas := simdiki_yil - dogum_yili;
    writeln('Siz su anda ',yas,' yasindasiniz!');
    Readln;
    End.

    Gördügünüz gibi simdiki_yil ve dogum_yili degiskenlerini integer yaparken yas degiskenini byte yaptik. Çünkü 255 yasindan daha büyük insan olamaz. Bu durumda bosyere onu da integer yapip hafizada yer isgal etmeyelim. Iyi bir programci olmak için bunlara dikkat etmeliyiz. Yine iyi bir programci olarak degiken isimlerimizi anlamli ve mümkün oldugunca kisa ve o degiskenin içerigi ile alakali yapalim. Program içinde hata yapmamak için bunlar gerekli. Çünkü degiskenlerimize d1, d2, d3, d4... gibi isimler verirsek sonra hangisinin içerigi ne onu karistirabiliriz. Degisken isimlerinin uzunlugu yanilmiyorsam 50 karekter kadar olabilir ve bosluk içeremez, sayi ile baslayamaz. Bu arada crt uniti ise clrscr komutunu kullanmak için gereklidir ve Pascal'in hazir unit'lerindendir (Unit'in ne oldugunu simdilik bosverin!).


    Gerçek Sayi Tipleri:
    Tabii bunlara gerçek diyorsak digerleri sahte degil. Gerçekten kastimiz virgüllü ya da ondalikli ya da kesirli demektir. Bu tip sayilarin da tipki tamsayilarda oldugu gibi çesitleri var. Bu çesitliligin temel sebebi gereksiz hafiza kullanmaya engel olmaktir. Gerçek sayi tipleri sunlardir:
    [​IMG]
    Burada Real'den baska tiplerin de oldugunu bilmeniz için hepsini gösterdim ama gerçekte sadece Real tipini kullanmaniz yeterlidir. Html'de bir sayinin üstünü göstermek olmadigindan tablo biraz kötü gözüktü. Ben birisini yazi ile yazarsam siz digerlerini anlarsiniz. Real'in sinirlari "2.9 çarpi 10 üzeri -39'dan 1.7 çarpi 10 üzeri 38'e kadardir". Real tipinin disindaki tipleri kullanabilmeniz için prograinizin en basina {$N+} yazmaniz gerekebilir. Bunu bilmeniz gerekmiyor, real size yeter. Simdi biraz da bu tip gerçek degiskenlerle örnek yapalim.
    Örnek 1: Bu program girilen sayinin karekökünü bulur. sqrt(); komutunu sonra anlatiriz. Simdilik bu komutun bir sayinin karekökünü bulmaya yaradigini bilmeniz yeter.

    Burda kullanilan write komutunun özel bir sekli. Sayiyi düzgün yazdirmayi sagliyor. Daha sonra ayrintili görecegiz. Bunlari kaldirip direk olarak
    write('bu sayinin karekökü:',karekoku);
    seklinde yazip deneyin. Sayiyi bilimsel olarak sonuna E falan koyarak yazar.
    Örnek 2: Bu program kullanicidan 3 dersinin notunu ister ve ortalamasini bulup ekrana yazar.

    Kod:
    Program ortalama_bul;
    Uses crt;
    Var
    not1, not2, not3: integer;
    ort: real;
    Begin Clrscr;
    Write('Matematik Notunuz (0..100 arasi): ');readln(not1);
    Write('Fizik Notunuz (0..100 arasi): ');readln(not2);
    Write('Kimya Notunuz (0..100 arasi): ');readln(not3);
    ort:=(not1 + not2 + not3)/3;
    write('Ortalamaniz: ',ort:5:2);
    Readln;
    End.

    Burada dikkat etmeniz gereken birsey daha var. ortalamayi hesaplarken yaptigimiz isleme dikkat edin. Tipki matematik dersinde gördügümüz gibi parantezlerin islem önceligi var. Sayilarla yapabileceginiz aritmetik islemleri ilerde görecegiz.
    Buraya kadar yapilan ve bundan sonra yapilacak bütün örnekleri kendi elinizle Pascal editöründe yazmanizi tavsiye ederim. Yoksa ögrenemezsiniz. Ama eger kodlari direk olarak Pascal editörüne aktarmak istiyorsaniz kodu isaretleyip sag tiklayin ve kopyala yapin. Daha sonra Not defterini (notepad) açip oraya yapistirin kodlari ve kaydedin. ama kaydederken dosya isminin sonuna .pas yazin. Mesela deneme.pas gibi. Kaydettikten sonra daha önce anlattigimiz sekilde üstüne çift tiklayarak açabilirsiniz. Sonra istediginiz gibi düzeltebilir veya çalistirabilirsiniz.
     
  2. Espio

    Espio Buralıyım rank8

    Kayıt:
    12 Mart 2007
    Mesajlar:
    3.873
    Beğenilen Mesajlar:
    0
    Ödül Puanları:
    0
    Şehir:
    Home
    Off Nefret Ederim Pascal dan.
    Operatörlük sınavına Girdiğimde Az kalsın kalacaktım Neyseki Kopya tezgahımız sağlamdı Razz
     
  3. Narqotic

    Narqotic Bilgiliyim rank8

    Kayıt:
    22 Nisan 2007
    Mesajlar:
    1.365
    Beğenilen Mesajlar:
    0
    Ödül Puanları:
    0
    Meslek:
    !!!
    Şehir:
    BeN SeNiN CaNıN İçİN ÖmRüMü BiR KiBRiTiN KaBıNDa T
    saolasın Güzel
     
  4. belirsizzzzz

    belirsizzzzz Aileden rank8

    Kayıt:
    21 Aralık 2007
    Mesajlar:
    7.655
    Beğenilen Mesajlar:
    0
    Ödül Puanları:
    0
    Meslek:
    CeyRRANNCI
    Şehir:
    Tokyo /Y.t
    Pascal çok seviyorum teşekkürler mucX