1. Skip to Menu
  2. Skip to Content
  3. Skip to Footer>

Ortalama MOD Medyan

PDF Yazdır e-Posta

Written by Admin

Posted on 05 Eylül 2010

Son Güncelleme 05 Eylül 2010

ÖRNEKLER:ORTALAMA, MOD ve MEDYANI DİZİLER
KULLANARAK HESAPLAMAK

Şimdi daha büyük bir örnek inceleyeceğiz. Bilgisayarlar genellikle, araştırma ve oylama sonuçlarını derlemek ve analiz etmek için kullanılırlar. Şekil 6.16, ilk değer olarak araştırmaya verilmiş 99 (BOYUT sembolik sabiti ile gösterilmiştir) yanıtı kullanan cevap dizisini kullanmaktadır. Her yanıt 1'den 9'a kadar bir rakamdır. Bu program 99 değerin mod, medyan ve ortasını hesaplamaktadır.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
/* Şekil 6.16: fig06_16.c
Bu program araştırma ve analiz yapar.
orta, medyan, ve mod hesaplar. */
#include <stdio.h>
#define BOYUT 99
 
void orta( const int [ ] );
void medyan( int [ ] );
void mod( int [ ], const int [ ] ) ;
void kabarcikSiralama( int [ ] );
void diziyiYazdir ( const int [ ] );
 
int main( )
{
int frekans[ 10 ] = { 0 };
int cevap [BOYUT] =
{ 6, 7, 8, 9, 8, 7, 8, 9, 8, 9,
7, 8, 9, 5, 9, 8, 7, 8, 7, 8,
6, 7, 8, 9, 3, 9, 8, 7, 8, 7,
7, 8, 9, 8, 9, 8, 9, 7, 8, 9,
6, 7, 8, 7, 8, 7, 9, 8, 9, 2,
7, 8, 9, 8, 9, 8, 9, 7, 5, 3,
5, 6, 7, 2, 5, 3, 9, 4, 6, 4,
7, 8, 9, 6, 8, 7, 8, 9, 7, 8,
7, 4, 4, 2, 5, 3, 8, 7, 5, 6,
4, 5, 6, 1, 6, 5, 7, 8, 7 };
 
orta ( cevap );
medyan (cevap );
mod (frekans, cevap );
return 0;
}
 
void orta ( const int cevap [ ] )
{
int j, toplam = 0;
 
printf( "%s\n%s\n%s\n", "********", " orta ", "********" );
 
  for ( j = 0; j <= BOYUT - 1; j++ )
      toplam += cevap [ j ];
 
printf( "Orta veri nesnelerinin ortalama değeridir.\n"
"Ortalama bütün veri nesnelerinin\n"
"toplamının veri nesnelerinin sayısına( %d )\n"
"bölümüdür. Bu veriler için\n"
"ortalama: %d / %d = %.4f\n\n",
BOYUT, toplam, BOYUT, ( double ) toplam / BOYUT);
}
 
void medyan ( int cevap[ ] )
{
printf( "\n%s\n%s\n%s\n%s",
"********", " medyan ", "********",
"Sıralanmamış Dizi " );
 
diziyiYazdir( cevap );
kabarcikSiralama ( cevap );
printf( "\n\nSıralanmış dizi " );
diziyiYazdir( cevap );
printf( "\n\n Sıralanmış %d elemanlık dizide\n"
"medyan %d.elemandır\n"
"Bu çalıştırılmada medyan %d\n\n",
BOYUT, BOYUT/ 2, cevap[ BOYUT / 2 ] );
}
 
void mod( int frek[], const int cevap [] )
{
int puan, j, h, enBuyuk = 0, modDegeri = 0;
 
printf( "\n%s\n%s\n%s\n",
"********", " Mod", "********" );
 
  for (puan = 1; puan <= 9; puan ++ )
      frek[ puan ] = 0;
 
  for ( j = 0; j <= BOYUT - 1; j++ )
      ++frek [ cevap[ j ] ];
 
printf( "%s%11s%19s\n\n%54s\n%54s\n\n",
" Cevap ", " Frekans ", "Histogram",
"1 1 2 2", "5 0 5 0 5" );
 
  for (puan = 1; puan <= 9; puan ++ ) {
      printf( "%8d%11d ", puan, frek[puan] );
 
  if ( frek[puan] > enBuyuk) {
      enBuyuk = frek[puan];
      modDegeri = puan;
  }
 
  for ( h = 1; h <= frek[puan]; h++ )
      printf( "*" );
 
printf( "\n" );
}
 
printf( "Mod en sık rastlanan değerdir\n"
"Bu çalıştırılmada mod %d dir."
" %d kez rastlanmıştır\n", modDegeri, enBuyuk);
}
 
void kabarcikSiralama( int a[] )
{
int tur, j, tut;
 
  for ( tur = 1; tur <= BOYUT - 1; tur++ )
      for ( j = 0; j <= BOYUT - 2; j++ )
         if ( a[ j ] > a[ j + 1 ] ) {
             tut = a[ j ];
a[ j ] = a[ j + 1 ];
a[ j + 1 ] = tut;
}
}
 
void diziyiYazdir( const int a[] )
{
int j;
 
  for ( j = 0; j <= BOYUT - 1; j++ ) {
      if ( j % 20 == 0 )
          printf( "\n" );
      printf( "%2d", a[ j ] );
  }
}

 



Şekil 6.16 Araştırma Analiz Programı

********
Orta
********
Orta veri nesnelerinin ortalama değeridir.
Ortalama bütün veri nesnelerinin
toplamının veri nesnelerinin sayısına( 99 )
bölümüdür. Bu veriler için
ortalama: 681 / 99 = 6.8788

********
Medyan
********
Sıralanmamış Dizi
6 7 8 9 8 7 8 9 8 9 7 8 9 5 9 8 7 8 7, 8,
6 7 8 9 3 9 8 7 8 7 7 8 9 8 9 8 9 7 8, 9,
6 7 8 7 8 7 9 8 9 2 7 8 9 8 9 8 9 7 5, 3,
5 6 7 2 5 3 9 4 6 4 7 8 9 6 8 7 8 9 7, 8,
7 4 4 2 5 3 8 7 5 6 4 5 6 1 6 5 7 8 7

Sıralanmış dizi
1 2 2 2 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5
5 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8
8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9

Sıralanmış 99 elemanlık dizide
medyan 49.elemandır.s
Bu çalıştırılmada medyan 7

********
Mode
********

Cevap Frekans Histogram

1 1 2 2
5 0 5 0 5

1 1 *
2 3 ***
3 4 ****
4 5 *****
5 8 ********
6 9 *********
7 23 ***********************
8 27 ***************************
9 19 *******************

Mod en sık rastlanan değerdir\n"
Bu çalıştırılmada mod 8 dir."
27 kez rastlanmıştır
Şekil 6.17 Araştırma Analiz Programının örnek bir çalıştırılması
Orta, 99 değerin aritmetik ortalamasıdır. orta fonksiyonu ( 34.satır ), ortayı 99 değeri toplayıp, toplamı 99'a bölerek hesaplamaktadır.

Medyan, ortadaki değerdir. medyan fonksiyonu (51.satır) medyanı bulabilmek için kabarciksiralama fonksiyonunu (103.satırda tanımlanmıştır) çağırmaktadır. Böylece, yanıtlardan oluşan diziyi artan bir sırada dizdirip, sıralanmış diziden ortadaki elemanı cevap[BOYUT/2] ile seçmektedir. Çift sayıda eleman olduğunda, medyan ortadaki iki elemanın aritmetik ortalaması hesaplanarak bulunmalıdır. Ancak medyan fonksiyonu şu anda bu yeteneğe sahip değildir. diziyiyazdir fonksiyonu (118.satır), cevap dizisini yazdırmak için çağrılmıştır.

Mod, 99 yanıt arasından en çok karşılaşılanıdır. mod fonksiyonu (67.satır) mod değerine, her tipte yanıtın sayısını sayarak ve daha sonra da saydıkları arasında en büyük olanı seçerek karar vermektedir. mod fonksiyonunun bu versiyonu bir düğümü çözememektedir (Alıştırmalar 6.14'e bakınız). mod fonksiyonu, mod değerine karar verebilmesine yardımcı olması için çizgi grafik de kullanmaktadır. Şekil 6.17, bu programın örnek bir çıktısını göstermektedir. Bu örnek, dizi problemlerinde, dizileri fonksiyonlara geçirmek de dahil olmak üzere bir çok genel işlemi içermektedir.