حل جملة معادلات آنية
*(-------------------------------------------------------------------- برنامج لحل جملة معادلات آنية من الدرجة الأولى بطريقة غاوس-جوردان باستخدام الأقطاب العظمى من دون تبديل الأسطر أو الأعمدة جميع الحقوق محفوظة للمؤلف، د. محمد عمار السلكة ، 1420 هجري - 2000 م ---------------------------------------------------------------------)* البديل عدد_المعادلات_الأعظم = " 30 " النوع مصفوفة : صفيفة [عدد_المعادلات_الأعظمي] [عدد_المعادلات_الأعظمي + 1] من حقيقي المتحول ص : مصفوفة المتحول سطر_القطب ، عمود_القطب : صغير المتحول سطر_لقطب_سابق ، عمود_لقطب_سابق : صفيفة [عدد_المعادلات_الأعظمي] من صغير المتحول د ، ذ : صغير المتحول ن : صغير المتحول قيمة_القطب : حقيقي الخوارزمية أقرأ_المعادلات ( مص : مصفوفة - ن : صغير) { أكرر { أكتب "أدخل عدد المعادلات : " أقرأ ن إذا (ن > عدد_المعادلات_الأعظمي) أكتب "لا يمكن حل هذا العدد الكبير من المعادلات - الرجاء إدخال عدد آخر:" ، سطر } حتى (ن <= عدد_المعادلات_الأعظمي) المتحول د ، ذ : صحيح أكتب "أدخل المصفوفة: "، سطر أكرر من د=1 إلى ن أكرر من ذ=1 إلى ن+1 أقرأ مص[د][ذ] } الخوارزمية أكتب_المعادلات ( مص : مصفوفة - ن : صغير) { المتحول د ، ذ: صحيح أكرر من د=1 إلى ن { أكرر من ذ=1 إلى ن { إذا (مص[د][ذ] >= 0) و (ذ <> 1) أكتب "+" أكتب مص[د][ذ]، " س" ، ذ ، " " } أكتب " = " ، مص[د][ن+1] أكتب سطر } } التابع القطب_التالي (ص: مصفوفة - ن : صغير - سطر_القطب ، عمود_القطب : صغير ) -> حقيقي { المتحول د ، ذ : صغير المتحول قيمة_القطب : حقيقي قيمة_القطب = 0 أكرر من د =1 إلى ن إذا (سطر_لقطب_سابق [د] = 0) أكرر من ذ =1 إلى ن إذا (عمود_لقطب_سابق [ذ] = 0 ) إذا | ص[د][ذ] | > | قيمة_القطب | { قيمة_القطب = ص [د][ذ] سطر_القطب = د عمود_القطب = ذ } أرجع (قيمة_القطب) } أقرأ_المعادلات (ص ، ن) أكتب "جملة المعادلات :" ، سطر أكتب_المعادلات (ص ، ن) أكرر من د = 1 إلى ن+1 { سطر_لقطب_سابق [د] = 0 عمود_لقطب_سابق [د] = 0 } قيمة_القطب = القطب_التالي ( ص ، ن ، سطر_القطب ، عمود_القطب) أكرر طالما قيمة_القطب <> 0 { !! أقسم سطر القطب على قيمة القطب أكرر من ذ =1 إلى ن+1 ص[سطر_القطب] [ذ] = ص[سطر_القطب] [ذ] ÷ قيمة_القطب أكرر من د = 1 إلى ن إذا (د <> سطر_القطب) { المتحول م : حقيقي م = ص [د][عمود_القطب] أكرر من ذ = 1 إلى ن+1 إذا (عمود_لقطب_سابق [ذ] = 0) ص[د][ذ] = ص[د][ذ] - م × ص[سطر_القطب][ذ] } سطر_لقطب_سابق [سطر_القطب] = عمود_القطب عمود_لقطب_سابق [عمود_القطب] = سطر_القطب قيمة_القطب = القطب_التالي ( ص ، ن ، سطر_القطب ، عمود_القطب)} أكتب "الحل :" ، سطر أكرر من د=1 إلى ن أكتب "س" ، سطر_لقطب_سابق [د] ، " = " ، ص[د][ن+1] ، سطر
|

|
رسم الأمواج الجيبية
*(--------------------------------------------------------------------------------------------- برنامج لرسم الأمواج الجيبية جميع الحقوق محفوظة للمؤلف، د. محمد عمار السلكة ، 1420 هجري - 2000 م ------------------------------------------------------------------------------------------------)* أدرج "ألوان" الثابت بي = 3.14 الثابت عدد_النقاط = 40 !! عدد نقاط الرسم في الدورة الواحدة
المتحول التواتر : حقيقي !! تواتر الموجة الجيبية (هرتز=دورة/الثانية) المتحول الدور : حقيقي !! دور الموجة الجيبية (ثانية) المتحول المطال : حقيقي !! مطال الموجة الجيبية المتحول النافذة : حقيقي !! قيمة النافذة الزمنية (ثانية) المتحول أكبر_مطال : حقيقي !! قيمة أكبر_مطال المتحول مقياس_س ، مقياس_ع : حقيقي !! مقياس الرسم بالاتجاه س (نقطة/ثانية) و الاتجاه ع المتحول اللون : صحيح !! رقم اللون المستخدم في رسم المنحني المتحول تفاز : حقيقي !! القفزة الزمنية لرسم نقاط المنحني الجيبي المتحول ز1، ز2 : حقيقي !! الحظة الزمنية ز1 و ز2 المتحول ع1 ، ع2 : حقيقي !! قيمة المطال الموافقة للحظة الزمنية ز1 و ز2 على التوالي المتحول ج : حرف !!أرسم مستقيم من (0،ععظ÷2) إلى (سعظ،ععظ÷2) !!أرسم مستقيم من (سعظ÷2،0) إلى (سعظ÷2، ععظ) أكتب "أدخل قيمة النافذة الزمنية (ثانية) : " أقرأ النافذة أكتب "أدخل قيمة المطال الأعظمي للأمواج:" أقرأ أكبر_مطال !! أحسب مقياس الرسم بالاتجاه س و ع
مقياس_س = حدس ÷ النافذة مقياس_ع = حدع ÷ (2 × أكبر_مطال) اللون = 0 أكرر { اللون = اللون + 1 أكتب "أدخل قيمة التواتر (هرتز) :" أقرأ التواتر الدور = 1 ÷ التواتر تفاز = الدور ÷ عدد_النقاط أكتب "أدخل قيمة المطال: " أقرأ المطال أنتقي_اللون (اللون) أجعل ز1 = 0 أكرر طالما ز1 < النافذة { أجعل ز2= ز1 + تفاز أجعل ع1 = حدع ÷2 + مقياس_ع × المطال × جب (ز1 ×2 × بي × التواتر ) أجعل ع2 = حدع ÷2 + مقياس_ع × المطال × جب (ز2 × 2 × بي × التواتر) أرسم مستقيم من (ز1 × مقياس_س ،ع1) إلى (ز2 × مقياس_س ،ع2) أجعل ز1 = ز1 + تفاز } أكتب "هل تريد رسم منحني آخر؟ (ن=نعم ، ل=لا) : " أقرأ ج } حتى ج =؟ ‘ل‘
|

|
رسم منحني التابع تا (س)
يبين المثال التالي برنامجاً يمكنه رسم المنحني البياني لدالة لها الشكل العام ع = تا (س). ويمكن استخدام هذا البرنامج لرسم المنحنى البياني لأي دالة بكتابة معادلتها في جسم الدالة تا المعرف في بداية البرنامج.
|
*(-------------------------------------------------------------------- المحتوى : برنامج بلغة ج لرسم منحني التابع ع = تا(س) المستوى : ثانوي/جامعي جميع الحقوق محفوظة للمؤلف: د. محمد عمار السلكة ، 1420 هجري - 2000 م ---------------------------------------------------------------------)* !!العدد الأعظمي للنقاط التجريبية الممكن إدخالها الثابت عدد_النقاط_الأعظمي = 250 الثابت الهامش_الأيمن = 15 !! عرض الهامش الفارغ يمين الرسم الثابت الهامش_الأيسر = 100 الثابت الهامش_الأعلى = 15 الثابت الهامش_الأسفل = 30 الثابت طول_السهم = 10 !! طول رأس السهم الثابت عرض_السهم = 3 !! عرض رأس السهم أدرج "مترادفات" أدرج "ألوان" المتحول س ، ع : صفيفة [عدد_النقاط_الأعظمي] من حقيقي المتحول عدد_النقاط ، د : صحيح المتحول أكبر_س ، أصغر_س ، أكبر_ع ، أصغر_ع ، تفاس : حقيقي المتحول طول_س ، طول_ع : صحيح المتحول مقياس_س ، مقياس_ع : حقيقي المتحول س0 ، ع0 : حقيقي التابع تا (س:حقيقي) -> حقيقي { أرجع ( س^3 – 4 × س +10) !! أدخل التابع بين القوسين } التابع تس (س:حقيقي)->حقيقي { أرجع (س-أصغر_س) × مقياس_س + الهامش_الأيسر } التابع تع (ع:حقيقي)->حقيقي { أرجع (ع-أصغر_ع) ×مقياس_ع + الهامش_الأسفل } !! بداية الرنامج !! ------------- أكتب "أدخل عدد النقاط:" أقرأ عدد_النقاط أكتب "أدخل مجال تعريف التابع: " أقرأ أصغر_س ، أكبر_س تفاس = (أكبر_س - أصغر_س) ÷ عدد_النقاط !! أحسب قيم التابع ع = تا(س) وأوجد أكبر وأصغر قيمة س[1] = أصغر_س أجعل ع[1] = تا(س[1]) أجعل أكبر_ع = ع[1] أجعل أصغر_ع = ع[1] أكرر من د=2 إلى عدد_النقاط { أجعل س[د] = س[د-1] + تفاس أجعل ع[د] = تا(س[د]) إذا ع[د] > أكبر_ع أجعل أكبر_ع = ع[د] إذا ع[د] < أصغر_ع أجعل أصغر_ع = ع[د] } !! أحسب مقياس الرسم !!----------------- أجعل طول_س = حدس - (الهامش_الأيمن + الهامش_الأيسر) أجعل طول_ع = حدع - (الهامش_الأسفل + الهامش_الأعلى) أجعل مقياس_س = طول_س ÷ | أكبر_س - أصغر_س | إذا | أكبر_ع - أصغر_ع | = 0 مقياس_ع = طول_ع ÷ أكبر_ع وإلا أجعل مقياس_ع = طول_ع ÷ | أكبر_ع - أصغر_ع | !! أحسب إحداثيات مبدأ الإحداثيات !!----------------------------- إذا أصغر_س < صفر أجعل س0 = |أصغر_س|×مقياس_س + الهامش_الأيسر وإلا أجعل س0 = صفر + الهامش_الأيسر إذا أصغر_ع < صفر أجعل ع0 = |أصغر_ع|×مقياس_ع + الهامش_الأسفل وإلا أجعل ع0 = صفر + الهامش_الأسفل !! أرسم محاور الإحداثيات !!--------------------- ألون باللون الأصفر ، الورقة أرسم باللون الأسود أنقش عند (حدس،ع0-عرض_السهم) "س" أنقش عند (س0-عرض_السهم، حدع) "ع" !! أرسم المحور س ورأس السهم الخاص به أرسم مستقيم من (الهامش_الأيسر،ع0) إلى (حدس ، ع0) أرسم مستقيم من (حدس-طول_السهم،ع0+عرض_السهم) إلى (حدس،ع0) إلى (حدس-طول_السهم،ع0-عرض_السهم) !! أرسم المحور ع ورأس السهم الخاص به أرسم مستقيم من (س0،الهامش_الأسفل) إلى (س0 ، حدع) أرسم مستقيم من (س0-عرض_السهم، حدع-طول_السهم) إلى (س0، حدع) إلى (س0+عرض_السهم،حدع-طول_السهم) !! أرسم خطوط الشبكة أرسم باللون الرمادي د=1 أكرر طالما د=<عدد_النقاط { إذا تس(س[د]) <> س0 أرسم مستقيم من ( تس(س[د]) ، الهامش_الأسفل) إلى (تس(س[د]) ، طول_ع+الهامش_الأسفل) إذا تع(ع[د]) <> ع0 أرسم مستقيم من ( الهامش_الأيسر ، تع(ع[د]) ) إلى ( طول_س+الهامش_الأيسر ، تع(ع[د]) ) د = د + (عدد_النقاط \ 10) } أرسم باللون الأسود د = 1 أكرر طالما د <= عدد_النقاط { أنقش عند ( تس(س[د]) + 20 ، ع0-10) س[د] أنقش عند ( س0 -10 ، تع(ع[د]) + 5) ع[د] د = د + عدد_النقاط \10 } !! أرسم المنحني !!---------- ألون باللون الأخضر د= 1 أكرر طالما د <= عدد_النقاط { ألون دائرة مركزها ( تس(س[د]) ، تع(ع[د]) ) قطرها 7 د = د + عدد_النقاط \10 } أكرر من د = 1 إلى عدد_النقاط-1 { أرسم باللون الأحمر أرسم مستقيم من (تس(س[د]) ، تع(ع[د])) إلى (تس(س[د+1])، تع(ع[د+1])) }
|

|
وبتغيير معادلة الدالة في جسم الدالة تا إلى :
|
أرجع (س^2 – 10×س - 50)
|
وتنفيذ البرنامج مرة أخرى، نحصل على الشكل المبين أدناه لهذا التابع في المجال [-10 ، 10].
|

|
تأليف
المؤلف الأصلي: الدكتورمحمد عمار السَلكة (دمشق - سوريا)
الموقع الشخصي: http://www.drsalka.com
البريد الإلكتروني: عنوان البريد الإلكتروني هذا محمي من روبوتات السبام. يجب عليك تفعيل الجافاسكربت لرؤيته.
ضبط بتصرف: محمد عبد الرحمان (الدار البيضاء - المغرب)
المراجع
http://www.jeemlang.com