Commodore sayı 23, sayfa 59

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 59

AMICA

SEYFETTİN ÇANKAYA

INPUT VE OUTPUT

Bilgisayarlarda gerekli bilginin girişi ve işlenmiş bilginin çıkışı için kullanılan keyboard ve ekran gibi donanımların işlevlerini yerine getirmekte kullandıkları getchar( ) ve putchar( ) fonksiyonlarını tanıyalım. Getchar( ) ve putchar( ) tek bir karakter uzunluğundaki bilginin giriş ve çıkış işlevini yerine getirir. Getchar( ) fonksiyonu her çağrılışta bir karakter uzunluğundaki bilgiyi keyboard'dan alır, benzer şekilde putchar( ) bir karakterlik bilgiyi ekrana gönderir.

Getchar( ) Kullanımı:

c = getchar( ) şeklindedir. Böylece getchar( ) ile klavyeden okunan ASCII kodları c değişkeninde saklanır. Bu

ve C (3)

bilgiyi ekrana aktarmak istersek, putchar(c)

fonksiyonunu kullanmamız gerekir.

Putchar( ) içinde yer alan c değeri getchar( ) ile elde edilen değeri içeren değişkendir. Kısa bir programla anlatılanları özetleyelim:

main ( ) / * keyboard okunan bilginin ekrana aktarılması*/ int c; c — getchar ( ) ; while (c ! - EOF) | putchar (©); c — getchar ( )

| |

Program getchar( ) ile okunan karakterin putchar(c) ile ekrana çıkışını sağlamaktadır. (!=) ifadesi (eşit değil) mantıksal durumuna karşılık gelmektedir. Önceden anlatılan while işlemi (c != EOF) şartı ile ortadan kalkana kadar devam etmektedir. EOF (end of file) gösterimi karakter girişinin sona erdiğini ifade eder. EOF değeri -1 veya 0'dır ve sembolik bir sabittir. Büyük harfle yazılmış olması da bunu göstermektedir. Programda önemli bir nokta c değerinin karakter değil de tamsayı (integer) olarak tanımlanmış olmasıdır. Bunun nedeni getchar ile elde edilen değerin ASCII kodu olmasıdır. Benzer şeyler putchar(c) için de söylenebilir. Şimdi yazdığımız programı daha kısa olarak tekrar yazalım:

main inte; while ((c — getchar ( )) ! EOF) putchar(c) ; |

Bu örnekte while çevrimi içinde hem karakter okunmakta, hem de karşılaştırma işlemi yerine getirilmektedir. (c = getchar( )) ifadesi parantez içindedir. Bunun nedeni işlem sırasının karışmaması içindir, çünkü

(c — getchar ( )! EOF)

ifadesinde getchar( ) != EOF mantıksal bir işlemdir ve ya 1 ya da 0 olması gerekir ve c de bu değeri alır.

KARAKTER SAYMA

Şimdi kaynak kitabımızın 16. sayfasında yer alan keyboard'dan okunan karakteri sayan programı inceleyelim:

Klavyeyle gezinmek için ← ve → tuşları.