29 Mart 2008 Cumartesi

Parametresiz Prosedürler


Bu tür alt programlarda; alt program içinde kullanılan değişkenler ana program içinde kullanılan değişkenler ile aynıdır. Bu nedenle ana program ile alt program arasında veri transferi yapılmasına gerek yoktur. Aşağıdaki örnek programlar Parametresiz Prosedür kullanımını açıklamaktadır.
program faktoriyel_hesabi; uses crt; {Windows için Wincrt} var fakt:longint; n,i:integer;procedure islem1; begin fakt:=1; for i:=1 to n dobegin fakt:=fakt*i;end;end;begin clrscr;Write('N sayısını giriniz =');Readln(N); islem1;Writeln('N sayısının Faktöriyeli =',fakt:10);repeat until keypressed;end.
Yukarıda verilen programı çalıştırarak sonucu inceleyiniz.
Ekran komutları

Ekran komutları ekrandaki görüntü tasarımı için kullanılan komutlardır. Bu komutların program içinde kullanılabilmesi için, program başlığı satırından sonra USES komutunda CRT (Windows programları için WINCRT) unit isminin yazılması gereklidir. Aksi halde, ekran komutlarıyla ilgili yazılan komutlar Pascal derleyicisi tarafından tanınmayacaktır. En çok kullanılan ekran komutları aşağıda verilmiştir.
Clrscr
\"Clrscr\" CRT/WINCRT üniti içinde yer alan bir alt programdır. Ekranda daha önce yazılı olan ifadeleri silerek ekranın temizlenmesi amacıyla kullanılır.
GotoXY
Kursörü ekranın istenilen sütun ve satırına taşımak için kullanılır. Kullanımı;
GotoXy(Sütun,Satır);
şeklindedir. Normal bir ekran üzerinde 80 sütun ve 25 satır vardır.
Uses wincrt;varj:word;beginclrscr;for j:=1 to 20 dobegingotoxy(j,j);Write('Balıkesir Üniversitesi');gotoxy(50-j,j);Write('Balıkesir Üniversitesi');end;end.
Readkey
Klavyeden basılan karaktesi okumak için kullanılır. Bu fonksiyonun sonucu char tipi bilgidir. Turbo/Borland Pascal 7.0 'da tek başına kullanıldığında program bu komuta rastladığında, herhangi bir tuşa basılıncaya kadar programın çalışması kesilir.
Uses wincrt;vartus:char;begin clrscr;Write('Balıkesir ');Readkey;Writeln('Üniveristesi');Readkey;end.
Readkey komutunun çok kullanıldığı uygulamalardan biri de basılan veya basılacak karakteri kontrol etmektir.
Aşağıda verilen örnek programda her B tuşuna basıldığında \"Balıkesir Üniversitesi\" yazmaktadır. Program ESC tuşuna basılarak durdurulmaktadır.
Uses wincrt;vartus:char;j:word;beginrepeattus:=readkey; if upcase(tus)='B' thenWrite('Balıkesir Üniversitesi');until tus=#27;end.

Keypressed
Klavyeden bir tuşa basılıp basılmadığını kontrol etmek amacıyla kullanılan bir komuttur. Aşağıda verilen örnek programı inceleyiniz.
Uses wincrt;vartus:char;j:word;beginj:=0;repeatWrite('B alıkesir Üniversitesi');j:=j+1;if keypressed then tus:=readkey;if j=75 thenbeginclrscr;j:=0;end;until tus=#27;end.


Window
Ekranda pencere oluşturmak için kullanılan bir komuttur. Bu komut sadece Turbo/Borland Pascalda kullanılabilir. Kullanımı;
Window(X1,Y1, X 2,Y2);
X1 encerenin sol sütun numarası (1-80)
Y1 encerenin sol satır numarası (1-25)
X2 encerenin sağ sütun numarası (1-80)
Y2 encerenin sağ satır numarası (1-25)


Delay
Programın belirtilen süre kadar bekletilmesini sağlar. Delay (1000) komutu, programın 1 sn bekletilmesini sağlamaktadır. Bu komut sadece Turbo/Borland Pascalda kullanılabilir.
uses crt;beginwindow(20,5,60,20);REPEATDELAY(5); Write('BAÜ');UNTIL keypressed;end.


ClrEol
Kursörün bulunduğu konumdan satırın sonuna kadar bütün karakterleri silmek için kullanılır. Kursör bulunduğu konumda kalır.
uses winCrt;beginClrScr;Writeln('Günaydın Bugün nasılsınız?');Writeln('Enter tuşuna Basınız...');Readln;GotoXY(1,2); {Kursör 2.satır 1.sütuna konumlandırılıyor}ClrEol;Writeln ('İyi olmanızı duymak güzel.');end.
Highvideo
Ekrana yazılacak yazının parlak yazılmasını sağlar. Bu komut sadece Turbo/Borland Pascalda kullanılabilir.
Lowvideo
Ekrana yazılacak yazının mat yazılmasını sağlar. Bu komut sadece Dos için Turbo/Borland Pascalda kullanılabilir.
Normvideo
Ekrana yazılacak yazının normal parlaklıkta yazılmasını sağlar. Bu komut sadece Turbo/Borland Pascalda kullanılabilir.
Uses Crt;BeginClrscr;Highvideo;Writeln('Parlak');Lowvid eo;Writeln('Mat');Normvideo;Writeln('Normal');End.
WhereX
Kursörün üzerinde bulunduğu sütunun numarasını verir.
WhereY
Kursörün üzerinde bulunduğu satırın numarasını verir.
uses winCrt;beginWrite('Şu anda kursör pozisyonu :',WhereX,',',WhereY);end.
TextColor
Ekrana yazdırılacak yazının rengini ayarlamak için kullanılır. Bu komut sadece Turbo/Borland Pascalda kullanılabilir. Kullanımı;
Textcolor(Renkkodu/Adı);
Renklerin kodları aşağıda verilmiştir.
Renk Kod Adı
Siyah 0 Black
Mavi 1 Blue
Yeşil 2 Green
Turquaz 3 Cyan
Kırmızı 4 Red
Pembe 5 Magenta
Kahve 6 Brown
Açık gri 7 Lightgray
Koyu gri 8 Darkgray
Açık mavi 9 Lightblue
Açık yeşil 10 Lightgreen
Açık turquaz 11 Lightcyan
Açık kırmızı 12 Lightred
Açık pembe 13 Lightmagenta
Sarı 14 Yellow
Beyaz 15 White
Yanıp/sönme 128 Blink
Textcolor(0)=Textcolor(black)
Textbackground
Ekrana yazdırılacak yazının zemin rengini ayarlamak için kullanılır. Bu komut sadece Turbo/Borland Pascalda kullanılabilir. Kullanımı;
uses Crt;begin{ Siyah üzerinde yeşil karakterler}TextColor(Green);TextBackground(Black) ;WriteLn('Merhaba');{ Gri üzerinde yanıp sönen kırmızı karakterler}TextColor(LightRed+Blink);TextBackgrou nd(LightGray);WriteLn('Günaydın!');{ Mavi üzerinde sarı karakterler}TextColor(14); { Yellow = 14 }TextBackground(Blue);WriteLn('nasılsın');NormVide o; { Orijinal özellik }End.
Sound/Nosound
Sound, verilen frekanste ses üretmek için kullanılır. Nosound, sound ile üretilen sesi ortadan kaldırmak için kullanılır. Bu komutlar sadece Turbo/Borland Pascalda kullanılabilir.
uses Crt;beginSound(220);Delay(200);NoSound;end

Hiç yorum yok: