6 Haziran 2009 Cumartesi

Basit bir hesaplama programı

* kullanıcıdan gideceği yolu ve gitmek istediği süreyi alıp yol boyunca gitmesi gereken ortalama hızı bulan bir program geliştirin.

#include
#include

int main()
{
double yol, ortalama_hiz;
int zaman;

printf("Lutfen gideceginiz mesafeyi yazin (m): \n");
scanf("%lf", &yol);
printf("Lutfen gitmek istediginiz sureyi yazin (sn): \n");
scanf("%d", &zaman);
ortalama_hiz=yol/zaman;
printf("Yol boyunca ortalama hiziniz: %lf m/sn olmalidir.", ortalama_hiz);
getch();
}



kodlara kendimiz bir göz atalım:

include ile header dosyaları eklenmiştir. header dosyası nedir? header dosyaları program içinde kullanacağınız hazır fonksiyonları içeren dosyalardır. (şimdilik bu kadar yeter. )

int main() { } -> main kısmı programımızın gövdesini oluşturmaktadır. neden main adı veriyoruz? aslında main ana fonksiyon olarak tanımlanabilir. fonksiyon nedir? fonksiyonlar ileriki bölümlerde öğreneceğimiz bir konudur. kısaca değinmek gerekirse programda bazen tekrar etmesi gereken kod öbekleri olabilir. bunları sık sık tekrar yazmak yerine fonksiyon şeklide main kısmının üstünde yada altında tanımlayarak tekrar tekrar kullanabiliriz. programı küçük alt birimlere bölmeye yarar. (böl ve yönet mantığı) şimdilik fonksiyonlar hakkında bu kadar yeter.

ilk kullanacağımız hazır fonksiyonlarımız scanf ve printf. printf kalıbını ekrana bir şey yazdırmak istediğimizde kullanırız. kalıbı printf(" yazılacak metin \n"); şeklindedir.


\n nedir? imleci alt satıra geçirmeye yarar (next) başka kullanım olarak \t olabilir. t-> tab bir miktar ileri kaydırır imleci.

c'de ifadelerin sonuna ; koymamız gerekiyor. derleyici ; geldiğinde komutun sona erdiğini anlamakta. yeri gelmişken söylemek isiyorum derleyici boşlukları ve // ifadesinden sonraki kısımları atlar. // genelde yorum belirtmek için kullanılır. kod öbeklerinin sonuna yada başına // şeklinde açıklama satırları yazabilirsiniz.


neyse konuyu fazla dağıtmadan devam edelim.

scanf ise klavyeden veri girişini sağlayan ve onu bir değişkene atayan fonksiyondur. scanf kalıbı ise scanf("%d",&degisken_adi); şeklindedir. hemen incelersek burda kafamızı karıştırabilecek birkaç nokta olabilir. %d değişkenin tipini belirdir. okunacak değişkenin ne türde olduğunu gösterir. (değişken tipleri ile ilgili bir makale aşağıda vereceğim) daha sonra atama operatörü (ampersant) ile klavyeden okunan değer değişkene atanır.

Veri Tipi Bellek Boyutu Veri Aralığı Açıklama
int 16 bit, 2 byte -32768 ile 32767 Tamsayı Değişkenler
char 8 bit , 1 byte -128 ile 127 Karakter Değişkenler
float 32 bit, 4 byte 3.4x10-38 ile 3.4x10+38 Tek hassasiyet, 7 digit
double 64 bit, 8 byte 1.7x10-308 ile 1.7x10+308 Çift Hassasiyet, 15 digit

veri tiplerini de böylece görmüş olduk.

%d -> int
%c -> char
%f -> float
%lf -> dobule

daha çeşitli değişken tipleri mevcut. bunları lazım oldukça göreceğiz.

şimdi prgrama devam edelim. main'in altında ilk olarak değişkenleri tanımlamalıyız. kullanacağımız değişkenler; yol uzunluğu tam sayı, zaman tam sayı ve ortalama hız ( yol / zaman olacağı için kesirli sayı kullanmalıyız.)

değişkenler tanımlandıktan sonra kullanıcıdan veriler alınmalı ve ortalama hız hesaplanarak ekrana yazdırılır ve program sonlanır.

programı derlediğimizde hemen kapanması gibi bir sorunla karşılaşabilirsiniz. (yukarıdaki kodlarda getch() ifadesi kullanıldığı için kapanmayacaktır.)

getch() ifadesi programın sonuna eklenerek yada return 0; ifadesi eklenerek hallolabilir bu sorun.

not: getch ifadesi için conio.h öncü dosyasını eklemeniz gerekmektedir.

Hiç yorum yok:

Yorum Gönder