Pascal program yazmadaki sağladığı kolaylıklardan dolayı yaygın olarak kullanılmaktadır. Programcının kendisine gerekli bir program parcasını bir defa hazırladıktan sonra bu unitleri başka programlar icinde kolayca kullanması ve istediği şekilde veri tipleri tanımlayabilmesi pascalı onemli kılan ozelliklerdendir. Artık program nasıl yapılır onu acıklamaya calışacağım.
Pascal programını yapısı uc ana kısımdan oluşur.
1. Program İsmi
2. Tanımlama Bloğu
3. Ana Program Bloğu
**1. Program İsmi: Program ProgramIsmi; biciminde yazılır.Program ismini yazarken turkce karakter
kullanılmaz. (C,c,U,u,Ğ,ğ,İ,ı,Ş,ş,O,o).Program ismi iki veya daha fazla sozcukten oluşuyorsa araya
boşluk konulmaz. Kelimeler arasına_(alt cizgi) yazılır.Program ismi 30 karakterden fazla olmamalıdır.
Pascal tarafından ayrılmış sozcukler(reserved words) kullanılmaz.Ozel işaretler kullanılmaz ( ) , . ' ; : [ ] v.b. gibi
Ornek:
Program program_adı;
**2.Tanımlama Bloğu
Unit (Kutuphane): Pascal derleyicisinin hazır kutuphaneleri ile programcı tarafından tanımlanmış
kutuphanelerin belirtildiği bloktur.
Const : Sabit sayıların tanımlandığı bloktur.
Ornekler
Pi = 3.14;
Maksimum = 15;
Sifre = 'YAKAMOZ'
Type : Ozel 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 Ust 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 oncelik sırası
yukarıdan aşağıya doğrudur.
**3. Ana Program Bloğu
Begin ile başlayıp End ile biter.
Ornek 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 gec. (ln)
c := a + b; a değişkeni ile b sabitini topla, c'ye ata.
Writeln('a + b = ', c) '...' icindekileri yaz, sonucunu yaz (c'yi), alt satıra gec.
Readln Klavyeden herhangi bir karakter oku (Program calıştırıldığında
sonucu (c) ekranda bekletmek icindir. (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 sozcuk arasında boşluk bırakılmaz. Turkce karakter kullanılmaz (C c O o U u Ğ ğ İ ı Ş ş C c).
Ozel işaretler kullanılmaz ( ; : , . ' " + - * / - ? = .........) Turbo Pascal'ın ayrılmış sozcuklerinden
herhangi birisi değişken ya da değişken ismi olmaz. Alt cizgi ( _ ) ile başlayabilir.
Ornekler:
Const
Pi_Sayisi = 3.1415;
Bulundugum_yil = 2000;
Tarih = '11/11/2000';
isim = 'ahmet';
soyad = 'boyraz';
YAS =19;
Ornekler:
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 sonuclarının bir dosyaya veya ekrana yazılmasını sağlar.Writeln(writeline)komutu write'dan farklı olarak yazılar yazıldıktan sonra imlec bir sonraki satıra gecer.
Read-readln:Klavyeden bilgi gondermek icin kullanılır.Girilen bilgiler değişkenlerde tutulur.
Case-of:Verilen ifadenin aldığı değere gore program akışını değiştirmek veya istenen işlemleri yapmak icin kullanılır.
For-do:İstenen işlemleri istediğimiz sayıda tekrarlatmak icin veya istenen iki aralıkta değerler elde etmek icin kullanılır.
Repeat-until:İstenen şartlar oluşuncaya kadar işlemleri tekrarlatmak icin kullanılır.
While-do:Belirtilen şart doğru olduğu surece istenen işlemleri tekrarlamak icin kullanılır.
Clrscr:Ekranı temizlemek icin kullanılır.
gotoxy:İmleci ekranda herhangi bir satır veya sutuna taşımak icin kullanılır.(goto(sutun,satır),goto(5,5))
Readkey:Klavyeden bir tuşa basılmasını sağlar.Bu komut program icinde basılan veya basılacak olan tuşları kontrol etmek icin kullanılır.(programı bitirmek icin * 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 icin kullanılır.
Window:Ekranda bir pencere oluşturmak icin kullanılır.
Textcolor:yazının rengini belirlemek icin kullanılır.
textbackground:Ekrana yazılacak olan yazının zemin rengini belirlemek icin kullanılır.
Delay

Delline:imlecin uzerinde bulunduğu satırı silmek icin kullanılır
insline:imlecin uzerinde bulunduğu satırdan itibaren ekranı bir satır aşağı kaydırarak
boş bir satır acılmasını sağlar
Sound:verilen frekansta ses elde etmek icin kullanılır.
nosound:uretilen sesin kesilmesini sağlar.
textmode:ekranın satır ve sutun sayılarını ayarlamak icin kullanılır.
Şimdi oğrendiğimiz bilgilerle basit bir program yazalım.
Ornek 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 Oncelikler
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 oncelik sırasına gore daha once yapılır.
Mantıksal İşlemler ve Sonucları
(1=Doğru=True) (0=Yanlış=False)
Ve (And) Operatoru
p q p ve q
1 1 1
1 0 0
0 1 0
0 0 0
Veya (Or) Operatoru
p q p veya q
1 1 1
1 0 1
0 1 1
0 0 0
Devamı ikinci yazıda...
__________________