TURBO PASCALA GİRİŞ Yazdır E-Posta

İÇİNDEKİLER
TURBO PASCAL’A GİRİŞ
EDİTÖR ...................................................................................................................8
Ana Menü ................................................................................................................ 8
Alt menüler ............................................................................................................. 8
Programın Yazımı (Edit) .................................. ........... .................................................. 11
Programın Saklanması (Save) ................................................ ....................................... 12
Programın Derlenmesi (Compile) .......................................................... ........................ 12
Programın Çalıştırılması (Run) ................................................................... ................... 12
EXE Uzantılı Dosya Oluşturma ....................................................................... .................13
PASCAL KAREKTER SETİ .............................................................................................. 13
Turbo Pascal ‘da Kullanılan Komut ve Kelimeler ......................................................... 14
PASCAL PROGRAMININ GENEL YAPISI ...................................................................... 16
Program Başlığı ..................................................................................................... 17
Tanımlama Bloğu .................................................................................................. 17
Uygulama Bloğu .................................................................................................... 20
SABİTLER DEĞİŞKENLER VE OPERATÖRLER .......................................................... 23
SABİTLER ....................................................................................................................... 23
Sabit (Constant) Tanımlama ....................................................................................... 23
DEĞİŞKENLER ............................................................................................................... 23
Değiken (Variable) Tanımlama .............................................................................. 24
Değişken İsimleri ................................................................................................... 24
Değişken ve Sabit İsmi Seçilirken Dikkat Edilmesi Gereken Kurallar............................... 24
Değişken Tipleri ..................................................................................................... 25
Standart Değişken Tipleri ................................................................................................. 25
Tamsayı (Integer) Değişken Tipleri ................. ............. .................................................. 25
Gerçek (Real) Değişken Tipi ............................................................................................ 25
Karakter (character) Değişken Tipi .................................................................................. 25
String Değişken Tipi ......................................................................................................... 25
Boolean Değişken Tipi .................................................................................................... 26
Programcının Tanımladığı Değişken Tipleri ......................................................... 26
Tip Tanımlama ................................................................................................................. 26
Dizi Tipi Değişkenler .............................................................................................. 26
Dizi Tipi Değişkenlerin Tanımlanması .............................................................................. 26
Küme Tipi değişkenler ......................................................................................... 27
In operatörü ...................................................................................... ............................... 27
Küme Tipi Değişkenlerin Tanımlanması ................................................ ......................... 27
Küme Tipi Değişkenlere Değer Atama ............................................... ............................ 27
Küme İşlemleri ...................................................................................... .......................... 27
Sıralı Tip Değişkenler ............................................................................ ............... 27
Sıralı Tip Değişkenlerin Tanımlanması ................................................ ........... ............... 27
Sınırlı Tip Değişkenler............................................................................................. 27
Sınırlı Tip Değişkenlerin tanımlanması.................................................. ........................... 27
Sıralı Verilerin Yazdırılması.................................................................... .......................... 27
Sıralı Tip Veri Kullanmak Gerçekten Gerekli midir? ................................. ........................ 27
Record değişken Tipi............................................................................................... 28
Record Tipi Değişkenlerin Tanımlanması................................................. ........................ 28
Record Tipi Değişken Tanımlanması................................................................................. 28
Operatörler ............................................................................................................. 28
Aritmetik işlem Operatörleri................................................................................................ 28
İlişki Operatörleri................................................................................................................ 28
Mantıksal Operatörler........................................................................................................ 28
TEMEL GİRİŞ / ÇIKIŞ KOMUTLARI
WRITELN.......................................................................... .................................... 28
WRITE.................................................................................................................... 28
READLN................................................................................................................. 29
READ.......................................................................... .......................................... 29
FORMATLI ÇIKIŞ................................................................................................... 29
Integer Sayıların Formatlanması....................................................................................... 29
Real Sayıların Formatlanması.......................................................................................... 29
Char Tipi Verilerin Formatlanması.................................................................................... 29
String tipi Verileri Formatlamak......................................................................................... 30
Boolean Tipi Verilerin Formatlanması............................................................................... 30
VERİ KONTROLÜ (COMPILER BİLDİRİLERİ) ..................................................... 30
Compiler Bildirisi Tanımlamak.......................................................................................... 30
FORWARD bildirisi........................................................................................................... 30
R bildirisi.......................................................................... ................................................ 30
I bildirisi.......................................................................... .................................................. 30
I (INCLUDE DOSYA) Bildirisi............................................................................................ 30
PROGRAM AKIŞININ KONTROLÜ
DALLANMA DEYİMLERİ........................................................................................ 31
IF -THEN deyimi.............................................................................................................. 31
IF -THEN _ELSE deyimi................................................................................................... 31
CASE -OF deyimi.............................................................................................................. 32
DÖNGÜLER........................................................................................................... 32
GOTO deyimi.......................................................................... ..................................... 32
FOR-DO deyimi............................................................................................................ 33
WHILE-DO deyimi.............................................................................................................. 34
REPEAT-UNTIL deyimi................................................................................................ 34
İNDİSLİ DEĞİŞKENLER
İNDİSLİ DEĞİŞKENLERİN TANIMI................................................................................................................... 36
TEK BOYUTLU DEĞİŞKENLER...................................................................................... 36
Sıralama (sort) işlemi ................................................................................................... 37
iKi BOYUTLU DEĞİŞKENLER..................................................................................... 37
STANDART PROSEDÜR VE FONKSİYONLAR
MKDIR prosedürü.................................................................................................. 38
PARAMCOUNT fonksiyonu.................................................................................... 38
PARAMSTR fonksiyonu......................................................................................... 39
GETDIR prosedürü; ............................................................................................... 39
CHDIR prosedürü................................................................................................... 39
IORESULT fonksiyonu........................................................................................... 40
RMDIR prosedürü.................................................................................................. 40
GETDATE prosedürü............................................................................................. 41
GETTIME prosedürü.............................................................................................. 41
SETDATE prosedürü.............................................................................................. 42
SETTIME prosedürü.............................................................................................. 42
CHR fonksiyonu..................................................................................................... 42
ORD fonksiyonu..................................................................................................... 43
PRED fonksiyonu................................................................................................... 43
SUCC fonksiyonu................................................................................................... 43
TEXTBACKGROUND prosedürü........................................................................... 43
TEXTCOLOR prosedürü......................................................................................... 43
LOWVIDEO prosedürü........................................................................................... 44
NORMVIDEO prosedürü........................................................................................ 44
READKEY fonksiyonu............................................................................................ 44
KEYPRESSED fonksiyonu...................................................................................... 44
GOTOXY prosedürü................................................................................................ 45
WINDOW prosedürü............................................................................................... 45
COPY fonksiyonu................................................................................................... 45
CONCAT fonksiyonu.............................................................................................. 45
LENGTH fonksiyonu............................................................................................... 46
POS fonksiyonu....................................................................................................... 46
DELETE prosedürü................................................................................................ 46
INSERT presedürü................................................................................................ 47
STR prosedürü....................................................................................................... 47
VAL prosedürü...................................................................................................... 47
EXIT prosedürü...................................................................................................... 47
HALT prosedürü...................................................................................................... 47
DELAY prosedürü.................................................................................................. 47
SOUND prosedürü................................................................................................. 48
NOSOUND prosedürü............................................................................................ 48
CLREOL prosedürü................................................................................................ 48
DELLINE prosedürü............................................................................................... 48
INSLINE prosedürü................................................................................................ 48
WHEREX fonksiyonu............................................................................................ 48
WHEREY fonksiyonu............................................................................................ 48
RANDOM fonksiyonu............................................................................................. 48
SIZE OF fonksiyonu............................................................................................... 48
UPCASE fonksiyonu.............................................................................................. 48
ABS fonksiyonu ..................................................................................................... 48
INT fonksiyonu....................................................................................................... 49
FRAC fonksiyonu................................................................................................... 49
TRUNC fonksiyonu................................................................................................. 49
ROUND fonksiyonu................................................................................................ 49
ODD fonksiyonu..................................................................................................... 49
SQR fonksiyonu.................................................................................................... 49
SQRT fonksiyonu................................................................................................... 49
SIN fonksiyyonu..................................................................................................... 49
COS fonksiyonu..................................................................................................... 49
ARCTAN fonksiyonu.............................................................................................. 50
EXP fonksiyonu...................................................................................................... 50
LN fonksiyonu......................................................................................................... 50
ALT PROGRAMLAR
PROSEDÜR ALT PROGRAMLARI..................................................................................................... 51
Prosedür Kuralları................................................................................................... 51
Prosedürlerde Değer Aktarımı................................................................................ 51
Değer Aktarmayan prosedürler (RAREMETRESİZ PROSEDÜRLER) ............................. 51
Değer Aktaran Prosedürler (PAREMETRELİ PROSEDÜRLER)....................................... 52
Tek Yönlü Değer Aktarımı................................................................................................. 52
Çift Yönlü Değer Aktarımı................................................................................................. 52
FONKS İYON ALT PROGRAMLARI...................................................................... 52
FONKSİYON Tanımlama................................................................................................... 52
Özyineleme (iç içe fonksiyon Kullanımı) .......................................................................... 53
Alt Programların Yan Etkileri.............................................................................................. 53
BİRİMLER (UNITS) .............................................................................. 53
Pascal Tarafından Desteklenmiş Unit’ler..................................................................... 53
Programcı tarafından Yazılan Unıt ‘ler.......................................................................... 53
DOSYALAR
DOSYA KAVRAMI ........................................................................................................... 54
TEXT DOSYALARI (SIRALI ERİŞİMLİ DOSYALAR) ...................................................... 54
Text dosyalarda kullanılan Standart Fonksiyonlar.................................................. 54
Dosya Yaratmak..................................................................................................... 54
Dosyaya Bilgi Yazmak ............................................................................................ 54
Dosyadan Bilgi Okumak.......................................................................................... 54
Dosyaya Bilgi Eklemek............................................................................................ 54
Dosyadan Bilgi Silmek............................................................................................. 56
Dosyadaki Bilgiyi Değiştirmek................................................................................. 56
RECORD TİPİ DOSYALAR (RASGELE ERİŞİMLİ DOSYALAR) .................................. 58
Dosya Yaratmak ..................................................................................................... 58
Dosyaya Bilgi Yazmak............................................................................................. 58
Dosyadan Bilgi okumak........................................................................................... 59
Dosyadan Bilgi Aramak........................................................................................... 59
Dosyadan Bilgi silmek............................................................................................. 59
PORT‘ LARIN KULLANIMI
PARALEL PORT’UN KULLANIMI......................................................................... 60
SERİ PORT’UN KULLANIMI......................................................................................... 67
GRAFİK
GRAFİK MOD KAVRAMI ..................................................................................... 70
EKRAN BOYUTLARI....................................................................................................... 70
GRAFİK DEYİMLERİ.................................................................................................... 71
ÖRNEK PROJE PROGRAMLARI
EDİTÖR PROGRAMLARI YAZMAK....................................................................... 71
Editör Zeminini ve Yazı Rengini Değiştirme...................................................................... 71
Editör Programlarında Bul-Değiştir İşlemleri..................................................................... 72
Fonksiyon Tuşlarında fonkiyonlar Atamak........................................................................ 72
Programlara Şifreli Ulaşma............................................................................................... 73
MOUSE PROGRAMLARI YAZMAK........................................................................ 73
Kursör Görüntüsünü Yok Etmek................................................................................... 74
Mouse Koordinatları Gösteren Program....................................................................... 74
ÇİZİM PROGRAMLARI YAZMAK.......................................................................... 75
PARALEL PORT’UN KULLANIMI..................................................................................... 75
Paralel Port’u Kullanarak Elektirikli Cihazlara Kumanda Eden Program....................... 76
TURBO VISION.................................................................................................... 78
TURBO PASCAL HATA MESAJLARII
COMPİLER HATA MESAJLARI............................................................................. 80
RUN-TIME HATA MESAJLARI ................................................................................. 83
DİZİN................................................................................................ 83





1.BÖLÜM
TURBO PASCAL‘ A GİRİŞ

 

EDİTÖR
Genel Bilgiler
PASCAL yüksek seviyeli bir compiler dildir. Bu kompiler dilde kaynak programın tamamı
Önce makine diline çevrilir ve EXE uzantılı object program elde edilir. Daha sonra bu kaynak program DOS ortamında sadece ismi yazılarak çalıştırılır.
Pascal kaynak programını yazmak için bir text editörü kullanmak gerekir. Turbo pascal’ın enönemli özelliklerinden birisi de yazma işlemlerini kolaylaştıran özel editörünün bulunmasıdır.
Ana Menü
Turbo pascal programlarınızı yazacağınız IDE ortamında kullanılan editör komutlarını içerir.
Alt Menüler
FILE menüsü
Open... F3 : Daha önceden hazırlanmış olan programları ekrana getirir.

New : Yeni bir program yazmak gerektiğinde, yeni dosya açmak için kullanılır.

Save F2 : Editör içerisinde isim verilmiş bir program varsa , F2’ye basıldığında direkt olarak bu program sürücüye kaydedilir .

Save as... : Edit penceresindeki bir programı başka bir isimle kaydetmek istenildiğinde kullanılır.

Save all : Pascal editöründe birden fazla pencere açılarak programlar yazılmış ise hepsini birden kaydetmek için kullanılır.

Change dir... : Aktif sürücüyü değiştirmek için kullanılır.

Print : Aktif penceredeki programı yazıcıdan almak için kullanılır.
Get info... : Teknik bilgileri öğrenmek amacıyla kullanılır.

Dos shell: Geçici olarak dos ortamına geçmek için kullanılır.

Exit Alt-x : Turbo pascal editöründen çıkmak için kullanılır.

EDIT menüsü
Restore Line : Silinmiş olan en son satırı kursörün bulunduğu pozisyona tekrar getirmek için kullanılır.

Cut shift-Del : Seçilmiş bir text parçasını programdan silip, hafızaya alır.

SEARCH menüsü
Find... : Program içerisinde yazılmış olan harf veya kelimeyi bulmak için kullanılır.

Replace... : Program içerisinde yazılmış olan kelimeyi değiştirir.

Search again : Replace veya find ile bulunan kelimeden sonra aynı kelimeden olup olmadığını arar.

Go to line number... : Kursörü program içerisinde istenilen bir satır numarasına komutlandırmak için kullanılır.

RUN menüsü
Run Ctrl-F9 : Programı derledikten sonra çalıştırmak için kullanılır.

Program reset Ctrl-F2 : işaretlenen yeri silmek , programı başlangıç durumuna getirmek amacıyla kullanılır.

Go to cursor F4 : Programı kursörün bulunduğu pozisyona kadar çalıştırır.

Trace into F7 : Programı satır satır çalıştırır.

Step over F8 : Trace into ile aynıdır.

COMPILE menüsü
Compile Alt-F9 : Aktif pencerede bulunan program veya unıt derlenir.
Make F9 : Aktif programı değişen unıt’leriyle derlemek için kullanılır.

Build : Programı bütün unit ‘ leriyle yeniden derlemek için kullanılır.

Destination Memory : Programı belleğe veya diske derlemesiniseçmek için kullanılır.

DEBUG menüsü
Watches : Watches seçeneğinin bir alt menüsü olan “ edit watch “ ekrana gelir.

Add Watch : Program çalışırken değerleri istenen değişenleri eklemek için kullanılır.

Edit Watch... : Program çalışırken değerleri izlenecek olan değişken isimlerini yazmamak ve değiştirmek için kullanılır.

OPTIONS menüsü
Compiler... : Derleme seçeneklerini değiştirmek için kullanılır.

Memory size... : Bellek büyüklüğünü değiştirmek için kullanılır.

Linker... :Bu komut seçilince “ linker “ iletişim penceresi açılır.

Debugger... : Debug menüsündeki seçeneklerin özelliklerini değiştirmek için kullanılır.

Directories... : Turbo pascal dosyalarının bulunduğu yeri görmek ve bu yerleri değiştirmek için kullanılır.

Environment : Beş farklı iletişim kutusunun seçilebileceği bir pencere gelir.
WINDOW menüsü
Size/ move Ctrl-F5 : Aktif pencerenin ekranda kaydırılması için kullanılır.

Zoom F5 : Aktif pencerenin ekranda kapladığı alanı genişletmek için kullanılır.

Tile : Turbo editörde bulunan pencere birden fazla olduğunda, bu pencereleri daha küçük pencerelere bölerek hesini ekranda görmemizi sağlar.

Cassade : Ekrandaki birden fazla pencereyi üst üste getirme durumunu sağlar.

Next F6 : Üst üste duran pencerelerden bir sonrakini aktif hale getirir.
Previous Shift-F6 : Cassade durumundaki pencerelerden bir öncekini aktif hale getirir.

Close Alt-F3 :Aktif pencereyi hafızadan ve ekrandan silmek için kullanılır.

Output : Dos ortamındaki program çıktılarını görmek için kullanılır.

User screen Alt-F5 : Dos ortamındaki program çıktılarını ekranın tamamını kaplayacak şekilde görmemizi sağlar.

List... Alt-0 : Açık bulunan penceredeki program dosyalarının isimlerini listeler.

HELP menüsü
Contents : Turbo pascal ‘daki bölüm başlıklarını ekrana getirerek, istenilen bölüm ile ilgili yardımı seçmek için kullanılır.

İndex Shift- F1 : Help dsyasında bulunan komutların tümünü alfabetik sırrayla listelemek için kullanılır.

Topic search Ctrl-F1 : Kursörün üzerinde bulunduğu Pascal komutu ile ilgili İngilizce açıklamaları ekrana getirir.

Previous topic Alt-F1 : Önceden seçilen help seçeneklerine, geriye doğru birer adım giderek yardımı ekrana getirir.

Help on help : Help ekranının kullanılışınıaçıklayan satırlar ekrana gelir.

Programın Yazımı (Edit )
Bir Pascal programı yazmak için ilk önce editörde bulunan diğer programları silip, boş bir ekran oluşturmak gerekir.
F10 tuşuna basıp FİLE seçeneğini ışıklandırırız. Sonra file menüsünün içinde bulunan NEW kelimesini seçip Enter tuşuna basarız. Böylece boş bir ekran açmış oluruz.
Gereksiz yere açılmış NONAME... dosyalarını silmek için;
ALT+F3 tuşlarına bir kaç defa basınız.
EDIT, PW editöründe bir satır aşağı inmek için satır sonlarında enter tuşuna , içeri doğru girintili yazmak için ise, tab tuşuna basılır.

Pascal programı örneği :

Programın Saklanması (Save)
Programınızı yazdıktan sonra diskete kaydetmeniz gerekecektir.

F10 tuşuna basınız, sonra da F tuşuna basınız. Aşağı ok tuşuna basarak Save seçeneğini ışıklandırıp Enter tuşuna basınız. Bu işlem için başka bir yöntemde direkt olarak F2 tuşuna basmaktır.

Programın Derlenmesi (Compile)
Yazılan bir programın çalıştırılabilmesi için tüm hatalardan arındırılmış olması gerekir. Turbo Pascal Compiler (TCP.EXE), kaynak program içerisinde bu gibi hataları bulur ve programcıya bildirir. Programcı bu hataları düzelttikten sonra tekrar derleme işlemini yapar. Compile komutunu çalıştırmak için, Alt+C tuşlarına basınız, Compile seçeneğini ışıklandırarak Enter tuşuna basınız. Bu işlem için başka bir yöntem ise Alt+F9 tuşlarına birlikte basmaktır.

Programın Çalıştırılması (Run)
F10 tuşuna sonrada R yazınız. Pencere içerisindeki ilk seçenek olan run seçeneği ilk anda ışıklı olduğundan Enter tuşuna basınız. Aynı işlem için daha kısa bir yöntem ise CTRL+F9 tuşlarına basmaktır. Türbo Pascal sizin programınızı çalıştıracak ve ekranda program çıktısını çok kısa bir sürede görüntüleyecek ve tekrar paskal ana menüsüne geri dönecektir.
Program çıktısını görmek için Alt+F5 tuşlarına basınız. Program çıktısı siz herhangi bir tuşa dokununcaya kadar görüntülenecektir. Herhangi bir tuşa basınca tekrar ana menüye dönülür.
Program çıktısını yeniden görmek istediğiniz zaman tekrar Alt+F5 tuşlarına basınız.

EXE Uzantılı Dosya Oluşturma

Pascal kaynak programları (programcının editörde yazdığı program) derlendiğinde makine diline çevrilir. Makine diline çevrilmiş olan dosyanın uzantısı EXE’dir. EXE uzantılı dosya olarak diske kaydetmek için, “Compile” Menüsünün altındaki “destination” seçeneğinin karşısındaki bilgiyi “disk” olarak değiştirmek gerekir. Bu bilgi “memory” olarak kalırsa, makine diline çevrilen kaynak program diske kaydedilmez.
Bazı uzun programların derlenmesi sırasında “out of memory” hatası ile karşılaşılabilir. Bu hatanın oluşmasını önlemek için “Option” menüsündeki “Linker Buffer” alanı “disk” olarak değiştirilir.

PASCAL KARAKTER SETİ
Pascal programlarının yazılmasında üç tür karakter kümesi kullanılır. Bunlar sayısal, alfabetik ve özel işaret kümeleridir. Bu karakterler aşağıdaki tabloda verilmiştir.

Karakterler Açıklamalar
Sayılar 0’ dan 9’ a kadar olan rakamlar.
Alfabetik Karakterler A’ dan Z’ ye İngiliz alfabesindeki büyük harfler.
A’ dan Z’ ye İngiliz alfabesindeki küçük harfler.

 

Özel İşaretler + Toplama işlemi ve stringlerin birleştirilmesinde kullanılır.
- / * Aritmetik işlemlerde sırayla çıkarma, bölme ve çarpma işlemleri yapmak için kullanılır.
< > = Karar işlemlerinde ilişkisel operatörler olarak kullanılırlar.
# $ Sayı yada karakterin başına getirildiğinde başka bir değeri göstermesini sağlar
.. Yanyana yazılan iki nokta, iki ayrı değeri ve bunlar arasında kalan tüm değerleri göstermek için kullanılır.
[ ] Bir dizinin indisini göstermek için kullanılır.
(. .) Bir dizinin indisini göstermek için kullanılır.
{ } Program içinde açıklama yapmak için kullanılır.
(* *) Program içinde açıklama yapmak için kullanılır.
:= Değişkenlere değer atamak için kullanılır.
. Nokta, program sonunu belirtmek için ve sayıların ondalık kısmını yazarken virgül yerine kullanılır.
, Virgül, listelenecek bir dizi sayı ve stringi birbirinden ayırmak için kullanılır.

; Noktalı virgül, Pascal deyim veya komutlarını birbirinden ayırmak için kullanılır.
‘ Tek tırnak sembolü, karakter yada stringlerin başlangıç ve sonunu belirtmede kullanılır.
: Bir değişkenin tipi tanımlanırken değişken listesinin sonunda kullanılır.
( ) Prosedür parametreleri parantez içinde yazılır.
{$} Bu ikili karakter, derleyiciye yapılan bildiriler için kullanılır.
_ Alt çizgi, derleyici tarafından karakter olarak kabul edilir ve genellikle değişken ismi tanımlanırken kullanılır.

Yukarıdaki karakterler, açıklamalarda da belirtildiği gibi, derleyici için özel anlamları vardır. Bu nedenle amacı dışında kullanılmamalıdır. Kullanıldığında ise syntax error (yazım kuralı hatası) ile karşılaşılır.

Turbo Pascal’da Kullanılan
Komut ve Kelimeler

Pascal’ın Ayrılmış Kelimeleri (Reserved Words)
Pascal’da işlevleri dışında kullanılmayacak başka deyimlerde vardır. Pascal’da bunlara, reserved word (ayrılmış kelimeler) denir. Bunlar programcı tarafından tanımlanamazlar. Örneğin bir değişken adı olarak kullanılamazlar.
Reserved Word (Ayrılmış kelimeler) şunlardır ;

And Extended Not Type
Array File Of To
Begin Forward Or Until
Boolean For Procedure Unit
Byte Function Program Uses
Case Goto Real Var
Char If Record While
Const Implementation Repeat With
Div In Set Word
Do Integer Shortint Xor
Downto Interface Single
Double Label String
Else Longint Text
End Mod Then

Turbo Pascal Komutları
Pascal’ da yine ayrılmış kelimelerden başka, özel özel işlevleri dışında kullanılamayacak standart procedure, function, deişken ve tipler vardır. Standart function ve procedure’ler Pascal derleyici içerisinde tanımlanmışlar. Zaten Pascal’da kullanılan ve çoğu zaman komut veya deyim adı verilen tüm kelimeler (örneğin; writeln, readln, lenght) birer procedure, yani alt programdır. Bunların hepsi Pascal derleyicide hazır olarak tanımlanmıştır. Türbo Pascal kütüphanesi içerisinde hazır bulunan ifadeler aşağıda görülmektedir.

Abs Erase Keypressed Randomize Str
Arctan Exit Lenght Read Succ
Append Exp Line Readln Sound
Assign False Ln Readkey Text
Bar Filepos Lowvideo Rectangle Textcolor
Bar3d Filesize Lst Rename Textbackground
Chr Frac Maxint Reset True
Circle Getdir Mkdir Rewrite Trunc
Close Getdate Normvideo Rmdir Truncate
Closegraph Getmaxx Nosound Round Upcase
Clrscr Getmaxy Odd Seek Val
Concat Getmaxcolor Ord Setdate Wherex
Copy Gettime Outtext Settime Wherey
Cos Gotoxy Outtextxy Setcolor Window
Delline Graphresult Paramcount Setfillstyle Write
Delay Halt Paramstr Setlinestyle Writeln
Delete Initgraph Pi Settextstyle
Detect Ioresult Pos Sin
Ellipse Insline Putpixel Sizeof
Eof Insert Pred Sqr
Eoln Int Random Sqrt

 

PASCAL PROGRAMININ GENEL YAPISI

ÖRNEK 1: Klavyeden isminizi girdiğinizde ekrana bir mesaj yazdıran program.

Programı yazdıktan sonra, kaydedeceğiniz sürücüyü ve directory’ü belirlemek için F10 tuşuna basıp sonrada File menüsünü seçiniz. Change dir... komutunu seçip enter tuşuna basınız. Şimdi ed programlarınızı kaydedeceğiniz sürücü ve directory için A:\ yazıp enter tuşuna basınız. Bundan sonra saklama işlemi için sadece program adını yazmanız yeterli olacaktır. Çünkü directory bundan sonra A:\ dır.

Örnek 1’deki programın genel yapısı üç kısımdan meydana gelir.

Program başlığı

Tanımlama bloğu

begin

Ana program bloğu

End.

Program Başlığı

Dizilim: PROGRAM progismi;
PROGRAM progismi (Input, Output);

Dizilim diyagramı:

 

Örnek: Program Merhaba;
Program Merhaba (Input, Output);

Bir program başlığı, program deyimi ve bir program isminin aralarına bir karakter boşluk bırakılarak aynı satırda yazılmasıyla oluşur. İkinci yazılış formu ise sadece standart Pascal’ da geçerlidir. Input kelimesi klavyeden data girileceğini, output kelimesi ise program çıktısının ekrana yazılacağını belirtir. Türbo Pascal’da program başlığı kullanmak isteğe bağlıdır. Kullanılmaması hataya neden olmaz.

Tanımlama Bloğu
Tanımlama bloğunda, programın çalışması esnasında kullanılacak tüm isimlerin tanımlanması yapılır. Farklı amaçlar için kullanılan isimler, farklı tanımlama blokları içinde tanımlanırlar. Bu bloklar için başlık olarak kullanılan bildiri deyimleri aşağıda listelenmiştir.

Uses.................................... 1. Unit tanımlama bloğu
Label................................... 2. Etiket tanımlama bloğu
Const.................................. 3. Sabit tanımlama bloğu
Type.................................... 4. Tip tanımlama bloğu
Var...................................... 5. Değişken tanımlama bloğu
Procedure........................... 6. Prosedür tanımlama bloğu
Function.............................. 7. Fonksiyon tanımlama bloğu

Tanımlama Bloğunun Bazı Özellikleri
* Bir programda yukarıdaki tanımlama bloklarının tamamının kullanılması zorunlu değildir.
* Tanımlama bloklarının program içerisindeki sırası da önemli olmadığı gibi, tanımlanan isimlerin program içinde kullanılmaları da zorunlu değildir.
* Her bir tanımlama bloğu birden fazlada tekrarlanabilir.

USES bloğu
Amaç: Turbo Pascal standart ünitesi altında tanımlanmış olan prosedür ve fonksiyonları program içerisinde kullanabilmek amacıyla kullanılır.

Dizilim: USES ünitlistesi;

Örnek: Uses
Crt, Dos, Printer, Verigir ;

Türbo Pascal’da bazı standart prosedürler (clrscr, gotoxy, gibi...) Unit denilen bir dosya adı altında toplanmışlardır. Bu prosedürleri kullanabilmek için hangi Unit altında bulunduğunu Uses tanımlama bloğu içerisinde yazmak gerekir.

LABEL bloğu
Amaç: Pascal programlama dilinde satır numarası bulunmayışı nedeniyle, “goto” komutu kullanıldığında program akışının hangi komut grubuna geçeceğini etiketler ile belirtmek gerekir. Program içerisinde goto deyimi ile işlem görecek olan program satırını belirlemek amacı ile kullanılan etiketleri tanımlamak için kullanılır.
Dizilim: LABEL etiket_listesi;

Dizilim diyagramı:

Örnek: Const
Birdol=8704.56;
İsim=’Onur’;

Const başlığı altında birden fazla sabit tanımlaması yapılabilir. Her sabit tanımlaması sonunda noktalı virgül ‘;’ kullanılır. Sabit değer olarak bir aritmetik işlem ifadesi yazılamaz.

TYPE bloğu
Amaç: Programcı tarafından oluşturulan özel veri tiplerini tanımlamak amacıyla kullanılır.

Dizilim: TYPE
Tip_ismi = tip_tanımı;

Örnek: Type
Gunler=(Pazartesi, Sali, Carsamba, Persembe, Cuma, Cumartesi, pazar);
Notlar=0..100;
Sayi=set of 1..9;
Kucuk=’a’..’z’;
Tip tanımlama bloğu “Type” kelimesi ile başlar. Aynı blok içerisinde birden fazla faklı tip tanımlaması yapılabilir. Her tip tanımlaması birbirinden “;” ile ayrılmalıdır. Type bloğunda tanımlanan veri tipleri, “Var“ bloğunda bir değişkenin tipini Tanımlarken kullanılırlar.

VAR bloğu
Amaç: Program içerisinde kullanılacak değişken isimlerini tanımlamak amacı ile kullanılırlar

Dizilim: VAR değişken_listesi: tip;

Dizilim diyagramı:

Örnek: Var
İsim , soyad : string;
A, B : integer;
C, D, E : integer;
Değişken listesindeki herbir değişken için hafızada yer ayrılır. Değişkenin içerisine girilecek datanın tipi (string, integer....) iki nokta üst üste “:” ve noktalı virgül “;” arasına yazılarak belirtilir. Aynı tipteki değişkenler birden fazla listeyle Var başlığı altında tanımlanabilir. Programcı tanım bloğunda tanımlanan tipe sadık kalmalıdır.
Uygulama bloğu
Uygulama bloğunda, program mantığı gereğince kullanılacak gerekli Pascal komutları yer alır. Turbo Pascal programında Basic dilinde olduğu gibi program satır numarası kavramı yoktur. Komut ve tanımlamaları birbirinden ayırmak için her komut sonuna “;” konulmuştur. Ana program bloğu “begin” kelimesiyle başlar ve “end.” Kelimesiyle biter.

ÖRNEK 2: Doları Türk Lirasına çeviren program.

Bu program klavyeden girilen dolar miktarının Türk parası karşılığını bulur. Görüldüğü gibi bir Pascal uygulama bloğu “begin” kelimesi ile başlıyor, programın işlevlerini yerine getiren komutlar kurallarına göre yazıldıktan sonra”end” komutu ile bitiyor.

Atama İşlemi
Amaç: Değişkenler içerisinde sabit değerleri yerleştirmek amacı ile uygulanır.

Dizilim: Sonuç_değişkeni:=ifade;

Dizilim Diyagramı:

 

Örnek: x := y + z + 2 ;
x := 5 ;
y :=z ;
lira:= birdol * dol ;
ad:=’Kemal’+’Atatürk’;

ifadeden elde edilen değer sonuç değişkenine atanır. Sonuç un önceki değeri bozulur ve yerine ifadenin değeri yerleşir. İfade tek bir değişken veya sabit olabildiği gibi örnekte de görüldüğü gibi her ikisi de olabilir. Bir atama işlemi ‘;’ ile biter. Bir değişken içerisine atama yapmak için kullanılan işaretin ‘=’ olmayıp ‘:=’ olmasına dikkat ediniz. ‘= ’ işareti sabit tanımlama ve karşılaştırma işlemlerinde kullanıldığını unutmayınız. Aritmetik atama işlemlerinde dikkat edilmesi gereken bir kuralda, sonuç olarak adlandırılan değişkenin tipi, aritmetik işlem sonucunda elde edilen ifadenin sonucuna uygun olmalıdır.

Pascal Programlarının Genel Yapısı

Program program_ismi;
Const
Sabitismi=sabitdeğer;


Sabitismi=sabitdeğer;
Var
değişken_listesi : tip;


değişken_listesi : tip;
Begin
deyim ;


deyim ;
End.
Program başlığı

Sabit
tanımlama

Taınlama bloğu

Değişken
tanımlama

 

Pascal deyimleri Uygulama bloğu

 

Pascal Programlarının Yazım Kuralları

Noktalama İşaretleri ve Tanımlama Kuralları
1) Programlar, program başlığı ile başlar. Ancak kullanımı zorunlu değildir.
2) Program içinde kullanılacak tüm isimler tanımlama bloğu içinde tanımlanmalıdır.
3) Bütün sabit tanımlamaları const kelimesinden sonra gelir.
4) Bütün değişken tanımlamaları var kelimesinden sonra gelir.
5) Begin kelimesi ana program bloğunun başladığını bildirir.
6) Ana program bloğu, makine diline çevrilip çalıştırılacak olan deyimlerden oluşmuştur.
7) Programın en son satırı “end” kelimesidir.
8) Her program bloğu birde fazla ‘end‘ deyimi içerebilir, ancak bu ‘end’ deyimleri program sonunu değil alt blokların sonunu gösterir ve sonlarında ‘;’ vardır.
9) Programın bloğu içindeki deyimler ’;’ ile birbirinden ayrılmalıdır.
10) ‘;’ işareti ilk deyimden önce, ve son deyimden sonra konulması gerekmez.
11) ‘begin’ kelimesinden sonra ‘;’ işareti konulması gerekmez.

Büyük ve Küçük Harf Kullanımı
Pascal’da, standart deyim veya kullanıcının belirlediği isimlerin büyük veya küçük harflerle yazılması tamamen serbesttir. Çünkü Pascal derleyicisi büyük ve küçük harfler arasında ayırım yapmaz.
Deyimler Arasındaki Boşluklar
Pascal programlarında satır numarası olmadığından, programın okunabilirliğini arttırmak gerekir. Pascal programlarında satır numarası olmadığından, programın okunabilirliğini arttırmak gerekir. Pascal’da bu konuda büyük bir serbesti vardır. Derleyici, komut ve semboller arasına konulacak boşlukları dikkate almaz. Bu sizin programınızı daha iyi okunabilir duruma getirmeniz için önemli bir serbestliktir.
Okunurluğu Kolaylaştıran Bazı Kurallar
1.)Virgül ve aritmetik operatörlerden (*,-,:=,/) önce ve sonra bir boşluk bırakınız.

Netmaas = brut * vergi veya x := y * z / 2 gibi.

2.) Begin, end, var, const kelimeleri dışında kalan diğer program satırlarını içeriye girintili olarak yazınız.

Var const
Netmaas : real ; veya mypi = 3.14; gibi..

3.) Bir atama deyimi gibi iki karakter birlikte kullanılan sembolleri birbirinden ayırmayınız.
A:=B*C; ifadesini,

A : = B * C ; şeklinde yazamadığımız gibi,
A :
= B
* C ; şeklinde de yazamayız.

4.) Tanımlama isimleri arasında boşluk bırakılmaz. Ancak okunurluğunu arttırmak için aralarına “_” konulabilir.

Net_maas bir_dol gibi.

2. Bölüm
SABİTLER DEĞİŞKENLER ve
OPERATÖRLER
SABİTLER
Bir programın çalışması boyunca değişmeyen değerler “sabit” (constant) olarak adlandırılır. Sabitler const bloğu içerisinde tanımlanırlar. Turbo Pascal derleyicisi tarafından önceden tanımlı olan bazı sabit isimleri vardır. Bu sabit isimlerinin const bloğu içerisinde tekrar tanımlanmasına gerek yoktur.

Pi = 3.1415926536
False = False
True = True
Maxint = 32767
Minint = -32768 dir.

NOT:Falsenin türkçe anlamı yanlış demektir. Truenin ise doğru demektir.

Sabit (Constant) Tanımlama
Dizilim: CONST sabit_ismi=sabit_değer;

Dizilim Diyagramı:

ÖRNEK: Const
Birdol=588000.36 ;
İsim=’onur’ ;

Pascal programları içerisinde sabit kullanmak programın okunurluğunu arttırır. Const başlığı altında birden fazla sabit tanımlaması yapılabilir. Her sabit tanımlaması sonunda ‘;’ kullanılır.sabit değer olarak aritmetik işlem ifadesi yazılamaz.

DEĞİŞKENLER
Değişkenler verileri bellekte tutmak için kullanılırlar. Her tanımlanan değişken bellekte belirli bir yer ayrılmasına neden olur. Değişkenler içerisine programın akışı içerisinde farklı değerler atanabilir. İçerisinde değer bulunan bir değişkene yeni bir değer daha atandığında, bu değeri içinde barındırır. Bu nedenle değişken adını alırlar.

Değişken (Variable) Tanımlama

Dizilim: VAR değişken_listesi : tip;
Dizilim Diyagramı:

Örnek: Var
İsim , soyad : string ;
A , B : integer ;
C , D , E : integer ;
Değişken listesindeki herbir değişken için hafızada yer ayrılır. Değişkenin içerisine girilecek datanın tipi “:” ve “;” arasına yazılarak belirtilir. Değişken listesindeki değişken isimleri birbirinden “,” ile ayrılır. Aynı tipteki değişkenler birden fala listeyle “var” başlığı altında tanımlanabilir. Programcı tanım bloğunda tanımlanan tipe sadık kalmalıdır. İnteger tipte tanımlanmış bir değişkene string tipte bir bilgi giremeyiz.
Değişken İsimleri
Bir değişkenin bellekte veri tutabilmesi için bellek hücresine bir isim verme zorunluluğu vardır. Anlamlı değişken adları oluşturmanız, hem program tasarımında hemde programlarınızın okunabilmesi açısından yarar getirir. Ancak isim verirken uyulması gereken bazı kurallar vardır. Bu kurallar, sabit, tip, değişken, procedure, function, etiket isimleri verirken de aynen geçerlidir.

Değişken ve Sabit İsmi Seçilirken Dikkat Edilmesi
Gereken Kurallar
1.) Daima bir harfle başlaması gerekir. Değişken isimleri rakamla başlayamaz.
2.) Pascal ayrılmış kelimesi veya pascal komutlarından oluşamaz.
3.) 63 karakterden daha fazla olamaz. Eğer daha uzun bir isim verilirse ilk 63 karakter geçerli olur.
4.) Aritmetik işlem operatörlerini içeremezler.
5.) Değişken isimleri arasında boşluk bırakılmaz. Ancak okunurluğu arttırmak için ‘_’ konulabilir.
6.) İçerisine atanacak değeri anımsatacak kısaltmalardan oluşmalıdır.
7.) Türkçe karakterleri içeremez.

Geçerli Değişken Veya Sabit İsimlerine Örnekler
Harf1, Cm, A, ad_soyad, Lira, Sayilar, Isim, Adres1
Geçersiz Değişken Veya Sabit İsimlerine Örnekler
1Harf, Var, Const, Lira*Dolar, Ahmet’in, Ad-Soyad, Ülker, Şeker

Değişken Tipleri
Pascal’da 15 ayrı değişken tipi vardır. Bu tiplere ek olarak kendi değişken tiplerinizi de tanımlayabilirsiniz. Her değişkenin bir tipi olmalıdır. Bir değişkenin tipi, o değişken için ayrılan bellek bölgesinde ne tür veriler tutabileceğini ifade eder.
Standart Değişken Tipleri
Standart veri tipleri Turbo Pascal tarafından belirlenen tipler vardır ki bunlara özel veri tipi denir. Standart veri tipleri aşağıda belirtilmiştir.

1) Integer tipi veriler
a) Shortint
b) Longint
c) Byte
d) Word
2) Real tipli veriler
a) Real
b) Single
c) Double
d) Extended

Tamsayı (Integer) Değişken Tipleri
Aritmetik işlemlerde kullanılan pozitif ve negatif tam sayılardır. Integer tipte sayıların ondalık hanesi bulunmaz.

CLRSCR Prosedürü
Turbo Pascal kütüphanesinde bulunan bu prosedür parametresiz olarak kullanılır. Ekranı silmeye ve kürsörü 1. satır 1. sütuna getirmeye yarar.

Gerçek (Real) Değişken Tipi
Ondalık nokta içeren ve üslü biçimde ifade edilen sayılara real tip sayılar denir. Pascalda 4 tip gerçek sayı vardır. (real, single, double, extended)

Karakter (Char) Değişken tipi
Char tipi veriler, 255 adet olan ASCII karakterlerin sadece bir tanesinden oluşurlar. Char tipi veriler tek tırnak ‘ ’ içerisine yazılmalıdırlar. Char tipi değişkenler hafızada 1 byte’lık yer işgal ederler.

String Değişken Tipi
String tipi veriler, tek tırnak ( ‘) içerisine alınan ve bilgisayar klavyesinden girilebilen karakter kümesinden oluşmuştur. Bir stringin hafızada kapladığı yer karakterlerin toplam sayısına eşittir. Bu sayı en fazla 255 olabilir. Tırnak içerisinde bulunan boşluk karakterleri de bu sayının içerisindedir. Bir string değişken tanımlanırken bu tipe ait verilerin uzunluklarının ne kadar olacağı köşeli parantezler “[” ve “]” içinde belirtilmelidir. Belirtilmediği takdirde uzunluk 255 olarak kabul edilir.

 

Boolean Değişken Tipi
Bir karşılaştırma sonucunda elde edilen değer eğer bir değişken içerisine atanmak isteniyorsa, bu değişken boolean tipi olarak var bloğu içerisinde tanımlanmalıdır. Tanımlanan değişken için bellekte bir byte’lık yer ayrılır. Boolean tipi bir değişken içerisine klavyeden ancak true veya false kelimeleri girilebilir.

Programcının Tanımladığı Değişken Tipleri
Pascal da tanımlı olmayan, programcı tarafından type tanımlama bloğunda yaratılan ve özel amaçlar için kullanılan veri tipleridir. Pascal’ın standart veri tipleri bir programda tanıma gerek duyulmaksızın kullanılabilir. Ancak bazı durumlarda verilerin işlenmesinde yetersiz kaldıkları görülür. Programcı tarafından yaratlabilecek olan 5 özel veri tipi vardır.

1. Küme veri tipi (set type)
2. Sıralı veri tipi (scalar type)
3. Sınırlı veri tipi (subrange type)
4. Record veri tipi (record type)
5. Dizi veri tipi (array type)

Tip Tanımlama
Tip tanımlama bloğu type kelimesiyle başlar. Aynı blok içerisinde birden fazla farklı tip tanımlaması yapılabilir. Her tip tanımlaması birbirinden ‘;’ ile ayrılmalıdır. Type bloğunda tanımlanan veri tipleri, Var bloğunda bir değişkenin tipini tanımlarken kullanılırlar.

Dizi Tipi Değişkenler
Aynı tipteki birden fazla bilginin tutulduğu değişkenlere (array) dizi tipi değişken denir. Program içerisinde aynı tür bilginin aynı anda saklanması durumu söz konusu olunca, dizi tipi değişkenlerden yararlanılır. Minindis değeri ‘0’, Maxindis değeri ‘32767’ olabilir. Köşeli parantez içerisine yazılan değerler boolean veya char tipi veri olabileceği gibi, sınırlı tip bir veri de olabilir.

Küme Tipi Değişkenler
Aynı tipte ve birbiriyle ilgili bilgilerden oluşan nesneler topluluğuna küme denir. Elemanı olmayan kümeye boş küme denir. Pascal daki kümelerde matematikteki tanımı gibidir.

1. Küme elemanları aynı tip olmalıdır.
2. Küme elemanları real sayılardan oluşmaz.

Kümeyi oluşturan elemanların arasına ‘,’ konularak “[ ]” içerisine yazılırlar. Küme elemanları birbirini izleyen dizisel değerlerden oluşuyorsa en küçük ve en büyük değerlerin arasına iki nokta ‘:’ konulur.

 

IN Operatörü
IN operatörü, bir, elemanın bir küme içerisinde bulunup bulunmadığını test eder.

Küme Tipi Değişkenlerin Tanımlanması
Değişken listesinde birden fazla değişken yazıldığında, değişkenler arasına “,” konulması gerekir. Küme tipi değişkenler direkt olarak “var” bloğunda tanımlandığı gibi, “type” bloğunda özel bir tip ismi yaratılarak ta tanımlanabilirler.

Küme Tipi Değişkenlere Değer Atama
Küme tipi değişkenlere aynen diğer değişkenlere atama yapılırken kullanılan “:=” atama sembolü kullanılır. Küme değeri olarak, o kümeye atanabilecek küme elemanları olabileceği gibi, sınırlandırılmış küme elemanları da olabilir. Bir küme tipi değişken ifadelerde kullanılmadan önce bir başlangıç değeri almalıdır.

Küme İşlemleri
Küme tipi verilerde, matematikte ifade edildiği gibi bileşim, kesişim ve fark kümesi olarak üç şekilde ifade edilir.

Sıralı Tip Değişkenler
Pascal’da integer sayılar ve İngiliz alfabesindeki büyük ve küçük harfler sıralı tip verilerdir. Yani birbiri ardısıra gelen değerlerdir.Bazı programlarda bu sıralı tipler yeterli olmayabilir. Bu durumda programcı özel bir sıralı tip yaratmalıdır.

Sıralı Tip Değişkenlerinin Tanımlanması
Bir sıralı tip, o tipin alabileceği tüm değerleri gösteren değerleri içeren bir liste ile tanımlanır. Listedeki değerler birbirinden “,” ile ayrılır ve parantez içerisine alınırlar. Sıralı tip olarak tanımlanan değerler for do döngüsünde de kullanılabilir.

Sınırlı Tip Değişkenler
Çoğu programlarda değişkenler içerisine girilecek değerlerin alt ve üst sınırı bilinir.ancak program içerisinde biz bu sınırları tanımlarsak, compiler hatalı girilen bir veri olduğunda programı durdurur ve gerekli hata mesajını ekrana yazar.

Sınırlı Tip Değişkenlerinin Tanımlanması

 

Type bloğu içerisinde tanımlanan “sınırlı_veri_tipi_ismi” yeni tanımlanan bir veridir. “alt sınır” bu veri tipine atanabilecek olan en küçük değer, “üst sınır” ise bu veri tipine atanabilecek en büyük değerdir. Alt sınır ve Üst sınır sıralı tip olmalıdır. Alt sınır her zaman üst sınırdan daha küçük olmalıdır.

 

3.Bölüm

TEMEL GİRİŞ / ÇIKIŞ KOMUTLARI
WRITELN
Amaç:String ve sayısal sabitleri yada değişken içerisindeki değerleri ekrana veya printere yazdırmak için kullanılır.çıkış listesine yazılanlar alt alta yazılır.
ÖRNEK:3 Writeln komutu ile yapılan sitringlerin ekrana yazdırılması.

Uses crt;
Begin
Writeln(‘merhaba ‘);
Writeln(‘dünya’)
End.

 


Program çıktısı
Merhaba
Dünya

 

WRITE
Amaç: String ve sayısal sabitleri yada değişken içerisindeki değerleri ekrana veya printere yazdırmak için kullanılır.çıkış listesine yazılanlar yan yana yazılır.
Örnek 4:

Uses crt;
Begin
Write(‘ahmet’);
Write(‘okula git’);
Readln;
End.

 

Program çıktısı

Ahmet okula git
READLN
Amaç:Çevre aygıtlardan(klavye,disk...),değişkenler içerisine veri girmek için kullanılır.

ÖRNEK 5:
Uses crt;
Var
Ad,soy,no:string;
Begin
Write(‘adınızı giriniz’ :);readln(ad);
Write(‘soyadınızı giriniz’ :);readln(soy);
Write(‘numaranızı giriniz :’);readln(no);
Clrscr;
Write(ad);
Write(soyad);
Write(no);
Readln;
End.

Program çıktısı
Adınızı giriniz :
soyadınızı giriniz :
numaranızı giriniz :

FORMATLI ÇIKIŞ
İnteger Sayıların Formatlanması
Örnek: X:4 sayı:3
Örneğin,x:456 ise, writeln(x:8); deyimi ile sayının ekrana yazılışı şöyle olur.

4 5 6

Real Sayıların Formatlanması
Örnek: X:4: ,Toplam:9:3
Örneğin,x:=34.56 ise, writeln(x:8:3); deyimi ile sayının ekrana yazılışı şöyle olur.

3 4 : 5 6 0

Char Tipi Verilerin Formatlanması
Örnek: Writeln(c:6); Writeln( ‘a’:4’);
Örneğin, a:=’K’ ise, writeln(a:7) deyimi ile karekterin ekranda görünümü aşağıdaki gibi olur.
K

String Tipi Verilerin Formatlanması
Örnek: Writeln(‘TÜRKİYE’:16);
T Ü R K İ Y E

VERİ KONTROLÜ
(COMPILER BİLDİRİLERİ)
Compiler Bildirisi Tanımlamak
Amaç:Turbo Pascal derleyicisinin bazı özelliklerini, compıler bildirileri ile kontrol altında tutmak için kullanılır.
Örnek: {$B-}
{$R+}
{$ INCLUDE.PAS}
{$B- ,$R+, $I}

4.Bölüm

PROGRAM AKIŞININ KONTROLÜ
DALLANMA DEYİMLERİ
IF-THEN deyimi
Amaç: Belli bir koşul oluştuğunda program akışını bir sonraki deyime geçirmek için kullanılır.

ÖRNEK 6: If-then deyiminin kullanılışı.Klavyeden 1 sayısı girildiğinde ekrana ’’kapalı’’ ve 0
Girildiğinde ‘’açık’’ mesajını veren program.
Uses crt;
Var
A:integer;
Begin
Write(‘sayı giriniz(1veya0) : ‘);readln(a);
İf a:=1 then
Writeln(‘kapalı’);
İf a:=0 then
Writeln(‘açık’);
Readln;
End.
Program çıktısı
Sayı giriniz (1veya 0) :0
Açık

IF-THEN_ELSE deyimi
Amaç:Belli bir koşul oluştuğunda program akışını bir sonraki deyime geçirmek için kullanılır.

ÖRNEK 7:
Uses crt;
Var
A,b:integer;
Begin
Clrscr;
Writeln(‘1.sayıyı gir’);readln(a);
Writeln(‘2.sayıyı gir’);readln(b);
If a>b then
Writeln(‘1.sayı >2.sayı’);
Else
Writeln(‘2.sayı >1.sayı’);
Readln;
End.

Program çıktısı
1.sayıyı gir 10
2.sayıyı gir 5
1.sayı > 2.sayı

CASE-OF deyimi
Amaç:bir değerin birden fazla değer ile karşılaştırmasını yaparak,bu eşitliğin bulunması durumunda belli program parçalarının işlenmesini sağlamak için kullanılır.

ÖRNEK 8:
Uses crt;
Var
Harf:char;
Begin
Writeln(‘bir harf girin:’); readln(harf);
Case harf of
‘A ‘............’Z’ :Writeln(‘büyük harf’);
‘A ‘............’Z’ :Writeln(‘küçük harf’);
else
Writeln(‘Bu harf değil’);
Readln;
End.

DÖNGÜLER
GOTO,FOR-DO,REPEAT-UNTIL
GOTO DEYİMİ
Amaç: Program akışının değiştirilmesi gereken yerlerde kullanılır.
ÖRNEK 9: 1’den 5’e kadar olan sayıları ekrana yanyana yazdıran program.

Uses crt;
Var Sayac:integer;
Label
Tekrar;
Begin
Clrscr;
Sayac:=0;
Tekrar :
Sayac:=sayac+1;
Write(sayac,’ ‘);
İf sayac<5 then goto tekrar;
End.

FOR- DO deyimi
Amaç:Belli bir program parçasını üst üste önceden belirlenen sayıda tekrarlamak için kullanılır.

Örnek 10: 1’den 10’a kadar olan tam sayıları ekrana yan yana birer boşluk bırakarak yazdıran program.

Uses crt;
Var
İ :integer;
begin
Clrscr;
For i:=1 to 10 do write (i,’ ‘);
End.

Program çıktısı
1 2 3 4 5 6 7 8 9 10

ÖRNEK 11:Ekrana A’dan G’ye kadar olan harfleri,her defasında bir sonraki harfle birlikte yan yana yazdıran program.
Uses crt ;
Var
Harfyaz,sonharf: char;
Begin
Clrscr;
For sonharf:=’A’ to ‘G’ do
Begin
For harfyaz:=’A’ to sonharf do
Write(harfyaz);
Writeln;
End;
End.

Program çıktısı
A
AB
ABC
ABCD
ABCDE
ABCDEF
ABCDEFG

WHILE-DO deyimi
Amaç:Bir program bloğunun belli bir şart sağlanana kadar tekrar edilmesi için kullanılır.

ÖRNEK 12: Klavyeden girilen cümle içerisinde kaç adet sesli harf olduğunu bulan program.
Uses crt;
Ch:char;
Say:integer;
Begin
Say:=0;
Write(‘Bir cümle yazınız >’);
While not eoln do
Begin
Read(ch);
İf ch in [‘A’,’a’,’E’,’e’,’İ’,’i’,’I’,’ı’,’O’,’o’,’ö’,’ö’,’U’,’u’,’ü’,’ü’] then
Begin
Say:=say+1;
End;
Writeln(‘yazılan cümlede’,say,’tane sesli harf vardır.’)
End.

REPEAT-UNTIL deyimi

Amaç: Bir program bloğunun,belli bir şart sağlanana kadar ard arda işlenmesini sağlar.

ÖRNEK 13: Klavyeden girilen 10 sayıdan Tek ve Çift sayıların toplamını alt alta yazdıran program.
Uses crt ;
Var
A:array[1..10] of integer;
E:integer;
T:longint;
Begin
Clrscr;
For E:= 1to 10 do
Begin
Write (E,’.sayıyı gir......:’);readln(A[E]);
End;
T:=0; E:=0;
Repeat
E:= E+1;
İf A[E] dıv 2<>A[E] / 2 then
Begin
T:=T+A[E];
End;
Until 1=10;
Writeln(‘tek sayıların toplamı :’,T);
T:=0; 1:=0;
Repeat
E:=E+1;
İf A[E} dıv 2= A[E] /2 then
Begin
T:=T+A[E];
End;
Writeln(‘çift sayıların toplamı:’ ,T);
Readln;
end.

Program çıktısı

1.sayı gir........: 4
2. sayı gir........: 5
3. sayı gir........: 9
4. sayı gir........: 2
5. sayı gir........: 3
6. sayı gir........: 1
7. sayı gir........: 5
8. sayı gir........: 8
9. sayı gir........: 2
10. sayı gir.......:9
Tek sayıların toplamı =32
Çift sayıların toplamı=16

 

5.Bölüm

İNDİSLİ DEĞİŞKENLER
TEK BOYUTLU DEĞİŞKENLER
Aynı tipte olan verileri sıralı biçimde bellekte tutmak amacıyla tanımlanan değişkenlere dizi (array) tipi değişken denir.

ÖRNEK 14: Klavyeden girilen 5 sayının giriliş sırasının tersine yazdırılması.

Uses crt ;
Type
İntarray =array [1..5] of integer ;
Const
N= 5;
Var
Sayı :intarray ;
İ,j:integer;
Begin
Clrscr;
For i :=1 to 10 do
Begin
Write (i,’.sayıyı gir>’); readln (sayı [i] );
End;
For j :=n down to 1 do
Writeln (j,’. Sayi =’,sayi [j] );
End.

Program çıktısı

1.sayı gir > 34
2. sayı gir >5
3. sayı gir >56
4. sayı gir >87
5. sayı gir >39

5. sayı=39
4. sayı=87
3. sayı=56
2. sayı=5
1. sayı=34


Sıralama (sort) İşlemi

ÖRNEK 15: Klavyeden girilen 5 sayının sıralanıp ekrana yazdırılması (büyükten küçüğe).
Uses crt;
Var
A: array [1..5] of integer;
I ,k ,m:integer;
Begin
Clrscr;
For I :=1to 5 do
Begin
Writeln (I,’.sayıyı gir :’); readln (a[I] );
End;
For I := 1 to 4 do
For k := I +1 to 5 do
İf A [k] >A [I] then
Begin
M := A [ I ];
A : [ I ] := A[ k ];
A [k] :=m;
End;
For I := 1 to 500
Begin
Writeln (A [ I ]);
End;
Readln;
End.

Program çıktısı

1. sayı gir : 8
2. sayı gir : 6
3. sayı gir : 9
4. sayı gir : 5
5. sayı gir : 2

9
8
6
5
2

İKİ BOYUTLU DEĞİŞKENLER
Tek boyutlu diziler için kullanılan değişkenler ,aynı cinsten verileri bellekte saklamak için kullanılır.

6.Bölüm
STANDART PROSEDÜR VE FONKSİYONLAR

MKDIR prosedürü
Amaç:Pascal programlarında bir alt directory yaratmak için kullanılır.

ÖRNEK 16 : Aktif directory içerisine,klavyeden girilen bir string adıyla directory açan program.

Uses crt ;
Var
Di:string;
Begin
Write (‘açmak istediğiniz directory ismi >’); readln(di);
Mkdir (di);
Mkdir (‘lotus’);
Mkdir (‘lotus\müsteri’);
End.

 

Program çıktısı

Açmak istediğiniz directory ismi > BASIC

PARAMCOUNT fonksiyonu
Amaç: Komut satırındaki paremetre sayısını verir.
ÖRNEK 17: Komut satırından paremetre girilip girilmediğini kontrol eden program.

Uses crt;
Begin
İf paramCount < 1 then
Writeln(‘Komut satırında paremetre yoktur’)
Else
Writeln(ParamCount,’paremetre vardır’);
End.


Program çıktısı

Komut satırında paremetre yoktur

PARAMSTR fonksiyonu
Amaç: Komut satırındaki N inci paremetreyi veya N inci veriyi bir string olarak verir.
ÖRNEK 18: Komut satırından girilen paremetreleri okuyup ekrana yazdıran program.

Uses crt;
Var
I :word;
Begin
For I:=1 to ParamCount do
Writeln(paramstr( I ) );
End.

GETDIR prosedürü
Amaç: Belirlenen sürücüdeki aktif directory ‘ü öğrenmek için kullanılır.
ÖRNEK 19: Aktif sürücüdeki aktif directory ismini ekrana yazdıran program.

Uses crt;
Var
S:string;
Begin
Getdir(0,s);
Writeln(‘ Aktif directory(‘,s,’) dır’);
End.
Program çıktısı
Aktif directory (A:\) dır

CHDIR prosedürü
Amaç: Pascal programı ile directory değiştirmek için kullanılır.
ÖRNEK 20: Önce aktif sürücüde PASCAL directory’si açıp daha sonra o directory içerisine girerek ekranda gösteren program.

Uses crt;
Var
S:string;
Begin
Mkdır(‘PASCAL’;
Chdır(‘PASCAL’);
Getdır(0,S);
Writeln(‘şu anda (‘,S,’) directory sine geçtiniz’);
End.

Program çıktısı
Şu anda (A:\ PASCAL) directory sine geçtiniz

IORESULT fonksiyonu
Amaç: Pascal programları çalışırken oluşan run –time hata kod numarasının Pascal ortamına alınmasını sağlar.
ÖRNEK 21: Klavyeden yanlışlıkla integer yerine karekter girildiğinde,programın akışını kesmeden hatayı kullanıcıya düzelttiren program.
Uses crt;
Var Intsay : integer;
Label
Hata;
Begin
{ $I-}
hata:
Write(‘bir sayı giriniz>’); readln(intsay);
İf ioresult=106 then
Begin
Writeln(‘Tam sayı girişi yapmalısınız’);
Goto hata;
End;
Writeln(‘Sayının karesi =’,intsay*intsay);
End.

Program çıktısı
Bir sayı giriniz >a
Tam sayı girişi yapmalısınız
Bir sayı giriniz >4
Sayının karesi =16

RMDIR prosedürü
Amaç:Alt directory’nin silinmesi için kullanılır.
ÖRNEK 22: Bir dos komutu gibi çalışan ve türkçe uyarı mesajı üreten directory silme programı.
Uses crt;
Begin
{ $I- }
RmDir (paramStr(1);
İf Ioresult<> 0 then
Writeln (‘directory silinemez ‘);
Else
Writeln (‘directory silindi’);
End.

GETDATE prosedürü

Amaç: Bilgisayarın daha önceden kurulmuş olan tarihini okumak için kullanılır.

ÖRNEK 23 : Sistemin tarihini gün,ay,yıl ve haftanın hangi günü olduğunu gösteren program.

Uses dos;
Const
Gunler:array [0..6] of String [9] = (‘Pazar’,’pazartesi’,’salı’,’çarşamba’,
’perşembe’,’cuma’,’cumartesi’);
var
y,a,g,hg:word;
begin
getdate (y,a,g,hg);
Writeln(‘bugün ‘,g,’ / ‘,a,’ / ‘,y,’ ‘,günler [hg], ‘dir.’);
End.

Program çıktısı
Bugün 17/5/1997 Salı dir.

GETTİME prosedürü
Amaç: Bilgisayarın daha önceden kurulmuş olan saatini okumak için kullanılır.

ÖRNEK 23 : Sistemin saatini ekranda gösteren program.

Uses dos;
Var
Sa,da,sn,sl:word;
Begin
Gettime(sa,da,sn,sl);
Writeln(‘saat=’ ,’sa, ’:’ ,da, ‘:’ ,sn, ‘.’ ,sl);
End.

Program çıktısı
Saat =3:48:20.80

 

SETDATE prosedürü
Amaç: Sistemin tarihini yeniden kurmak için kullanılır.
ÖRNEK 24: Sistemin tarihini klavyeden girilen sayılara göre kuran program.
Uses dos;
Var
Yıl,ay,gun :word;
Begin
Write (‘yıl >’); readln(yıl);
Write (‘ay >’); readln(ay);
Write (‘gun >’); readln(gun);
Setdate(yıl,ay,gun);
End.

SETTİME prosedürü
Amaç: Sistemin saatini yeniden kurmak için kullanılır.
ÖRNEK 25: Sistemin saatini klavyeden girilen sayılara göre kuran program.
Uses dos;
Var Sa,da,sn,sl:word;
Begin
Write (‘saat >’); readln(sa);
Write (‘dakika >’); readln(da);
Write (‘saniye >’); readln(sn);
Sl :=0;
Settime (sa,da,sn,sl);
End.

CHR fonksiyonu
Amaç: ASCII kod numarasının karşılığını verir.
ÖRNEK 26: ASCII kod numarası 14-25 arasında olan sayıların karakter karşılığını yanlarına numaraları ile birlikte yan yana yazdıran program.
Uses crt;
Var I :integer;
Begin
Clrscr;
For I :=14 to 225 do Write (i :3,’=’,chr(I) );
Writeln;
Writeln (‘ ‘’65’’ in ASCII karşılığı =’ ,#65,’ dir’);
Writeln (#7);
End.

ORD fonksiyonu
Amaç: Bir elemanın tanımlı olduğu kümede kaçıncı sırada olduğunu bulmak için kullanılır.CHR fonksiyonunun tersine çalışır.

ÖRNEK 27: Bir elemanın tanımlı olduğu kümede kaçıncı sırada olduğunu ve ‘’A’’ harfinin ASCII kod numarasını bulan program.

Uses crt;
Type
Renkler =(kırmızı,mavi,yeşil,sarı,siyah);
Begin
Writeln(‘Yeşil in sıralı veri tipindeki sırası =’,Ord(yeşil) );
Writeln(‘ ‘’A’’ harfinin ASCII kodu ‘,Ord (‘A’),’ dır’);
End.

Program çıktısı
Yeşil in sıralı veri tipindeki sırası =2
‘’A’’ harfinin ASCII kodu 65 dir

PRED fonksiyonu
Amaç: Bir elemanın tanımlı olduğu listede o elemandan önce gelen elemanı bulmak için kullanılır.

ÖRNEK : PRED (‘B’)----------- ‘A’
SUCC fonksiyonu
Amaç: Bir elemanın tanımlı olduğu listede o elemandan sonra gelen elemanı bulmak için kullanılır

ÖRNEK : PRED (‘B’)----------- ‘C’

TEXTBACGROUND prosedürü
Amaç: Text modunda zeminin rengini değiştirmek için kullanılır.

ÖRNEK : TEXTBACGROUND (7);--- zeminin rengini beyaz yapar.

TEXTCOLOR prosedürü
Amaç: Text modunda ekrandaki karakterin rengini değiştirmek için kullanılır.

ÖRNEK : TEXTCOLOR (1);------- karakterlerin rengini mavi yapar.

LOWVIDEO prosedürü
Amaç: Ekrana yazılan karekterleri mat hale dönüştürmek için kullanılır.

ÖRNEK 28 : Lowvideo prosedürü ile karakter renklerini matlaştırma.

Uses crt;
Begin
TextAttr :=White;
Lowvideo;
Writeln (‘Bu karakterler açık gridir’);
TextAttr :=green;
Lowvideo;
Writeln (‘Bu karakterler mat yeşildir’);
End.

NORMVIDEO prosedürü
Amaç: Ekrana yazılan karekterleri parlak hale dönüştürmek için kullanılır.

READKEY fonksiyonu
Amaç: Klavyeden sadece bir karakter okuyup char tipi bir değişkene aktarmak için kullanılır.

ÖRNEK: Ch :=readkey;
KEYPRESSED fonksiyonu
Amaç: Programın çalışması esnasında klavyeden bir tuşa basılıp basılmadığını kontrol etmek için kullanılır.

ÖRNEK 29 : Klavyeden bir tuşa basılıncaya kadar ekranı çeşitli karakterlerle dolduran program.

Uses crt;
Begin
Repeat
Write (#176,#219,#178);

Until Keypressed;
End.

GOTOXY prosedürü
Amaç: Kursör pozisyonunu istenilen ekranın istenilen koordinatlarına konumlandırmak için kullanılır.

örnek: GOTOXY (1,1);--------------Ekranın sol-üst köşesi

WINDOW prosedürü
Amaç: Text modunda ekrana pencere açmak için kullanılır.

Örnek : Window (1,1,80,25);-------Normal pencere yaratır.

COPY fonksiyonu
Amaç: Bir string ifadenin istenilen bir bölümünü elde etmek için kullanılır.

ÖRNEK 30 : Bir string içerisinde istenilen bir bölümü ekrana yazdıran program.
Uses crt ;
Var
St1,st2:string;
Begin
St1 :=’BILGISAYAR’;
St2 :=(copy(st1, 1,4) );
Writeln(st1);writeln(st2);
End.

Program çıktısı
BİLGİSAYAR
BİLGİ

CONCAT fonksiyonu
Amaç: Birden fazla stringi birleştirmek için kullanılır.

ÖRNEK 31:İki stringi ‘+’ ile birleştiren program.

Uses crt;
Var
St1,st2:string;
Begin
St1:=Concat(‘Balık’,’esir’);
St2:=’Balık’+’esir’;
Writeln(st1);
Writeln(st2);
End.

Program çıktısı
Balıkesir
Balıkesir

LENGTH fonksiyonu
Amaç: Bir stringin kaç karakterden oluştuğunu bulmak için kullanılır.

ÖRNEK: Length (‘Bilgisayar’);-------------10 tam sayı üretilir.

POS fonksiyonu
Amaç: Bir string içerisinde başka bir stringin kaçıncı sırada olduğunu bulmak için kullanılır.

ÖRNEK:Pos(‘A’,’BİLGİSAYAR’);------------7

DELETE prosedürü
Amaç: Bir stringin belirlenen sayıda karakterini silmek için kullanılır.

ÖRNEK: Delete(‘ABCDEF’,3,2)---------’ABEF’

ÖRNEK 32 :Bir stringden bir bölümünü çıkardıktan sonra geriye kalanın karakterlerini birer birer silerek ekrana yazan program.

Uses crt ;
Var
St,st2:string;
I :integer;
Begin
St :=’Uygulamalarla Temel Bilgisayar’;
Delete (st);
For I :=1 to length (st) do
Begin
Delete (st,length(st),1);
Writeln(st);end;
End.

Program çıktısı
Uyar
Uya
Uy
U

INSERT prosedürü
Amaç: Bir stringin arasını açarak başka bir string yerleştirmek için kullanılır.

ÖRNEK 33 : ‘’Mustafa Atatürk’’ içerisine Kemal stringi yerleştiren program.

Uses crt;
Var
S:string;
Begin
S:=’Mustafa Atatürk’;
Insert (‘Kemal ‘,S,9);
Writeln(S);
End.

Program çıktısı

Mustafa Kemal Atatürk

STR prosedürü
Amaç: İnteger veya Real tipteki verileri String tipine dönüştürmek için kullanılır.
ÖRNEK: STR(235); st=’235’

VAL prosedürü
Amaç: String tipindeki sayıları Real veya İnteger tipe dönüştürür.
ÖRNEK: VAL (‘723’ N,K); N=723 Kod=0

EXIT prosedürü
Amaç: İşlenmekte olan program bloğundan direkt olarak çıkmak için kullanılır.

HALT prosedürü
Amaç: İşlenmekte olan programı herhangi bir noktada sona erdirmek için kullanılır.

DELAY prosedürü
Amaç: Çalışmakta olan bir programın işlenmesini belirlenen bir süre durdurur.
ÖRNEK : DELAY (100) ;

SOUND prosedürü
Amaç:Bilgisayarın ses üreticisinden farklı sesler elde etmek için kullanılır.
ÖRNEK : SOUND (350);

NOSOUND prosedürü
Amaç: Sound prosedürü ile üretilen sesi kesmek için kullanılır.

CLREOL prosedürü
Amaç: Bir satırı sonuna kadar silmek için kullanılır.

DELLINE prosedürü
Amaç: Kursörün bulunduğu satırı silmek için kullanılır.

INSLINE prosedürü
Amaç: Kursörün bulunduğu satıra boş bir satır eklemek için kullanılır.

WHEREX prosedürü
Amaç: Kursörün kaçıncı sütunda bulunduğunu öğrenmek için kullanılır.

WHEREY prosedürü
Amaç: Kursörün kaçıncı satırda bulunduğunu öğrenmek için kullanılır.

RANDOM fonksiyonu
Amaç: Rasgele sayı elde etmek için kullanılır.

SIZEOF fonksiyonu
Amaç: Standart tip veya özel tip değişkenlerin bellekte kapladığı byte miktarını verir.
ÖRNEK : Sizeof (Integer) ; ----- sonuç 2 ‘dir.

UPCASE fonksiyonu
Amaç: Küçük harfleri büyük harfe çevirmek için kullanılır.

ABS fonksiyonu
Amaç: Bir sayının mutlak değerini almak için kullanılır.
ÖRNEK: Abs (34); -----------34 elde edilir.

INT fonksiyonu

Amaç: Kesirli bir tamsayının ,tamsayı kısmını elde etmek için kullanılır.
ÖRNEK: Int (-18.58);------------18.0 elde edilir.

FRAC fonksiyonu
Amaç: Kesirli bir sayının ,kesirli kısmını elde etmek için kullanılır.
ÖRNEK:Frac (-18.58); -------------0.58 elde edilir.

TRUNC fonksiyonu
Amaç: Kesirli bir sayının ,tamsayı kısmını elde etmek için kullanılır.
ÖRNEK:Trunc (-18.58); -------------18 elde edilir.

Round fonksiyonu
Amaç: Kesirli bir sayıyı yuvarlanmış olarak elde etmek için kullanılır.
ÖRNEK: Round (-18.58); -------------19 elde edilir.

ODD fonksiyonu
Amaç: Bir sayının tek veya çift olduğunu kontrol etmek için kullanılır.
ÖRNEK : Odd (3);-----faalse

SQR fonksiyonu
Amaç: Bir sayının karesini alır.
ÖRNEK : Sqr(2);------- 4 elde edilir.

SQRT fonksiyonu
Amaç: Bir sayının karekökünü alır.
ÖRNEK : Sqrt(5.76);------- 2.4 elde edilir

SIN fonksiyonu
Amaç: Radyan cinsinden verilen bir açının sinüsünü elde etmek için kullanılır.
ÖRNEK : Sin(30* pi/180) ;---------0.50000000000

COS fonksiyonu
Amaç: Radyan cinsinden verilen bir açının kosinüsünü elde etmek için kullanılır.
ÖRNEK : Sin(30* pi/180) ;---------0.86602540378

ARCTAN fonksiyonu
Amaç: Tanjantı bilinen bir açının değerini radyan cinsinden elde etmek için kullanılır.
ÖRNEK : Arctan (1.000); --------0.78539816340 radyan

EXP fonksiyonu
Amaç:Matematikteki e(2.71828183) sayısının N. kuvvetini elde etmek için kullanılır.

LN fonksiyonu
Amaç: Bir sayının logaritmasını bulmak için kullanılır.

 

7. Bölüm

ALT PROGRAMLAR
PROSEDÜR ALT PROGRAMLARI
Programlama dillerinde ,ana program bloğunu parçalara ayırarak, ayrı program blokları olarak ele alınmasını sağlayan ve ALT PRORAMLAR adı verilen birimler oluşturmak oldukça kolaylık sağlar. Pascal’da iki tür alt program vardır.
1 -) Prosedürler (Procedure)
2- ) Fonksiyonlar (Function)

1 -) Prosedürler (Procedure)
ÖRNEK 34 : Procedure komutu ile ses ver ve ses kes programı.
Uses crt ;
Var
A,b :integer ;
C:char;
Procedure ses ver;
Begin
Repeat
A := A+100;
Sound (A);
Delay (100);
Until A=1500;
End;
Procedure ses kes;
Begin
Nosound;
End;
Begin
Clrscr;
Repeat
Writeln (‘1. ses ver:’);
Writeln (‘2. ses kes:’);
Write (‘seciminiz:’)readln(B);
A:=0;
Case B of
1:ses ver ;
2:ses kes;
else
write (‘Hatalı giriş yaptınız’);
write (‘Ana menüye dönmek için 3’e basınız. Cıkmak için (h/H) basınız);readln;
end;
Untıl (C=’h’) or (C=’H’);
End.
FONKSİYON ALT PROGRAMLARI
Kullanıcı tarafından tanımlanan fonksiyonlar, standart fonksiyonlar gibi yalnızca bir değerin hesaplanmasında kullanılır.

ÖRNEK 34 : 2 sayının 0 ‘dan 8’e kadar üslerini alan bir ana programda, us(x,y)adında bir fonksiyon fonksiyonunu kullanma.
Uses crt;
Var
J:integer;
Function us (x: real ; n:integer) :real ; var
Carpim:real;
İ: integer;
Begin
Carpım:=1;
For i:=1 to n do
Carpım :=carpım *x;
Us:=carpım;
End;
Begin
Clrscr;
For J:=0 to 8 do
Writeln(‘2 nin ‘,j,’ nin ci kuvveti’, us(2,j): 5:0);
End.

Program çıktısı
2 nin 0 nin ci kuvveti 1
2 nin 1 nin ci kuvveti 2
2 nin 2 nin ci kuvveti 3
2 nin 3 nin ci kuvveti 4

 

 

 

 

 

 

8. Bölüm
BİRİMLER (UNITS)
Pascal Tarafından Desteklenmiş Unıt’ler

Ünite Kullanıldığı yerler
---------- ---------------------------------------------------------------------------------------------------
Crt Ekran,klavye ve ses kontrolünü sağlayan posedürlerin kullanılması gerektiğinde.
Dos Bir çok DOS fonksiyonunun kullanılmasını destekler.
Graph Grafik çizimi ile ilgili prosedürler kullanmak gerektiğinde.
Printer Printer kontrol prosedürleri kullanmak gerektiğinde.
Turbo 3 Prosedür veya fonksiyonları daha ileri versiyonda kullanılmak istenildiğinde.

Programcı Tarafından Yazılan Unıt’ler
Kullanıcının kendi ihtiyacına göre hazırladığı ünitelere, ’’ kullanıcı üniteleri ‘’ denir.

UNIT Tanımlama
UNIT ünite_ismi;
INTERFACE
Global tanımlamalar
IMPLEMENTATION
Lokal tanımlamalar
Global prosedür ve fonksiyonlar
END.

ÖRNEK 35 : Clrscr komutunu kullanarak ,türkçe isimli bir prosedürün tanımlandığı Unıt.

Unıt ekran;
Interface
Uses crt;
Procedüre sil;
Implementation
Procedüre sil;
Begin
Clrscr;
End;
End.

 
Ana Menü
Everest
İletişim
Hakkımızda
Web Tasarım
Hosting Hizmetleri
Multi Medya Cd
İnteraktif Cd Tasarımı
Arama Motoru Op.
Web Site Analizi
Web Paketlerimiz
Türk Radyoları
Türk TV Kanalları
Dersler
Autocad Dersleri
Access
ASP
Ağ Teknolojisi
C++
Delphi
DNS
Assembler
Scriptler
Bilgisayar
CGI
DVD
Frontpage
FTP
Corel Dersleri
Web Tasarım Dersleri
Temel Excel Bilgiler
GÜVENLİK TEMELİ:
ICON AUTHOR
IP Adresleme
Java
ISA HAKKINDA HERŞEY
LINUX KURULUMU VE BAŞLANGIÇ
SQL
Mobil Uygulamaları
ORACLE VTYS
Yapısal Sorgulama Dili
PERL ile CGI
RAID
Personal Web Server
TURBO PASCALA GİRİŞ
PhotoShop Dersleri
Referanslarımız
Havuz
Havuz
Reklam Ajans
Web Tasarım
Hosting
Reseller
Güvenlik Kıyafetleri
Güvenlik Elbiseleri
Güvenlik Üniformaları
Güvenlik Kıyafeti
Zabıta Kıyafetleri
Polis Kıyafetleri
İtfaiye kıyafetleri
Hosting
Linux Reseller
Matbaa
Katalog
Dosya
Broşür
Afiş
Poster
Ambalaj
Karton Kutu
Dergi
Kitap
Fotoğraf Çekimi
E-Ticaret
Reklam
Hosting
Arama Motoru Optimizasyonu
Web Site Tasarımı
Web Site Şablonları
Web Sayfası
autocad kursu
SolidWorks Kursu
Catia kursu
Bilgisayarlı muhasebe kursu
Grafikerlik kursu
Web yazılım kursu
Web tasarım kursu
Temel ingilizce kursu
ArchiCad Kursu
Mastercam kursu
Sap 2000 kursu
Bilgisayar işletmenliği kursu
Dış Cephe Kaplama
Otomatik Kepenk
Panjur
Alüminyum Doğrama
Korkuluk
Merdiven Korkuluğu
Dış Cephe Kaplama
Otomatik Kepenk
Alüminyum Doğrama
Korkuluk
Merdiven Korkuluğu
Karot
Beton Kesme
Beton Delme
Hidrolik Kesim
Ankraj
Hidrolik Kesim
Karot
Kartvizit
Acil Kartvizit
Cepli Dosya
Fatura
Matbaa
Broşür
Katalog
Acil kartvizit
Broşür
Katalog
Fatura
Cepli Dosya
Matbaa
Otomasyon
Kenar Kontrol
Tansiyon Kontrol
Ambalaj Makina
Makina otomasyon