Web-Kaynak
Would you like to react to this message? Create an account in a few clicks or log in to continue.
Web-Kaynak

Web-Kaynak


Bağlı değilsiniz. Bağlanın ya da kayıt olun

Pascal Dersleri (Geniş Çaplı)

Aşağa gitmek  Mesaj [1 sayfadaki 1 sayfası]

1Pascal Dersleri (Geniş Çaplı)   Empty Pascal Dersleri (Geniş Çaplı) Salı Tem. 06, 2010 2:34 pm



Döngüler

For...Do Döngüsü

Bilgisayarların en güzel yanlarından birisi de hiç sıkılmadan, şikayet etmeden aynı şeyleri yapabilmeleridir. Böylesine tekrar tekrar çalışması gereken işlemleri, bir programlama dilinde ancak döngüler vasıtası ile sağlayabiliriz. Aşağıda bu döngülerin çeşitlerini ve Pascalda nasıl kullanıldıklarını görebilirsiniz.

FOR...TO DÖNGÜSÜ

En basit döngü çeşididir. Kendisinden sonra gelen deyim veya deyimler gurubunu verilen sayı kadar çalıştırmaya yarar. Öncelikle yapısını görelim :
for değişken := ilk_değer to son_değer do komut;

veya

for değişken := ilk_değer to son_değer do
begin
komut(lar)
end;

FOR..DOWNTO DÖNGÜSÜ

for değişken := ilk_değer downto son_değer do komut;


Veya

for değişken := ilk_değer downto son_değer do
begin
komut(lar)
end;

Şimdi bu yapıya bakarak sizlere çalışma mantığını anlatmaya çalışalım. For deyiminden sonra sayaç olarak kullanılacak bir tamsayı değişken kullanılır. Döngü işlemi bu değişkenin ilk değerinden başlar ve son değere kadar 1’er 1’er artar (to) veya azalır(downto). Bazı başka dillerdekinin aksine ne artış miktarını ayarlayabilirsiniz ne de ondalıklı sayıları kullanabilirsiniz. Döngü kendisinden sonra gelen ilk deyimi veya begin..end bloğunu işletir. Döngü içinde iken döngü değişkenine müdahale etmek mümkün olmakla birlikte bunu yapmak sakıncalı olabilir. Bu yüzden döngü değişkenleri genellikle döngü içerisinde işleme tabi tutulmaz.

Bu kadar teorik bilgiden sonra şimdi bir örnek ile konumuzu pekiştirelim.


Kod:
var i: integer; ismin : string;begin write('Ismini gir sahip :'); readln(ismin); for i := 1 to 15 do writeln('Merhaba ',ismin,' sahip');end.





*************************************


Repeat..Until döngüsü

Repeat deyimi ile until deyimi arasında kalan işlemleri untildeki koşul yanlış olduğu sürece tekrarlar. Untildeki koşul(lar) doğru olduğu anda döngüden çıkar.

Repeat
...
işlemler;
...
Until koşul(lar);

Örnek :

Kod:

Var I : Integer;begin repeat Write('Bir sayı giriniz : '); ReadLn; until (I >= 0) and (I <= 9); writeln(‘Sayı 0..9 arasındadir.’);End.

Ne olursa olsun şarta bakana kadar döngüyü bir kez çalıştırır.


Until'de belirtilen şart doğru olduğu sürece çalışır.






While-Do Döngüsü

Whiledan sonraki koşul doğru olduğu sürece işlem(ler) tekrarlanır. Whiledaki koşul(lar) doğru olduğu anda döngüden çıkar.

While koşul(lar) do
Begin
...
işlemler;
...
End;

Örnek :

Kod:
Var I : Integer;begin I := 100; while((I >= 0) and (I <= 9)) do begin Write('Bir sayı giriniz : '); ReadLn; end; writeln(‘Sayı 0..9 arasındadir.’);End.


Repeat-Until Döngüsünden farklı olarak öncelikle koşual bakılır sonra döngü başlar.


1-Döngüden çıkabilmek için mutlaka koşulun döngü içinde değişmesi gerektiğine dikkat edin.


2-Birden fazla koşul kullanacaksanız bu koşulların tümünü bir parantez içine alın.



****************************



MenüLer

File Menüsü


Pascal file menüsü üzerinde 10 ayrı menü komutu vardır. Bunların görevleri aşağıda özetlenmiştir.

Open: Daha önceden diskte varolan Pascal program dosyasının editöre yüklenmesi için kullanılır. Pascalın DOS sürümü ile çalışırken aynı yöntem geçerli olmakla birlikte, aynı işlemi, F3 tuşuna basarak da yapabiliriz. Bu menü komutu kullanıldığında Şekil 2’de verilen diyalog kutusu görülecektir.

Disk üzerinde bulunan bir Pascal dosyasını editöre yüklemek için diyalog kutusunda görülen *.PAS yazılı yere programın adı yazılarak “Enter” tuşuna basılır veya önce tab tuşuna bastıktan sonra ok tuşları ile programın adı üzerine gelinerek “Enter” tuşuna basılır. Aynı seçim, mouse ile açılmak istenilen programın üzerine gelip iki kez sol tuşu tıklayarak da gerçekleştirilir.

New: Editörde yeni bir Pascal dosyası yaratmak amacıyla kullanılır.

Save: Yazılan programın hafızaya alınması işlemini gerçekleştirir. Program ilk defa hafızaya alınacak ise Şekil 3’de görülen Save As Diyalog Kutusu ekrana gelerek, programa bir isim verilmesini bekleyecektir. Programın hafızaya alınması için program adı yazıldıktan sonra mouse ile "ok" tuşuna veya klavyeden “Enter” tuşuna basılması gerekir. Daha önceden diskte bulunan bir Pascal programı üzerinde yapılan değişiklikler nedeniyle hafızaya alma işlemi için bu komut kullanıldığı zaman, program eski adı ile kaydedileceğinden aynı diyalog kutusu ekranda görülmez.




Pascalın DOS sürümü ile çalışırken yazılan programın hafızaya alınması için bu menü komutu ile aynı işleve sahip olan F2 tuşuna basılması yeterlidir.

Save As: Editörde aktif penceredeki Pascal programının yeni bir isimle kaydedilmesi amacıyla kullanılır. Komutun kullanılmasıyla ekrana Save As Diyalog Kutusu gelir. Programa verilecek yeni isim yazılarak “Enter” tuşuna basılır.

Save All: Pascal ile program yazarken, birden fazla program penceresi ard arda açılabilir. Komut kullanıldığında açık olan bütün Pascal programları bilinen adları ile hafızaya alınır. Komutun kullanılması için açık pencerelerdeki programlara daha önceden isim verilmiş olmalıdır.

Change Dir...: Sadece Dos sürümü Turbo/Borland Pascalda bulunan bu komut, aktif çalışma sürücüsü veya dizininin değiştirilmesi amacıyla kullanılır. Komut çalıştırıldığında istenilen dizin veya sürücü seçilerek “Alt+K” tuş kombinasyonuna basılır veya tab tuşu ile “Ok” butonuna gelinerek “Enter” tuşuna basılır.

Print: Aktif Pascal penceresindeki program listesinin yazıcıdan alınmasını sağlar.

Printer Setup : Printer seçimi ve printer ayarlamalarının yapılması için kullanılır. Komut kullanıldığında Şekil 4 ‘te verilen diyalog kutusu ekrana gelir. Printer ve port bölümünden yazıcı seçimi yapılır. Set Up.. tuşuna basıldığında yazıcı ayarlarında istenilen değişikliklerin yapılmasını sağlayan diğer bir diyalog kutusu ekrana gelecektir. Burada kağıt boyutu, kağıdın yazıcıya yerleştirilme şekli, kağıt kaynağı (el ile, üst tepsi, otomatik vb), kullanılacak kağıt kalitesi gibi değişkenlerden istenilenleri seçmemize olanak sağlanmıştır.

Get Info: Sadece Dos sürümü Turbo/Borland Pascal 'da bulunan bu komut, program ile ilgili bilgileri içeren bir diyalog kutusu ekrana gelir. Amacı programın ile ilgili çeşitli bilgilerin programcıya sunulmasıdır.

Dos Shell: Sadece Dos sürümü Turbo/Borland Pascalda bulunan bu komut, geçici olarak Pascal editörünün terkedilip Dos ortamına dönülmesi amacıyla kullanılır. Dos ortamından tekrar editöre dönülmesi için Dos promptunda EXIT yazılır. Edit Menüsü Edit menüsü (Şekil 5) yardımıyla program içinde belli blokların silinmesi, başka yere taşınması, kopyalanması gibi işlemleri yapabilmek mümkündür. Yukarıda sözü edilen işlemlerin yapılabilmesi için öncelikle üzerinde işlem yapılacak program bloklarının Shift ve Ok tuşlarına aynı anda basılması ile işaretlenmesi gerekmektedir. Metinin işaretlenmesi işleminden sonra edit menüsü üzerinde görülen menü komutları çalıştırılır. Cut: İşaretli metinin silinmesi amacıyla kullanılır. Kısa yol tuşu (Shift+Del).

Edit Menüsü


Copy: İşaretli metini panoya (clipboard) kopyalar. Bu şekilde panoya kopyalanan metinin istenilen yere kopyalanması işlemi için bu komuttan sonra aşağıda tanımlanan Paste komutunun kullanılması gerekmektedir. Kısa yol tuşu (Ctrl+Ins).
Paste: Copy komutu ile panoya kopyalanan metinin editör üzerinde istenilen yere kopyalanabilmesini sağlar. Kısa yol tuşu (Shift+Ins).

Search Menüsü

Search Menüsü (Şekil 6), program yazımı sırasında belirli sözcüklerin aranması ve değiştirilmesi, istenilen program satırına hızlı bir şekilde ulaşılması vb. gibi işlemlerin kolaylıkla yapılabilmesini sağlar.

Find: Bu komut program içinde herhangi bir metinin aranması amacıyla kullanılır. Komut aktif hale geldiğinde Şekil 7’deki diyalog kutusu ekrana gelir. Aranılacak metin, kendisi için ayrılmış alana yazılarak klavyeden “Enter” tuşuna veya mouse ile Ok butonuna basılır.
Bulunulan noktadan ileriye doğru arama yapılacak ise Direction bölümünde Forward terimi işaretlenmeli, geriye doğru arama yapılacak ise Backward terimi işaretlenmelidir.

Scope bölümünde, sözcüğün tüm dosya içinde aranılması isteniyorsa global, sadece seçilen metinde aranılması isteniyorsa selected text bölümleri işaretlenmelidir. Origin bölümünde, aramaya başlanacak sözcük, nokta bütün dosya içinde aranılacak ise entire scope, imleçin bulunduğu noktadan itibaren aranılacak ise from kursor bölümleri seçilmelidir.

Replace:Yazılan program içinde kullanılan herhangi değişkenlerin veya Pascal sözcüklerinin başka bir değişken veya Pascal sözcüğü ile değiştirilmesi gerekebilir. Bu komut kullanıldığında Şekil 8’deki diyalog kutusu ekrana gelir. Text to find’ 'in karşısında ayrılmış alana değiştirilmesi istenilen sözcük, New Text’ in karşısındaki ayrılmış alana yeni sözcük yazılır. Değiştirilecek sözcük programın tamamında veya birden çok yerinde değiştirilecek ise Change all tuşunun üzerine gelinir ve klavyeden “Enter”, mouse ile Ok butonuna basılır. Programda aranılan metin bulunduğunda değişim için kullanıcıdan onay bekleyen bir diyalog kutusu ekrana gelir. Değişime onay için “Y”, değişime hayır demek için “N” tuşuna basılır.

Search Again: Find menü komutu ile arama yapıldığında, program içinde aranılan metine ilk karşılaşılan yerde arama kesilir. Aynı metini tekrar aramak için Search Again menü komutu kullanılır.

Goto Line Number: Program içinde istenilen program satırına hızlı bir şekilde ulaşılmasını sağlar (Şekil 9). Komutun kullanımıyla ekrana gelen diyalog kutusunda ayrılmış alana satır numarası yazılarak “Enter” tuşuna basılır.

Run Menüsü


Run menüsünde yazılan programın çalıştırılması için bazı komutlar bulunmaktadır. Run menüsünde bulunan menü komutları aşağıda özetlenmiştir.

Run: Programı derleyerek çalıştırır. Kısa yol tuşu (Ctrl+F9).
Program Reset: Sadece DOS sürümü Turbo/Borland Pascal‘de bulunan bu komut ile Step Over veya Trace Into komutlarından biri çalıştırılınca, yapılan kontrolü durdurmak ve hata kontrolünü tekrar programın ilk deyimi üzerine almak için kullanılır. Kısayol tuşu (Ctrl+F2).
Goto Cursor: Sadece DOS sürümü Turbo/Borland Pascal‘de bulunan bu komut ile editör ekranındaki program yazılımında kursörün bulunduğu satıra kadar olan program bölümünün derlenerek çalıştırılmasını sağlar. Kısayol tuşu (Ctrl+F4).

Trace Into: Sadece DOS sürümü Turbo/ Borland Pascal‘de bulunan bu komut ile editör ekranındaki programın satır satır çalıştırılmasını sağlar. Kısayol tuşu (F7).

Step Over: Sadece DOS sürümü Turbo/ Borland Pascal‘de bulunan bu komut ile editör Trace On durumuna geçer. Aktif durumdaki programın çalışması sırasında programın hangi satırları izlediğini ve işlem sırasını izlemek amacıyla kullanılmaktadır. Kısayol tuşu (F8.)

Compile Menüsü


Compile Menüsü (Şekil 11) editörde aktif bulunan Pascal programının derlenmesinde, bu programa bağlı unit programların derlenmesinde ve yazılan Pascal programının dos/windows ortamında kendi başına çalışır duruma yani; XXXXXXXX.EXE durumuna getirilmesi için kullanılır. En çok kullanacağımız menü komutları aşağıda özetlenmiştir.

Compile: Editör ekranındaki aktif durumda olan programı derlemek amacıyla kullanılır. Kısa yol tuşu (Alt+F9).

Make: Editör ekranındaki aktif durumda olan programı ve bu programa bağlı unit harici programlarını en son değiştirilmiş halleriyle derleme işlemini yapar. Kısa yol tuşu (F9).

Build: Editör ekranındaki aktif durumda olan programları ve bu programa bağlı unit harici programlarını birlikte derler.

Destination Memory (Disk): Sadece DOS Turbo Pascalda bulunan bu komut ile Programın derlenerek çalıştırılacağı ortamın belirtilmesi için kullanılır. Seçenek üzerine “Enter” tuşuna basılarak Memory yazılı bölüm Disk veya Disk yazılı ise Memory durumuna alınır. Destination Disk durumunda derleme sonucunda program dos ortamında direkt olarak çalıştırılabilir.

Target: Yazılan programın derlenip çalıştırılacağı ortamı belirlemek için kullanılır. Pascal Real mode, Protected mode ve Windows olmak üzere üç ortam sunmaktadır.




Turbo Pascal'da bir programın genel yapısı :

Kod:
Program Program_adı Tanımlamalar Procedure ve Function Ana Program


Yukardaki yapı program kodlarının genel yapısı. Gelin beraber biraz daha genişletelim.

Kod:
Program Program_adı Uses Kullanacağımız unitleri belirtiyoruz burada Type Kendimiz özel bir veri tipi belirlemek istediğimizde Const Program içinde kullanılacak sabitler Var Değişkenlerimizi burada tanımlıyoruz Label Etiketler (goto deyimi için) Zorunlu olmadıkça kullanmayacağız ! Procedure ProcedureAdı Type... Const... Var... Begin komutlar .. End; Function FunctionAdı Type... Const... Var... Begin komutlar .. End; Begin Ana program komutları End.

Gelin sizinle yukarıda kullanılan terimleri bir inceleyelim :

Program : Bu komut ile hazırladığımız program için bir isim yazıyoruz. Kullanılması zorunlu değildir. Fakat programımızı belirli bir zaman geçtikten sonra kendimiz yada başkaları incelediğinde , en başta programımız için bir fikir verdiği için kullanılması faydalıdır.

Uses : Pascal'ın kendi unitlerini : wincrt, dos...(crt, dos...) veya bizim kendimize özel hazırladığımız unit'leri kullanmak için kullanılır.

Const : Sabit tanımlamak için kullanılır.

Var : Değişkenlerimizi burada tanımlıyoruz.

Label : GOTO komutu ile program akışının gideceği bölümleri tanımlamak için kullanılır. Fakat bu programın okunurluluğunu azalttğı için pek tavsiye edilmez.

Procedure ve Function : Arkadaşlar bunlar programımız içinde kullandığımız programcıktır. Yapacağımız bir işi kısımlara ayırarak çözmemiz herzaman bize kolaylık sağlar.Bunuda function ve procedure kullanarak yapabiliyoruz. İlerde aradaki farkları da ayrıntılı bir şekilde incelenecektir.

Arkadaşlar dikkat ederseniz programımızın başında Type , Const, Label , va Var bölümlerinde tip,sabit, etiket ve değişken tanımlamaları yaptık. Aynı şekilde Procedure ve Function'larda da yaptık. Neden?
Aradaki fark şudur: Programımızın başındaki tanımlamalar, programın heryerinde geçerlidir.
Procedure ve Functionlar daki ler ise sadece tanımlandıkları yerde geçerlidir. Ana program tarafından bu değşkenler kullanılamaz.

Bu ifadeler size karışık gelebilir. Ama ilerleyen zamanlarda Procedure Ve Function ları incelediğimizde daha iyi anlayacaksınız.


********************************


Turbo Pascal'da program içerisinde kullanılan tüm değişkenler tipleri ile beraber tanımlanmalıdır.
Peki Bu TİPLER nelerdir bakalım.

1. Tamsayı Tipler
2. Gerçek ( Reel) Sayı Tipler
3. String Tip
4. Karekter(Char) Tip
5. Boolean Tip
6. Dizi (ARRAY) Tip
7. Kayıt ( Record) Tipler
8. Set (Küme) Tipler
9. Dosya Tipler

1-) TAMSAYI TİPLER:
Tam sayı tipleri ismi üzerinde tamsayı olan değişken ve sabitleri tanımlamak için klullanılır.
Yani tamsayı olarak tanımlanan bir değişkene bir ondalıklı sayı aktarılamaz. Ve diyelimki biz bir işlemin sonucunu tamsayı tipinde tanımladığımız bir değişkene aktarmak istiyoruz. Eğer işlemimizde / işareti varsa ; 'Type mismatch' yani tip uyuşmazlığı hatası olur.
Hemen Canlı örneğini yapalım:

Pascal Dersleri (Geniş Çaplı)   Type_m10


Bu örnekte , sayi diye bir değişkenimizi tamsayı tiplerinden olan "integer" tipi ile tanımladık. Ve program içerisinde 10/5 işleminin sonucunu aktardık. Ve programımızı çalşıtırmak için RUN dediğimizde ekranda gördüğümüz Type mismatch hatası oluştu.

Sayfa başına dön  Mesaj [1 sayfadaki 1 sayfası]

Bu forumun müsaadesi var:
Bu forumdaki mesajlara cevap veremezsiniz