• Bu konu 0 yanıt içerir, 2 izleyen vardır ve en son Anonim tarafından güncellenmiştir.
2 yazı görüntüleniyor - 1 ile 2 arası (toplam 2)
  • Yazar
    Yazılar
  • #654211
    Anonim

      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 : ‘); ReadLnsmiley38.gif; until (I >= 0) and (I <= 9); writeln(‘Sayı 0..9 arasındadir.’);End.

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


      info3.gif 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 : '); ReadLnsmiley38.gif; end; writeln(‘Sayı 0..9 arasındadir.’);End.

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


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


      info3.gif2-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 progr*****tı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:
      type_mismatch.gif
      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.

      Tamsayı Tipleri :
      Tip Adı : Sınırları Kapladığı Alan Shortint -128..127 1 Byte Integer -32768..32767 2 Byte Longint -2147483648..2147483647 4 Byte Byte 0..255 1 Byte Word 0..65535 2 Byte
      2-) Gerçek ( Reel) Sayı Tipler :
      Ondalık değiken ve sabitleri tanımlamak için kullanılır.
      Tamsayı Tipleri :
      Tip Adı : Sınırları Kapladığı Alan Real 2.9e-39..1.7e38 6 Byte single 1.5e-45..3.4e38 4 Byte double 5.0e-324..1.7e308 8 Byte extended 3.4e-4932..1.1e4932 10 Byte comp -9.2e18..9.2e18 8 Byte NOT:Reel dışındaki diğer tiplerin çalışması için makinada matematik işlemcinin bulunması gerekir. Ayrıca Program başına {$N+} directive tanımı yapılmalıdır.
      Ayrıca e işareti 10 u temsile eder. yani e-39 demek 10 üzeri -39 demektir.

      3-)Srting Tip :
      Program içerisinde sayısal anlamı olmayan ve isim, adres… gibi bilgiler için kullanılır.String tipteki bilgiler iki apastrof işareti ‘ ‘ arasında yazılır.
      String 1..255 karekter alabilirve hafızada 256 byte’lık yer kaplar.
      String[n] ise n karekterlik bilgi alır ve n+1 bytlık yer kaplar.

      4-) Karekter( Char) Tip:
      Sadece bir karekterlik bilgi için kullanılır. Hafızada 1 Byte yer kaplar. Char tipteki bilgiler” işareti arasına yazılır.
      Örnek:
      ‘A’ , ‘3’ , veye ‘*’
      5-)Boolean Tip:
      Sadece TRUE (doğru) veya FALSE (yabnlış) değerini alan tiptir. Hafızada 1 Byte yer kaplar.
      6-)Dizi (Array ) Tip :
      Aynı tipteki birden fazla bilginin tutulduğu değişken ve sabit isimlere dizi denir.
      Dizileri tanımlamak için ARRAY kelimesi kullanılır.
      Örnek :
      Array[1..100] of Real;
      Array[1..10,1..5] of Byte;

      Dizileri anlatırken ayrıntısıyla üzerinde duracağız.
      7-)Kayıt (Record ) Tip:
      Record ile farklı tipte birden fazla alan bir isim altında tanımlanabilir. Mesela bir öğrenciye ait ; isim, soyad,sınıf, no gibi verileri ogrenci diye bir record tipi tanımlayarak hepsini bir çatı altında toplayabiliriz.
      Record Tipindeki veriler daha çok Rastgele Erişimli Dosyalar’da kullanlılır. Dosyalara bilgi girişi ve dosyadan bilgi okuma işlemlerinde kayıt yapısını oluşturan her alanın tek tek yazılması yerine, bütün alanları kapsayan bir değişken isminin yazılması yeterli olacak ve kullanımda büyük bir kolaylık sağlayacaktır.
      Record Tipinde olan veriler TYPE bölümünde RECORD-END bloğu içerisinde tanımlanırlar.

      Genel Yazılışı :

      KayıtTipAdı= Record
      AlanAdı1 : Tipi;
      AlanAdı2 : tipi;
      : :
      END;

      Gördüğünüz gibi Record tip tanımı END deyimi ile son bulur. Eğer Alan isimleri aynı tipte ise aralarına virgül (,) koyarak arka arkaya yazabiliriz.
      Örnek :
      Kod:

      Ogrenci= Record ad, soyad : string[20]; numara : integer; pascal_notu: byte; END;

      Örneğimizde de gördüğümüz gibi string, integer, byte.. gibi birden çok ve değişik veri tiplerini tek bir tip altında topladık.
      Record tipimizin adı ” Ogrenci”.
      Peki nasıl kullanacağız bunu?
      diğer veri tiplerini nasıl kullanıyorsak bunu da aynı şekilde . “Ogrenci ” tipinde bir değişken tanımlama için :
      VAR
      Ogr: Ogrenci;
      Gelin bir örnek yapalım.
      Kod:

      program record_deneme; uses wincrt; Type Ogrenci= Record {burda ogrenci diye bir record tipi belirliyoruz} ad, soyad : string[20]; numara : longint; pascal_notu: byte; END; Var ogrredface.gifgrenci; { ogr degiskenin tipini belirledigimiz ogrenci record tipi olrak belirliyoruz} Begin ogr.ad:=’Mehmet’ ; ogr.soyad:=’ACA’ ; ogr.numara:=01011028 ; ogr.pascal_notu:= 75; writeln(‘Ogrencinin Adi : ‘ , ogr.ad); writeln(‘Ogrencinin Soyadi : ‘ , ogr.soyad); writeln(‘Ogrencinin Numarasi : ‘ , ogr.numara); writeln(‘Ogrencinin Pascal Notu :’, ogr.pascal_notu); End.

      With Deyimi
      Yukarıdaki örneğimize baktığımızda ogr değişkenimiz ile, ogrenci olarak belirlediğimiz kayıt tipimizin alt bölümleri arasına . (nokta) koyduğumuz görüyoruz. Sürekli ogr.ad veya ogr.soyad yazmak hem programımızın uzamasına hem de bizim için bir zaman kaybına neden olur.
      Bunu Engellemek için With deyimi kullacağız. Aşağıdaki örneği inceleyiniz.

      Kod:

      program record_deneme;uses wincrt;Type Ogrenci= Record ad, soyad : string[20]; numara : longint; pascal_notu: byte; END;Var ogrenci;Begin With ogr do Begin ad:=’Mehmet’ ; soyad:=’ACA’ ; numara:=01011028 ; pascal_notu:= 75; writeln(‘Ogrencinin Adi : ‘ , ad); writeln(‘Ogrencinin Soyadi : ‘ , soyad); writeln(‘Ogrencinin Numarasi : ‘ , numara); writeln(‘Ogrencinin Pascal Notu :’,pascal_notu); End;End.

      8-)Set ( Küme ) Tipleri :
      Küme: Aynı tipte ve birbirleriyle ilgili bilgilerin oluşturduğu bütündür. Kümedeki elemanların arasına virgül(,) konur. Fakat eğer kümemizdeki elemanlar birbirlerini takip eden değerlerden oluşuyorsa bu değerler arasına iki nokta ( ..) konur.
      Aşagıdaki küme örneklerini inceleyiniz.
      Kod:

      [0..9][1,2,3,4] ve [1..4] eşittir.

      Küme tipinde bir tip tanımlamak için TYPE blümünden yararlanılır. Özel bir tip olan küme tipi verileri için SET OF ifadesi kullanılır.
      Genel şekil :
      KümeAdı=Tip Adı
      Örnek :

      Kod:

      type Gun= (Sun, Mon, Tue, Wed, Thu, Fri, Sat); CharSet = set of Char; Rakam = set of [0..9]; DAYS = set of Day; { DAYS kümesi, Gun kümesinin elemanlarından oluşur}

      Küme ifadeleri daha çok belli bir değerin başka değerlere eşit olup olmadığını veya bir değerin verilen bir aralıkta olup olmadığını kontrol etmede yaygın olarak kullanılır.
      Örnek 1:
      Kod:

      if (T=’E’) or (T=’e’) or (T=’H’) or (T=’h’) Then…

      Komutu ile T değişkenin E,e,H,h harflerinden birine eşit olup olmadığı kontrol ediliyor.
      Biz Küme kullarak daha kısa yapabiliriz:
      Kod:

      if T in Then…

      Örnek 2:
      Kod:

      if (sayi>=0) And (sayi<=5) Then ...

      komutu ile Sayi değişkenin değeri 0′ dan büyük eşit ve 5′ ten küçük eşit olması durumu kontrol ediliyor.
      Bu komut yerine aşağıdakini kullanabiliriz.
      Kod:
      if sayi in [0..5] Then …

      PASCAL GİRİŞ / ÇIKIŞ KOMUTLARI

      Konuya geçmeden önce kısaca birkaç şeyden bahsetmek istiyorum. Bundan önceki yazılarda anlatılanlar aşağı yukarı tüm programlama dillerinde aynı prensiplere dayanır. Bu yazıyla birlikte Pascal programlama diline özel komutları göreceğiz. Her ne kadar ben, Pascal ’a özel dediysem de elbette ki bu komutların bazılarının diğer dillerdeki komutlara benzediğini görebilirsiniz.

      Bu komutlar anlatılırken, komutun procedure veya function mı olduğunu belirtilecek, ayrıca [ ] iki köşeli parantez içinde yazanlar bu bilginin kullanılmasının zorunlu olmadığı anlamına gelecektir. | işareti ise iki veya daha fazla seçenekten birinin seçileceğini belirtmek amacıyla kullanılacaktır. Eveeet, artık konumuza dönebiliriz.

      Kullanıcının programa bilgi girmesini, dosyadan ve bellekten bilgilerin okunmasını ve program içindeki bilgilerin ekranda gösterilmesini, dosyaya, belleğe bilgi yazılmasını, yazıcıya bilgi gönderilmesini sağlayan komutlara giriş / çıkış komutları diyoruz. Şimdilik sadece ekrana bilgi yazdırmayı ve kullanıcının ekrana girdiği bilgiyi okumayı göreceğiz. Dosyadan, yazıcıdan vs. bilgi okunmasını ve yazılmasını ileriki konularda daha detaylı ele alacağız. Bu komutları kullanabilmek için programınızın başında bu komutlara ihtiyaç duyduğunuzu belirtmelisiniz. Bunu “uses crt;” (windows için wincrt kullanmalısınız) komutuyla hallettikten sonra geriye bir problem kalmıyor.

      A)READ – READLN (Procedure):

      Kod:

      Read([dosya değişkeni],değişken1,değişken2,….,değişkenN) Readln([dosya değişkeni],değişken1,değişken2,….,değişkenN) dosya değişkeni: Bilgi okunacak dosyanın adını tutan değişken.

      Her ne kadar bu iki procedure aynı işi yapıyor gibi görünse de aralarında fark var. Readln, bilgi girişi yapılması için programın akışını geçici olarak durdurur ve giriş yapıldıktan sonra programın kaldığı yerden devam etmesini sağlar.

      Read komutuyla birden fazla değişken bilgisi almak problem oluşturabilir çünkü alfa sayısal değişkenlerin tanımlandıkları uzunlukta, sayısal değişkenlerin ise başlangıcında ve bitiminde birer boşluk bırakılması gerekmektedir. Bu yüzden biz, Read komutu yerine Readln komutunu kullanacağız. Birden fazla değişken bilgisi alırken değişkenler arasına virgül koymak yeterli olacaktır.

      Ayrıca Readln komutunu tek başına kullanırsanız, programın akışı enter tuşuna basılıncaya kadar durdurulur. Enter tuşuna bastıktan sonra, program kaldığı yerden işlemlere devam edecektir. Bunu daha çok Turbo Pascal editöründe yazdığınız kodları derlerken kullanabilirsiniz. Böylece programınızın sonuçlarını ekrandan daha rahat takip edebilirsiniz. Aksi halde programın işlenmesi biter bitmez hemen editöre geri dönersiniz ve eğer programınız ekranda bir şeyler gösteriyorsa göremezsiniz. Yazdığınız programın en sonuna bu komutu eklemeniz yeterli olacaktır.

      Konuyla ilgili birkaç örnek verelim;

      Kod:

      var a,b:integer; Begin Readln(a); Readln(b); ……… ……… Readln; End. { a ve b değişkenlerinin değerlerini kullanıcının } { klavyeden girmesini sağlıyoruz. Daha sonra bu } { değişkenlerle ne istersek yapabiliriz. End. den } { önceki readln komutuyla da programın tüm işlemleri } { bitirdikten sonra beklemesini sağlıyoruz ki ne olmuş } { ne bitmiş görelim. }

      😎 WRITE – WRITELN (Procedure):

      Kod:

      Write([dosya değişkeni],değişken1,değişken2,değişkenN [:alan uzunluğundalık uzunluğu]); Writeln([dosya değişkeni],değişken1,değişken2,değişkenN [:alan uzunluğundalık uzunluğu]); dosya değişkeni: Bilgi yazılacak dosyanın adını tutan değişken. Alan uzunluğu: Sayısal ifadelerin toplam hane sayısı. Ondalık uzunluğu: Sayısal ifadelerin ondalıklı kısmının uzunluğunu belirten ifade.

      Bu iki komut da aynı gibi görünüyor fakat farklılıkları olan komutlar. Write komutu işlemini bitirdikten sonra bir alt satıra geçmez. Kursör yazılan bilginin sonuna konumlanır. Writeln komutuyla bilgi yazdırıldıktan sonra kursör bir alt satıra geçer.

      Yazılmak istenen mesajlar ‘’ apostrof (shift + 2 tuş kombinasyonu) işaretleri arasına yazılır. Bu işaretin içine yazılan bilgiler olduğu gibi ekranda gözükür. Birden fazla bilgi yazdırmak istersek mesajların yada değişkenlerin arasına virgül koymak yeterli olacaktır.

      #745789
      Anonim

        bu programı gördüğüme sevindimmi üzüldümmü bilemedim…Ama o döngü muhabbetinden az çekmemiştim…İsteyen öğrenebilir kolay yaniii;);)

      2 yazı görüntüleniyor - 1 ile 2 arası (toplam 2)
      • Bu konuyu yanıtlamak için giriş yapmış olmalısınız.