İçeriğe geç

PASCAL Programlama Dilinin Yapısı:

Pardus`la uğraşırken acaba linux da kullanabilecegim programlama dilleri nelerdir diye merak ettim. Ve karşıma eski dost pascal çıktı. çok eskiden kullandığımız bu dil fpc(freepascal) uygulaması sayesinde linux da da çalışıyor. 

önemli olduğunu düşündüğüm bir dökümanı da yazmak istedim. Yarın birgün ihtiyaç olunca internnette aramaktan sa elimizin altında bulunsun…

PASCAL Programlama Dilinin Yapısı: 

PASCAL, yapısal bir programlama dilidir. Bu dil ile yazılmış programları oluşturan komutlara baktığınızda bloklar halinde olduğunu görebilirsiniz. Belirli bir işlemi yerine getirmek için bir araya getirilmiş komutun ve/veya komutların oluşturduğu program parçasına blok denir. 

PASCAL `da yazılan bir programın genel yapısını üç ana başlıkta toplayabiliriz. Bunlar; 

1)Program Başlığı, 
2)Bilgi Tanıtım Bölümü ve 
3)Program İşlem Bölümü `dür. 

Kısa bir örnek vermek gerekirse yazacağımız programlar kabaca şu dizilimde olacaktır: 

Program program_adi 
Tanımlamalar 
Procedure ve Function `lar 
Ana Program Kesimi 

Bu örneği biraz daha genişletirsek; 

Program ProgramAdi 
Uses 

{ Kullanılacak unitler } 

Type 

{ özel veri tipleri } 
Const 

{ Sabitler } 
Var 

{ Değişkenler } 
Label 

{ Etiketler } 
Procedure ProcedureAdi 
Type….. 
Const….. 
Label….. 
Var….. 
Begin 
{ Procedure ile ilgi kısım } 
End; 
Function FonksiyonAdi 
Type….. 
Const….. 
Label….. 
Var….. 
Begin 
{ Fonksiyon ile ilgi kısım } 
End; 
BEGIN 

{ Ana Program Kesimi } 
END. 

1) Program Başlığı: Kodların en başında “Program ….” şeklinde tanımlanan kısımdır. Programa bir isim vermek amacıyla kullanılır ancak bir zorunluluğu yoktur. Vereceğiniz tanıtıcı isim en fazla 30 karakter uzunluğunda olabilir. 

2) Bilgi Tanıtım Bölümü: Program içinde kullanılacak bilgilerin tanımlandığı bölümdür. Belirli bloklara ayrılır. Bunlar: 

UNIT: Programcıya kodlamada kolaylık sağlayan kütüphanelere verilen addır. 
USES: Kullanılacak kütüphaneler bildirilir. (crt, dos, printer vs.) 
LABEL: Etiket isimleri tanımlanır. (Goto komutuyla kullanmak için) 
CONST: Program içinde hiç değişmeyecek bilgiler tanımlanır. (Mesela pi sayısı gibi) 
TYPE: özel veri tipleri oluşturmak için kullanılır. 
VAR: Değişken tanımlamak için kullanılır. 
PROCEDURE: Program parçalarını belli isimler altında hazırlayıp daha sonra bir komut gibi kullanmak için oluşturulur. Bu blok içinde tanımlanan var,const,type ve label bölümleri sadece tanımlanan procedure için geçerlidir. Programın diğer kısımlarında kullanılamazlar. 
FUNCTION: Program parçalarını belli isimler altında hazırlayıp daha sonra bir fonksiyon gibi kullanmak için oluşturulur. Bu blok içinde tanımlanan var,const,type ve label bölümleri sadece tanımlanan function için geçerlidir. Programın diğer kısımlarında kullanılamazlar. 

3) Program İşlem Blokları: BEGIN ile başlar ve END. ile biter. Programın yapacağı işleve göre, blokların yazıldığı bölümdür. Program çalıştırıldığında bize bir sonuç verecek bölüm burasıdır. 

Her programlama dilinde olduğu gibi PASCAL programlama dilinin de bazı kuralları vardır. Bunlar;

  • Büyük/küçük harf ayırımı yoktur.
  • İşlemler belli sıraya göre ve birbirini takip eden bloklar şeklinde yapılır.
  • İfadeler arasında birden fazla bırakılan boşluk, tek bir boşluğa eş değerdir.
  • Her PASCAL komut satırı noktalı-virgül ( ; ) işareti ile bitmelidir. (İstisnalar mevcut)
  • İsimler (değişken, program, type isimleri vs.) alfabetik bir karakter ile başlamalıdır Diğerleri rakam, alfabetik karakter veya alt çizgi (_) karakteri olabilir.
  • Kullanacağınız isimler RESERVED WORDS `lerden farklı olmalıdır.
  • Kullanacağınız değişkenler gerekli bölümde mutlaka tanımlanmalıdır.
  • Kullanacağınız değişkenlerin tipleri gerekli bölümlerde mutlaka tanımlanmalıdır.

özel Semboller: 

Programlama dillerinde kodlama esnasında kullanılan en küçük bilgi birimi karakterlerdir. Karakter bir harfin, rakamın veya özel bir işaretin sembolüdür. PASCAL `da karakterler üç gruba ayrılırlar: 

A)Alfabetik Karakterler: A-Z arasındaki tüm harfler. (Türkçe karakterler hariç) 

B)Sayısal Karakterler: 0-9 arasındaki rakamlar. 

C)özel İşaretler: “+”, “-“, “*”, “/”, “=”, “<“, “>”, “[“, “]”, “(“, “)”, “,”, “.”, “:”, “;”, “^”, “@”, “{“, “}”, “$”, “#”, “<>”, “<=”, “>=”, “=”, “:=”, “..”, “(* *)”, “(. .)”, “{$ }” 


Toplama işlemi ve string birleştirmek için kullanılır. 
*, -, / 
Aritmetik İşlemler için kullanılır. çarpma, çıkarma, bölme. 
=, < >, <, >, >=, <= 
Karşılaştırma işlemleri için kullanılır, Eşit, farklı, küçük, büyük, büyük eşit, küçük eşit 
[ ], (. .) 
Diziye ait sıra numarasını belirtmek için kullanılır. 

Her komut satırından sonra mutlaka kullanılmalıdır. 
{ }, (* *) 
Program içinde açıklama yazmak için kullanılır. 
:= 
Değişkenlere değer aktarmak/atamak için kullanılır. 

Programların en sonuna ve ondalıklı sayıların ondalıklı kısmını ayırmak için kullanılır. 
{$ } 
Derleyici bilgilerini belirtmek için kullanılır. 

Değişken tanımlamada ve case-of komutuyla kullanılır. 
( ) 
Procedure/function için parametre tanımlamada, işlem önceliğinde kullanılır. 

Adres belirtmek için kullanılır. 

Kod numaraları ile karakter belirtmek için kullanılır. 

Alfa sayısal bilgilerin tanımlanmasında kullanılır. 

Göstergeç değerini bellekten çağırmak için kullanılır. 

Bu sembolleri Const, Var, Type gibi tanımlamalarda kullanamazsınız. özel sembollerle ilgili birkaç örnek verelim: 

A:=B+C; B ile C `nin değerini toplayıp A değişkenine aktar. 
X:=Y*(Z-T); Z `den T `yi çıkar ve Y ile çarp sonucu X değişkenine aktar. 
X:=Y*Z-T; Y ile Z `yi çarp, sonuçtan T `yi çıkar ve sonucu X değişkenine aktar. 
#65; A harfi yerine kullanılabilir. 
isim:`eren`+`aslan`; isim değişkenine “eren” ve “aslan” bilgilerini beraber aktar. 
AD: string[20]; Yirmi karakter uzunluğunda String tipli ad değişkenini oluştur. 
Sira:array(.0..9.) of real Real tipli ve on elemanlı sira dizisini oluşturur. 
SEPET[1]; Sepet dizisindeki birinci eleman. 
Soyad:=`aslan`; Soyad değişkenine “aslan” bilgisini ata. 
A=B; A değişkeni B değişkenine eşit mi? 
a>b; A değişkeni B değişkeninden büyük mü? 
A
a<=B A değişkeni B değişkenine eşit veya eşit mi? 
a>=b A değişkeni B değişkenine eşit veya büyük mü? 
A<>b A değişkeni B değişkeninden farklı mı? 

ön Tanımlı Kelimeler (Reserved Words): 

Turbo PASCAL `ın kendi işlevleri dışında kullanılamayacak kelimeleri vardır. Bu kelimeleri bir değişken, sabit, fonksiyon adı veya başka bir şey için kullanamazsınız. Turbo PASCAL büyük/küçük harfe duyarlı olmadığı için bu kelimeleri büyük/küçük yazmak bir şey değiştirmeyecektir. 

and 
asm 
array 
begin 
case 
const 
constructor 
destructor 
div 
do 
downto 
else 
end 
exports 
file 
for 
function 
goto 
if 
implementation 
in 
inline 
interface 
label 
library 
mod 
nil 
not 
object 
of 
or 
packed 
procedure 
program 
record 
repeat 
set 
shl 
shr 
string 
then 
to 
type 
unit 
until 
uses 
var 
while 
with 
xor 
absolute 
external 
forward 
interrupt 
virtual

Bir yanıt yazın