Bilgisayar Programcılığı

Nedir bu bilgisayar programcılığı ? Zor mu? Deli işi mi?

Evet birçok kişi bilgisayar programcılarının ne ile uğraştığını bilir fakat nasıl uğraşıp neler yaptığını pek bilmez... Bu konulara sayfamda biraz özet olsa da değineceğim. Önce bilgisayar dünyasında sıkça kullanılan bir kelimeden bahsedeyim yazılım...
Yazılım(software) kelimesi bilgisayar programlama dilleriyle oluşturulan dökümanları, dosyaları ifade eder. Yani bilgisayarınızda işletilmek, çalıştırılmak üzere tasarımlanmış dosyalar yazılım kapsanına girer.
Bu dosyalar nasıl yapılır ?
Yazılım programlama dilleri ile tasarlanır ve yazılır,programlama dili de nedir? derseniz.Programlama dilleri, bilgisayarınızın donanımını(ekran kartı, ses kartı, modem, mouse, klavye...) sizin en rahat biçimde kullanabileceğiniz düzeye getirmeye çalışır. Yani bilgisayarın o soğuk 1010110 gibi rakamlarını sizin zevkle kullandığınız programlara, işletim sistemlerine, oyunlara çevirir.
Örneğin kullanılmakta olan Windows işletim sistemi onbinlerce sayfa milyonlarca bilgisayar kodunun biraraya gelmesinden oluşur. İşte işin tüm zorluğu, o kodların arasında dolaşan, hata mesajlarını günlerce kodları gözden geçirerek arayan, sandalye tepesinde saatlerce aynı ekrana bakarak ilginç görüntüler sergileyen programcıların üzerindedir...
Bilgisayar programcıları işini zevkle yapan ve işini bir hobi edinmiş insanlardan oluşur, en azından öyle olmalı. Aksi halde yoğun konsantrasyon ve sabır isteyen bu işi yapmak aşırı zorlaşır. Neyse... Programlama dillerinden bahsediyorduk Programlama dilleri kendi aralarında sınıflara ayrılmışlardır. İnsanın en zor öğrenebileceği, anlayabileceği yani 1100101 gibi makina kodlarına yakın diller en düşük seviyeli(low level) programlama dilleri, insanın en kolay anlayıp kullanabileceği ve insan diline yakın özellikler gösteren diller ise en yüksek seviyeli(high level) programlama dilleridir. Şimdi bu sınıflandırmaya örnekler verelim;
  •  Çok yüksek seviyeli diller : VisualBasic, VB.NET, Acces , Foxpro ...
  • Yüksek seviyeli diller: Pascal ,Basic ,Fortran...
  • Orta seviyeli diller: C ,C++, C# , Java ,ADA...
  • Düşük seviyeli diller: Assembly...
  • Makina dilleri: Bilgisayarın çalışma dilleri 1 ve 0'lardan oluşur...
Bu dillerin kullanıldığı alanlara örnek verirsek;
  • Bilim ve Mühendislikte: Pascal ,C ,C++ ,Java ,Fortran...
  • Veritabanı Programcılığında: Dbase ,Acces ,Foxpro ,Sql...
  • Yapay Zeka Kullanımında: Prolog ,Lisp...
  • Sistem Programcılığında: C ,C++ ,Java ve sembolik makina dilleri...
Bir bilgisayar programı nasıl yazılır ?
Bir yazılım değişik dillerle oluşturulabilir fakat izlenen yöntemler genelde birbirine benzer.Örneğin Algoritma...
Algoritma, elimizdeki sorunun çözümüne gidebilmek için tasarlanan yollar,yöntemlerdir. Örneğin bir arkadaşınıza daha önce gitmediği bir yerdeki bir postaneyi tarif edeceksiniz. Bunun için anlatımda genelden özele giden bir yol izlersiniz. Önce gideceği semti sonra caddeyi sonra postanenin olduğu yönü tarif eder son olarak da kolay bulması için postanenin çevresindeki göze batan özelliklerden bahsedersiniz.İşte bu yaptıklarınız bir algoritmadır. Ve amacınız arkadaşınıza postaneyi bu algoritma yardımıyla tarif etmektir...
Bilgisayar programlama dilleri de programcılıkta bunu gibi yöntemler kullanarak çözüme gider. Algoritmanın uzunluğu kullanılan programlama dilinin seviyesi ve problemin karmaşıklığı ile doğru orantılıdır.
Yapılan algoritma ve tasarımdan sonra yazılım aşamasına gelinir ve bu aşamada yapılacak programın kullanım ömrü, programın kullanım düzeyi ve hangi amaçla kullanılacağı gibi soruların cevaplarına bakılarak programlama dili seçilir. Dil seçimi bazı kriterlere göre yapılmaktadır, örneğin kısa sürmesi ve görsel tasarım içermesi, veritabanı iletişimi yoğun kullanılması gereken bir program yapmamız gerekiyor olsun. Bu durumda Assembly dili ile yola çıktığımızda bahsedilen proje birkaç kişilik deneyimili bir programcı grubu ile birkaç yıl alır. C ile iki programcı aynı işi üç dört ayda VisualBasic veya Delphi ile bir programcı bahsedilen işi bir iki aya yakın bir sürede yapabilir.
Başka bir açıdan örnek verirsek örneğin bir ekran kartı programlamamız gerekiyor ve bu kartın driver'ını ( sürücüsünü ) biz yazacağız. Bu durumda bu işi VB veya Delphi ile yapmamız imkansızdır, kullanmamız gereken diller öncelikle Assembly ve C/C++ olmalıdır.
Evet, programlama dillerinin kendi alanları vardır ve her dil kendi branşında kullanıldığı sürece başarılı ve etkili kullanılmış olur. Buraya kadar anlattığımı özetlersem.
Bir bilgisayar programı yazmak için belli aşamalar vardır ve bu aşamalar geçildiğinde kodlamaya başlanabilir. Bunlar:
  • Analiz
  • Algoritma
  • Dil Seçimi
  • Kodlama
Analiz ile gerçekleştirilmek istenen proje tasarımlanır ve parametreleri araştırılır.Algoritma ile adımlar tayin edilir. Dil seçimi ile en uygun programlama dili seçilir. Ve kodlamaya başlanır...
Kod yazıldıktan sonra da bazı aşamalardan geçer bunlar da genel olarak :
  • Test ve Debug
  • Pilot denemeler ve ilk versiyon denemeleri
  • Hazır halde çalışır programı sunma

Program Nedir? Programlama Dili Nedir?

Program, yapılmasını istediğiniz işlemleri bilgisayara bildirdiğiniz adım adım komutlar kümesidir. Bilgisayara istediğiniz işlemleri bildirme yolunu sağlayan kurallar kümesi bir programlama dilini oluşturur. Pek çok programlama dili vardır.

PROGRAMLAMA SÜRECİ
Bir program geliştirmenin ilk adımları herhangi bir problem çözme işinin adımlarına benzer.  Öncelikle problem tanımlanmalı ve sonra çözüm planlanmalıdır. Daha sonra programın işe uygun bir dille kodlanması, sınanması ve belgelenmesi gerekir. 
Problemin tanımlanması: Programı talep eden / kullanacak olan kişilerle görüşerek, NE istediklerinin, giriş ve çıkış aygıtlarının, istedikleri rapor formatlarının belirlenmesi ve bunlar üzerinde yazılı anlaşmaya varılması aşamasıdır. Basit bir aşama değildir.
Çözümün planlanması: Çözümün planlanmasında akış şeması (“flowchart”) çizilebilir veya günlük dille adımlar yazılabilir (“pseudocode”) veya her ikisi birden yapılabilir. 
Akış şeması, düşünülen çözümün adım adım ve görsel ifadesidir. En basit şekliyle dikdörtgen kutulardan ve oklardan oluşur. Akış şeması sembolleri ANSI (American National Standards Institute) standardı olarak belirlenmiş ve tüm dünyada kullanılmaktadır.  
Belli başlı semboller: 
Programın kodlanması: Çözümün bir programlama diliyle ifade edilmesi akış şeması ve/veya pseudocode ile ifade ettiğiniz mantığın (algoritmanın) programlama diline tercüme edilme işidir. Kullanacağınız dilin tüm kurallarını doğru olarak takip etmeniz gerekir. Hiçbir yazım hatası yapmadan programınızı kodlamanız programın hatasız yani istediğiniz sonucu verecek biçimde çalışmasını gerektirmez. Çünkü dili doğru kullanmanıza rağmen mantık hataları (“logic errors”) yapmış olabilirsiniz. Ancak, dilin kurallarının doğru kullanımı, kodlamada gerekli ilk adımdır. 

Programın sınanması (“testing the program”) : Genellikle, program ne kadar dikkatli kodlanırsa kodlansın, ilk çalıştırmada bir takım derleme hataları (“compilation errors”)  alınması kaçınılmaz olabilir. Derleme aşaması hatasız geçilmeden çalıştırma (“run”) aşamasına geçilemez. Alınması olası hataları mümkün olduğunca azaltmak ya da yok etmek için programımızı kodladıktan sonra kontrol etmeliyiz (masa başı kontrol). 
      —Masa başı kontrol: yazdığımız kodun masa başında izlenmesi, kontrolu. Diğer bir deyişle, programdaki her cümlede değişkenlere örnek değerler verilerek koşul cümlelerinin, döngülerin vb. sınanması)
      —Programın derlenmesi (“compilation”) : programcı ne kadar deneyimli olursa olsun bu adımda genellikle hatalar alınır / alınabilir. Bunları anlayıp düzeltmek gereklidir.
      —Programın çalıştırılması (“run” aşaması): derleme hatalarından arınmış programı çalıştırıp istediğimiz/beklediğimiz sonuçları alıp almadığımızın kontrolu. Yani ‘programın mantığı doğru mu?’. Giriş değeri olarak bir takım örnek değerler verip programı çalıştırdıktan sonra değişik giriş değerleri vererek olabildiğince her koşulda programın çalışıp çalışmadığının kontrol edilmesi önemlidir.

Programın belgelenmesi (“documentation”): Genellikle ihmal edilen ancak ÇOK önemli bir aşamadır. Programınızın doğru olarak çalıştığından emin olduktan sonra

          Programın amacını,
          Nasıl çalıştığını / mantığını, akış şemasını,
          Kullanıcı tarafından nasıl kullanılacağını,
          Giriş bilgilerini (nasıl nereden verilecek, vb.),
          Çıkış bilgilerini, raporlama formatlarını,

İfade eden, ayrıca program listesini ve örnek çıktıları içeren bir doküman hazırlanmalıdır.
Bu doküman, programı talep etmiş kullanıcı grubuna verileceği gibi, ilerde değişiklik yapılacağı zaman ( sizin tarafınızdan veya başka bir programcı tarafından) çok yardımcı olacaktır. Programcıların en çok, hiçbir dokümantasyonu olmayan mevcut bir programı değiştirmeleri istendiğinde çok zorlanırlar. 

Programlama Dillerine Özet Bir Bakış

C
Yapısal programlama dilleri arasındadır. Öğrenilmesi zaman almasına rağmen oldukça kullanışlı ve esnek yapısı ile adından yıllarca bahsettirmiş, bilgisayar programcılığının temel dillerinden biridir. C ile bilgisayarınıza bir sistem yazmaktan bir oyun yazmaya veya printer kontrolü yapmaya kadar her türlü işlem yapılabilir ve bu özelliği sayesinde kullanım alanı çok geniş bir dildir.
C++
Nesneye yönelik programlama yapabilen diller arasındadır. C'nin saydığımız tüm özelliklerine ek olarak güçlendirilmiş nesne yönetim özelliği ile şu anda bilgisayar dünyasının en çok kullanılan dillerinden biridir
C#
Nesneye dayalıdır(OOP). C++ ın ve Java'nın pozitif yönlerini bünyesinde birleştirmiş yeni bir dildir. Programcıya internet uygulamaları ve yerel uygulamalar yazmakta bazı kolaylıklar getirmiştir. İleriye dönük olarak microsoft'un java teknolojisine rakip olarak ortaya sürdüğü bir programlama dilidir ve microsoft'un bu konulardaki (internet uygulamaları) yelpazesini genişletmeye yönelik bir atılımdır. Microsoft teknolojileri kullanacak programcıların C#'ı öğrenmeleri zamanla gerekecektir ve öncelikle öğrenilmeye başlanması da avantaj getireceği açıktır.
Java
Nesneye yönelik dillerdendir. Son yıllarda geliştirilmiş bir dil olup modern ve yenlikçi altyapısı ve visual özellikleri ve sürekli gelişen kütüphane (library) desteği ile gün geçtikçe kullanımı artan bir dil olmuştur. Java dili hemen hemen her alanda kullanılabilen esnek ve güçlü bir dildir.
VB.NET
Nesneye dayalı bir dildir. VisualBasic(VB) teki biçok özellik bu dilde yeniden yapılandırılarak değişmiştir. Yapısına bakılırsa VB den ayrı yeni bir dil geliştirilmiş denilebilir. Eklenen bazı özellikler ile VB de yapılamayan birçok işlem artık yapılabilmektedir ve OOP nin özellikleri desteklenerek daha verimli kod yazmaya olanak sağlanmıştır. VB programcılarının VB.NET'e geçişleri kolay olmayacak olsa da VB yerine VB.NET kullanımı gün geçtikçe artacaktır. VB.NET internet uygulamalarından yerel uygulamalara kadar kullanım imkanı geniş bir dildir.
Delphi
Pascal tabanlı bir dil olup nesneye yönelik programlama yapabilme özelliği taşır. Öğreniminin çok zor olmayışı ve üniversitelerde pascal eğitiminin ağırlıklı verilmesi nedenleriyle çoğu bilgisayar programlama öğrencisinin tercih ettiği bir dildir.Visual programlama özelliği taşır.
Pascal
Pascal Yapısal bir dildir, C 'ye benzerlik gösterir. Öğrenilmesinin zor olmayışı ve bilgisyar eğitimi veren okullarda okutulan bir ders olması sebebiyle kullanım alanı genelde üniversiteler ve bilimsel hesaplamalar yapan kurumlardır.
VisualBasic
Basic tabanlı bir dil olup öğrenilmesi kolay, kullanım alanı geniş bir dildir. Özellikle görsel uygulamalarda projenin arabiriminin hızlı yazılmasını sağladığı için genelde kullanıcı arabirimi tasarımlarında kullanılır. Kapsamlı veya çok kullanıcılı uygulamalarda kullanılmaz. Kullanıcı sayısı az olan veya kısa sürede bitmesi gereken küçük ölçekl projelerde tercih edilen bir programlama aracıdır. Yoğun olarak kullanılmaktadır
Programlama dillerinin hepsini incelemeye imkan olmadığından çok kullanılan bir kısım dilden bahsettim. Her dilin kullanım amacı ve yönelimi farklı olabilir önemli olan hedeflediğiniz konularda size yardımcı olacak dili seçip onunla çalışmanızdır.

Programlama Dillerinin Düzeyleri

Bildiğiniz gibi günümüzde pek çok programlama dili vardır. Bir dil, bilgisayarın kullandığı dile ( 0 ve 1’ler) ne kadar yakınsa o kadar alçak seviyeli, ne kadar uzaksa (yani konuştuğumuz dile yakınsa) o kadar yüksek seviyeli olarak adlandırılır. Buna göre, dil seviyelerine (veya programlama dili kuşakları ) bakacak olursak:
1.KUŞAK DİLLER: MAKİNE DİLLERİ: 
      Veri ve program komutları, bilgisayarın elektriksel devrelerinin açık veya kapalı durumuna karşılık gelen 1 ve 0’larla ifade edilir. Her bilgisayar türünün kendi makine dili vardır. Kodlamanın zor olduğu, hata yapmaya çok açık dillerdir. Bu durum daha kolay yazılabilir ve anlaşılabilir olan “assembly” dilinin geliştirilmesini sağlamıştır.
2.KUŞAK DİLLER: ALÇAK SEVİYELİ DİLLER - ASSEMBLY DİLİ: 
      Günümüzde “assembly” diliçok alçak seviyeli olarak tabir edilir. Assembly dili ile yazılmış bir program, bir çevirici (translator veya assembler) ile makine diline çevrilerek çalıştırılır. Oldukça anlaşılabilir gözükmesine karşın çok basit bir iş için bile çok sayıda komut yazmak gerekmektedir. Kullanımı çok daha kolay olan dillerin ortaya çıkmış olması nedeniyle, neredeyse hiç kimse artık assembly ile program kodlamamaktadır. Ancak unutulmamalıdır ki bu dil ortaya çıktığında ileriye atılmış çok büyük bir adımdı. 

3.KUŞAK DİLLER: YÜKSEK SEVİYELİ DİLLER: 
     1960’larda yaygınlaşmıştır. İngilizceye benzer ifadelerin kullanıldığı, aritmetik işlemlerde kullandığımız işaretlerin kullanıldığı, daha hızlı ve kolay program yazmayı sağlayan, programcının daha az çaba sarfettiği dillerdir Çok sayıda dil geliştirilmiştir: Pascal, Fortan, Cobol, Algol, PLI, C, C++, vb. Bu dillerin ifadeleri derleyici tarafından makine diline çevrilirler. Bu kuşak dillere “procedural” diller denmektedir. Bunun nedeni bu dillerle çözümün “nasıl” yapılacağını ayrıntılı olarak bildirmemizdir. 

4.KUŞAK DİLLER: ÇOK YÜKSEK SEVİYELİ DİLLER: 
      3. kuşak bir diller onlarca yüzlerce satır halinde kodlanan bir pogram, 4.kuşak dillerle birkaç satırda ifade edilir. Çünkü bu dillerle sadece “NE” istediğimizi bildiririz, 3. kuşak dillerde olduğu gibi “NASIL” yapılacağını söylemeyiz. Örnek olarak LISP, SNOBOL, FORTH, SQL verilebilir. Bilindiği gibi SQL ilişkisel (“relational”) veri tabanı sistemlerinde yaygın olarak kullanılan sorgulama dilidir (“query language”).

Belli Başlı Yüksek Seviyeli Programlama Dilleri

Fortran 
1954’te IBM tarafından geliştirilmiştir. Daha sonra Fortran II, Fortran IV, Fortran 77, Fortran 90 sürümleri hazırlanmıştır. Mühendislik ve bilimsel uygulamalar için tasarlanmıştır. Matematiksel formüllerin ifade edilmesi son derece kolaydır. Mühendislik uygulamalarında hala yaygın olarak kullanılır.
COBOL 
 1954 – Komutları İngilizceye yakın. Ticari uygulamalar için uygundur. Günümüz ticari uygulamalarının yarısı Cobol ile yazılmıştır.
PL/I 
Hem bilimsel hem de ticari uygulamalara uygun. COBOL ve Fortran’ın birçok özelliğini taşır. 

Basic 
 1965’te akademik ortam için, Dartmouth kolejinden Kemeny ve Kurtz tarafından geliştirilmiştir. İlk yıllarda derleyicisi bedava olduğundan çok yaygın olarak kullanılmıştır; ticari alanda, bilimsel alanda ve oyun yazımında.
Pascal 
1968 – İsviçreli Wirth geliştirmiştir. En çok kullanılan sürümü Borland firmasının Turbo Pascal'’dır. İş ve bilim hayatında kullanılmıştır.
C  
1970  -  Bell Laboratuarlarında geliştirilmiştir. Makine diline çevrilmesi kolay ve sistem yazılımları yazmaya çok uygun bir dildir. UNIX işletim sistemi C diliyle yazılmıştır.
C++ 
1980’de AT&T firmasından Bjarne Stroustrup tarafından geliştirilmiştir.1983 – 1989 ANSI, C’nin standart tanımını yaptı, 1990’da yayımlandı: ANSI/ISO 9899:1990 C++, C’ye birtakım ek özellikler ile nesne-yönelimli programlama (“object-oriented programming”) yetenekleri getirmiştir. Nesneler tekrar tekrar kullanılabilir yazılım bileşenleridir; yazılım geliştirmede büyük kolaylık (verimlilik) sağlarlar.
Diğer nesne-yönelimli diller:
Smalltalk  
 Nesne-yönemli (“object-oriented”) ilk programlama dili - Xerox’s Palo Alto Araştırma Merkezi
Java 
1993’de WWW’nin yaygınlaşması ve popülerliği nedeniyle, Sun Microsystems’den James Goslin tarafından 1995 senesinde Web sayfası oluşturmak için geliştirilmiştir. İşletim sisteminden bağımsızdır.
Ayrıca Visual Basic, Delphi (Object Pascal), Power Builder, vb. de nesne-yönelimli dillerdendir.

Pascal Tarihi

Pascal programlama dili ilk olarak 1968 yilinda Niklaus Wirth tarafindan gelistirilmis yüksek seviyeli bir programlama dilidir. Bu dilin Turbo Pascal versiyonu günümüzde mühendislik çalismalarinda/hesaplamalarinda, ticari uygulamalarda, bilim ve egitim alanlarinda yaygin olarak kullanilir.
Turbo Pascal özellikle program yazmada ve okumada sagladigi kolaylilikla çok kullanilan dillerden biridir. Su anda en son olarak 7.0 sürümü bulunan Pascal'in program yapisi çok gelismistir. Programcinin kendi komutlarini yapmasi ve hatta komutlarini toplu halde bir dosyada saklayarak heryerden ulasabilmesi, çok gelismis program yazim editörü, genis yardimi, genis grafik kütüphanesi, çok sayida hazir kütüphanesi, Nesne Tabanli Programlamayi (Object Oriented Programming-OOP) desteklemesi, hata bulma kolayligi ve daha sayamayacagim birçok özelligi ile Pascal güçlü bir dil olma ünvanini tasiyor.
Ayrica Pascal'in Borland Pascal for Windows versiyonuyla windows tabanli program yazmaya olanak vermesi ve su anki en yaygin web tabanli programlama dilleriyle benzerligi ve Delphi'nin temelini olusturmasi onun diger dillerden farklarindan bazilari.
Pascal hakkinda internetten de sayamayacagimiz kadar fazla kaynak ve örnek program kodlari bulabilirsiniz. Pascal'in daha birçok özelligi var ancak bunlarin hepsini burda sayacak degilim. Artik sabirsizlandiginizi biliyorum. O zaman yavas yavas Pascal ögrenmeye baslayalim..


Pascal'da Programlama

Bazi kisiler bilgisayarin insanlardan daha zeki oldugunu düsünse de aslinda ve kesinlikle bilgisayar en ufak bir zekasi olmayan, kendi kendine düsünemeyen ama buna karsi çok hizli islem yapabilen bir makinadir. Bilgisayar kendisine en ince ayrintisina kadar anlatmadiktan sonra hiçbirsey yapamaz ve kesinlikle düsünemez. Eger kullandiginiz programlar size akilli geliyorsa bu bilgisayardan degil, onu programlayan programcidan kaynaklaniyordur. Bilgisayarin en önemli ve insanda olmayan tek özelligi aritmetik ve karsilastirma islemlerinde çok hizli olmasidir. Insanlar bilgisayarla kendilerinin çok daha uzun zamanda yapabilecegi ve hata yapabilecekleri islemleri çok daha hizli ve hatasiz olarak yaparlar. Istedikleri ya da bilgisayarin yapmasi gereken islemlerin ne oldugunuysa ona programlama dilleri araciligiyla anlatirlar. Bir islemi bilgisayara bir defa anlattiktan (programladiktan) sonra o isi bilgisayardan istedigimiz her zaman, bilgiayar sadece daha önceden yaptigimiz programi çalistirir ve orada yapilmasi istenilen isleri sirasina uygun olarak yapar.
Programin ne oldugunu hepimiz biliyoruz. Programlama ise bir programlama dili vasitasiyla (ya da direk makine kodlariyla) bilgisayarin çalistirabilecegi programlar yapmaktir. Bu programlari yapan kisiye programci, kullanan kisiye ise kullanici denilir. Simdiye kadar hep baskalarinin yaptigi programlari kullandik. Bundan sonra biz de kendi programlarimizi yazabilecegiz ve istersek (ki isteriz) bu yazdigimiz (baska bir tabirle yaptigimiz) programlari baskalarinin da kullanmasina izin verebilecegiz.
Bu yazilari okumaya basladiginiza göre artik programlama ögrenmeye karar vermissiniz demektir. Yani benim size programlamanin faydalarini anlatmama gerek yok. Bundan sonra yapacaginiz, bütün dersleri uygulayarak anlamak ve programlamanin zevkini kesfetmek. Artik hazirsaniz algoritmalara geçebiliriz...

Pascal Editörü

Artik Pascal'i çalistirdigimiza göre Editörün nasil kullanildigini ögrenmeliyiz. Pascal editörü Ingilizce olmasi sebebiyle Ingilizce bilenler tarafindan daha kolay kullanilir ama Ingilizce'yi hiç bilmeseniz de burda anlatacagim birkaç seyi bilerek rahatlikla kullanabilir ve program yazip çalistirabilirsiniz. Burda isinize yarayacak hemen hemen bütün özellikleri anlatacagim. Ilerdeki konularda bazi islemler için tekrar bu sayfaya dönerek yardim alabilirsiniz. 
Ediörün kullanimi çok kolay demistik. En üstte gördügünüz "File Edit Serch Run Compile.." diye giden menü çubugu Pascal editöründe yapacaginiz bütün islemleri yapabileceginiz komutlari bulundurur. Yanlis anlamayin, bu menüde yazacaginiz program kodlari yok! Bu menüdeki birçok komutun kisayol tuslari da var. Bu menüyü ayrintili olarak tanitacagim. Onun altinda programlarinizi yazdiginiz mavi ekran var. Dedigim gibi buraya kodlarinizi yaziyorsunuz. Pascal editöründe bütün renkleri degistirebileceginiz gibi bu rengi de (maviyi) degistirebilirsiniz ama bence mavi güzel renktir. Bu pencerenin altinda ve yaninda Windows'takine benzer kaydirma çubuklari vardir. Mouse'unuzlar bunlari hareket ettirebilirsiniz. Alttaki kaydirma çubugunun solunda yazan iki sayi o anda imlecin bulundugu kordinatlari verir. Örnek resimde imleç gördügünüz gibi 11. satirin 5. sutunundadir. Onun hemen solunda bu ekranda tam ne olarak gözükmese de * (yildiz) isareti var. Eger dosyayi en son kaydettiginizden bu yana birseyler degistirmisseniz bu isaret gözükür. Kaydettiginde tekrar kaybolur. Bu sayede dosyayi kaydetmeniz gerektigini anlamis olursunuz. Yine bu mavi pencerenin en üstünde ortada programinizin adi ve uzantisi (uzantisi PAS olur) yazar. Eger dosyayi kaydetmediyseniz bu isim noname01.pas gibi birsey olur. Kaydettikden sonra gerçek ismi gözükür. Pascal editöründe ayni anda birden fazla programla çalisirken hangi programda oldugunuzu görmeniz açisinda faydalidir. Ayrica Mouse'unuzla pencerenin sag üst kösesindeki kare isarete tiklarsaniz pencere kapanir ve eger kaydetmediyseniz uyari mesaji çikar. Sag üst kösedeki "1" sayisi (ki bu sayi degisebilir) kaçinci pencerede/programda oldugunuzu gösterir. Son olarak onun yanindaki isaret ise küçük olan pencereleri tam ekran yapmak içindir. Yine eger isterseniz pencerenin kenarlarindan tutarak (mouse ile) boyutlarini ayarlayabilir ve en üstüne tiklayip basili tuarak pencereyi tasiyabilirsiniz. En son olarak en alttaki "F1 Help F2 Save.." seklindeki çubuga da durum çubugu deniliyor. Buradaki yazilar duruma göre degisir ve programin (Turbo Pascal'in) size mesajlar iletmesini saglar. Simdi menü'ye bir göz atalim bakalim neler var.

Pascal Editörü File Menüsü

File Menüsü:

TP (Turbo Pascal, bundan sonra TP diye bahsedecegim) editörünün üstteki menülerinin ilkidir. En çok kullanacagimiz menü bu menü olacak. Bu menüyü açmak için alt tusuna basili tutarak F tusuna basin. Tüm menüleri için aslinda bu böyledir. Ya da F10 tusuna basarak da menü çubuguna geçebilirsiniz. Ayrica mouse kullanarak da bu menüyü açabilirsiniz. Simdi bu menüde yapabilecegimiz islemlere bakalim:

New:

Bu komutla yeni ve bos bir sayfa açariz. Open: Daha önceden kaydettigimiz dosyalari tekrar açip düzenlemek ya da görmek gibi amaçlarla açmak için kullanilir. Açilan program yeni bir pencerede açilir. Kisayol tusu F3'dür.

Save:

Yazdiginiz programlari bilgisayariniza kaydetmeniz lazim. Bu seçenegi seçerek ya da kisayol olarak F2 tusuna basarak programlarinizi kaydedebilirsiniz. Kaydetme isiniz çi sik yapmanizi tavsiye ederim. Yoksa bütün emekleriniz bir elektrik kesilmesi yada yanlis bir-iki tusa basmakla gidebilir.

Save as:

Üstünde çalistiginiz program kodunu farkli bir dosya olarak kaydetmek için kullanilir.

Save all:

O anda üstünde çalistiginiz bütün programlari birden kaydtmenizi saglar. Isinize yarayacak bir komut.

Change dir:

TP'i çalistirdiginizda otomatikmen turbo.exe dosyasinin bulundugu dizin esas alinir. Yani bir dosya kaydedrken veya açarken hep o dizin ilk olarak karsiniza gelir. Baska sebeplerden dolayi da eger yeni bir program yazmaya basliyorsaniz ilk önce bir klasör açin ve pascal'i açinda bu seçenekle o klasörü seçip bütün islemlerinizi orada yapin. Yani bu seçenek aktif klasörü degistirmeye yarar.

Print:

Yazdiginiz programi yazicidan çikartmak için bunu kullanabilirsiniz. Eger yaziciniz dogru çalisiyor ve açiksa yaptiginiz programlari yazicidan düzgün bir sekilde çikarir.

Printer Setup:

Yazici ayarlarini yapmak için. Eger yaziciniz dogru oldugu halde yazicidan programi çikaramiyorsaniz buradan gerekli ayarlari yapabilirsiniz.

Dos Shell:

Geçici olarak MS-DOS'a çikmak için kullanilabilir. Tekrar TP'a dönmek için Exit yazmaniz gerekir. Ama bu komut artik pek ise yaramiyor. Çünkü dos degil Windows var. Yine de dos kullanmayi biliyorsaniz yeni dizin açmak gibi ufak islerinizde kullanabilirsiniz.

Exit:

Pascal editöründen çikmak için. Alt tusu ve x'e birlikte basarak da ayni isi yapilir.


Pascal Editörü Edit Menüsü

Edit Menüsü:

En çok kullanilan menülerden birisi de Edit menüsüdür. Ancak genelde direk menüyü kullanmayiz, onun yerine kisayol tuslarini kullaniriz. Gördügünüz gibi neredeyse herseyin bir kisayol tusu var. Undo: En son yaptiginiz degisikligi iptal eder, geri alir. TP'da çok fazla sayida (neredeyse sinirsiz) geri al yapabilirsiniz. Bu sekilde yaptiginiz yanlisliklari görmek ve iptal etmek çok kolaydir. Kisayol için Alt tusu ile birlikte Backspace tusu kullanilir. Redo: Yanlislikta Undo yaparak iptal ettiginiz islemleri terkar düzeltir, yani bu da ileri alir. Cut: Kes manasindadir. Bir yaziyi isaretleyip bu seçenegi seçer ya da Shift tusuyla beraber Delete tusuna basarsaniz isaretli yazi silinir ve hafizaya alinir. Daha sonra bunu istediginiz biryere yapistirabilirsiniz. TP'da bir metini isaretlemeyi ya mouse ile ya da shift tusuna basili tutarak yön tuslariyla yapabilirsiniz.

Copy:

Bir yaziyi isaretledikten sonra bu komutu çalistirisaniz ya da kisayolu olarak Crtl ile birlikte Insert tusuna basarsaniz yaziya birsey olmaz ama bir kopyasi hafizaya alinir.

Paste:

Kopyaladiginiz ya da kestiginiz metinleri herhangi biryere yapistirmak/eklemek için kullanilir. Koplayanlis ya da kesilmis yazi imlecin bulundugu yerden itibaren ekrana yazilir. Shift ile birlikte Insert tusuna basarsaniz da ayni isi yapabilirsiniz.

Clear:

Bir yaziyi isaretleyip tamamen silmek için kullanilir. Kisayolu Ctrl+Delete.

Show Clipboard:

Kopyaladiginiz ve kestiginiz tüm yazilar clipboard denilen ve hafizada biryerde tutulur. Bunlarin hepsini birden görmek için kullanabileceginiz bu seçenek yeni bir pencere açar ve bunlari gösterir.

Pascal Editörü Search Menüsü

Search Menüsü:

Bu menü ile programlarinizin içerisinde bir kelime ya da bir metini aratip, bulup degistirebilirsiniz. Özellikle çok uzun programlarinizda çok faydali. Otomatik degistirme ile ayni anda programdaki bütün ayni metinleri istediginiz bir metin ile degistirebilirsiniz.

Find:

Gireceginiz yaziyi programin içinden bulur. Replace: Program içindeki bir kelimeyi ya da kelime gurubunu (ya da bir parçasini) bulup istediginiz bir yazi ile degistirmek için.

Search Again:

En son aradiginizi tekrar aramak için kullanilir. Bunlarin haricindeki seçenekler çok fazla kullanilmiyor ama deneyerek ne ise yaradigini bulabilirsiniz.

Pascal Editörü Run Menüsü

Run Menüsü:

File menüsü ile birlikte en çok kullanilan menüdür.

Run:
Yazdiginiz programi çalistirmak için kullanilir. Eger programinizda yazim hata varsa çalismaz ve bu hatayi olusturan satira gidilip beklenir. Kisayolu Ctrl+F9.

Step over:
Programi satir satir çalistirmayi saglar. Procedure ve Functionlari satir satir degil toplu halde çalistirir. Kisayol tusu F8.

Trace Into:
Programin tamamini satir satir çalistirmak içindir. Bu sekilde hata yapilan yeri görebilirsiniz ama özellikle büyük programlarda pek ise yaramaz. Kisayol tusu F7.

Go to Cursor:
Programi imlecin (Cursor'un) bulundugu yere kadar çalistirir ve oraya gelindiginde programin koduna geri döner. Devam etmek için yukardakilerden birisini kullanabilirsiniz. Kisayolu F4.

Program reset:
Pascal'da bir programda hatali bir is yaptiysaniz ve program sona ermiyorsa Ctrl ve Pause tuslarina birlikte basarak programi durdurabilirsiniz. Durdurdugunuz programi tekrar çalistirirsaniz kaldigi yerden devam eder. Eger en bastan baslamasini istiyorsaniz programi resetlemenize lazim. Bu islem onu yapar. Kisayol tusu olarak Ctrl'ye basarken F2'ye basabilirsiniz.

Paramaters:
Bazi programlar çalisirken parametre ile beraber çalisir. Eger böyle bir parametreli program yaptiysaniz o zaman buraya istediginiz parametreleri girebilirsiniz. Bu konuya daha sonra deginiriz.

Pascal Editörü Compile Menüsü

Compile Menüsü:

Programizini yaptiktan sonra veya yaparken sik sik hatalarinizin olup olmadigini kontrol etmek istersiniz. Bu menü de bu ise yarar. Iyi bir programci olmak için her birkaç satir yaziminin sonunda F9 tusu ile hatalarinizi kontrol etmeniz gerekir! Compile: O anda aktif olan programi derlemek, yani hatalari kontrol etmek için kullanilir. Kisayol için Ctrl tusuna basarken F9'a basabilirisiniz.

Make:
Üzerinde çalistiginiz programi degisen unitleriyle beraber derler. Unitin ne oldugunu daha ögrenmedik. En iyi derleme yöntemi budur. Sik sik F9 tusuna basarak programinizi derleyin.

Build:
Üzerinde çalistiginiz programi degisen unitleriyle beraber derler. Make komutu bundan daha kullanisli ve hizlidir.

Destination Memory/Disk:
Bu seçenegin üzerine gelip entera basarsaniz ve tekrar menüyü açarsaniz "Memory" yerine "Disk" yazdigini görürsünüz. Disk aktif durumdayken programi (F9 ile) derlerseniz harddiskinizde de (O anki aktif dizinde) programin .EXE hali olusturulur. Programlarinizi bu sekilde exe haline dönüstürebilirsiniz. Eger bu seçenekte "Disk" yerine "Memory" yaziyorsa bu durumda programi derlediginizde exe dosyasi olusturulmaz. Sadece exe dosyasi olusturmak istediginiz zaman bu seçenegi disk yapin. Diger durumlarda ve zamanlarda Memory kalmasi programin daha kisa sürede derlenmesini saglar.

Primary File:
Bu seçenegi seçip bir dosya adi girerseniz artik hangi programin üzerinde çalisirsaniz çalisin F9 ile programi derlemek isterseniz buraya yazdiginiz dosya derlenir ya da çalistirilir. Bunun avantajini Unit'leri ögrendikten sonra görecegiz. Programa bagli olan unitlerin üstünden programi çalistirmaniz çok yararli olacak.

Clear Primary File:
Primary file'i iptal etmek için kullanilir.

Information:
Programiniz hakkinda kisa bir bilgi verir.

Buraya kadar isimize yarayacak ve en çok kullanilan menüleri anlattik. Ama TP'da daha baska menüler de var. Bunlari simdilik anlatmayalim ama yeri geldikçe ve lazim oldukça deginiriz. Ayrica Help menüsü de çok isinize yarayabilir. Burayi kurcalayarak birseyler ögrenebilirsiniz.

Ama ben isinize yarayacak birsey daha söylemek istiyorum. Debug menüsünden User Screen seçenegini seçerek ya da alt ile birlikte F5'e basarak son ekran görüntüsünü görebilrisiniz.

Artik Pascal editörünü de tanidigimiza göre Pascal komutlarini ve program yapisini anlatmaya baslayabiliriz.

Degişkenler

Her programlama dilinde degiskenler vardir. Degiskenler programlamada hayati önem tasir. Degiskeni program içinde bir degeri ya da bilgiyi tutan bir birim olarak ifade edebiliriz. Bu bölümde degiskenleri tüm tipleriyle çok ayrintili ve bol örnekli anlatacagim. Ayrica sabitler, tipler ve labelleri de ögrenecegiz. Adindan da anlasilabilecegi gibi degiskenlerin degeri program içinde istenildigi kadar degistirilebilir. Bir degiskenin bir adi, tipi ve degeri vardir. Degisken adi olarak istediginiz ismi verebilirsiniz. Degiskenin tipini ise programinizin basinda var deyimi ile tanimlamak zorundasiniz.
Var Deyimi:
Programda kullanacagimiz bütün degiskenleri programin basinda tanimlamak ve cinsini (sayi mi, yazi mi.. gibi) belirtmek zorundayiz. Her programlama dilinde buna gerek olmayabilir ama Pascal'da bu is mecburidir. Degiskenlerimizi Var deyiminde sonra tanimlamamiz gerekir. Var deyimi bir komut olmadigindan sonuna noktali virgül konulmaz. Genel kullanim sekli:
Var
degisken: degisken_tipi;

seklindedir ve Pascal'da program yapisi dersinde gördügümüz yerde kullanilir. Degisken tiplerini görürken bu deyimin kullanilisini görecegiz. Merak edenler için söyleyim: Var kelimesi Ingilizce Variable kelimesinin kisaltilmisidir ve degisken ya da kisaltma anlamindadir.
Değişken Tipleri
Pascal'da her degiskenin bir tipi olmak zorundadir. Bir degisken programin basinda hangi tipte tanimlandiysa programin sonuna kadar o tipte bilgi saklayabilir ve o degiskene o tipten baska bir tipte veri atanamaz, eklenemez. Yani mesela sayi tipinde bir degiskene "kalkan" degeri atanamaz. Bu durumda program hiç çalismaz ve Pascal editörü hata verip o yanlisligin yapildigi degiskene imleci getirip hata uyarisi yapar. Simdi Pascal'da kullanabilecegimiz degisken tiplerine bakalim.
Sayisal Degiskenler:
Adindan da anlasilacagi gibi degeri bir sayi olabilen degiskenlerdir. Bu degiskenler bir sayiyi tutarlar. Ayrica matematiksel islemlerde de kullanilabilirler. Birkaç çesidi vardir. Öncelikle sayisa degiskenleri ikiye ayirmak gerekir. Birncisi tasayilar ve ikincisi gerçek (ondalikli) sayilar. Tam sayilarin ve ve gerçek sayilarin da kendi aralarinda siniflari vardir. Ilk önce tamsayi tiplerinden baslayalim. Tamsayi tiplerini hemen bir tabloda verelim:

Tip adiSinirlari
Kapladigi alan
Shortint-128..127
1 byte
Byte0..255
1 byte
Integer-32768..32767
2 byte
Word0..65535
2 byte
Longint-2147483648..2147483647
4 byte

Tabloda tip adi dedigimiz sey var deyimiyle kullanacagimiz ad, sinirlari o sayisal degikenin alabilecegi degerlerin siniridir. Yani byte tipinde bir degiskenin degeri 256 olamaz. Buna göre bizim isimize hangisi yariyorsa onu kullanabiliriz. Kapladigi alan ise bu degisken için hafizada kullanilan alanin byte cinsinden degeridir. Programlarimizin hafizada (hard-disk'te degil) az yer kaplamasi daha iyidir. Bunun için gereksiz yere longint degiskenini kullanmamamiz iyi olur. Çünkü pascalda en fazla 64 kilobyte'lik (yaklasik 64000 byte) degisken kullanabiliriz.

Sayisal Degişken Örnekleri

Örnek 1: Bu program 2 sayiyi toplar ve sonucu ekrana yazar. Simdilik ekrana nasil yazdigimizin üzerinde durmayalim ama zaten sizin de anlayacaginizi düsünüyorum.
Toplama_Denemesi;
Uses Crt;

sayi1,sayi2: integer;
toplam: integer;
clrscr;
sayi1:=19;
sayi2:=81;
toplam:=sayi1+sayi2;
write('Bu sayilarin toplami=',toplam);
readln;

Bu program ekrana 100 yazar. Çünkü toplam isimli degiskenimizin son degeri 100'dür. Burada readln komutu enter'a basilmasini bekler. Bunu daha sonra görecegiz. Write ise ekrana birseyler yazar. Bunu da ayrintili olarak inceleyecegiz. Clrscr ise ekrani temizler. Simdilik görmemiz gereken atama islemleri, yani bir degiskenin degerini degistirme ve degiskenleri tanimlama. Gördügünüz gibi 3 tane degiskenimiz var ve bunlari iki satirda tanimliyoruz. Hepsinin tipi de ayni oldugu için üç degiskenimizi birden
Var
sayi1, sayi2, toplam: integer;

seklinde topluca ya da üçünü de ayri ayri tanimlayabiliriz. Bu sizin keyfinize kalmis.
Örnek 2:Bu program da kullanicidan (yani sizden) aldigi iki sayiyi çarpip ekrana yazar:Program Carpma_Denemesi;
Uses Crt;
Var
a, b, c: integer;
Begin clrscr;
write('Birinci sayiyi giriniz:');
readln(a);
write('Ikinci sayiyi giriniz:');readln(b);
c:=a*b;
writeln('Sonuç=',c);
readln;
End.

Gördügünüz gibi ilk önce a ve b degiskenlerinin degeri kullanicidan aliniyor, sonra c degiskeninin degeri a ile b'nin çarpimi olacak sekilde hesaplanip ekrana yazdiriliyor. Burada readln(degisken_adi); komutunu daha sonra anlatacagiz. Simdilik kullanicidan bir bilgi almak amaciyla kullanildigini bilseniz yeter. Pascal'da ayni satira birden çok komut yazilabilecegini ve büyük-küçük harf ayrimi olmadigini tekrar hatirlatiyim.
Örnek 3:Son olarak sizin kaç yasinda oldugunuzu bulan basit bir program yapalim:

Program Yas_Bul;
Uses Crt;
Var
simdiki_yil, dogum_yili: integer;
yas: byte;
Begin clrscr;
write('Kaç yilinda dogdunuz: ');readln(dogum_yili);
write('Simdi hangi yildayiz: ');readln(simdiki_yil);
yas := simdiki_yil - dogum_yili;
writeln('Siz su anda ',yas,' yasindasiniz!');
Readln;
End.

Gördügünüz gibi simdiki_yil ve dogum_yili degiskenlerini integer yaparken yas degiskenini byte yaptik. Çünkü 255 yasindan daha büyük insan olamaz. Bu durumda bosyere onu da integer yapip hafizada yer isgal etmeyelim. Iyi bir programci olmak için bunlara dikkat etmeliyiz. Yine iyi bir programci olarak degiken isimlerimizi anlamli ve mümkün oldugunca kisa ve o degiskenin içerigi ile alakali yapalim. Program içinde hata yapmamak için bunlar gerekli. Çünkü degiskenlerimize d1, d2, d3, d4... gibi isimler verirsek sonra hangisinin içerigi ne onu karistirabiliriz. Degisken isimlerinin uzunlugu yanilmiyorsam 50 karekter kadar olabilir ve bosluk içeremez, sayi ile baslayamaz. Bu arada crt uniti ise clrscr komutunu kullanmak için gereklidir ve Pascal'in hazir unit'lerindendir (Unit'in ne oldugunu simdilik bosverin!).