Pascal Arşivi
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 ;
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.









