الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

هجرة: خوارزمية جديدة لحساب التقويم الهجري

بدأه مؤيد السعدي في 8 يوليو 2008 · 6 رد · 3,242 مشاهدة · في الرياضيات والخوارزميات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

هجرة هو اسم المشروع

http://hijra.ojuba.org

الذي ترعاه أعجوبة وهو يصدر وفق رخصة وقف العامة

البرنامج الآن مكتوب بلغة بايثون وذلك لتسريع البرمجة وتسهيل كتابة إضافات لبرامج أخرى مثل

plasma و screenlets و desklets وغيرها

لكن من السهل نقل الخوارزمية إلى أي لغة أخرى

تقوم فكرة الخوارزمية على حسابات الأعداد الصحيحة وليس النسبية مما يلغي الأخطاء الناتجية عن التقريب في حسابات

float point operations

الخوارزمية مشروعة في الموقع السابق

يمكنك زيارة

www.ojuba.org

للمزيد من المعلومات عن أعجوبة

1
#2

السلام عليكم ,,

جميل جداً, و لكن هل هناك شرح للخوارزمية, أريد كتابة الخوارزمية بلغة ++C و ربما تجربة نقلها لـ Windows :)

تحياتي ,,

2
#3

السلام عليكم اخ مؤيد , واهلا وسهلا بك معنا ..

ومبروك افتتاح اعجوبة والخوارزمية الجديدة ..

وللذي لا يعرف الاخ مؤيد السعدي , هو مؤلف "كتاب لينكس الشامل" ..

تم تعديل هذه المشاركة بواسطة محمد معاشر في 15 يوليو 2008 في 09:49

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

------------------------------------------------------------------------------------------------

gazabigBanner.jpg

------------------------------------------------------------------------------------------------

#4

جميل جداً :D بس في حدا جربها؟

#5

اطلعت أخ مؤيد على الخوارزمية المطروحة في موقعك

لكني أرى أنها غير مفصلة

هل هناك إمكانية لمناقشتها

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#6

أعتذر لتأخري في الإجابة

هذا شرح مختصر للخوارزمية

أما الشرح المطول فهو في ملف

hijri.py

وهي لغة سهلة جدا وأي مبرمج سيفهم الخوارزمية إذا كان يعرف أي لغة أخرى

إليكم المقطع الذي يحب عدد أيام الشهر القمري

وهو من أهم أجزاء الخوارزمية


"""Return the number of days in a given hijri month M in a given Y"""
Mc = ( Y -1) *12 + M
if (((Mc+ __a_const) * __p_const) % __q_const) < __p_const : return 30
else: return 29
def hijri_month_days(Y,M):

حيث

__a_const

__p_const

__q_const

ثوابت معرفة في أول البرنامج


__q_const=360
__a_const=48
__p_const=191

تم تعديل هذه المشاركة بواسطة مؤيد السعدي في 22 يوليو 2008 في 17:50

#7

لم اطلع بعد علي الخوازمية المذكورة هنا، و احب التنويه انه فى كتاب Calendrical Calculations 3rd Edition الفصل السادس The Islamic Calendar يشرح خوارزمية قوية و مفصلة جدا و يمكن تضمينها بسهولة تامة داخل اى لغة تريد (قمت بتضمينها منذ فترة طويلة بالـ VB6 و كانت تعمل بشكل جيد).

و الله و لي التوفيق

مدونتي: C++ Tips and Tricks

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…