PASCAL PROGRAMLAMA DİLİ BÖLÜM-1................................Pascal programla dili yazı dizisi bölüm 1. Pascalda program yapısı, kullanılan bazı komutlar ve bir kaç örnek program... Bu yazımızda Pascal programlama dili hakkında yeni öğrenmeye başlayanlar için kendi bildiklerimi paylaşmak istedim. Öncelikle pascalın tarihini şu şekilde özetleyebiliriz:Pascal 1968 yılında Niklaus Wirth tarafından geliştirilmiş,yüksek seviyeli bir programlama dilidir.
Pascal program yazmadaki sağladığı kolaylıklardan dolayı yaygın olarak kullanılmaktadır. Programcının kendisine gerekli bir program parçasını bir defa hazırladıktan sonra bu unitleri başka programlar içinde kolayca kullanması ve istediği şekilde veri tipleri tanımlayabilmesi pascalı önemli kılan özelliklerdendir. Artık program nasıl yapılır onu açıklamaya çalışacağım.
Pascal programını yapısı üç ana kısımdan oluşur.
1. Program İsmi
2. Tanımlama Bloğu
3. Ana Program Bloğu
**1. Program İsmi: Program ProgramIsmi; biçiminde yazılır.Program ismini yazarken türkçe karakter
kullanılmaz. (Ç,ç,Ü,ü,Ğ,ğ,İ,ı,Ş,ş,Ö,ö).Program ismi iki veya daha fazla sözcükten oluşuyorsa araya
boşluk konulmaz. Kelimeler arasına_(alt çizgi) yazılır.Program ismi 30 karakterden fazla olmamalıdır.
Pascal tarafından ayrılmış sözcükler(reserved words) kullanılmaz.Özel işaretler kullanılmaz ( ) , . ' ; : [ ] { } v.b. gibi
Örnek:
Program program_adı;
**2.Tanımlama Bloğu
Unit (Kütüphane): Pascal derleyicisinin hazır kütüphaneleri ile programcı tarafından tanımlanmış
kütüphanelerin belirtildiği bloktur.
Const : Sabit sayıların tanımlandığı bloktur.
Örnekler
Pi = 3.14;
Maksimum = 15;
Sifre = 'YAKAMOZ'
Type : Özel tanımlı tiplerin belirtildiği bloktur.
Label : Program akışının değiştirileceği atlama adımlarının tanımlandığı bloktur.
Var (variable): Programda kullanılacak değişkenlerin tanımlandığı bloktur.
Değişken Tipleri
Tam Sayılar
Tip Alt Sınır Üst Sınır Bellekte Kapladığı Alan
ShortInt -128 127 1 Byte
Integer -32768 32767 2 Byte
Byte 0 255 1 Byte
Word 0 65535 2 Byte
LongInt -2.147.483.648 2.147.483.647 4 Byte
Real 2.9 * 10^-39 1.7 * 10^38 6 Byte
Single 1.5 * 10^45 3.4 * 10^38 4 Byte
Double 5.0 * 10^-324 1.7 * 10^308 8 Byte
Extended 3.4 * 10^-4932 1.1 * 10^4932 10 Byte
Comp -2^63+1 2^63-1 8 Byte
string 1 ....255 karakter
char 1 byte
boolean 1 byte
Procedure, Function : Altprogramların tanımlandığı bloktur.Tanımlamada öncelik sırası
yukarıdan aşağıya doğrudur.
**3. Ana Program Bloğu
Begin ile başlayıp End ile biter.
Örnek Program:
Program Ilk; Program Başlığı sonuna ; konulmaldır.
Const Sabit sayı tanımlama
b:=10 b sabitinin değeri 10 dur.
Var Değişken tanımlama
a : integer; a sayısı tam sayıdır.
b : real; b sayısı ondalıklı sayıdır.
Begin ana program başladı.
Write ('a sayısını giriniz : '); Ekrana ' ... ' arasındakileri yaz.
Readln(a); a değişkenini (klavyeden) gir. Alt satıra geç. (ln)
c := a + b; a değişkeni ile b sabitini topla, c'ye ata.
Writeln('a + b = ', c) '...' içindekileri yaz, sonucunu yaz (c'yi), alt satıra geç.
Readln Klavyeden herhangi bir karakter oku (Program çalıştırıldığında
sonucu (c) ekranda bekletmek içindir. (yazılmasa da olur). Son satırdan bir onceki satıra ; yazılmasa da olur.
End. Program sonu (Her Begin'in bir End'i vardır.
Programın sonundaki End'in sonuna nokta isareti konulur.
Sabit ve değişkenleri tanımlarken sayı ile başlamazlar ( 2a: integer; tanımlaması yanlıştır).
İki sözcük arasında boşluk bırakılmaz. Türkçe karakter kullanılmaz (Ç ç Ö ö Ü ü Ğ ğ İ ı Ş ş Ç ç).
Özel işaretler kullanılmaz ( ; : , . ' " + - * / - ? = .........) Turbo Pascal'ın ayrılmış sözcüklerinden
herhangi birisi değişken ya da değişken ismi olmaz. Alt çizgi ( _ ) ile başlayabilir.
Örnekler:
Const
Pi_Sayisi = 3.1415;
Bulundugum_yil = 2000;
Tarih = '11/11/2000';
isim = 'ahmet';
soyad = 'boyraz';
YAS =19;
Örnekler:
Var
Yas : shortint;
SAYI : integer;
secmen_sayısı : integer;
Buyuksayi : longint;
ucret : real;
Pi : real;
Sayac : word;
Nufus : single;
sayi2 : double;
aralik : extended;
SaYI3 : comp;
Yeni : byte;
harf : char;
Atama İşlemlerinde eşitliğin sol tarafına -, + veya sayı yazılmaz.Birden fazla değişken yazılmaz.
(a+b:=c)
PASCAL'DA KULLANILAN BAZI KOMUTLAR
Write-writeln:Sabit,değişken,yazdığımız mesajlar veya işlem sonuçlarının bir dosyaya veya ekrana yazılmasını sağlar.Writeln(writeline)komutu write'dan farklı olarak yazılar yazıldıktan sonra imleç bir sonraki satıra geçer.
Read-readln:Klavyeden bilgi göndermek için kullanılır.Girilen bilgiler değişkenlerde tutulur.
Case-of:Verilen ifadenin aldığı değere göre program akışını değiştirmek veya istenen işlemleri yapmak için kullanılır.
For-do:İstenen işlemleri istediğimiz sayıda tekrarlatmak için veya istenen iki aralıkta değerler elde etmek için kullanılır.
Repeat-until:İstenen şartlar oluşuncaya kadar işlemleri tekrarlatmak için kullanılır.
While-do:Belirtilen şart doğru olduğu sürece istenen işlemleri tekrarlamak için kullanılır.
Clrscr:Ekranı temizlemek için kullanılır.
gotoxy:İmleci ekranda herhangi bir satır veya sütuna taşımak için kullanılır.(goto(sütun,satır),goto(5,5))
Readkey:Klavyeden bir tuşa basılmasını sağlar.Bu komut program içinde basılan veya basılacak olan tuşları kontrol etmek için kullanılır.(programı bitirmek için * tuşuna basınız gibi)
Keypressed:klavyeden bir tuşa basılıncaya kadar işlemleri devam ettirmak veya bir tuşa basılıp basılmadığını kontrol etmek için kullanılır.
Window:Ekranda bir pencere oluşturmak için kullanılır.
Textcolor:yazının rengini belirlemek için kullanılır.
textbackground:Ekrana yazılacak olan yazının zemin rengini belirlemek için kullanılır.
Delayrogramın belirtilen süre kadar bekletilmesini sağlar.
Delline:imlecin üzerinde bulunduğu satırı silmek için kullanılır
insline:imlecin üzerinde bulunduğu satırdan itibaren ekranı bir satır aşağı kaydırarak
boş bir satır açılmasını sağlar
Sound:verilen frekansta ses elde etmek için kullanılır.
nosound:üretilen sesin kesilmesini sağlar.
textmode:ekranın satır ve sütun sayılarını ayarlamak için kullanılır.
Şimdi öğrendiğimiz bilgilerle basit bir program yazalım.
Örnek Program:
program pisagor;
var
a, b: integer;
c: real;
begin
writeln ('a ve b sayılarını giriniz : ');
readln (a, b);
c := sqrt(sqr(a)+sqr(b));
writeln('c = ', c:6:2);
readln
end.
*************
İşlemler ve Öncelikler
1. Not
2.*, /, Div, Mod, And
3.+, -, Or
4.<, <=, =, <>, >=, >, In
Eğer aynı işlemciden birden fazla varsa işlem soldan sağa doğru yapılır.Eğer işlemlerde parantez kullandıysak yukarıdaki öncelik sırasına göre daha önce yapılır.
Mantıksal İşlemler ve Sonuçları
(1=Doğru=True) (0=Yanlış=False)
Ve (And) Operatörü
p q p ve q
1 1 1
1 0 0
0 1 0
0 0 0
Veya (Or) Operatörü
p q p veya q
1 1 1
1 0 1
0 1 1
0 0 0
|