![]() |
|
كيفية حساب الزكاة - خاص بالمبرمجين (فقه برمجية) - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغات البرمجة الاخرى (http://vb4arb.com/vb/forumdisplay.php?fid=4) +--- قسم : قسم لغة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=18) +---- قسم : قسم مقالات vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=29) +---- الموضوع : كيفية حساب الزكاة - خاص بالمبرمجين (فقه برمجية) (/showthread.php?tid=40) |
كيفية حساب الزكاة - خاص بالمبرمجين (فقه برمجية) - السندبااد - 12-09-13 [CENTER]بسم الله الرحمن الرحيم كيفية حساب الزكاة - خاص بالمبرمجين (فقه برمجية) إعداد وشرح : شحادة بشير[/CENTER] السلام عليكم ورحمة الله وبركاته وأفضل الصلاة وأتم التسليم على سيدنا محمد وعلى آله وصحبه أجمعين ، وبعد : [CENTER]{وَأَقِيمُوا الصَّلَاةَ وَآتُوا الزَّكَاةَ وَمَا تُقَدِّمُوا لِأَنْفُسِكُمْ مِنْ خَيْرٍ تَجِدُوهُ عِنْدَ اللَّهِ إِنَّ اللَّهَ بِمَا تَعْمَلُونَ بَصِيرٌ} [البقرة : 110][/CENTER] أقدم لكم اليوم درساً فريداً أشرح من خلاله فقهياً وبرمجياً كيفية صياغة خوارزميات حساب الزكاة للأموال التي تجب فيها الزكاة في الشريعة الإسلامية ، وقد أطلقت على هذه السلسلة مصطلح (فقه برمجية) ربطاً مني للفقه بالبرمجة وإن شاء الله يكون هذا نافذةً لدروسٍ أخرى سواءً لي أو لغيري من الإخوة المبرمجين في المجال ذاته. بداية هنالك نقاطٌ لا بد من أخذها بعين الاعتبار ، وهي : 1- يجب أن يكون لديك إلمامٌ بسيط بإحدى لغات البرمجة ، علماً أنني سأشرح الخوارزميات بلغة الفيجوال بيسك. 2- خلافات الفقهاء سنحاول صياغتها برمجياً بطريقةٍ علميةٍ ذكيةٍ بحيث يفهم البرنامج النقاط التي يتفق فيها الفقهاء والنقاط التي يختلفون فيها ، فيجمع آراء المتفقين ويفرّق بين آراء المختلفين كما سنشاهد إن شاء الله تعالى في زكاة النقدين وزكاة حساب المال وغيرهما. 3- سنستخدم إن شاء الله مصطلحاتٍ معاصرةٍ يفهمها الفقيه والمبرمج وبالتالي يسهل على الاثنين فهم الخوارزميات والآراء. 4- النِّصاب : هو مقدار المال الذي لا تجب الزكاة في أقلٍ منه ، وهو يختلف باختلاف أجناس الأموال الزكوية كما سيمر معنا إن شاء الله. [CENTER]الأموال التي تجب فيها الزكاة :[/CENTER] زكاة بهيمة الأنعام : الإبل – البقر – الغنم زكاة النقدين (الذهب والفضة) : زكاة الذهب – زكاة الفضة زكاة الأموال وعُرُوض التجارة : حسب الذهب – حسب الفضة – حسب أقل النصابين زكاة الزروع والثمار : زكاة العسل زكاة الكنز والرِّكَاز أولاً : زكاة بهيمة الأنعام : بهيمة الأنعام هي : الإبل والبقر والغنم. والأنعام التي تجب فيها الزكاة هي : الأول – الإبل : نصاب الإبل : اختلف العلماء في نصاب الإبل على رأيين : # مذهب الجمهور (الشافيعة والحنابلة والمالكية) : من 1 - 4 لا شيء فيها. PHP كود : If Trim(TxtAnimal.Text) < 5 ThenTxtAnimal.Text ترمز للمربع الذي وضعت فيه عدد رؤوس الإبل التي تمتلكها. LblResultAnimal.Caption يرمز لمربع النتيجة التي ستخرج. TxtExplicationlAnimal.Text يرمز لمربع شرح النتيجة. من 5 - 9 فيها شاةٌ واحدةٌ. PHP كود : If TxtAnimal.Text < 10 And TxtAnimal.Text > 4 Thenنفس الكود السابق مع تعديل الأرقام فقط. من 15 - 19 فيها 3 شياهٍ. نفس الكود السابق مع تعديل الأرقام فقط. من 20 - 24 فيها 4 شياهٍ. نفس الكود السابق مع تعديل الأرقام فقط. من 25 - 35 فيها بنتُ مخاضٍ (أي لها سنةٌ ودخلت في الثانية ، سميت بذلك لأن أمها غالباً تكون مَخاضاً أي حاملاً). نفس الكود السابق مع تعديل الأرقام فقط. من 36 - 45 فيها بنتُ لبونٍ (أي أتمت سنتين ودخلت في الثالثة ، سميت بذلك لأن أمها آن لها أن تلد فتصير لبوناً أي ذات لبنٍ لأخرى غالباً). نفس الكود السابق مع تعديل الأرقام فقط. من 46 - 60 فيها حِقّةٌ (أي أتمت ثلاث سنواتٍ ودخلت في الرابعة ، سميت بذلك لأنها استحقت أن تُركَب ويُحمَل عليها ويطرقها الفحل). نفس الكود السابق مع تعديل الأرقام فقط. من 61 - 75 فيها جَذَعةٌ (أي أتمت أربع سنواتٍ ودخلت في الخامسة). نفس الكود السابق مع تعديل الأرقام فقط. من 76 - 90 فيها بنتا لبون. نفس الكود السابق مع تعديل الأرقام فقط. من 91 - 120 فيها حِقّتان. نفس الكود السابق مع تعديل الأرقام فقط. إذن إلى هنا الأمر سهلٌ برمجياً كما شاهدنا ، ولكن قال الجمهور : إذا زاد الرقم عن ذلك ففي كل 40 بنت لبونٍ ، وفي كل 50 حِقّةٌ ، وهنا بيت القصيد : يجب أن نأخذ الرقم وهذا الرقم يجب أن نعرف كم 40 يوجد فيه أو كم 50 يوجد فيه أو كم 50 وكم 40 يوجد فيه ؟! إذن هنالك عدة احتمالات. وهنا يجب أن نصيغ خوارزمية تقوم بعمليتين ، هما : 1- جعل الرقم قابلاً للقسمة على عشرة ؛ لأن العلماء تسامحوا في الوقص ، والوقص : هو الرقم الموجود بين فريضتين ؛ مثلاً : الرقم 235 موجود بين 230 و 240 فيأخذ حكم الرقم 230 ، وبما أن الجمهور قالوا : إذا زاد الرقم عن ذلك ففي كل 40 بنت لبونٍ ، وفي كل 50 حِقّةٌ فمنطقياً يجب أن يكون قابلاً للقسمة على عشرة. PHP كود : 'تعريف متغير لوضع عدد رؤوس الإبل فيه بعد جعلها قابلة للقسمة على عشرة2- هذه الخوارزمية يجب أن تكون فيها احتمالات ، وهي : - إذا كان عدد الرؤوس يقبل القسمة على 40 دون باقٍ أو على 50 دون باقٍ فنحن مخيرون بما نخرجه ؛ مثلاً : شخصٌ عنده 200 رأس من الإبل ، كما نلاحظ فإن العدد 200 يقبل القسمة على 40 ويقبل كذلك القسمة على 50 ، فنقول له : عليك أن تخرج 5 بنات لبون أو 4 حِقاق. PHP كود : If LeftOver Mod 40 = 0 And LeftOver Mod 50 = 0 Then- إذا كان عدد الرؤوس يقبل القسمة على 40 فقط دون باقٍ ، فالخارج يجب أن يكون من بنات لبون ؛ مثلاً : شخصٌ عنده 160 رأساً من الإبل ، كما نلاحظ فإن العدد 160 يقبل القسمة على 40 ولا يقبل القسمة على 50 ، في هذه الحالة نقول له : عليك أن تخرج 4 بنات لبون. PHP كود : If LeftOver Mod 40 = 0 Then- إذا كان عدد الرؤوس يقبل القسمة على 50 فقط دون باقٍ ، فالخارج يجب أن يكون من حِقاق ؛ مثلاً : شخصٌ عنده 150 رأساً من الإبل ، كما نلاحظ فإن العدد 150 يقبل القسمة على 50 ولا يقبل القسمة على 40 ، في هذه الحالة نقول له : عليك أن تخرج 3 حِقاق. PHP كود : If LeftOver Mod 50 = 0 Then- إذا كان عدد الرؤوس لا يقبل القسمة لا على 40 ولا على 50 ولكن مجموعه يحتوي على أربعين واحدة وخمسين واحدة أو على أربعين واحدة وعدة خمسينات أو بالعكس أي يحتوي على خمسين واحدة وعدة أربعينات ، أو يحوي عدة أربعينات وعدة خمسينات ، وهنا يجب أن نقوم ببرمجة حلقة نضع فيها متغير تزداد قيمته في كل دورة. ولنأخذ مثالاً افتراضياً : شخصٌ عنده عدد رؤوس من الإبل تبلغ 270 رأساً ، كم زكاة إبله ؟ الجواب هو : 3 بنات لبونٍ و 3 حِقاقٍ ، ولكن كيف عرفنا ؟ الجواب : عن طريق حلقةٍ برمجيةٍ تقوم بالآتي : PHP كود : 'متغير يمثل عدد مرات دوران الحلقةوهذا هو الكود النهائي والكامل لزكاة الإبل حسب مذهب الجمهور : PHP كود : 'زكاة الإبل عند الجمهور# مذهب الحنفية : الحنفية اتفقوا مع الجمهور في النصاب من أوله إلى 120 رأساً ، ولكنهم اختلفوا معهم فيما بعد 120 رأساً. وقد رأينا سابقاً مذهب الجمهور بأنه إذا زاد الرقم عن ذلك ففي كل 40 بنت لبونٍ ، وفي كل 50 حِقّةٌ. أما الحنفية فذهبوا إلى أن الفريضة تستأنف بعد 120 ، ففي كل خمسٍ مما زاد عليها شاةٌ بالإضافة إلى الحِقّتين ، فإن بلغ الزّائد ما فيه بنتُ مخاضٍ أو بنتُ لبونٍ وجبت إلى أن يبلغ الزائد ما فيه حِقّةٌ فتجب. قد يقول قائل : هذا الكلام الفقهي غير واضحٍ وخاصةً بالنسبة للمبرمج !!.. هذا صحيحٌ ، لذا دعوني أشرح لكم قول الحنفية من الناحية العلمية والبرمجية : الحنفية قصدوا بأن عدد رؤوس الإبل إذا كان أكثر من 120 فإننا نأخذ عن كل خمسين حِقّةٌ ، ثم ننظر إلى الباقي إن كان هنالك باقٍ : - فإذا كان أقل من 25 فتجب في كل 5 رؤوس شاة وفي 10 رؤوس شاتان وفي 15 رأساً ثلاث شياهٍ وفي 20 رأساً أربع شياهٍ ، طبعاً هذا بالإضافة للحِقاق المتوجبة عليك. - وإذا كان أكبر من 24 وأصغر من 36 فتجب فيه بنت مخاضٍ ، طبعاً هذا بالإضافة للحِقاق المتوجبة عليك. - وإذا كان أكبر من 35 وأصغر من 46 فتجب فيه بنت لبونٍ ، طبعاً هذا بالإضافة للحِقاق المتوجبة عليك. - وإذا كان أكبر من 45 وأصغر من 50 فتجب فيه حِقّة تضاف للحِقاق المتوجبة عليك. وإليك بعض الأمثلة حسب رأي الحنفية فيما زاد على 120 رأساً : ^ شخصٌ عنده 220 رأساً من الإبل : زكاته هي : أربع حِقاقٍ وأربع شياهٍ. (220 / 50 = 4 حِقاقٍ. الباقي من القسمة 20 فيها أربعة شياهٍ). ^ شخصٌ عنده 325 رأساً من الإبل : زكاته هي : ست حِقاقٍ وبنت مخاضٍ. (325 / 50 = 6 حِقاقٍ. الباقي من القسمة 25 فيه بنت مخاضٍ.) ^ شخصٌ عنده 295 رأساً من الإبل : زكاته هي : خمس حِقاقٍ وبنت لبونٍ. (295 / 50 = 5 حِقاقٍ. الباقي من القسمة 45 فيه بنت لبونٍ). ^ شخصٌ عنده 296 رأساً من الإبل : زكاته هي : ست حِقاقٍ. (296 / 50 = 5 حِقاقٍ. الباقي من القسمة 46 وفيه حِقّةٌ. أصبح المجموع ست حِقاقٍ). ^ شخصٌ عنده 500 رأسٍ من الإبل : زكاته هي : عشر حِقاقٍ. (500 / 50 = 10 حِقاقٍ. ولا يتوجب عليه شيءٌ آخر لأن الباقي من القسمة صفر). الأمر أظنه أصبح سهلاً من الناحية البرمجيّة ، وإليك الكود النهائي لزكاة الإبل حسب مذهب الحنفية : PHP كود : 'زكاة الإبل عند الحنفيةالثاني – البقر : نصاب البقر : نصابها محلُ اتفاقٍ بين العلماء ، وإذا فهمت نصاب زكاة الإبل حسب رأي الجمهور من الناحية البرمجية فسيسهل عليك فهم نصاب زكاة البقر ، وإليك التفصيل : من 1 - 29 لا شيء فيها. من 30 - 39 فيها تبيعٌ أو تبيعةٌ (عند الجمهور : هو ما أتم السنة ودخل في الثانية. وأما عند المالكية : فهو ما أتم السنتين ودخل في الثالثة). من 40 - 59 فيها مسنّةٌ (عند الجمهور : هي ما أتمت السنتين ودخلت في الثالثة. وأما عند المالكية : فهي ما أتمت ثلاث سنوات ودخلت في الرابعة). من 60 - 69 فيها تبيعان. من 70 - 79 فيها تبيعٌ ومسنّةٌ. من 80 - 89 فيها مسنّتان. من 90 - 99 فيها 3 أتبعةٍ. من 100 - 109 فيها تبيعان ومسنّةٌ. من 110 - 119 فيها تبيعٌ ومسنّتان. من 120 - 129 فيها 4 أتبعةٍ أو 3 مسنّاتٍ. وهكذا في كل ثلاثين تبيعٌ أو تبيعةٌ ، وفي كل أربعين مسنّةٌ. كما تشاهد فكرة الكود لا تختلف أبداً عن نصاب زكاة الإبل عند الجمهور اللهم إلا التعديل في الأرقام ، وإليك كود حساب زكاة البقر : PHP كود : 'زكاة البقرالثالث – الغنم : نصاب الغنم : نصابها محلُ اتفاقٍ بين العلماء ، وهو سهلٌ للغاية ، وإليك التفصيل : من 1 - 39 لا شيء فيها. من 40 - 120 فيها شاةٌ. من 121 - 200 فيها شاتان. من 201 - 399 فيها 3 شياهٍ. من 400 - 499 فيها 4 شياهٍ. من 500 - 599 فيها 5 شياهٍ. وهكذا ما زاد عن ذلك في كل مائة شاةٍ شاةٌ. أظن أن أي مبرمجٍ مهما كان مستواه يستطيع كتابة كود زكاة الغنم ، وإليكم كود حساب زكاة الغنم : PHP كود : 'زكاة الغنمRE: كيفية حساب الزكاة - خاص بالمبرمجين (فقه برمجية) - allayl - 13-09-13 شكرآ اخي السندباد نتعلم من الكثير و الكثير RE: كيفية حساب الزكاة - خاص بالمبرمجين (فقه برمجية) - ابو ابراهيم - 13-09-13 مرحبا اخي السندبااد وشكرا لك على هالمشاركة في الحقيقة هذة المشاركة من المشاركات الهادفة سدد الله خطاك اخي ونفعنا بعلمك وعملك RE: كيفية حساب الزكاة - خاص بالمبرمجين (فقه برمجية) - Nŏ Coммεητ - 13-09-13 ماشاء الله تبارك الله الله يجزاك خير ويوفقك مجرد راي لو يكون مشروع ويرفع افضل عموما سلمت الايادي ماقصرت ___________ دمت بخير RE: كيفية حساب الزكاة - خاص بالمبرمجين (فقه برمجية) - السندبااد - 13-09-13 [COLOR="Red"]المصدر :[/COLOR] كود : http://shhada.net/articles.php?action=show&id=16RE: كيفية حساب الزكاة - خاص بالمبرمجين (فقه برمجية) - AGASHE - 13-09-13 موضوع جميل و مفيد لكل المبرمجين العرب جزاك الله كل خير RE: كيفية حساب الزكاة - خاص بالمبرمجين (فقه برمجية) - mohammed moh - 21-09-13 السلام عليكم و رحمة الله
بارك الله فيك أخي على الشرح
و ربي يجازيك خيرا إن شاء الله
RE: كيفية حساب الزكاة - خاص بالمبرمجين (فقه برمجية) - ahmed3d - 12-10-13 مشكور اخي على الموضوع RE: كيفية حساب الزكاة - خاص بالمبرمجين (فقه برمجية) - king2512010 - 02-08-14 جزاك الله خيرا اخى |