folder Tahribat.com Forumları
linefolder Delphi - Pascal
linefolder Sıfırdan Başlayanlar İçin Pascal Dökümanı



Sıfırdan Başlayanlar İçin Pascal Dökümanı

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cold-m4
    cold-m4's avatar
    Kayıt Tarihi: 12/Temmuz/2007
    Erkek
                                              PASCAL

    Dökümanımı, daha önce hiç “programlama” sözcüğünü duymamış birine yazar gibi yazıcam ki hiçbir yanlış anlama-anlayamama gibi durumlar olmasın..

    EDEBİYAT BÖLÜMÜ

    İlk olarak programlama nedir? programlama dili nedir neye yarar?
    Bilgisayar kullanırken birçok programa ihtiyaç duyarız. Örneğin müzik dinlemek için winamp, video izlemek için windows media player vs gibi programlar kullanırız. Bunların yanında daha küçük çaplı programlar da vardır; telefon rehberi oluşturma, hesap makinesi vb basit programlar.. Pascal dilini kullanarak büyük çaplı olmasa da küçük programlar yazabiliriz..
    (Not: program yapılmaz yazılır, eğer arkadaşlar arasında karizma yapacaksanız program yapıom deil yazıom deyin daha havalı olsun )
    Programlama diline neden ihtiyaç duyarız?
    Arkadaşlar bir ingilizle konuşabilmek için İngilizce bilmeniz gerekir,aynı şekilde bir rusla konuşa bilmek için Rusça bilmelisiniz, pascalda program oluşturabilmek için de pascal programlama dilini bilmeniz gerekir, aksi takdirde bilgisayar sizin ne yapmak istediğinizi anlayamaz.

    (buraya kadar yazılanları anladıysanız sorun yok, devam edebilirsiniz, yok anlamadım diyosanız bence kasmaya gerek yok salla gitsin)

    ***PROGRAMLAMA BÖLÜMÜ***
    Evet şimdi işin önemli kısmına geçiyoruz. Pascal dili ile çok geniş içerikli programlar yazamasak da yeni başlayanlar için idealdir. İlk olarak kendimize bir derleyici bulmamız gerekiyor. Ben size devpascal programını tavsiye ederim. Programı aşağıdaki linke tıklayarak indirebilirsiniz.

    http://rapidshare.com/files/23779250/devpas192.rar.html

    Pascalda programa derdimizi kodlarla anlatırız.
    İlk olarak şu hatırlatmayı yapıcam, eğer devpascalı kurduysanız ve dökümandaki programları deneye deneye gidiyorsanız şunu unutmayın,pascal sayfasına kodları yapıştırdığınızda önce save edip ardından yukarıdaki yeşil ok tan compile edip onun yanındaki zımbırtıya basmanız gerekir programı görebilmek için, hatta ben size resim de koyayım;

    http://img186.imageshack.us/my.php?image=pascaldokumanxq0ds8.jpg

    Ben direk kodlara giriş yapıcam artık biraz kafanızı yorup anlamaya çalışmanız gerekmekte.
    En basitinden bir programla başlayalım.
    *** not: pascalda Türkçe karakter kullanmamalısınız, bazen sorunlara yol açabilir, ayrıca dökümanda kod yazarken yanlışlıkla Türkçe karakter kullandıysam siz onları düzeltin programı kullanırken..***

    Program 2kati;

    var

    abc:integer;

    begin

    writeln('Lutfen bir sayi giriniz');

    readln(abc);

    writeln('Yazdiginiz sayinin iki kati ‘,abc*2,’ dir');
    readln;

    end.


    size tavsiyem şudur ki; önce yukarıdaki programı devpascalda çalıştırıp kullanın ve ardından aşağıdaki kısma geçin, neyin neye yaradığını daha rahat anlarsınız.

    Şimdi size buradaki öğeleri tek tek tanıtacağım; (parça parça olacak biraz ama tamamını okuduğunuzda hepsi yerine oturmuş olacak)

    En başta “program 2kati;” yazıyor. Bu, programınıza verdiğiniz ismi belirtir. Onu yazmasanız da olur. Ama iyi bir programcı eserini isimsiz bırakmaz ;)
    “var” sözcüğü altında kullanıcının yazacaklarının sayı mı yoksa yazı mı olduğunu belirtiriz,(bunun dışında çok şey daha belirtilir ama şimdilik bu iş için kullanıcaz) biz orada abc:integer; demişiz,orada integer sayı anlamına gelir, yani bunu yaptığımızda program abc verisiyle karşılaştığında onun sayı olduğunu anlıyacaktır.
     Gelelim programın iskeletine;Programın iskeleti begin-end sözcükleri arasındadır.
    Begin

    <KOD KOD KOD KOD KOD>

    End.

    Şeklinde kullanılır.
    Begin ile End. Arasında yazdığımız kodlar programın kullanıcıya gösterilecek kısmını oluşturur.

    “writeln” kodunu kullanarak belirlediğimiz cümleyi programda yazdırırız.  “readln” kodunu yazdığımızda ise söz hakknı kullanıcıya vermiş oluruz, orada readln(abc); şeklinde yazmışım, burada parantez içinde “abc” yazmam, kullanıcı bir sayı yazdığında program o sayıyı hafızasına abc olarak kaydetmesine yarar. Çünkü kullanıcının ne yazacağını önceden bilemeyiz ve bu şekilde belirleyebiliriz. Dolayısıyla kullanıcımız sayıyı yazıp enter a bastığında onu 2 ile çarpma imkanımız olur, devam edelim; writeln('Yazdiginiz sayinin iki kati ‘,abc*2,’ dir');  demişiz.Burada writeln kodu gene bizim ekrana yazı yazdırmamızı sağlıyor, fakat ilk cülemizden biraz daha farklı; ‘,abc*2,’ diye bir bölüm var, kullanıcımız sayı olarak eğer 5 girdiyse, programımızda “Yazdiginiz sayinin iki kati 10 dir” şeklinde gözükecektir. Yani ‘,  ,’ ayraçları arasındaki bölüm özerk bölümdür burası işlem için kullanılır, abc çarpı 2 demişiz orda zaten o bölüme o işlemin sonucu yazılarak programa yansır.Devam edelim, end. deyip bitirmeden önce readln; kullanmışız tekrar, bunun nedeni şudur ki; programın sonlandırılması için kullanıcıya hak tanıyoruz. Eğer o readln; yi koymazsak kullanıcı sayısını girdiğinde iki katı hemen gözükür ve saniye içinde program kapanır, bu yüzden her zaman kapatma hakkını kullanıcıya vermeliyiz, ve end. den önce mutlaka readln; yi kullanmalıyız. Kullanıcı entera bastığında program kapanacaktır öyle bir durumda


    Şimdi bazı püf noktalardan bahsedeceğim..
    Programda her satırın sonuna ; getirilir.  (noktalı virgül :)
    Aşağıdaki kodları tekrar inceleyiniz.

    Program 2kati;

    var

    abc:integer;

    begin

    writeln('Lutfen bir sayi giriniz');

    readln(abc);

    writeln('Yazdiginiz sayinin iki kati ‘,abc*2,’ dir');
    readln;

    end.

    Fakat kesinlikle begin,var,end gibi kodların sonuna ; getirilmez.



    Eğer sadece okumak yerine bu kodları programa yapıştırıp da incelerseniz daha rahat öğrenirsiniz.

    Başka bir ipucu; yazacağınız cümle writeln('laf laf laf laf ');
    Şeklinde yazılır. Yani önce writeln yazarsınız parantez açarsınız sonra ' koyarsınız sora yazınızı yazar ardından gene ' koyar ve parantezi kaparsınız sonuna da ; koymayı ihmal etmeyin.  Bunu böle ayrıntılı göstermemin nedeni üstteki kodların arasında gözden kaçabilecek olması.
    Gelelim diğer bir ip ucuna, writeln diyoruz da neden write demiyoruz,buradaki ln, enter görevi taşır. Yani eğer siz ln kullanmazsanız programı açtığınızda “bir sayi yaziniz” yazar
    Sonra diyelim ki 20 yazdınız, o da “yazdığınız saynın iki kati 40 tir” dedi. Bütün bunlar şu şekilde görünür: “bir sayi yaziniz20yazdiginiz sayinin iki kati 40 tir” gibi..
    Bu yüzden ln kullanmaya özen gösterin.

    Ve en son olarak “end.” e gelelim, end. Kodu programın bittiğini gsterir. Bunu yazdıktan sonra artık başka kod yazılmaz, yani en sona yazılır :) end ve nokta yani end. Şeklinde yazmalısınız aksi takdirde sorun çıkabilir. Son olarak bir şeyden bahsedicem mesela kullanıcının tanımladığı bir şeyi 5 ile çarpacaksınız, abc gibi, o zaman cümlenin içinde ayrıca ',abc*5, ' kalıbını kullanmanız gerekir yukarıda da bahsettim gerçi ama, benim orda yazdığım ',abc*5, ' in anlamı, diyelimki kullanıcı 20 yazdı 20*5 anlamına gelir, * işareti burada çarpı işareti yerine kullanılır. İlla 2 katını ya da 5 katını alcaksınız diye bir şey yok 5 fazlasını da alabilirsiniz,karesini de. O zaman şöyle yazarsınız: writeln('yazdiginiz sayinin 5 fazlasi ',abc+5, ' dir’); şeklinde de yapabilirsiniz.  Ya da karesini almak için writeln('yazdiginiz sayinin karesi  ',abc*abc, ' dir’); şeklinde de yapabilirsiniz.

    Şimdi başka bir program örneğiyle devam edelim..

    Program tanisma;
    Var
    isim:string;

    begin

    writeln('Merhaba benim adım Cold-m4,  senin adin nedir? ');
    readln(isim);
    writeln('Memnun oldum ',isim, ' Seni tanidigima sevindim. ');
    readln;
    end.

    Burada başka bir yapıyı string i kullandık, string burada kelime, ya da yazı anlamına gelir.Yani bir şeyi string olarak tanımladığımızda programımız kullanıcının rakam veya sayı değil de kelime yazacağını bilir ona göre işlem yapar.
    ilk olarak “isim” sözcüğünü string olarak belirledik, ardından da readln(isim); kalıbını kullanarak kullanıcının girdiği ismi programımızın yakalamasını sağladık.
    fark ettiyseniz burada da ‘,  ,’ yapısını kullandık, ‘,isim,’ şeklinde yazdığımızda kullanıcı isim bölümüne ne yazdıysa bu yapıda da o çıkar. Peki şöyle yapabilirmiydik diye sorabilirsiniz, writeln(‘ memnun oldum isim’); şeklinde yapamazdık, çünkü o zaman program neyden bahsettiğimizi anlamaz ve ekrana “memnun oldum isim” yazardı. Bu yüzden ‘,   ,’ ayraçlarının önemi büyüktür.
    Şimdi biraz daha ilerletelim isterseniz, daha geniş çaplı bir program yazalım, fakat eğer elinizde devpascal yoksa kesinlikle okuyarak geçmeyin buradaki her programı pascala yapıştırıp çalıştırın.
    Bol bol deneyin kendiniz de değişiklikler yapın mesela ben orda  writeln(‘memnun oldum ‘,isim,’ seni tanidigima sevindim’);  dedim ama siz writeln(‘senin a.q ‘,isim,’ amk ibnesi’);  şeklinde veya daha değişik bi şekilde değiştirebilirsiniz ayrıca sadece bir cümle yerine birkaç cümle üst üste yapabilirsiniz, zekanızı zorlayın.
    Neyse programımıza geçiyoruz.

    Program chat;

    Var
    isim:string;
    yas:integer;
    begin
    writeln('Merhaba ben cold-m4, ya sen kimsin bilader?');
    readln(isim);
    writeln('memnun oldum ',isim, ' kardes, soyle bakam kac yasindasin? ');
    readln(yas);
    writeln('demek ',yas, ' yasindasin. Guzel guzel Allah uzun omurler versin ');
    readln;
    end.

    Arkadaşlar şimdilik verebileceklerim bu kadar, çok kısa bir süre içinde ikinci bir dökümanla birlikte olacağız, verdiğim kodları kullanarak ve işe zekanızı da katarak daha ilginç şeyler türetebilirsiniz,
    Son olarak bi hatırlatma yapıcam diyelimki birden fazla sayı veya isim kullanıcaz, o zaman şöyle yapıcaksınız,

    Var
    Sayi1,sayi2,sayi3:integer;
    isim1,isim2,isim3:string;

    şeklinde birçok isim ve sayı kullanabilirsiniz..

    Ha bu arada son hatırlatma,programı yazıp masaüstüne kaydedip compie ettiniz yeşil şeyden ondan sonra onun yanındaki run project’e basıp programı çalıştırdığınızda programınız masaüstünde exe halinde belirecektir, nereye kaydettiyseniz orada belirir.
    Takıldığınız ve sormak istediğiniz bir şeyler olursa msn adresim: cold-m4@msn.com 23 saat açık..
    Umarım yararlı olmuştur, Sevgilerle :)

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cold-m4
    cold-m4's avatar
    Kayıt Tarihi: 12/Temmuz/2007
    Erkek
    ilk mesaj editlenmediği için dökümanımın devamını bu mesajdan getireceğim..
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wasd
    wasd's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek
    Sie aq sen ne pascal bilionda bide döküman yazıo :D

    :)
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cold-m4
    cold-m4's avatar
    Kayıt Tarihi: 12/Temmuz/2007
    Erkek

    lan ibnetor oku da öğren wallpaper yapmaya benzemez bu :D 1.5 saat uğraştım bunun için teşkür et amk bu yaptıkların sana yol elektrik ve su borusu olarak geri dönecek :D

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    AntiOksidan
    AntiOksidan's avatar
    Kayıt Tarihi: 03/Ekim/2005
    Erkek
    Eyv güzel döküman,böyle konulara bakmak lazım zıplattım.
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    BuZuL
    BuZuL's avatar
    Kayıt Tarihi: 09/Eylül/2005
    Erkek
    cold-m4 bunu yazdı:
    -----------------------------

    lan ibnetor oku da öğren wallpaper yapmaya benzemez bu :D 1.5 saat uğraştım bunun için teşkür et amk bu yaptıkların sana yol elektrik ve su borusu olarak geri dönecek :D


    -----------------------------

    nie diğer dökümanda elektri ve su borusu yapmayımı öğretcen :D :D

    eline sağlık uğraşın yeter hajı

     


    DAĞDA ÜÇ BEŞ KOYUN SÜRÜSÜ, TUTTURMUŞ BİR KÜRDİSTAN TÜRKÜSÜ, ELİNE ALMIŞ BAYRAK DİYE BİR MASA ÖRTÜSÜ, SATSAN BEŞ PARA ETMEZ NE DİRİSİ NE DE ÖLÜSÜ, SOYU SOYSUZ OLAN SENSİN TOPRAK SENİN NEYİNE, İTE İTLİK YAPIP KAFA TUTMA BEYİNE, ANLASA DEDİĞİMİ SOKAKTAKİ KÖPEK AĞLAR HALİNE, DUY ULAN SOYSUZ NE MUTLU TÜRKÜM DİYENE.......
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    blue_dream
    blue_dream's avatar
    Kayıt Tarihi: 04/Mart/2007
    Erkek
    c/p yaptım, işlerim bittiginde okicam hoca sagol.. ellerine saglık. devamını bekliyoruz :)
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    dengesiz
    dengesiz's avatar
    Kayıt Tarihi: 29/Temmuz/2005
    Erkek
    eywallah kardeş ellerine sağlık ama pascal devri yıllar önce bitti şöle c# falan dökümanı falan hazırlasan daha ii olur

    Doğru kişi olmak meselenin yarısıdır, diğer yarısı; doğru zamanda, doğru yerde, doğru kişilerle karşılaşmış olmanızdır.
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cold-m4
    cold-m4's avatar
    Kayıt Tarihi: 12/Temmuz/2007
    Erkek
    dengesiz kardeş o da olur inş c ile aram pek iyi değil öğrenince onu da yazarız ;) pascalla devam etmeyi düşünüyorum bi süre ardından delphi dökümanlarına geçicem
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    NighT-7
    NighT-7's avatar
    Kayıt Tarihi: 01/Ağustos/2005
    Erkek
    yararlı bi döküman tşkler paylaşım için

    sanılanın aksine...
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SSH
    SSH's avatar
    Kayıt Tarihi: 21/Temmuz/2005
    Erkek
    iyi iyi pascal güzeldir hoştur :D döküman iyi gibi tam inceleyemedim ama inceliycem şimdi

    sırıtma la.
Toplam Hit: 5950 Toplam Mesaj: 15