إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

تمرين .......كيف نحسب عدد المقاعد في الانتخابات

تقليص
هذا الموضوع مغلق.
X
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • تمرين .......كيف نحسب عدد المقاعد في الانتخابات

    السلام عليكم ورحمة الله وبركاته

    في اي بلد هناك انتخابات مهما كانت وهناك حسابات لحساب المقاعد اما في برلمان او بلديات او غيرها
    لناخذ مثلا الانتخابات البلدية ( الجزائر نموذح )

    كيف تحسب :
    ----------------------------------------------
    مثال على توزيع المقاعد


    يتم توزيع المقاعد بالتناسب حسب عدد الأصوات التي تحصلت عليها كل قائمة مع تطبيق قاعدة الباقي الأقوى. لا تؤخذ في الحسبان عند توزيع المقاعد القوائم التي لم تتحصل على 5% على الأقل من الأصوات المعبر عنها.


    و لتوضيح هذا التوزيع، نأخذ مثال عن دائرة انتخابية لها الحق في 4 مقاعد و التي سجلت مشاركة 5 قوائم في الاقتراع. بعد انتهاء التصويت، بلغ عدد الأصوات المعبر عنها 106800 صوتا موزعا كما يلي:


    - القائمة أ = 45.500

    - القائمة ب = 33.900

    - القائمة ج = 17.800

    - القائمة د = 6.400

    - القائمة هـ = 3.200



    يبلغ حد الخمسة بالمائة 5% من الأصوات المعبر عنها، الذي لا يسمح بتوزيع المقاعد، في مثالنا هذا 5340. و بالتالي فإن القائمة هـ تجد نفسها مقصاة من هذا التوزيع.



    يتم توزيع المقاعد على القوائم الباقية على حسب المعامل الانتخابي الذي يتم حسابه كما يلي:


    الأصوات المعبر عنها (منقوصة أصوات القوائم التي تحصلت على أقل من 5 % من الأصوات المعبر عنها)


    __________________________________________________ ______
    المعامل الانتخابي =


    عدد المقاعد المطلوب شغلها

    في مثالنا، يساوي المعامل الانتخابي
    25900 =

    106800 - 3200


    ____________________
    =

    4



    و بهذا، فإن لكل جزء بلغ25900 صوتا الحق في مقعد.




    إذن، يتم التوزيع الأول للمقاعد على القوائم الخمسة المشاركة في الاقتراع كما يلي:



    - القائمة أ التي تحصلت على 45500 صوت تحوز على مقعد واحد و تحتفظ ببقية 19600 صوت.

    - القائمة ب المتحصلة على 33900 صوت تحوز على مقعد واحد و تحتفظ ببقية 8000 صوت.

    - القائمة ج المتحصلة على 17800 صوت لا تحوز على أي مقعد و تبقى محتفظة بـ 17800 صوت.

    - القائمة د المتحصلة على 6400 صوت لا تحوز على أي مقعد و تبقى محتفظة بـ 6400 صوت.

    - تقصى القائمة هـ لعدم استيفائها الحد الأدنى لـ 5 ℅ من الأصوات المطلوبة المعبر عنها.



    يلي هذا التوزيع، توزيع ثان و يتمثل في التوزيع عن طريق التناقص لعدد المقاعد المتبقية على القوائم المتحصلة على أقوى نسبة باقية من الأصوات.


    و بهذا نتحصل على:



    - القائمة أ : 19600 صوت

    - القائمة ج : 17800 صوت

    - القائمة ب : 8000 صوت

    - القائمة د : 6400 صوت


    بالنظر إلى أنه بقي من التوزيع الأول مقعدان للتوزيع، تحوز القوائم أ و ج بالتالي كلاهما على مقعد لتحصلهما على أقوى عدد من الأصوات الباقية.



    يكون التوزيع النهائي للأصوات في مثالنا كالتالي:



    - القائمة أ = 1+1 = 2 ......... مقعد للنساء

    - القائمة ب = 1

    - القائمة ج = 1

    - القائمة د = 0

    بالنسبة لنسبة المرأة في المقاعد فهي ثلث المقاعد ......و اذا كان مقعدين فلها مفعد اليا
    -----------------------------------------

    ضعوا في مشروعي غريد
    و نريد كود يحسب ما سبق

    بالتوفيق

  • #2
    ملف مفتوح
    https://up.top4top.net/downloadf-694gxz4t1-rar.html
    --------------------
    ننتظر الكود في زر حساب المقاعد
    ---------------

    تعليق


    • #3
      موفق بإذن الله ... لك مني أجمل تحية .

      تعليق


      • #4
        لا لتسييس الاوتوبلاي ...
        هربنا.. من تلك الأجواء وجدناها تمرينا
        أخي الوقت جد جد جد ضيق للمشاركة معكم نرجو التماس الأعذار كتبنا تشجيعا ولم نطلع على شيء

        تعليق


        • #5
          المشاركة الأصلية بواسطة ثامر أبو بلقيس مشاهدة المشاركة
          لا لتسييس الاوتوبلاي ...
          هربنا.. من تلك الأجواء وجدناها تمرينا
          أخي الوقت جد جد جد ضيق للمشاركة معكم نرجو التماس الأعذار كتبنا تشجيعا ولم نطلع على شيء
          لا عليك مجرد تحفيز و تفعيل للقسم
          ساضع المحاولة التي وجدتها

          تعليق


          • #6
            اولا القانون الجديد ينص على 7 بالمائة تعتبر قائمة مقصبة بدلا من 5 بالمائة سابقا
            ثانيا نضيف paragraph1 لعرض الثائمة الناجحة
            ثالثا نضيف paragraph2 للوائم المقصية عوض label...par
            في زر عدد المقاعد

            كود PHP:
            som 0;
            Label.SetText("par""")
            Ns  tonumber(Input.GetText("Input2"));
            max tonumber(Input.GetText("Np"));
            ---------
            sommme ------------------
            for 
            i=1,max do
             if 
            Grid.GetCellText("Grid1",i,2) == "" then
             n1 
            ;
             
            Grid.SetCellText("Grid1",,0);
             else
            n1 tonumber(Grid.GetCellText("Grid1",i,2));
            end
            som 
            som n1;
            end
            Label
            .SetText("Nsom"som);

            -------------- 
            pourcentage ------------
            gani={};
            for 
            i=1,max do
            n1 tonumber(Grid.GetCellText("Grid1",i,2)); gani[i] = n1;
            Math.Round(n1*100/som,2);
            Grid.SetCellText("Grid1",,p);
            end

            ------------ 7liste eliminiée -------------

            min *som 100 ;
            par ={}; d=1;
            for 
            i=1,max do
            ng tonumber(Grid.GetCellText("Grid1",i,2));
            part Grid.GetCellText("Grid1",i,1);
              if 
            ng min then
              par
            [d] =  part
              else 
            Table.Remove(par,i);
              
            end d=d+1
            end

            igli 
            ="";
            for 
            i,n in pairs(par) do
            igli igli .." - " ..n
            end 
            Paragraph
            .SetText("Paragraph2"igli)
            ------------ 
            nouveau somme -------------

            for 
            i=1,max do
            n1 tonumber(Grid.GetCellText("Grid1",i,2));
              if 
            n1 min then
              som 
            som n1 ;
              
            end
            end


            Label
            .SetText("safi"som);
            ref Math.Floor(som Ns); 
            Label.SetText("ref"ref);
            gh={}; 
            for 
            i=1,max do
            n1 tonumber(Grid.GetCellText("Grid1",i,2));
            part Grid.GetCellText("Grid1",i,1);
            num Math.Floorn1 ref) ;
            Grid.SetCellText("Grid1",,num);
            Grid.SetCellText("Grid1",,num);
            res n1 - (num ref);
             if 
            n1 min then
             Grid
            .SetCellText("Grid1",,0);
             
            res ;
             
            end
            Grid
            .SetCellText("Grid1",,res);
            gh[i] = res;
            end

            Table
            .Sort(ganinil); Table.Count(gani);
            for 
            i=1,max do
            nn tonumber(Grid.GetCellText("Grid1"i2));
              if 
            nn == gani[vthen 
            part 
            Grid.GetCellText("Grid1"i1);
            Paragraph.SetText("Paragraph1",part.. " ÇáÞÇÆãÉ ÇáÊí ÝÇÒÊ ÈÑÆÇÓÉ ÇáãÌáÓ ÇáÔÚÈí ÇáÈáÏí åí ") break
            end
            end
            ------------------
            Table.Sort(ghnil);
            for 
            i1,max do
            --------------
            repeat
            Nsig 
            0;

            for 
            i=1,max do
            num tonumber(Grid.GetCellText("Grid1",i,6));
            Nsig Nsig num ;
            end


            ------sige reste--------
            if 
            Nsig Ns then
            for i=1,max do
            n1 =  tonumber(Grid.GetCellText("Grid1",i,5));
            num tonumber(Grid.GetCellText("Grid1",i,6));
              if 
            n1 == gh[#gh] then num = num+1;
              
            Grid.SetCellText("Grid1",,num);
              
            gh[i] = 0
              
            Nsig Nsig+1;
               
            SF Math.Floor(num /3); 
                if 
            num == 2 then SF 1 end  
                Grid
            .SetCellText("Grid1",,SF);
             
              else
              
            Grid.SetCellText("Grid1",,num);
               
            SF Math.Floor(num /3); 
                if 
            num == 2 then SF 1 end  
                Grid
            .SetCellText("Grid1",,SF);
              
            end
            end
            end
            -----------------
            until Nsig >= Ns;
            end 

            تعليق


            • #7
              المشاركة الأصلية بواسطة عبد الهادي بهاب مشاهدة المشاركة
              لا عليك مجرد تحفيز و تفعيل للقسم
              ساضع المحاولة التي وجدتها

              أنا كذلك أمزح أخي الكريم ... ومازال 5 سنوات على استعمال الانجاز ( إن أطال الله في أعمارنا) لذلك الشغل في وقته مليح
              +
              الدلفي لم يترك شيء

              تعليق


              • #8
                التنفيذي




                https://up.top4top.net/downloadf-695lpnr91-rar.html
                التعديل الأخير تم بواسطة عبد الهادي بهاب; الساعة 27-11-2017, 09:06 PM.

                تعليق

                مواضيع تهمك

                تقليص

                المنتدى: القسم العام نشرت بواسطة: Reem2Rabeh الوقت: 04-23-2025 الساعة 04:27 PM
                المنتدى: ضبط وتوكيد الجودة نشرت بواسطة: HeaD Master الوقت: 04-15-2025 الساعة 09:30 AM
                المنتدى: التصنيع والانتاج نشرت بواسطة: HeaD Master الوقت: 04-11-2025 الساعة 01:08 PM
                المنتدى: القسم العام نشرت بواسطة: نوال الخطيب الوقت: 03-19-2025 الساعة 03:07 AM
                المنتدى: الكمبيوتر والإنترنت نشرت بواسطة: عوض السوداني الوقت: 03-18-2025 الساعة 07:22 AM
                يعمل...
                X