Tarih :9 Aralık 2019

C Programlama Örnekleri #3

Kullanıcıdan alınan 5 farklı sayının ortalamasını veren program

5 adet sayı alacağımız için her birine bir değişken atayalım.

double birinciSayi;
double ikinciSayi;
double ucuncuSayi;
double DorduncuSayi;
double besinciSayi;

#BU DEĞİŞKENLERİ YAN YANA DA TANIMLAYABİLİRİZ.
double birinciSayi, ikinciSayi, ucuncuSayi, dorduncuSayi, besinciSayi;
# ŞEKLİNDE TANIMLARSAK OKUNMASI DAHA RAHAT OLUR.

5 adet sayımızı değişken olarak tanımladık. Sırada ortalama değişkenini yaratmakta. Ortalama değişkeni reel sayı olacağından dolayı float yada double değişkenine atanmalıdır. Biz double olarak atayalım.

double ortalama = 0;
# ORTALAMA DEĞİŞKENİME 0 DEĞERİNİ ATIYORUM ÇÜNKÜ İŞLEM YAPACAĞIM. 

Şimdi programımızı yazmaya başlayalım.


#include 


int main (void){
	
	double birinciSayi, ikinciSayi, ucuncuSayi, dorduncuSayi, besinciSayi;
	
	double ortalama = 0;
	
	printf("5 adet sayi giriniz. \n");
	
	scanf("%lf", &birinciSayi);
	scanf("%lf", &ikinciSayi);
	scanf("%lf", &ucuncuSayi);
	scanf("%lf", &dorduncuSayi);
	scanf("%lf", &besinciSayi);
	
	ortalama = (birinciSayi+ikinciSayi+ucuncuSayi+dorduncuSayi+besinciSayi) / 5;
	
	printf("Ortalama = %lf", ortalama);
	
	
	return(0);
}

Çıktı alırken, double değişkenine en uygun format%lf’dir.

Programımızı yazdık. Gelin deneyelim. Örneğin 50-60-30-100-20 Sayılarını girdiğimiz zaman ortalamanın bize 52 döndürmesi gerekiyor.

Soru 1 program çıktısı görseli

For döngüsü ile kullanıcıdan alınan 5 adet sayının ortalamasını veren program

Bu sefer 1 adet sayi değişkeni, 1 adet i değişkeni (döngümüz için), bir adet toplam değişkeni ve bir adet ortalama değişkeni tanımayacağız.

Bu yaptığımız örnek yukarıdaki programın optimize edilmiş halidir. Bellekte 5 adet sayı kaplamıyor. Bir adet sayı kaplıyor ve daha az yer kaplıyor. Ayrıca her sayı kullanıldıktan sonra bellekte tekrar yer ayırtılıyor. Önceki sayı gidiyor ve yerine yeni bir sayı geliyor.

Değişkenlerimizi tanımlayalım.

        double sayi;
	double ortalama = 0;
	double toplam = 0;
	int i=0;

Değişkenlerimiz bu şekilde olacak.

Kodlamamıza başlayabiliriz.

#include 


int main (void){
	
	double sayi;
	
	double ortalama = 0;
	double toplam = 0;
	
	int i=0;
	
	printf("5 adet sayi giriniz. \n");
	
	for(i=0;i<5;i++){
		
	scanf("%lf", &sayi);
	
	toplam = sayi+toplam;
	
}

	ortalama = toplam / 5;


	printf("Girdiğiniz Sayilar Toplami = %lf \n\n",toplam);
	
	printf("------------------------------------------------ \n\n");
	
	printf("Girilen Sayilarin Ortalamasi Hesaplaniyor. \n\n");
	
	printf("------------------------------------------------ \n\n");
	
	printf ("Girilen Sayilarin Ortalamasi = %lf",ortalama);
	
	

	return(0);
}

Programımızın ana kodları bunlardır.

Gelin For döngümüzü inceleyelim ve Trace edelim (izleyelim).


for( i=0 ; i<5 ; i++ ){ # i DEĞERİNİ 0 DAN BAŞLAT 5 OLANA KADAR, BİRER ARTTIRARAK TEKRARLA. 

        scanf("%lf", &sayi); # HER DÖNGÜYE GİRİLDİĞİ ZAMAN SAYİ DEĞİŞKENİNDEN VERİ AL.
	toplam = sayi+toplam; # SAYI DEĞİŞKENİNİ TOPLAM DEĞİŞKENİ İLE TOPLA VE TOPLAM DEĞİŞKENİNE YAZ.
}

# TRACE EDELİM.

#  i = 1 İÇİN sayi = 50 olsun, toplam = 50 + toplam yani toplam = 50
#  i = 2 İÇİN sayi = 60 olsun, toplam = 60 + 50 yani toplam =110
#  i = 3 İÇİN sayi = 30 olsun, toplam = 30 + 110 yani toplam = 140  
#  i = 4 İÇİN sayi = 100 olsun, toplam = 100+140 yani toplam =240
#  i = 5 İÇİN sayi = 20 olsun, toplam = 240 + 20 yani toplam = 260 

# FOR DÖNGÜMÜZ KUSURSUZ ÇALIŞIYOR.

Programımıza üstteki örnek ile aynı değerleri verdiğimizde aynı sonucu bizlere verecek mi? Hemen deneyelim.

Soru 2 program çıktısı görseli

Farkı bir örnekte görüşmek üzere.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir