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. }
B) WRITE – WRITELN (Procedure):
Kod:
Write([dosya değişkeni],değişken1,değişken2,değişkenN [:alan uzunluğu
ndalık uzunluğu]); Writeln([dosya değişkeni],değişken1,değişken2,değişkenN [:alan uzunluğu
ndalı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.