PageRenderTime 48ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/info/doc/guide.md

https://bitbucket.org/seininn/armath.js
Markdown | 251 lines | 150 code | 101 blank | 0 comment | 0 complexity | d39f0d1be2b1745989172b36db9851fb MD5 | raw file
  1. نسخة
  2. ----
  3. تستطيع أن تحصل على نسخة من خلال [موقع المشروع التطويري]. إصدارات المشروع تحمل رقم
  4. الإصدار ضمن اسم الملف، فإسم ملف [الإصدار الأول] للمشروع هو
  5. armath.ver1.js
  6. بينما تتغير `ver1` إلى `ver2` للإصدار الثاني، وهكذا.
  7. [لموقع المشروع التطويري]:https://bitbucket.org/seininn/armath.js/downloads
  8. [الإصدار الأول]:https://bitbucket.org/seininn/armath.js/downloads/armath.ver1.js
  9. إضافة المجمع إلى موقعك
  10. ----------------------
  11. يمكنك أستخدام المجمع مباشرة بمجرد إضافته إلى صفحة HTML، وذلك من خلال **معلم** `script`
  12. المعتاد. لصفحات الـHTML5:
  13. <script type="text/javascript" src="armath.ver1.js" >
  14. غيّر `ver1` إلى الإصدار المستخدم.
  15. للمجمع طريقتين في ترجمة العبارات الرياضية في صفحات الـHTML. أولى الطريتين هي
  16. ترجمة محتوى جميع المعلمات المصنفة بـ`armath-eq` في الصفحة بغض النظر عن نوعها، مثل:
  17. <div class="armath-eq">
  18. 1 = 1\2 + 1\4 + 1\8 + 1\16 + ...
  19. </div>
  20. وذلك من خلال تنفيذ الدالة `armath_render`. (يمكنك وضعها في `onload` المعلم `body`)
  21. الطريقة الثانية هي ان تمرر سلسلة محارف إلى الدالة `armath_render_string`، التي
  22. تترجم السلسلة إلى HTML، ثم ترجعها على هيئة سلسلة HTML.
  23. فيما يلي روابط لأمثلة للطريقتين -إطلع على مصدر الصفحتين:
  24. * [الطريقة الأولى]
  25. * [الطريقة الثانية]
  26. [الطريقة الأولى]:examples/armath_render.html
  27. [الطريقة الثانية]:examples/armath_render_string.html
  28. تغيير الإعدادات الافتراضية
  29. ------------------------
  30. يمكنك تغيير ببعض جوانب عمل المجمع من خلال تغيير قيم متغيرات معينة، وذلك من خلال
  31. وضع `true` أو `false` بالمتغيّر كما في السطر التالي (والذي يؤثر على رسم الأرقام
  32. كما سيتقدم):
  33. var armath_translate_numrals = false;
  34. فيما يلي أسماء المتغييرات والجوانب التي تأثر عليها:
  35. * المتغير `armath_translate_numrals` يحدد إذا ما كانت الأرقام العربية الغربية تترجم
  36. لنظيراتها الشرقية. `true` لسماح بالترجمة بينما `false` تمنعها. القيمة الإفتراضية
  37. هي `true`.
  38. وصف العبارات الرياضية
  39. ---------------------
  40. وصف العبارة الرياضية هو سلسلة الحروف والرموز التي يستقبلها المجمع ويترجمها إلى
  41. معادلات. تنقسم مكونات الوصف ثلاثة أنواع:
  42. 1. إختصارات
  43. 2. بيانات
  44. 3. شواذ
  45. [الاختصارات] هي كلمات أو رموز معينة لها آثار خاصة، ويمكنها التأثير على ما يليها
  46. وما يسبقها، وقد لا يتعدى أثرها نفسها. الإختصارات تسبق بالرمز `$` إن كانت كلمات.
  47. قد يكون للأختصارات **مدخلات**، وأن كان كذلك، فإنها تكون إلزامية ولا يمكن
  48. تركها. تحدد المدخلات بإحاطتها بأقواس وإلصاقها بلإختصار نفسه. أمثله على ذلك:
  49. $جذر(2)(9) = 3
  50. <div class="armath-eq" style="width:88%;text-align:center;margin-left:20px;margin-right:20px;border:1px dashed black"> $جذر(2)(9) = 3 </div>
  51. $جذر()(4) = 2
  52. <div class="armath-eq" style="width:88%;text-align:center;margin-left:20px;margin-right:20px;border:1px dashed black"> $جذر()(4) = 2 </div>
  53. $ضخم( $لامدا )
  54. <div class="armath-eq" style="width:88%;text-align:center;margin-left:20px;margin-right:20px;border:1px dashed black"> $ضخم( $لامدا ) </div>
  55. $لانهاية
  56. <div class="armath-eq" style="width:88%;text-align:center;margin-left:20px;margin-right:20px;border:1px dashed black"> $لانهاية </div>
  57. قد يلي الإختصار مدخلاته في بعض الحالات:
  58. (1)\(0) = $لانهاية
  59. <div class="armath-eq" style="width:88%;text-align:center;margin-left:20px;margin-right:20px;border:1px dashed black"> (1)\(0) = $لانهاية </div>
  60. وقد يكون للعملية الواحدة عدة إختصارات:
  61. $كسر(1)(0) = $لانهاية
  62. <div class="armath-eq" style="width:88%;text-align:center;margin-left:20px;margin-right:20px;border:1px dashed black"> $كسر(1)(0) = $لانهاية </div>
  63. يمكنك أن تطلع على كافة الإختصارات وعدد مدخلاتها في [صفحة الاختصارات].
  64. أما البيانات، فهي بدورها تنقسم إلى قسمين: بيانات مترابطة وغير مترابطة. أما البيانات
  65. المترابطة تتألف من الحروف العربية و الأرقام و الرمزين `.` و `,`، وأما البيانات الغير
  66. مترابطة، فهي تشمل ما دون ذلك.
  67. للبيانات المترابطة خاصية جديرة بالذكر، ألا وهي أمكانية إهمال أقواس الإختصارات معها.
  68. 1\2 + 1\4 = 0,75
  69. <div class="armath-eq" style="width:88%;text-align:center;margin-left:20px;margin-right:20px;border:1px dashed black"> 1\2 + 1\4 = 0,75 </div>
  70. الشوذ عبارة عن "إختصارات" غير خاضعة لقوانين وقيود الإختصارات الطبيعية. أهم هذه الشواذ هي إختصار المصفوفات الذي يتكرر فيه رمزه في صف\سطر وصيغتها هي:
  71. #(أ)(ب)(ج)
  72. #(د)(هـ)(و)
  73. #(ز)(ح)(ط)
  74. <div class="armath-eq" style="width:88%;text-align:center;margin-left:20px;margin-right:20px;border:1px dashed black">#(أ)(ب)(ج)#(د)(هـ)(و)#(ز)(ح)(ط)</div>
  75. ملاحظة:
  76. * لا مانع من كتابة سطور المصفوفة على سطر واحد: `#(أ)(ب)(ج)#(د)(هـ)(و)#(ز)(ح)(ط)`.
  77. * يمكنك إستخدام الإختصار الشاذ `¦` (وليس |) لوصف المتجه الرأسي بدلا من إختصار المصفوفة.
  78. هناك ثلاثة أنواع من الأقواس "البدائية" التي يوفرها المجمع. الأقواس الهلالية، والأقواس المربعة، والمطلق. وتكتب هذه الأقواس في وصف العبارة كما تكتب في أي مكان آخر.
  79. (1\3)
  80. <div class="armath-eq" style="width:88%;text-align:center;margin-left:20px;margin-right:20px;border:1px dashed black">(1\3)</div>
  81. [ #(أ)(ب)(ج)
  82. #(د)(هـ)(و)
  83. #(ز)(ح)(ط) ]
  84. <div class="armath-eq" style="width:88%;text-align:center;margin-left:20px;margin-right:20px;border:1px dashed black">[#(أ)(ب)(ج)#(د)(هـ)(و)#(ز)(ح)(ط)]</div>
  85. وأختم بأن أسرع طريقة لتعلم كتابة العبارات الرياضية هي النظر إلى الأمثلة في [صفحة النماذج] وإلى [صفحة الاختصارات]، وقرأة فقرة
  86. **صيغة وصف العبارات الرياضية** التالية.
  87. [صفحة النماذج]:test.html
  88. [صفحة الاختصارات]:reference.html
  89. [الاختصارات]:reference.html
  90. صيغة وصف العبارات الرياضية
  91. --------------------------
  92. طريقة وصف العبارات هي نفسها التي تستخدم في وصف العبارات في الآلات الحاسبة مع
  93. الإختلافات التالية:
  94. * دور الفراغات الرأسية والأفقية (بشكل عام) هو فصل أجزاء الوصف عن بعضها بعض،
  95. والفراغ الواحد مثل مجموعة الفراغات المتتالية إذ لا فرق بينهما بنسبة للمجمع.
  96. لهذا يمكنك إستخدام الفراغات كيف ما شئت شريطة ألا تستخدم إلا في مواضع التي
  97. يمكنك استخدامها فيها. مثال:
  98. س + 1 = 0 يكافئ س+1=0 ويكافئ س
  99. +1
  100. =
  101. 0
  102. * أركان العبارة إما حروف عربية، أو أرقام (هندية أكانت او عربية).
  103. * الحروف العربية المتتالية او الأرقام المتتالية تأخذ على انها شيء واحدة،
  104. بينما أي رمز آخر يؤخذ منفصل بمفرده بغض النظر عن ما إذا تبعه رمز مشابه.
  105. * تُسبق الإختصارات بإشارة $ إذا كانت تكتب بحروف عربية.
  106. * تستقبل الإختصارات المدخلات، إن استلزمتها، وهي **محاطة بالأقواس**، ويمكن
  107. إهمال الأقواس إن كانت المدخلات حروف عربية او أرقام فقط وتجب الأقواس لما دون
  108. ذلك.
  109. $كسر(5)(س^2) 5
  110. -------
  111. س²
  112. * **لا يمكن إضافة الفراغات بين المدخلات. لأن الفراغ علامة إنتهاء مدخلات الإختصار.**
  113. $جذر(3) (8) استخدام خاطئة
  114. $جذر(3)(8) إستخدام صحيح
  115. * يجب أن يتوافق عدد المدخلات مع عدد الذي يتوقعه الأختصار، ولا يمكن ترك مدخل وإن
  116. لم يكن مستخدما (يسمح بتمرير أقواس فارغة لتحل مكان المُدخل الناقص). عدد المدخلات
  117. مبين في [صفحة الاختصارات].
  118. $جذر(س) استخدام خاطئة
  119. $جذر()(س) إستخدام صحيح
  120. * قد يكون الإختصار مثل `^` رمز وليس كلمة كـ`جذر`.
  121. ()^() الرمز ^ هو اختصار للأس
  122. * قد يكون للاختصار اختصار آخر مكافئ له.
  123. $كسر()() مكافئ لـ ()\() لاحظ ان المدخل الأول *سبق* الإختصار
  124. * بعض الاختصارات تأخذ ما يسبقها اول مدخل لها. الاختصارات التي تعمل بهذه الطريقة معلمة
  125. بـ"نعم" في خانة "يتبع مدخله الأول" في [صفحة الاختصارات].
  126. (1)\(2)
  127. * لا مانع من عدم إحاطة المدخلات بالأقواس إذا كانت ارقاما او حروف عربية، وتلزم الأقواس
  128. لما دون ذلك.
  129. 1\3 استخدام صحيح
  130. كتلة\الحجم استخدام صحيح
  131. v\m استخدام خاطئة
  132. (v)\(m) استخدام صحيح
  133. طلب
  134. ---
  135. المشروع ما زال في طوره الأول، وفي حاج ماسة إلى التعديلات. لهذا إرسال تقرير عن أي
  136. خطأ تصادفه حتى أستطيع تحسينه.
  137. للاتصال
  138. ------
  139. يمكنك الإتصال بي من خلال [صفحة الإتصال] الخاصة بي او بفتح [ملف تحسين جديد] لدى موقع
  140. المشروع التطويري. يمكنك أيضا ترك رسالة في [منطقة الحوارات] الخاصة بهذا المشروع.
  141. [صفحة الإتصال]:http://people.sigh.asia/~sulaiman/contact
  142. [ملف تحسين جديد]:https://bitbucket.org/seininn/armath.js/issues/new
  143. [منطقة الحوارات]:http://127.0.0.1:8000/discuss.html
  144. ملحق أ - مصطلحات
  145. ----------------
  146. * **أرمث** إسم هذا المشروع والمجمع البرمجي الناتج عنه.
  147. * **اختصارات** كلمات أو رموز تدل على عملية أو رمز رياضية. مثال: $كسر $مجموع $لامدا
  148. * **مدخلات** معلومات إضافية التي يستلزمها الاختصار. مثل العدد 1 و 2 في "$كسر(1)(2)"
  149. * **وصف** سلسلة الحروف والرموز التي يستقبلها أرمث ويترجمها إلى معادلات
  150. * **معلم** Tags