By.KaBuS weB MaSteR
Mesaj Sayısı : 223 Kayıt tarihi : 13/06/09 Yaş : 31 Nerden : Notalar İcinden Lakap : By.KaBuS
| Konu: Turbo Pascal'ın Kurulumu Ptsi Haz. 15, 2009 12:34 pm | |
| Turbo Pascal'ın Kurulumu
TurK Pascal(c) Pascal Dersleri'ne başlamadan önce bilgisayarınıza Turbo Pascal Derleyicisini kurmamız gerekiyor.Eğer bilgisayarınızda Turbo Pascal kurulum paketi yoksa DOWNLOAD bölümümüzden gerekli dosyaları çekebilirsiniz. Eğer TurK Pascal(c)'dan download ettiyseniz.Bilgisayarınızda tp70.zip ismindeki sıkıştırılmış dosya bulunması gerekiyor.Bunu Winzip programı vasıtasıyla tp70 isminde bir klasöre unzipleyin.İlgili klasörü açın ve Install.exe progr***** çalıştırın.Eğer çalıştırdığınızda bir hata verirse.Ms-Dos modunda ilgili klasöre girip install yazın.Böylece kurulum programı çalışacaktır.Şimdi aşağıdaki listeyi takip edin.
-Giriş ekranını Enter tuşuna basıp geçin. -Size kaynak sürücüyü soracaktır.Normalde install.exe progr*****n bulunduğu sürücü otomatik olarak yazılmış olacaktır.Enter tuşuna basın. -Size kaynak sürücüyü soracaktır.Eğer gerekli dosyalar install.exe progr*****n bulunduğu klasördeyse değiştirmeden Enter tuşuna basın. -Install Turbo Pascal on a Hard-Drive ı seçip Turbo Pascalı Hard Diske yükleyeceğimizi belirtelim. -Otomatik olarak C:\Tp klasörünü ayarlayacaktır.Değiştirmeden Start Installation a basın. -Dosyaların yüklenmesini bekletin.Mavi bir mesaj kutusu çıkacak.Herhangi bir tuşa basın. -Turbo Pascal'ın İngilizce Readme yazısı çıkacaktır.Çıkmak için Esc'ye basın. -Turbo Pascal hard diskinizin belirtilen dizinine kurulmuş olacaktır.
Şimdi işimizi daha da kolaylaştırmak için Not Defteri progr***** çalıştırın ve Windows'un kurulu olduğu hard diskin içindeki Autoexec.bat dosyasını açın ve dosyanın sonuna aşağıdaki kodu ekleyin.
Set Path=%PATH%;C:\Tp\Bin;
Yalnız bunu yaparken dikkat edin.Başka bir kodu silmeyin.
Bu işlemleri tamamladıysanız bilgisayarınızı yeniden başlatın.Böylece kodlarınızı programa(exe) çevirecek olan Turbo Pascal Derleyicisi bilgisayarınıza kurulmuş olacaktır.Değişkenler(variables) istisnasız her programlama dilinin yapıtaşlarıdır.Daha öncede söylediğimiz gibi değişkenleri içinde veri bulunduran kaplara benzetebiliriz.Bu bölümde değişken tanımlama,değiştirme ve değişken türleri üzerinde duracağız.
Dediğim gibi değişkenler veri saklamak için kullanılır.Perl dilinde değişkenleri istediğiniz an kodun istediğiniz bölgesinde oluşturabilirsiniz.Ama bu Pascalda öyle değildir.Pascalda kullanacağınız değişkenleri ve bu değişkenlerin türlerini önceden belirlemeli ve kullanmadan önce kod içerisinde tanımlamalısınız.Aşağıdaki örneği inceleyerek anlamaya çalışalım.
Program degisken; { Program ismi } (* Bu program A tamsayısına bir değer atayıp ekrana yazdırır. A değişkenini değiştirerek farklı sonuçlar aldığınızı göreceksiniz... *) var { Değişken tanımlanmaya başlanıyor } a: integer; { A bir tamsayı } begin { Başla } a:=200; { A=200 } writeln ('A sayisinin degeri ',a); { A sayısının değerini gerekli değişkeni kullanarak yazdırır } end. { Programın sonu }
İşte programın gerekli açıklamaları kodun içinde.Bu açıklamalar programa ekstra bir özellik katmaz.Fakat siz koda baktığınızda açıklamalarıyla daha kolay anlayabilirsiniz.Pascal dilinde açıklama-yorum (* *) ya da { } arasına yazılarak yapılır.Bu işaretler arasındaki kodların geçerliliği yoktur.Başkasına kod gönderecekseniz mutlaka açıklamalardan faydalanın.Kendiniz kullanacağınız kodlara bile açıklama yapmanızda fayda var.Yok ben ne yaptığımı bilirim açıklamaya ihtiyacım yok demeyin.6 ay önce yazdığınız bir koddan hiçbir şey anlamamanız çok doğaldır.Bundan sonraki örneklerde açıklamayı hep kodun içinde sizlere sunacağım.
Gördüğünüz gibi a isminde bir tamsayı değişken tanımladık.Değişkenler var komutundan sonra a: integer gibi tanımlanır.Birden fazla değişkeni aynı türe atamak için a,b,c,d: integer gibi tanımlamalar kullanılır.Farklı türde değişkenleri tanımlamayı aşağıdaki örneği inceleyerek görelim.
Program degisken2; { Program ismi }
var { Değişkenler tanımlanmaya başlanıyor } a,b: integer; { A ve B birer tamsayı } c,d: string; { C ve D birer alfa-nümerik(sayı olmayan) } begin { Başla } a:=200; { A=200 } b:=100; { B=200 } c:='Turbo'; { C=Turbo } d:='Pascal'; { D=Pascal } writeln ('A tamsayisinin degeri ',a); { A nın değeri } writeln ('B tamsayisinin degeri ',b); { B nin değeri } writeln ('C stringinin degeri ',c); {C nin değeri } writeln ('D stringinin degeri ',d); {d nin değeri } end. { Programın sonu }
Değişkenler bu şekilde kullanılıyor.Ayrıca değişkenler üzerinde matematik işlemlerde yapılabiliyor.Bunu daha geniş bir biçimde ileriki konularda göreceğiz şimdi gelelim değişken türlerine... Kod içerisinde gördüğünüz gibi değişkenler integer,string gibi değerler alıyorlar.Aşağıdaki tabloyu incelediğinizde değişken türleri hakkında gerekli bilgiyi almış olacaksınız.Değişken TürüAçıklamastringalfa-nümerik yani sayı olmayan herşeyinteger-32768 ile 32767 arasındaki tamsayılar byte0 ile 255 arasındaki tamsayılarreal1.0e-38 ile 1.0e+38 arasındaki ondalıklı sayılarchar1 ascii karakteri(mesela a harfi yada @ karakteri)boolean1 yada 2 yani true(doğru) yada false(yanlış)word0 ile 65535 arasındaki tamsayılarshortint-128 ile 127 arasındaki tamsayılarlongint-2147483648 ile 2147483647 arasındaki tamsayılarsingle7 basamak hassasiyetli ondalıklı sayılardouble15 basamak hassasiyetli ondalıklı sayılarextended19 basamak hassasiyetli ondalık sayılarcomp-1*10 üssü 28 ile 10 üssü 28 arasındaki tamsayılarGördüğünüz gibi her ihtiyaca göre değişken türü bulmak mümkün.Eğer bir integer tanımlar ve değişkenin değerini 32768 yaparsanız derleme aşamasında "Error 76: Constant out of range" gibi bir hata alırsınız.Aritmetik İşlemler Aşağıdaki örneği inceleyin.
Program aritmetik_islemler; { Program ismi } (* Değişkenler üzerinde aritmetik işlemler programı *) var { Değişkenleri tanımlamaya başla } a,b,c,d: real; { a,b,c ve d birer reel sayıdır }
begin { Programın başlangıcı } a := 3.5; { a ya değer ekle } writeln ('A: ',a:6:1); { A: 3.5 }
b := a+2.5; { b 2.5 artı a ya eşittir } writeln ('B: ',b:6:1); { B: 6.0 }
c := b-a; { c a eksi b ye eşitti } writeln ('C: ',c:6:1); { C: 2.5 }
b :=5; { b nin değerini değiştir } d := (c*2)/b; { parantezli işlemler } writeln ('D: ',d:6:1); { D: 1.0 } end. { Programın sonu }
Yukarıdaki programda değişkenleri birer reel sayı olarak tanımladık.Integer(Tam Sayı)da kullanabilirdik,fakat tamsayılarda 3.5 gibi değerler atayamaz ve bölme işlemini gerçekleştiremezdik.Fakat reel sayılarda da birtakım sorunlarımız var.Mesela kodun içindeki tüm :6:1 karakterlerini kaldırın ve kodu kaydedip tekrar derleyin.Programı çalıştırdığınızda 5 gibi bir sayıyı 5.0000000E+00 biçiminde göreceksiniz.Bunun anlamı E den öncesini aynen alıp bir kenara yaz ve onu 10E'den sonraki rakam ile çarp.Biraz karışık gibi gözükebilir ama aşağıdaki örnekleri incelerseniz daha iyi anlayacağınızdan eminim.
Reel Açılım Normal 6.4500000000e+01 6.45*101 64.5 4.1500000000e-02 4.15*10-2 0.0415 Şimdi gelelim bundan nasıl kurtulacağımıza.Programda gördüğünüz :6:1 reel sayıları formatlama biçimidir.Bunun anlamı soldan 6 karakter boşluk bırak ve virgülden sonra 1 basamağa izin ver.1.487 sayısının hangi formatta ne sonuç verdiğini görmek için aşağıdaki tabloyu inceleyin. [center]Format Çıktı :6:3 1.487 :6:2 1.49 :6:1 1.5 Tablodan da anlayabileceğiniz gibi eğer formatı sayının uzunluğundan dar tutarsanız Pascal bu sayıyı yuvarlayacaktır. For Döngüsü
For döngüsü çoğu programlama dilinin en basit döngüsüdür.Tek bir komutu birden fazla kez tekrarlamak için kullanılır.Aşağıdaki örneği inceleyin.
Program for_dongusu1; { Program ismi } (* For döngüsü ile birlikte birkaç teknik... *) var { Değişkenleri tanımlamaya başla } a,b,c: integer; { a ve b birer tamsayıdır }
begin { Program başlangıcı } a := 1; b := 15;
for c := a to b do { C 1'den 15'e kadar bir tamsayı için } begin { Döngü için begin } write (c,'-');writeln('Bu ',c,'. satir...'); { 15 satır => 1-Bu 1. satır... formatında } end; { Döngü sonu } end. { Program sonu }
Bu programı derleyip çalıştırdığınızda.15 satır writeln komutunun işlendiğini göreceksiniz.For döngüsü for...do biçiminde kullanılır.begin kullanımı zorunlu değildir fakat özellikle birden fazla komut kullanılacaksa yazılması gerekir.Tabi döngü sonunda end; biçiminde end komutunu da koymak şartıyla. Şimdi yukarıdaki programda "for c := a to b do" satırını "for c := b downto a do" şeklinde değiştirip tekrar derleyip çalıştırın.Umarım mantığını anlayabilmişsinizdir.Aynı şekilde yukarıdaki yöntem karakterler(char) içinde kullanılabilir.Aşağıdaki örneği inceleyin.
Program for_dongusu2; { Program ismi } (* For döngüsü ile birlikte birkaç teknik... *) var { Değişkenleri tanımlamaya başla } alfabe: char; { alfabe bir karakterdir }
begin { Program başlangıcı }
for alfabe := 'A' to 'Z' do { Alfabe A dan Z ye kadar bir karakter için } write (alfabe);
end. { Program sonu }
Yine aynı şekilde downto ve begin kullanarak ta programı deneyebilirsiniz.Ancak karakterlerde dikkat edilmesi gereken şey tek tırnak(') kullanımıdır.
Repeat-Until Döngüsü
repeat...until döngüsü bir komutu "until" komutundan sonraki olay(eşitlik v.b.) sağlanana kadar tekrarlar.Aşağıdaki örneği inceleyin.
Program repeat_dongusu; { Program ismi } (* Repeat-Until döngüsü ile birlikte birkaç teknik... *) var { Değişkenleri tanımlamaya başla } a: integer; { a bir tamsayı }
begin { Program başlangıcı }
a := 1;{ A=1 } repeat { repeat başlangıcı } a := a+1; { a yı birer arttır } write(a,'-');writeln('Bu ',a,'. satir...'); { Ekran çıktısı } until a = 16; { A=16 olana kadar repeat komutu sonrasını tekrar et }
end. { Program sonu }
Yukarıdaki örnek geçen bölümde yazdığımız for_dongusu1 örneğinin aynısı.Sondan başa yapabilmemiz için "a :=1" satırını "a :=16" olarak değiştirin.Daha sonra "a := a+1" satırını "a :=a-1" olarak değiştirin.Son olarak ta "until a = 16" satırını "until a = 1" olarak değiştirip kodu tekrar derleyin.Umarım aşağı yukarı kullanımını anlamışsınızdır.
[/center] | |
|
By.KaBuS weB MaSteR
Mesaj Sayısı : 223 Kayıt tarihi : 13/06/09 Yaş : 31 Nerden : Notalar İcinden Lakap : By.KaBuS
| Konu: Geri: Turbo Pascal'ın Kurulumu Ptsi Haz. 15, 2009 12:34 pm | |
| While ve Case Döngüleri
While döngüsü verilen şart geçerli olduğu sürece Do blokunun içindeki komutları çalıştırır.Aşağıdaki örneği inceleyin.
Program while_dongusu; { Program ismi } (* While ... Do ... döngü örneği *) var { Değişkenleri tanımlamaya başla } a: integer; { a bir tamsayı }
begin { Program başlangıcı }
a := 1;{ A=1 } while a < 16 { A 16'dan küçük olduğu sürece } do { Do bloku } begin { Do bloku için begin } write (a, '-');writeln('Bu ',a,'. satir...'); { 15 satır => 1-Bu 1. satır... formatında } a := a+1; { A yı birer birer artır } end; { Do bloku için end } end. { Program sonu }
Bu program bütün döngülerde yazdığımız klasik 15 satır progr*****n while döngüsü kullanılarak yazılmış halidir.
Case döngüsü birden fazla şartlı kullanımlar için daha pratik bir döngüdür.Değişik şartlar altında aynı veya farklı komutlar çalıştırılabilir.Aşağıdaki örneği inceleyin.
program case_dongusu; (* Case döngü örneği *) var girdi: integer;
begin { Program başlangıcı } repeat { Tekrarla } begin { repeat için } writeln('1 ile 5 arasinda bir sayi girin: ');read(girdi); { Ekrana yaz,girdi oku ve girdi değişkenine ata } end; { repeat için } until (girdi>0) and (girdi<6); { girdi tamsayısı 0 dan büyük 6 dan küçük olana kadar tekrarı sürdür... }
case girdi of { Girdi değişkeni için case } 1: writeln('Selam'); { 1 girilirse ekrana selam yazdır } 2: writeln('Merhaba'); { 2 girilirse ekrana merhaba yazdır } 3: writeln('Ne haber?'); { 3 girilirse ekrana ne haber? yazdır } 4: writeln('Iyi sanslar'); { " " } 5: writeln('Hoscakal'); end; { case için } end. { Program sonu }
Kodu biraz karışık gözükebilir ama mantığı basittir.Kullanıcıdan girdi beklenir ve bu girdi 0 ile 6 arasında bir tamsayı olana kadar program kullanıcıya girdiyi sorar.0 ile 6 arasında bir girdi verilirse.Her sayıya ayrı bir işlem uygular mesela 1 girilirse ekrana selam yazdırır.Öğrendikleriniz dahilinde writeln komutlarını başka komutlarla değiştirebilirsiniz.Örneğin 5: end. yaparsanız kullanıcı 5 rak***** girdiğinde program sonlanacaktır.
If..Then..Else Bloku
If..Then..Else bloku çoğu programlama dilinde olduğu gibi Pascalda da önemi tartışılmaz bir döngüdür.Kısaca yapısı şöyledir.
If şart then begin (Şart doğru ise çalıştırılacak kod) end Else begin (şart yanlış ise çalıştırlacak kod) end;
Blok içinde begin ve end komutları kullanmadanda programlarınzı yazabilirsiniz.Ancak kullanmanız sizin yararınıza olacaktır. Çoğu programlama dilinde Elseif yada Elsif gibi eğer yukardaki şart yanlışsa bu şartı da dene gibi bir komut vardır.Ancak bu komut Pascal'da mevcut değildir.Bu açığı Else komutundan sonra tekrar bir If bloku başlatarak kapayabiliriz.Aşağıdaki örneği inceleyin.
program If_Then_Else;
var a,b,c: integer;
begin a:=5; b:=10; c:=50;
if (a=5) and (b=10) and (c=50) then { Eğer a=5 b=10 ve c=50 ise başla } begin if a+b=14 then writeln('a+b 14 e esittir...') { Eğer a+b=14 ise } else writeln('a+b 14 e esit degildir...') { Eğer a+b 14 e eşit değilse } end else { Eğer a=5 b=10 ve c=50 değil ise } halt; { Programı bitir } end.
Dikkat edilmesi gereken bir başka mevzu ise eğer If blokundan sonra else kullanmak istiyorsanız hiçbir şartla If içindeki komutları noktalı virgül ile sonlandırmamalısınız.Dikkat ettiyseniz end; yerine dahi end kullandım. Yukarıdaki programda and gibi bir operatör kullandık bir sonraki derste operatörler hakkında geniş bilgi vereceğim.Son olarak Else If komutunuda kavrayabilmek için aşağıdaki kodu inceleyin.
program Else_If;
var a: integer;
begin a:=5;
if a=5 then writeln('A=5 Bes')
else if a=6 then writeln('A=6 Altı')
else writeln('A bilinmiyor...');
end. | |
|