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
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...