1 1. Giriş Turbo Pascal bilgisayar programlama dili DOS işletim

Transkript

1 1. Giriş Turbo Pascal bilgisayar programlama dili DOS işletim
Endüstri Mühendisliği Bölümü Bilgisayar Programlama Ders Notları
İrfan MACİT
1. Giriş
Turbo Pascal bilgisayar programlama dili DOS işletim sistemi altında
çalışan bilgisayar programlama dili aracıdır. Genel amaçlı bir programlama
dili ve aynı zamanda gerekli operatör komutları ile hassas hesaplamalar
için kod yazılabilen bir programlama dilidir. Genellikle kullanılan bilgisayar
programlarında programcının bir iki fare tıklaması ile program yapmasına
izin veren programlar tercih edilmektedir. Pascal bu tür bilgisayar dillerinin
temelinde duran aslında yapısal bir bilgisayar programlama dilidir. Yapısal
bilgisayar programlama dilleri nesne yönelimli bilgisayar programlama
dillerinin atası sayılabilir. Nesne yönelimli bilgisayar programlama dili
oluşturulan bir nesnenin özellikleri değiştirilerek defalarca kullanılmasına
olanak tanıyan bilgisayar programlama yaklaşımı olarak tanımlanabilir.
Detaylı olarak bu konu haricinde incelenecektir.
Turbo pascal bilgisayar programlama dilinde yazdığımız program kodlarını
bilgisayarın
anlayabileceği
program
kodlarına
(hexadecimal
code)
çevirerek yazarız. Kısa bir örnek vermek gerekirse arkadaşımıza bir eposta yazdığımızda arkadaşımız yazdığımız yazı dilini biliyor ise e-postayı
açarak okuyacaktır. Biz kendi yazı veya anlatım dilimizde kullanıldığımızı
ilmişimde kullanarak işlerimizi görüyoruz. Bilgisayarlara bir iş veya eylem
yaptırmak istediğimizde bu bir hesaplama veya bir robot kolunun eylemi
de olabilir, bilgisayarın anlayabileceği anlatım (kodlara) diline çevirmemiz
gerekir. Bu işlemi ise derleyici (compiler) denen bilgisayar programlama
araçları yapar. Derleyiciler üretilen firmaların adları veya bu firmaları kolay
hatırlansın
diye
verdikleri
adlar
ile
anılırlar.
Turbo
pascal
Borland
firmasının (şu anda Inprise) ürettiği bilgisayar programlama aracıdır.
1
Endüstri Mühendisliği Bölümü Bilgisayar Programlama Ders Notları
İrfan MACİT
Şekil 1. Turbo Pascal Bilgisayar Programlama Dili Ekran Görüntüsü.
Turbo pascal yapısal bilgisayar programlama dili olarak bahsetmiştik.
Yapısal bilgisayar programlama dilinde program kodları fonksiyon ve alt
programlar
olarak
yazılırlar.
Daha
sonra
yazılan
bu
bilgisayar
programlama kodları ana program bloğu içerisinden çalıştırılır. Yazılan
bilgisayar
program
kodları
çalıştırılabilmesi
için
mutlaka
derlenmesi
gerekir. Yapısal programlama dillerinde yazılan bilgisayar programlarında
yazılacak olan kodlar belirli bir şekle göre yazılmaktadır. Programın
başlangıcı, değişkenlerin tanıtılması (deklarasyonu), fonksiyonların ve alt
programların tanıtılması ve yazılması ayrı bölümler halinde yazılmaktadır.
Program Basla; {Burası programın başlangıcı ilk yazılan kod
parçası}
type {Programın içerisinde kullanılacak olan değişkenlerin
yeniden
tanımlanması
veya
kullanıcı
tanımlı
tiplerin
tanımlandığı bölüm}
var {Programın içerisinde kullanılacak olan değişkenlerin
tanımlandığı bölüm}
function us(x); {Fonksiyonların yazıldığı bölüm}
2
Endüstri Mühendisliği Bölümü Bilgisayar Programlama Ders Notları
İrfan MACİT
procedure tekrar(x,t); { altprogramları yazıldığı bölüm}
BEGIN
{Bu bölümde programın çalışması sırasında işletilecek olan
komut,
fonksiyon
veya
alt
programlar
belirlenen
bir
algoritmaya göre yazılır}
END.
Program durum bildirgecinden (statement) sonra verilen isim pascal
bilgisayar programının adıdır. Bu verilen ad yazılan başka bir pascal veya
üçüncü
kuşak
dillerinin
herhangi
birinden
yazılan
pascal
bilgisayar
programının çağırmak için kullanılır. Örneğin bir pascal bilgisayar programı
yazıyoruz daha sonra yazdığımız bu programa önceden yazmış olduğumuz
ve dizin yerini bildiğimiz yerden çağırmamız gerektiği durumda yazarak
çağırmak için kullanırız. Bu örneğe ek olarak önceden yazmış olduğumuz
pascal programının içerisindeki herhangi bir fonksiyon veya alt programı
da çağırmak için burada yazan program adına ihtiyacımız vardır.
type ve var ile belirlenen bölümlerde program içerisinde kullanılacak olan
değişkenlerin
tanımlandığı
veya
kullanıcı
tarafından
tanımlanan
değişkenlerin oluşturulduğu ve kullanıma hazır hale getirilen değişken
tanımlama bölümüdür.
Function
ve
procedure
ile
pascal
bilgisayar
programı
içerisinde
kullanacağımız fonksiyonlar ve alt programların yazıldığı ve kullanıma
hazır
duruma
getirildiği
bölümdür.
Yapısal
bilgisayar
programlama
dillerinde fonksiyon ve alt programları kullanmak için mutlaka programın
ana bloğundan önce tanımlanması gerekir. Bir fonksiyon veya alt programı
başka bir alt program veya fonksiyonda kullanmadan öncede mutlaka
tanımlamalıyız. Aksi takdirde yazdığımız bilgisayar programı tanımlı
olmayan
fonksiyon
ve
alt
program
hatası
verecek
ve
program
derlenmeyecektir.
BEGIN ve END blokları arasında pascal bilgisayar programlama dilinde
ana program bloğu olarak adlandırdığımız yerdir. Ana program bloğu
içerisine programın yapacağı işlevler ile birlikte program kodları ve
3
Endüstri Mühendisliği Bölümü Bilgisayar Programlama Ders Notları
İrfan MACİT
fonksiyon veya alt programın çalışma sıraları yazılır. Bilgisayar programını
yazarken ana blok içerisinde belirlediğimiz algoritmaya uygun olarak
geliştirdiğimiz program kodlarını yazarız.
Şekil 2. Pascal Bilgisayar Program Kodları.
Şekil
2’de
görüldüğü
gibi
Program
ad
verilmiştir.
Daha
sonra
değişkenlerin tipleri tanımlanmıştır. Bir sonraki bölümde fonksiyon veya alt
programlar olmalıdır. Burada gerek olmadığından yazılmamıştır. En son
kısımda ise pascal bilgisayar programının belirlenen bir algoritmaya göre
yazılması görülmektedir.
1.1
Program Kodlarının Derlenmesi
Pascal
bilgisayar
program
kodlarını
geliştirdikten
sonra
artık
sıra
derlenmeye gelir. Bu derlenme aşamasında yazmış olduğumuz program
kodlarını bilgisayarın anlayacağı kodlara çevrilecektir. Turbo Pascal 7.0
sürümünde bu işlemi yapmak için bilgisayarımızın ALT+C tuşlarına birlikte
basarak yapabiliriz. Şekil 3’te tuşlara bastıktan sonraki ekran görüntüsü
vardır.
4
Endüstri Mühendisliği Bölümü Bilgisayar Programlama Ders Notları
İrfan MACİT
Şekil 3 Turbo Pascal’da Derleme İşlemi.
Eğer menü açılmasını istemeden direk derleme işlemini yapmak istiyorsak
ALT+F9 tuşlarına birlikte basarak direk derleme işlemini yapabilir. Bu
menü açılmadan direk derleme işlemini yaparak bize Şekil 4’te görünen
sonucu verecektir.
Şekil 3 Turbo Pascal’da Derleme İşleminin Sonucu.
5
Endüstri Mühendisliği Bölümü Bilgisayar Programlama Ders Notları
İrfan MACİT
1.2 Program Kodlarının Çalıştırılması
Yazdığımız kodları derledikten sonra kodlarımız artık bilgisayar tarafından
anlaşılabilir duruma gelmiştir. Şimdi program kodlarımızı çalıştırmamız
gerekmektedir. Bunun için ALT+R tuşlarına birlikte basarak çalıştırırız.
Şekil 5’teki ekran görüntüsünden programımız çalıştırılmadan önceki
görüntüsü gelmektedir.
Şekil 5 Turbo Pascal’da Derlenen Programın Çalıştırılması.
Program kodlarının buraya anlatılan kadar ile sadece yazılması ve
çalıştırılması ile ilgili temel bilgileri verdik. Bundan sonraki bölümlerde
daha çok program yazılırken kullanılan pascal komutlarını vereceğiz.
Pascal bilgisayar programlama kodları Turbo Pascal 7.0 sürümüne göre
anlatılacaktır. Bir çok dağıtılan derleyicide bu yazacağımız programlar
çalışmaktadır.
Bazı
bilgisayarların
donanımsal
özelliklerinden
dolayı
çalışmayabilir. Bu durumlarda Turbo Pascal 7.0 Fix Tool yardımcı programı
ile bilgisayarınızı yamalamanız önerilmektedir. Bu durum Pentium MMX
tabanlı bilgisayarlardan sonra geliştirilen Pentium işlemcilerde gereklidir.
Eğer Pentium III veya Pentium 4 işlemcili bilgisayarlarda derleme
yapılacak ise “tp-patch” adlı klasörü “C:\TP7\BIN” klasörü altına
kopyalayarak
“TPFIX.EXE”
programını
çalıştırmak gerekmektedir.
6
“TURBO.EXE”
den
önce
Endüstri Mühendisliği Bölümü Bilgisayar Programlama Ders Notları
İrfan MACİT
1.3 Kaynak Kodların .exe Uzantılı Duruma Getirilmesi
Pascal bilgisayar programlamada yazdığımız kaynak kodlar derlendikten
sonra disk alanında saklanmazlar. Derlediğimiz kodlar çalışması bittikten
sonra geçici hafızadan (RAM) silinirler. Kalıcı olarak disk alanında
kalmasını istediğimizde “Destination Memory” seçeneğini “Disk” olarak
işaretlemek gereklidir. Bu bize derlediğimiz programları pascal programını
derlediğimiz disk alanı üzerinde kaydetmemize yarayacaktır. Komut
satırından pascal kaynak kodlarını derlemek istediğimizde aşağıdaki komut
ve parametrelerini vererek derleme işlemini yapabiliriz.
C:\tp7\bin\tpc.exe /l /m program.pas
Kaynak kodlarımız “C:\tp7\bin\” klasöründe “program.exe” olarak
kaydedilecek ve “program” diye yazdığımızda programımız çalışacaktır.
1.4 Turbo Pascal Programlamada Kullanılmayacak Kelimeler
Turbo Pascal bilgisayar programlama dilinde bazı kelimeler derleyici
tarafından kullanıldığından dolayı program yazarken kullanılmazlar. Bu
kelimelere ayrılmış kelimeler (Reserved Words) denir. Aşağıda Tablo 1’de
bahsedilen kelimelerin hangileri olduğu görülmektedir.
Tablo 1. Ayrılmış Kelimeler
absolute
destructor
if
object
self
uses
and
div
implementation
of
set
var
array
do
in
on
shl
while
asm
downto
inherited
operator
shr
with
begin
else
inline
or
string
xor
break
end
interface
packed
then
case
file
label
procedure
to
const
for
mod
program
type
constructor
function
nil
record
unit
continue
goto
not
repeat
until
7
Endüstri Mühendisliği Bölümü Bilgisayar Programlama Ders Notları
İrfan MACİT
Tablo 2. Turbo Pascal Değiştiricileri
absolute
default
forward
override
public
saveregisters
abstract
export
fpccall
pascal
published
softfloat
alias
external
index
popstack
read
stdcall
assembler
far
name
private
register
virtual
cdecl
far16
near
protected
safecall
write
1.5 Turbo Pascal’da Kullanılan Operatörler
a) Aritmetik Operatörler: Turbo Pascal’da aritmetik operatörler altı
adettir. Bunlar bilinen matematiksel işlemleri yapmak için kullanılan
operatörlerin yanı sıra pascal’da kullanılan veri tiplerinin işlemlerinde
kullanılan operatörlerdir.
Tablo 3. Aritmetiksel Operatörler
Operatör
İşlem
Operand Tipi
Sonucun Tipi
+
Toplama
real,integer
real,integer
-
Çıkarma
real,integer
real,integer
*
Çarpma
real,integer
real,integer
/
Bölme
Real,integer
Real
Div
Tamsayı Bölme
integer
İnteger
Mod
Kalan Bulma
integer
İnteger
Matematiksel operatörlerin bazı durumlarda bizlere kısa yoldan sonuç
vermesini isteyebiliriz.
Div operatörü buna örnek olarak verilebilir. Bu operatör iki tam sayının
bölümünden kalan tam sayı kısmını verir.
Örnek:
32 / 5 = 6.4
32 div 4 = 6
8
Endüstri Mühendisliği Bölümü Bilgisayar Programlama Ders Notları
İrfan MACİT
Mod operatörü iki tam sayıdan kalanı bulmaya yarayan matematiksel
operatördür. İki tamsayı bölümü yapıldıktan sonra sonuçtan kalan sayının
tam sayı olanını verir.
32 / 5 = 6.4
32 mod 5 = 2
programlamada
konulardan
kaynak
birisi
olan
kod
yazarken
operatörler
dikkat
elde
edeceğimiz
ettiğimiz
sonuçları
önemli
direk
etkilediğinden operatör kullanırken sonuçları göz önüne alarak kullanmak
gereklidir.
Normal
bölüm
işleminde
işlemlerin
sonucu
real
tipte
olabileceğinden sonuç değişkeninin değeri real olabilir.
b) İlişkisel Operatörler: Turbo Pascal bilgisayar programlama dilinde
iki
veya
daha
fazla
değişken
arasındaki
ilişkilerin
belirlenmesinde
kullanılan operatörlerdir. İki değişken arasında küçüklük, eşitlik veya diğer
karşılaştırma ilişkisi olması durumunda kullanılır. Karşılaştırılan işlemlerin
sonucu Doğru (True) veya Yanlış (False) olarak verilir.
Tablo 4. İlişkisel Operatörler
Operatörler
=
Anlamı
Eşit
<>
Eşit Değil
>=
Büyük Eşit
<
Küçük
>
Büyük
<=
Küçük Eşit
9
Endüstri Mühendisliği Bölümü Bilgisayar Programlama Ders Notları
İrfan MACİT
c) Mantıksal Operatörler: Turbo Pascal değişkenlerin mantıksal
olarak karşılaştırılmasına olanak vermektedir. Klasik Bool cebrindeki gibi
bu operatör işlemleri aynı sonuçları vermektedir.
Tablo 5. Mantıksal Operatörler
Operatör
AND
OR
XOR
NOT
Anlamı
İki operatör doğru ise sonuç doğru,
İki operatörden en az biri doğru ise
sonuç doğru,
İki operatörün sadece birinin doğru
olması hali için sonuç doğru,
Operatör yanlış ise sonuç doğru,
operatörün veya sonucun değili alınır
Mantıksal operatörlere Tablo 5’e göre iki
değişken arasında işlem
yaptırdığımızdaki sonuçları aşağıdaki şekilde olmaktadır.
Tablo 6. AND Mantıksal Operatör İşlemleri
D1
Yanlış
Yanlış
Doğru
Doğru
D2
Yanlış
Doğru
Yanlış
Doğru
Sonuç
Yanlış
Yanlış
Yanlış
Doğru
Tablo 7. OR Mantıksal Operatör İşlemleri
D1
Yanlış
Yanlış
Doğru
Doğru
D2
Yanlış
Doğru
Yanlış
Doğru
Sonuç
Yanlış
Doğru
Doğru
Doğru
Tablo 8. XOR Mantıksal Operatör İşlemleri
D1
Yanlış
Yanlış
Doğru
Doğru
D2
Yanlış
Doğru
Yanlış
Doğru
10
Sonuç
Yanlış
Doğru
Doğru
Yanlış
Endüstri Mühendisliği Bölümü Bilgisayar Programlama Ders Notları
İrfan MACİT
Turbo Pascal’da mantıksal operatörlerin birden fazla karşılaştırma yapması
istendiğinde
alınarak
karşılaştırılacak
kümelenmesi
ve
olan
değişkenlerin
önceliklerinin
parantez
belirlenmesi
içerisinde
gereklidir.
Önceliklerinin belirlenmesi işlemlerin doğrulunu etkilemektedir. Yanlış
kullanılacak olan operatör parantez sıralaması işlem soncunda tablolardan
görüldüğü gibi sonucun değişmesine neden olacaktır.
BEGIN
IF ((D1> D2) AND (D3 < D1)) OR (D1=D4) THEN
END;
1.6 Turbo Pascal’da Matematiksel İfadeler
Turbo Pascal matematiksel ifadeleri normal yazı kurallarında yazıldığı gibi
işleyemez. Turbo
pascal matematiksel işlemleri yerine getirebilmesi için
sytax denilen formül yazım kurallarına uyması gerekir. Normal yazı dilinde
ifade ettiğimiz cebirsel ifadeleri pascal bilgisayar programlama dilinde
işlemeye
çalıştığımızda
kalabilir.
Kesikli
ifadeleri
rasgele
ve
sembolleri
değiştirmek
değişkenin
olasılığının
formülü
zorunda
f ( xi ) = 1 / n
şeklindedir. Bu formül Turbo pascal da aşağıdaki gibi gösterilir.
f_xi := (1/n);
⎛1⎞
Başka bir örnek e = ⎜ ⎟
⎝n⎠
n
formülü Turbo Pascal bilgisayar programlama
kodlarında aşağıdaki gibi yazılmalıdır.
e:= EXP(n*(1/n))
1.7 Akış Diyagramları
Genel olarak bilgisayar programlama dillerinde programlamaya başlarken
kodlar yazılmadan önce belirlenen algoritma akış diyagramları ile ifade
edilir. Akış diyagramları belirlenen bilgisayar programlarının kaynak
kodlaması yapılır. Bu işlem programın kaynak kodlarının geliştirilmesi için
gerekli olan öngörü ve işlem kolaylığını sağlar. Akış diyagramı oluşturulan
11
Endüstri Mühendisliği Bölümü Bilgisayar Programlama Ders Notları
İrfan MACİT
bilgisayar programında algoritmanın nasıl uygulanacağının bilinmesi veya
daha kısa bir yolu var ise bu şekilsel olarak görülmesi konusunda yardımcı
olmaktadır. Algoritmalar bir iş veya işlemin nasıl yapılacağını gösteren yazı
veya şekillerden oluşur.
Tablo 9 Akış Diyagramları
Sembol
Açıklama
Program üzerinde işlem yapılacak
Program karar durumunda, program karar veriyor
Programa doküman giriş/çıkışı
Programa veri giriş/çıkışı yapılacak
Programdaki veriler kaydedilecek veya okunacak
Program bilgisayarın iç hafızasından bilgi alacak
veya okuyacak
Program işaret edilen cihaza çıktı / sonuç
gönderecek
Programa El ile veri girişi yapılacak
Program değişkeleri döngü işlemine tutacak
Programa bağlantı yapılacak veya diğer sayfaya
geçiş için bağlantı noktası
12
Endüstri Mühendisliği Bölümü Bilgisayar Programlama Ders Notları
İrfan MACİT
Bilgisayar ile problem çözmek için birden fazla yöntem olması algoritma
kullanılmasını zorunluluk haline getirmektedir.
Bazı
durumlarda
yazı
ile
algoritmanın
geliştirilmesi
olanaksız
olabilmektedir. Bu durumda şekiller ile anlatmak istediğimiz işlemleri
sembolize ederek işlevleri anlatırız. Bir bilgisayar programının en basit hali
ile akış diyagramlarında gösterimi Şekil 6‘daki gibidir.
Şekil 6. En Basit Algoritma Gösterimi
1.8 Turbo Pascal’da Hazır Matematik Kütüphaneler
Turbo
Pascal
matematik
ile
programlama
fonksiyonlarının
kütüphaneler
verilecek
yaparken
bulunduğu
parametreler
ile
kullanabileceğimiz
kütüphaneler
sonuçları
hazır
mevcuttur.
üreterek
Bu
program
kaynak kodları içerisine veya değişkenlerine aktarabilirler. Tablo 10’da
bazı yararlı olan hazır fonksiyonlar ve yaptıkları işler verilmektedir.
13
Endüstri Mühendisliği Bölümü Bilgisayar Programlama Ders Notları
İrfan MACİT
Tablo 10. Turbo Pascal’da Hazır Matematik Kütüphanesine Örnekler
Fonksiyon
İşlev
Örnek
ABS(x)
Verilen x değişken değerinin
ABS( -21 ) sonuç 21
mutlak değerini döndürür
ABS( -3.5)
Sonuç 3.5000000000E+00
X
COS( 0 )
COS(x)
değerinin
raydan
sonuç 1.0
cinsinden değerini döndürür
EXP(x)
X
değişkeninin
10
üssü
EXP(5)
sonuç 510
değerini gösterir
24
ifadesi
2*2*2*2=16
sonucunu vermez
an =EXP(n*LN(a)) şeklinde
hesaplanır
LN(x)
X’in
doğal
hesaplar,
logaritmasını
bu
x>0
için
LN(2) sonuç
0.69314….
geçerlidir
ODD(x)
X tek sayı ise Doğru (True)
döndürür
ROUND(x)
SIN(X)
X değerini kendine en yakın
ROUND(3.7) sonuç 4
tam sayıya tamamlar
ROUND(3.2) sonuç 3
X
SIN(PI/2) sonucu 1.0
değerinin
değerini
trigonometrik
radyan
cinsinden
SIN(PI) sonuç 0.0
hesaplar
SQR
Verilen x değerinin karesini
SQR(4) sonuç 16
alır
SQRT(x)
Verilen
x
değerinin
SQRT(4) sonuç 2
karekökünü alır
TRUNC
Verilen gerçel sayıyı tam
TRUNC(-2.4544) sonuç 2
sayı olarak döndürür
TRUNC(3.3444) sonuç 3
14

Benzer belgeler

PASCAL PROGRAMLAMA DİLİ YAPISI

PASCAL PROGRAMLAMA DİLİ YAPISI Turbo Pascal bilgisayar programlama dili DOS işletim sistemi altında çalışan bilgisayar programlama dili aracıdır. Genel amaçlı bir programlama dili ve aynı zamanda gerekli operatör komutları ile h...

Detaylı