Commodore sayı 22, sayfa 59

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 59

SEYFETTİN ÇANKAYA

Geçen sayıda sözünü ettiğimiz çevrimin içini incelemeye başlıyoruz. Fahrenayt Santigrat ısı dönüşümlü formülü: sant = (5.0/9.0)*(fahr-32.0); satırıyla programlaştırılmıştır. Örnekte 5.0, 9.0 ve 32.0 ifadelerinde noktadan sonraki 0 ifadesi, yapılan işlemin gerçek sayı olduğunu göstermektedir. Yani 5/9=0, 5.0/9.0=0,555'dir. Burada = endüşük; ifadesinde çelişki varmış gibi görülebilir. Çünkü endüşük değişkeni tamsayı, fahr ise gerçek sayı olarak tanımlanmıştır. C'de esnek bir uygulamayla bu eşitlikte endüşük değişkeninin değeri otomatik olarak gerçek sayıya çevrilmektedir. Bu özellik,

while (fahr < — enyüksek)

ifadesinde parantez içindeki çevrim şartında da görülmektedir. Printf fonksiyonu içindeki ifadelere gelince;

printf sant);

% işareti basılacak her bir değişkeni ifade etmektedir.

Arkadan gelen %4.0f ifadesi 4 karakter uzunluğunda ve noktadan sonra ondalık bölümü bulunmayan gerçek (floatp.) sayıyı göstermektedir. Hemen onu takip eden %06.1f ifadesi ise gerçek değişkenin 6 karakter uzunluğunda ve 1 ondalık haneye sahip olduğunu göstermektedir. ise bildiğiniz satırbaşı gösterimidir. Bu açıklamalar “...” işaretleri arasında yapılmıştır. Bundan sonra ise sözkonusu değişkenler açıklamadaki sırayla yazılır. Yeni gördüğümüz ve değişkenleri ifade eden % işareti değişik şekillerde kullanılabilir;

%d desimal tamsayı %u tamsayı %x Hex (16'lık) tamsayı %c karakter

fahr karakter dizisi fahr karakter olarak kullanılması

fahr = fahr + adım; ifadesi her bir hesaplama değerini adım kadar arttırmaktadır. Bu program çalıştığında aşağıdaki sonuç alınır.

0 -17.8 20 - 6.6 40 4.4 60 15.6

260 126.7 280 137.8 300 148.9

FOR ÇEVRİMİ: C'de kullanılan en önemli komutlardan biri de for işlemidir. Bundan önce vermiş olduğumuz ısı çevrimi programını for döngüsü kullanarak ne kadar basit yazılabileceğini görelim:

main ( ) /* aynı işlemin for çevrimiyle yapılması */

|

ınt fahr; for (fahr —-0; fahr — —300; fahr * 20) printf (© fahr, (5.0/9.0) *fahr- 32);

|

Program çalıştırıldığında bir önceki sonucun aynısını verecektir. Şimdi farkları inceleyelim. Öncelikle birçok değişkenin kullanımı yerine sadece bir değişken kullanılmıştır. Alt ve üst ısı limitleri ve adım değişkenleri yerine for işleminin parametreleri olarak yapılabildiği bu örnekte görülmektedir. printf içinde (5.0/9.0)*(fahr-32) formülü ile santigrat değeri hesaplanmakta ve aynı zamanda yazılmaktadır.

For çevrimini while işleminin genelleştirilmişi olarak düşünebiliriz. Çünkü while işlemi for işleminin özel bir durumudur. For işlemi üç bölümde incelenebilir. Bunlardan birincisi değişkene atama yapan bir bölümdür. Bu örnekte,

fahr - 0

işlemi bu şekilde kullanılmıştır.

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