“Pascal” Kategorisi için Arşiv
Pascal – Veri Yapıları
- Listeler
Bir veri yapısı olan listeler aynı tür veri tiplerinin ard arda sıralanması ile oluşan bir yapıdır. Örneğin bir kütüphanede yazarların isimlerinin ard arda yazılması ile yazarlar listesi, kitap isimlerinin ard arda yazılması ile kitapların listesini elde ederiz. Bunun gibi listeleri günlük hayatımızda çokca kullanırız. Listenin uzunluğu listede bulunan elemanların sayısına eşittir. Birinci eleman listenin başını, sonuncu eleman ise listenin sonunu temsil eder. Eğer listenin bütün elemanları boş ise liste boştur. Eğer liste boyu kadar eleman listede varsa o zaman da liste doludur, deriz. Bu mantıklardan hareketle listeye yeni eleman ekleyerek ve listeden eleman çıkararak listenin hareketliliği sağlanmış olur.
Listenin elemanları daha önce tanımlanan veri tiplerinden herhangi biri olabilir. Yani liste sayısal verilerden olabileceği gibi alfasayısal verilerden oluşan bir liste de olabilir. Listeyi oluşturan veri tiplerini programı kullanım amacımıza göre seçebiliriz.
Listelerde veriler karışık olarak yerleştirilebileceği gibi bir sıraya bağlı olarak ta yerleştirilebilir. Ancak listelerdeki verilerin karışık olması, istendiği zaman istenilen verinin bulunabilmesini zorlaştırır.
1. Yapı olarak bağlaçsız liste yapısı sequential (sıralı) kütük yapısına benzer. Sequential kütüğe veri ekleme ve silme işlemlerinde kullanılan mantık bu yapıda da uygulanabilir.Verilerin düzenli olarak yerleştirilmesi ise bu tür arama işlemlerini kolaylaştırmasına rağmen bu sefer de ortaya düzenli (sıralı) olarak yerleştirme problemi çıkar.
2. Bu tür dezavantajları ortadan kaldırmak için bağlı liste yapıları kullanılır. Mantık olarak kolay bir yapı olduğu için çok kullanışlıdır.
Pascal – Özel Veri Tipleri
- Veri Tipleri
Pascal programlama dilinde tanımlı olamayan fakat programcı tarafından tanımlanıp kullanılan veri tipleri vardır. Bu veri tipleri tip tanımlama bölümünde tanımlanırlar. Program içerisinde kullanım için tip tanımlama bölümünde tanımlanan özel isim değişken tanımlama bölümünde değişken tipi gibi kullanılır.
Örnek olarak ;
Type
Max = 1..100;
Var
notlar : Max;
Şeklinde Max isminde özel bir veri tipi tanımlamış ve var bloğunda notlar değişkeni Max değişkeninden faydalanılarak tanımlanmıştır.
Özel veri tipleri, basit veri tiplerinden daha karmaşık şekilde oluşturulabilir.
Bu veri tipleri;
1-Diziler
2-Küme veri tipi
3-Sıralı veri tipi
4-Sınırlı veri tipi
5-Kayıt veri tipi
Pascal – Unitler
- Unit Programlar
UNIT PROGRAMLAR
Pascalda, diğer programların kullanabileceği pascal programlarına unit programlar denilmektedir. Bu programlar derlendikten sonra Turbo Pascal tarafından .TPU (Windows 'ta .TPW, korumalı modda .TPP) uzantısını alırlar. Unitler birer bağımsız programdırlar, ancak kendi başlarına çalıştırılamazlar. Kendilerini çalıştıran bir ana program vasıtasıyla çalışabilirler. Unitler, bir program hacminin 64 KB sınırını aşması veya birden fazla program tarafından kullanılabilecek alt programları tekrar yazmamak için oluşturulurlar.
unit unitadi;
interface
procedure altprogadi1(...);
procedure altprogadi2(...);
function function1(....):...;
function function2(....):...;
var
....
type
....
const
implementation
procedure altprogadi1(...);begin {işlemler} end;
procedure altprogadi2(...);begin {işlemler} end;
function function1(....):...;begin {işlemler} end;
function function2(....):...;begin {işlemler} end;
end.
- Unit Kullanmanın Faydaları
Ana program ile unitler arasındaki önemli farklılıklardan biri de unitlerde, mutlaka UNIT komutu ile başlayan ve unitin adını belirten bir unit başlığı kullanılması zorunludur. Unit adı sekiz karakteri geçemez ve burada verilecek unit adı, programın diske kaydedilirken kullanılan ad ile aynı olmalıdır. Bir unit programın ana program tarafından kullanılabilmesi için ana programda USES komutuyla birlikte unit adının yazılması gereklidir.
UNIT KULLANMANIN FAYDALARI
Ø Unitler önceden derlendiğinden program içerisinde kullanıldığında yeniden derlenmesi gerekmez.
Ø Unit kullanarak yazılan programlar daha kısa ve basit olur.
Ø Unitler daha önceden derlenmiş procedure ve functionlardan oluştuğu için ana programdaki hataları ayıklamak kolay olur.
Ø Kendinize ait özel programlar oluşturarak ileriki programlarda bunlar kullanılabilir.
Ø Uzun programlar programı hazırlayacak olan programcı grubunda paylaştırılarak programın daha kısa sürede bitmesi sağlanabilir.
Ø Unitlerin kullanıldığı diğer bir yer ise birden fazla programda kullanılan ve sürekli olarak bütün değerlerini muhafaza eden değişken, sabit ve tipleri tanımlamada kullanılırlar.
Bir unit, interface ve implementation olmak üzere iki bölümden oluşur.Interface bölümünde, bu uniti kullanan program tarafından kullanılacak olan değişken, sabit, procedure ve function alt programlar yazılır. Ayrıca bu bölümde, bu unit programın kullanacağı hazır unitler ve kullanıcı unitleri de USES komutu ile tanıtılır.Implementation bölümünde ise geçerli unit içinde bulunan ancak ana program tarafından kullanılmayan alt programlar yazılır. Burada değişken, sabit ve tip tanımlamaları da yapılabilir. Burada yapılan tanımlamalar sadece unit içerisinde geçerlidir.
Pascal – Alt Programlar
- Procedure Alt Programlar
Alt programlar genellikle tekrar edilen işlemleri kolaylıkla yapabilmek için yazılırlar.Bilgisayar dillerinin tamamında bulunan alt program yapısı PASCAL Programlama dilinde PROCEDURE ve FUNCTION türü alt programlar olmak üzere iki ayrı türdedir.
Procedure Alt Programlar
Bir pascal programında Procedure alt programlara erişim ve procedure alt programın program içindeki yeri aşağıdaki genel gösterim şeklinde verilmiştir.
program ad_;
procedure altprogram1;
begin
işlem blokları; end;
procedure altprogram2;
begin
işlem blokları; end;
begin (* ana program*)
işlemler;
altprogram1;
altprogram2;
işlemler;
altprogram1 ;
end.
Pascal – Standart Fonksiyonlar
- Lenght Komutu
LENGTH : Verilen string ifadedeki karakter sayısını verir. Sonucu byte tipinde bir fonksiyondur.
Formatı: LENGTH(STRING İFADE)
Örnek 1:
uses crt;
const
a=‘ankara’;
begin clrscr;
writeln(a,’ ’,length(a),’ karakterlidir.’);
readln;
end. Programın Çıktısı
Örnek 2: Verilen bir mesajın kaç karakterden oluştuğunu bulan program.
uses crt;
var
m : strıng;x : byte;
begin clrscr;
x:=length(m);
writeln(x, ‘karakterlidir’);
readln;
end. Programın Çıktısı
X:=Length(M) ifadesi yerine X:=Ord(M[0]) ifadesi kullanılabilir.
Pascal – İndeksli Değişkenler
- Dizilere Giriş
DİZİLER
Bir dizi, aynı tipteki elemanların yanyana sıralanışı ile elde edilen bir bilgi kümesidir. Örneğin 10 bileşenli bir vektör için 10 basit tip değişken kullanılması gerekirken, 10x10 boyutlarındaki matris için 100 basit tip değişken kullanılması gerekmektedir. Bizim için gerekli olan, aynı tipte elemanlardan oluşan bir veri kümesini tek bir değişken ismi kullanarak , küme içindeki yeri ile erişilmesini sağlayacak veri yapısıdır. Diziler, kullanım amacına göre tek veya çok boyutlu olabilir. PASCAL programlama dilinde diziler, TYPE, VAR veya CONST tanım bloklarından birinde tanıtılır.
Dizilerin Tanıtılması
Bir dizinin tanımı değişik şekillerde yapılabilmektedir. Bunlar aşağıda kısaca özetlenmiştir.
1.Dizilerin Type Bloğunda Tanıtılması :Dizilerin type bloğunda tanıtılması işleminde örneğin; Tek boyutlu ve 30 elemanlı Endüstri Mühendisliği 1. Sınıf öğrencilerinin numaralarının programa tanıtımı:
TYPE Numara=ARRAY [1..30] of string[10];
VAR ogr:NUMARA;
şeklinde yapılabilir.Örneğe dikkat edilirse NUMARA adı verilen bir dizi TYPE tanım bloğunda tanıtılmış VAR tanım bloğunda ise bu dizinin OGR adı altında değişken tipte olduğu belirtilmiştir. Aynı şekilde tek boyutlu ve 30 elemanlı Endüstri Mühendisliği 1. Sınıf öğrencilerinin isimlerin programa tanıtımı ise:
TYPE Isimler=ARRAY [1..30] of String[25];
VAR OgrIsim:Isimler; şeklindedir.
Pascal – Döngü Deyimleri
- For Döngüsü
Bu bölümde program içerisinde belirli blokların herhangi bir şarta bağlı olarak veya şarttan bağımsız bir şekilde ardışık olarak çalıştırılması için kullanılan deyimler üzerinde durulacaktır. Bu tekrarlama deyimleri FOR-DO, REPEAT-UNTIL, WHILE-DO şeklindedir.
For-Do Döngü Deyimi : For deyimi, bir program parçasının herhangi bir boolean şartına bağlı olmaksızın belirlenen sayıda üstüste çalıştırılması için kullanılır. Döngünün çalışma prensibi aşağıdaki şekilde gösterilmiştir.

For deyiminin genel kullanım şekilleri ileriki sayfada verilmiştir.
- İç İçe Döngüler
Pascal – Kontrol Deyimleri
- IF - Then Deyimi
Kontrol komutları olarak ; IF ve CASE deyimlerini inceleyeceğiz. CASE ve IF deyimleri belirli bir şartın doğru veya yanlış olmasına bağlı olarak programın bir parçasının çalıştırılmasını sağlamak için kullanılır.
IF Deyimi : IF deyimi, bir şartın doğru veya yanlış olmasına bağlı olarak programın belirli parçalarının çalışmasını veya çalışmamasını sağlar. IF deyimi ;
IF şart cümlesi THEN Blok1;
şeklinde kullanılabilir. Buradaki şart cümlesi, birbirlerine mantıksal operatörler ile bağlanmış bir veya birkaç ilişkisel operasyon veya bir tek boolean ifade olabilir. Aşağıdaki örnekleri inceleyelim:
IF A=B THEN ...
IF (A=B) AND (A=C) THEN ...
IF (A+1) < (B-1) THEN ...
IF (Cev In ['E' , 'e']) THEN ...
Then sözcüğünü takiben, bloklar birden fazla komut cümlesinden oluşurlar ise, bu blokların BEGIN ve END deyimleri içine alınması zorunludur. IF deyiminin ikinci şekli yani ELSE' den sonra gelen komut veya komutlar dizisi geçerlilik kazanmışsa, ELSE' den önce gelen komut cümlesinin yada, End deyiminin sonuna ';' işareti konulmaz. Aşağıdaki örneklerden 1.si hatalı 2.si doğrudur.
Pascal – Ekran Komutları
- Clrscr ve Gotoxy 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 unit isminin yazılması gereklidir. Aksi halde, ekran komutlarıyla ilgili yazılan komutlar Pascal derleyicisi tarafından tanınmayacaktır.
Clrscr : "Clrscr" CRT ü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.
Örnek 1:
uses crt;
var
j:word;
begin clrscr;
for j:=1 to 20 do
begin
gotoxy(j,j);write('Gazi Üniversitesi');
gotoxy(50-j,j);write('Gazi Üniversitesi');
end;end.
- Window Komutu
Window : Ekranda pencere oluşturmak için kullanılan bir komuttur. 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.
Örnek 4:
uses crt;
begin
window(20,5,60,20);
repeat
delay(5); write('G.Ü.E.S.E.F');
untıl keypressed;
end.
- Zemine Renk Verme
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ı; Textbackground(renk kodu);
Örnek 6:
uses crt;
begin
textcolor(green);textbackground(black);
writeln('merhaba');
textcolor(lightred+blink);textbackground(lightgray);
writeln('günaydın!');
textcolor(14); textbackground(blue);
writeln('nasılsın');
normvideo;
end.
Sound/Nosound : Sound, verilen frekansta ses üretmek için kullanılır. Nosound, sound ile üretilen sesi ortadan kaldırmak için kullanılır.
Örnek 7:
uses crt;
begin
sound(220);
delay(200);
nosound;
end.
Pascal – Giriş – Çıkış Komutları
- Read - Readln Deyimleri
Yazım İçin Format Belirleme :Writeln deyimi ile yapılan bilgi çıkışlarını düzenlemek için yazım formatları kullanılır. Yazdırılmak istenilen değerin tipine bağlı olarak iki farklı yazım formatı kullanılır.
1. Yazım Formatı (M:n) :Bu yazım formatına göre yazdırılmak istenilen M değeri n karakterlik alanda sağa dayalı olarak yazılır. M değerini oluşturan dijit veya karakterin uzunluğu n sayısından küçük ise, aradaki fark kadar sol tarafta boşluk bırakılır. M değerinin uzunluğu n sayısına eşit veya büyük ise yazdırma işlemi format belirtilmemiş gibi gerçekleştirilir.
Örnek 1:
uses crt;
const
i:integer=567;
b:boolean=true;
c:char='b';
h:string[10]='nasılsınız';
begin
writeln('123456789');writeln;
writeln(i:9);writeln(b:9);
writeln(c:9);writeln(h:9);
writeln(i:2);writeln(h:5);
end.
- Write - Writeln Deyimleri
Write-Writeln :
Pascal programlama dilinde yazma işlemi için WRITE ve WRITELN komutları kullanılmaktadır. Bu komutların genel kullanım yapısı şu şekildedir;
Write(A1,A2,A3,...,An)
Writeln(A1,A2,A3,...,An)
İki kullanım şekli arasındaki fark, Read ile Readln arasındaki fark gibidir.
Var
s,a,n:integer;
begin Programın çalıştırılmasıyla elde edilen sonuç; 395 olacaktır.
s:=3;a:=9;n:=5;
Write(s); Write(a); Write(n);
end.
3
Aynı değişkenleri Writeln ile yazdırdığımızda; 9
5 olur.
- Formatlı Yazdırma
Yazım İçin Format Belirleme :Writeln deyimi ile yapılan bilgi çıkışlarını düzenlemek için yazım formatları kullanılır. Yazdırılmak istenilen değerin tipine bağlı olarak iki farklı yazım formatı kullanılır.
1. Yazım Formatı (M:n) :Bu yazım formatına göre yazdırılmak istenilen M değeri n karakterlik alanda sağa dayalı olarak yazılır. M değerini oluşturan dijit veya karakterin uzunluğu n sayısından küçük ise, aradaki fark kadar sol tarafta boşluk bırakılır. M değerinin uzunluğu n sayısına eşit veya büyük ise yazdırma işlemi format belirtilmemiş gibi gerçekleştirilir.
Örnek 1:
uses crt;
const
i:integer=567;
b:boolean=true;
c:char='b';
h:string[10]='nasılsınız';
begin
writeln('123456789');writeln;
writeln(i:9);writeln(b:9);
writeln(c:9);writeln(h:9);
writeln(i:2);writeln(h:5);
end.

Facebook’da Sayfa Oluşturma
Facebookda Bütün Arkadaşları Seçmek
Percy Jackson & Olimposlular: Şimşek Hırsızı
Modakolik.Com – Kendi Modanızı Yaratın
Facebook’a Farklı Müzik Çalar Ekleme

