Oylara göre milletvekili sayısı (dağılımı) nasıl hesaplanır?

Oylara göre milletvekili sayısı (dağılımı) nasıl hesaplanır?
Oylara göre milletvekili sayısı (dağılımı) nasıl hesaplanır?

Bu makalemde milletvekili sayısının (D'hondt yöntemiyle) nasıl hesaplanacağını anlatacağım.

Gayet basit, yazının sonuna kadar anlatım, sonunda ise online hesaplama aracını veya isteyen arkadaşlara Fortran halini vereceğim.

Her ilin milletvekili sayısı bellidir. Örneğin; Kocaeli 13 Milletvekili çıkarıyor, Antalya 14 Milletvekili çıkarıyor, Erzurum ise 6 Milletvekili. Peki bu toplam milletvekili sayısı partilerin oylarına göre partilere nasıl dağıtılıyor? İşte cevap..

Her il kendi içinde hesaplanır. Partilerin aldığı oyları yan yana yazıyoruz. Örneğimizde; 7 milletvekili çıkaracak bir seçim bölgesinde A Partisi 60 000, B Partisi 25 000, C Partisi 14 000 oy alsın.

 
A Partisi
B Partisi
C Partisi
1. milletvekili
60 000
25 000
14 000
2. milletvekili
30 000
25 000
14 000
3. milletvekili
20 000
25 000
14 000
4. milletvekili
20 000
12 500
14 000
5. milletvekili
15 000
12 500
14 000
6. milletvekili
12 000
12 500
14 000
7. milletvekili
12 000
12 500
7 000
 
 
 
 
Partinin çıkardığı milletvekili sayısı
4
2
1
Milletvekili başına düşen oy
15 000
12 500
14 000

1. Milletvekilinin oy sayısı en yüksek olan parti çıkarır.

2. Milletvekili satırına geldiğimizde ise en yüksek oyu olan partinin oyları 2'ye bölünür. Çünkü ikinci bu partinin oyunu (milletvekili sayısı + 1)'e böleriz.. 2. Satırda da yine en yüksek oy A partisinde olduğu için 2. milletvekilini de A partisi çıkardı. 

3. Milletvekili satırında ise 2. satırda en yüksek oyu alan A partisinin ilk oyunu yani 60.000'i 3'e yani (milletvekili sayısı + 1)'e bölerek yazıyoruz. Neden 3'e böldük, çünkü 3. (2 + 1). En yüksek oy B partisinin olduğu için 3. Milletvekili B partisindendir.

4. Milletvekiline geldik, 3. Milletvekili satırındaki en yüksek oy B partisinde olduğu için 4. milletvekili satırına B partisinin oyunu 2'ye (milletvekili sayısı + 1)'ye bölerek yazıyoruz.

5. 6. ve 7. Milletvekili de aynı şekilde hesaplanır. Bu yönteme D'hondt yöntemi denir. 

Kolay yoldan yani D'hondt yöntemi ile milletvekili sayısını hesaplamak istiyorsanız http://dhontmilletvekili.hesaplamasistemi.com/ linkine tıklayarak millet vekili simülasyonuna ulaşabilirsiniz. Millet vekili hesaplamak bu kadar basit aslında.

Bu online aracı internetsiz ortamda kullanamayacağınız için size bizzat kendi ellerimde Fortran (Force) ile D'hont yöntemi ile milletvekili nasıl hesaplanır, kodladım. Aşağıdaki kodları alıp Force veya Fortranda çalıştırabilirsiniz.

Fortran Milletvekili Sayısı Hesaplama

Fortran'ı indirmek için buraya tıklayın.

Fortran'da yazılmış milletvekili hesaplama (D'Hondt yöntemiyle) kodlarını indirmek içinse buraya tıklayın. İndirdiğiniz derlenmiş dosyaya çift tıklamanız çalıştırmak için yeterlidir.

Derlenmiş dosyaya ait kodlama ise aşağıdaki şekilde, kopyala yapıştır yaparak kullanabilirsiniz.

D'Hondt Millet Vekili Hesaplama (Fortran, Force) Kodları

      program milletvekili
      dimension oylar(50), oylar_sbt(50), vekil(50)
      integer say, parti_sayisi, vekil_sayisi, oylar, oylar_sbt, vekil
      say=1
      write (*,*) 'DHONDT MİLLETVEKİLİ HESAPLAMA SİSTEMİ'
      write (*,*) '-----------------------------------------------'
      
      write (*,*) 'Seçime katılan parti sayısını girin:'
      read (*,*) parti_sayisi
      write (*,*) '-----------------------------------------------'
      
      do
      write (*,*) say, '. ŞEHİR İÇİN HESAPLAMA'
      write (*,*) 'şehre ait toplam milletvekili sayısını girin:'
      read (*,*) vekil_sayisi
      write (*,*) 'Partilerin aldçßç oylarç girin:'
      read (*,*) (oylar(i),i=1,parti_sayisi)
      do sbt = 1, parti_sayisi
      oylar_sbt(sbt)=oylar(sbt)
      end do
      
      do atama = 1, vekil_sayisi
      vekil(atama)=0
      end do
      
      write (*,*) 'Hesaplama tablosu -----------------------------'
      write (*,*) (oylar_sbt(i),i=1,parti_sayisi)
      do 20 satirlar = 1, (vekil_sayisi)
      islemdeki_oy=0
      do 10 en_buyuk_oy = 1, parti_sayisi
      if ((oylar(en_buyuk_oy)) .gt. islemdeki_oy) then
      islemdeki_oy=oylar(en_buyuk_oy)
      end if
   10 continue
      do 30 hesaba_basla = 1, parti_sayisi
      oy_guncelle=0
      if (islemdeki_oy .eq. (oylar(hesaba_basla))) then
      vekil(hesaba_basla)=vekil(hesaba_basla)+1
      oy_guncelle=((oylar_sbt(hesaba_basla))/(vekil(hesaba_basla)+1))
      oylar(hesaba_basla)=oy_guncelle
      end if
   30 continue
      if (satirlar .lt. vekil_sayisi) then
      write (*,*) (oylar(i),i=1,parti_sayisi)
      end if
   20 continue
   
      write (*,*) 'Milletvekili dağılımları ----------------------'
      write (*,*) (vekil(j),j=1,parti_sayisi)
      write (*,*) '-----------------------------------------------'
      say=say+1
      end do
      
      end


Bugün bir iyilik yap, bu yazıyı arkadaşlarınla paylaş :

BU YAZIYI OKUYANLAR BUNLARI DA OKUDU

YORUMLAR

  1. profilRamazan

    Teşekkürler peki araya barajı geçemeyen partiler girersen eolur

Yorum yap

Geçersiz bir mail adresi girdiniz. Lütfen tüm zorunlu alanları doldurun. *