التمارين 11.37، 11.38، 11.39، 11.40، 11.41، 11.42، 11.43
*(------------------------------------------------------------------ برنامج لحساب المصفوفات جميع الحقوق محفوظة للمؤلف، د. محمد عمار السلكة ، 1420 هجري - 2000 م --------------------------------------------------------------------)* الثابت أعظم_عدد_أسطر = 10 الثابت أعظم_عدد_أعمدة = 10 النوع مصفوفة : مركب { س ، ع : صحيح م : صفيفة [أعظم_عدد_أسطر ] [ أعظم_عدد_أعمدة] من حقيقي } الخوارزمية أقرأ_المصفوفة ( مص : مصفوفة) { أكرر { أكتب "أدخل أبعاد المصفوفة: " أقرأ مص.س ، مص.ع إذا (مص.س > أعظم_عدد_أسطر) أو (مص.ع > أعظم_عدد_أعمدة) أكتب "هذه المصفوفة كبيرة جداً ! الرجاء إدخال أبعاد مصفوفة أخرى:"، سطر } حتى (مص.س <= أعظم_عدد_أسطر) و (مص.ع <= أعظم_عدد_أعمدة) المتحول د ، ذ : صحيح أكتب "أدخل المصفوفة: "، سطر أكرر من د=1 إلى مص.س أكرر من ذ=1 إلى مص.ع أقرأ مص.م[د][ذ] } الخوارزمية أكتب_المصفوفة ( مص : مصفوفة) { المتحول د ، ذ: صحيح أكرر من د=1 إلى مص.س { أكرر من ذ=1 إلى مص.ع أكتب مص.م[د][ذ]، " " أكتب سطر } } التابع المصفوفة_متناظرة ( مص : مصفوفة) -> منطقي { المتحول د ، ذ : صحيح إذا مص.س <> مص.ع أرجع خطأ أكرر من د = 1 إلى مص.س أكرر من ذ = 1 إلى مص.ع إذا مص.م [د][ذ] <> مص.م[ذ][د] أرجع خطأ أرجع صواب } الخوارزمية منقول_المصفوفة ( مص ، مق : مصفوفة) { المتحول د ، ذ : صحيح أجعل مق.س = مص.ع أجعل مق.ع = مص.س أكرر من د =1 إلى مق.س أكرر من ذ=1 إلى مق.ع أجعل مق.م [د][ذ] = مص.م [ذ][د] } التابع أجمع_مصفوفتين ( مص1 ، مص2 ، مج : مصفوفة) -> منطقي { إذا ( مص1.س <> مص2.س) أو (مص1.ع <> مص2.ع) { أكتب "لا يمكن جمع المصفوفتين لأن عدد أسطر (أو أعمدة) الأولى" أكتب " لا يساوي عدد أسطر (أو أعمدة) الثانية" ، سطر أرجع (خطأ) } المتحول د ، ذ : صحيح أكرر من د = 1 إلى مص1.س أكرر من ذ=1 إلى مص2.ع أجعل مج.م [د][ذ] = مص1.م [د][ذ] + مص2.م [د][ذ] أرجع (صواب) } التابع أضرب_مصفوفتين (مص1 ، مص2 ، مض : مصفوفة) -> منطقي { إذا مص1.ع <> مص2.س { أكتب "لا يمكن الحصول على جداء المصفوفتين لأن عدد أعمدة " أكتب "المصفوفة الأولى لا يساوي عدد أسطر المصفوفة الثانية" ، سطر أرجع (خطأ) } المتحول د ، ذ ، ر: صحيح المتحول ق: حقيقي أكرر من د= 1 إلى مص1.س أكرر من ذ= 1 إلى مص2.ع { أجعل ق = 0 أكرر من ر = 1 إلى مص1.ع أجعل ق = ق + مص1.م [د][ر] × مص2.م [ر][ذ] أجعل مض.م [د][ذ] = ق } أرجع (صواب) } المتحول أ ، ب ، ج : مصفوفة المتحول م: منطقي أقرأ_المصفوفة (أ) أقرأ_المصفوفة (ب) أكتب "المصفوفة الأولى : " ،سطر أكتب_المصفوفة (أ) إذا المصفوفة_متناظرة (أ) أكتب "المصفوفة الأولى متناظرة" ، سطر منقول_المصفوفة (أ ، ج) أكتب "منقول المصفوفة الأولى :" ، سطر أكتب_المصفوفة (ج) أكتب "المصفوفة الثانية : " ،سطر أكتب_المصفوفة (ب) إذا المصفوفة_متناظرة (ب) أكتب "المصفوفة الثانية متناظرة" ، سطر منقول_المصفوفة (ب ، ج) أكتب "منقول المصفوفة الثانية :" ، سطر أكتب_المصفوفة (ج) أجعل م = أجمع_مصفوفتين ( أ ، ب ، ج ) إذا م { أكتب "مجموع المصفوفتين :" ، سطر أكتب_المصفوفة ( ج ) } أجعل م = أضرب_مصفوفتين ( أ ، ب ، ج ) إذا م { أكتب "جداء المصفوفتين : " ، سطر أكتب_المصفوفة ( ج ) } |
![]() |
التمرين 12.13
التمرين 12.17: تشفير ملف
التمرين 13.1
تواتر ورود الحروف في نص عربي أدرج "حروف" الثابت نه = 255 المتحول ع : صفيفة [255] من صحيح المتحول ح : حرف !! أولاً لنقم بتصفير العدادات المتحول د : صحيح أكرر من د = 1 إلى 255 أجعل ع[د] = 0 المتحول ملف_النص : ملف المتحول اسم_الملف : صفيفة [25] من حرف أكتب "أدخل اسم الملف الذي يحوي النص الذي تريد دراسته : " أقرأ اسم_الملف أفتح ملف_النص للقراءة من اسم_الملف أقرأ من ملف_النص : ح المتحول مج : صحيح مج =0 أكرر طالما ح <> 255 !! نهاية الملف { مج = مج +1 ع[ح] = ع[ح] + 1 أقرأ من ملف_النص : ح } أغلق ملف_النص أكتب مج ، سطر أكرر من ح = ‘ء‘ إلى ‘ي‘ { إذا أبجدي (ح) أكتب " تواتر الحرف : " ، ح ، " = "، ع[ح]، سطر } |
ويبين الشكل التالي تنفيذ البرنامج على الملف ".txtأدعية" الموجود في المجلد "لغة عربية" ضمن مجلد الأمثلة المرفق مع برنامج الخوارزمي . |
![]() |
أدرج "حروف" التابع تشفير (ح:حرف - ف : حرف)-> حرف { المتحول ص : صحيح إذا عكس (أبجدي (ح)) أرجع ح ص = ح أكرر { ص = ص + ف إذا ص > ‘ي‘ ص = ص - ‘ي‘ -1 + ‘ء‘ ح = ص }حتى أبجدي (ح) أرجع ح } المتحول ملف_النص ، ملف_الشيفرة : ملف المتحول ح ، المفتاح : حرف المتحول اسم_الملف : صفيفة [128] من حرف أكتب "أدخل المفتاح:" أقرأ المفتاح أكتب "أدخل اسم الملف المراد تشفيره : " أقرأ اسم_الملف أفتح ملف_النص للقراءة من اسم_الملف إذا ملف_النص = 0 { أكتب "لا يمكن فتح الملف" ، سطر قف } أكتب "أدخل اسم الملف الذي سيحوي النص المشفّر : " أقرأ اسم_الملف أفتح ملف_الشيفرة للكتابة في اسم_الملف إذا ملف_الشيفرة = 0 { أكتب "لا يمكن فتح الملف" ، سطر قف } أقرأ من ملف_النص : ح أكرر طالما ح <> 255 { أكتب في ملف_الشيفرة : تشفير (ح ، المفتاح) أقرأ من ملف_النص : ح } أغلق ملف_النص أغلق ملف_الشيفرة فك تشفير ملف أدرج "حروف" التابع فك_تشفير (الثابت ح:حرف - ف : حرف)-> حرف { المتحول ص : صحيح إذا عكس (أبجدي (ح)) أرجع ح ص = ح أكرر { ص = ص - ف إذا ص < ‘ء‘ ص = ‘ي‘ - (‘ء‘ - ص) + 1 ح = ص }حتى أبجدي (ح) أرجع ح } المتحول ملف_النص ، ملف_الشيفرة : ملف المتحول ح ، المفتاح : حرف المتحول اسم_الملف : صفيفة [128] من حرف أكتب "أدخل المفتاح (حرف) :" أقرأ المفتاح أكتب "أدخل اسم الملف المشفر : " أقرأ اسم_الملف أفتح ملف_الشيفرة للقراءة من اسم_الملف إذا ملف_الشيفرة = 0 { أكتب "لا يمكن فتح الملف" ، سطر قف } أكتب "أدخل اسم ملف النص : " أقرأ اسم_الملف أفتح ملف_النص للكتابة في اسم_الملف إذا ملف_النص = 0 { أكتب "لا يمكن فتح الملف" ، سطر قف } أقرأ من ملف_الشيفرة : ح أكرر طالما ح <> 255 { أكتب في ملف_النص : فك_تشفير (ح ، المفتاح) أكتب فك_تشفير (ح ، المفتاح) أقرأ من ملف_الشيفرة : ح } أغلق ملف_النص أغلق ملف_الشيفرة |
المتحولس : صحيح أكررمنس=0 إلىحدس أرسمالنقطة(س، 200) |
![]() |
التمرين 13.2
*(------------------------------------------------------------------- برنامج بلغة ج لرسم منحني الجيب: ع = م جب (س) جميع الحقوق محفوظة للمؤلف: د. محمد عمار السلكة، 1420 هجري - 2000 م ---------------------------------------------------------------------)* الثابت بي = 3.14 المتحول س، ع : صحيح المتحول م : حقيقي أكتب "أدخل قيمة المطال: " أقرأ م أجعل س = 0 أكرر طالما س < حدس { أجعل ع = حدع÷2 + م × جب (س × بي ÷ 180) أرسم النقطة (س،ع) أجعل س = س + 1 } |
التمرين 13.3
أرسم مستقيم من (100،100) إلى (200،100) إلى (200،200) إلى (100،200) إلى (100،100) أرسم دائرة مركزها (150،150) قطرها 50 |
التمرين 13.4
*(------------------------------------------------------------------ برنامج مطور لرسم منحني الجيب : ع = م جب (س) جميع الحقوق محفوظة للمؤلف:د. محمد عمار السلكة، 1420 هجري - 2000 م --------------------------------------------------------------------)* الثابت بي = 3.14 المتحول س1، س2 : صحيح المتحول ع1 ، ع2 ، م : حقيقي المتحول ق : صحيح أدرج "ألوان" ألون باللون الفستقي ، الورقة أرسم باللون الأحمر أكتب "أدخل قيمة القفزة: " أقرأ ق أكتب "أدخل قيمة المطال: " أقرأ م أجعل س1 = 0 أكرر طالما س1 < حدس { أجعل س2= س1 + ق أجعل ع1 = حدع÷2 + م × جب (س1 × بي ÷ 180) أجعل ع2 = حدع÷2 + م × جب (س2 × بي ÷ 180) أرسم مستقيم من (س1،ع1) إلى (س2،ع2) أجعل س1 = س1 + ق } |
التمرين 13.5
المتحول س ، ع ، ق : صحيح أكرر طالما صواب { أكتب"أدخل إحداثيتي مركز الدائرة (أدخل قيمة سالبة لإنهاء البرنامج): " أقرأ س ، ع إذا(س<0) أو(ع<0) أنتهي أكتب"أدخل قطر الدائرة: " أقرأ ق إذا ق< 0 أكتب" يجب أن يكون القطر عدداً موجباً !" ، سطر وإلا أرسمدائرة مركزها(س،ع) قطرها ق } |
التمرين 13.8: منحني الوردة
التمرين 13.8: منحني الوردة
*(------------------------------------------------------------------- برنامج بلغة ج لرسم منحني حلزون أرخميدس جميع الحقوق محفوظة للمؤلف: د. محمد عمار السلكة، 1420 هجري - 2000 م --------------------------------------------------------------------)* !! المعادلة العامة لمنحني الحلزون في الإحداثيات !! القطبية ر = ثا × يه !!============================================ أدرج "ألوان" الثابت بي = 3.1415 المتحول ر ، يه ، س ، ع ، ثا : حقيقي المتحول ن : صحيح المتحول س0 ، ع0 : صحيح !! ألون شاشة الرسم باللون السماوي !!------------------------------- ألون باللون السماوي ، الورقة !! مبدأ الإحداثيات القطبية يقع في منتصف ورقة الرسم !!----------------------------------------------- أجعل س0 = حدس \ 2 أجعل ع0 = حدع \ 2 !! أرسم محوري الإحداثيات المتعامدة !!------------------------------- أرسم مستقيم من (س0، 0) إلى (س0، حدع) أرسم مستقيم من (0، ع0) إلى (حدس، ع0) !! أرسم المنحني باللون الأحمر !!-------------------------- أرسم باللون الأحمر !! أقرأ قيمة الثابت ثا وعدد اللفات ن أكتب "أدخل قيمة الثابت ثا:" أقرأ ثا أكتب "أدخل عدد لفات الحلزون:" أقرأ ن !! أرسم المنحني نقطة فنقطة بخطوة للزاوية يه قدرها0.01 راديان !!---------------------------------------------------------- أجعل يه = 0 أكرر طالما يه < 2×بي×ن { أجعل ر = ثا × يه أجعل س = ر × تجب (يه) + س0 أجعل ع = ر × جب (يه ) + ع0 أرسم النقطة (س ، ع) أجعل يه = يه + 0.01 } |
التمرين 13.8: منحني الوردة
*(------------------------------------------------------------------- برنامج بلغة ج لرسم منحني الوردة جميع الحقوق محفوظة للمؤلف: د. محمد عمار السلكة، 1420 هجري - 2000 م ---------------------------------------------------------------------)* !! المعادلة العامة لمنحني الوردة في الإحداثيات القطبية ر=ثا×تجب(ن × يه) !! حيث ثا ثابت حقيقي و ن ثابت صحيح أدرج "ألوان" الثابت بي = 3.14 المتحول ر1، ر2 ، يه1 ، يه2 ، ثا : حقيقي المتحول ن : صحيح المتحول س1، ع1، س2، ع2 : حقيقي المتحول س0 ، ع0 : صحيح أجعل س0 = حدس \ 2 أجعل ع0 = حدع \ 2 أرسم مستقيم من (س0، 0) إلى (س0، حدع) أرسم مستقيم من (0، ع0) إلى (حدس، ع0) أكتب "أدخل قيمة الثابت ن:" أقرأ ن أرسم باللون الأحمر أجعل ثا = 100 أجعل يه1 = 0 أكرر طالما يه1 < 2×بي { أجعل يه2 = يه1 + 0.01 أجعل ر1 = ثا × تجب(ن×يه1) أجعل ر2 = ثا × تجب(ن×يه2) أجعل س1 = ر1 × تجب(يه1) + س0 أجعل ع1 = ر1 × جب(يه1) + ع0 أجعل س2 = ر2 × تجب(يه2) + س0 أجعل ع2 = ر2 × جب(يه2) + ع0 أرسم مستقيم من (س1،ع1) إلى (س2،ع2) أجعل يه1 = يه1 + 0.01 } |
;التمرين 13.9: التسديد على هدف ثابت
التمرين 14.15
تأليف
المؤلف الأصلي: الدكتورمحمد عمار السَلكة (دمشق - سوريا)
الموقع الشخصي: http://www.drsalka.com
البريد الإلكتروني: عنوان البريد الإلكتروني هذا محمي من روبوتات السبام. يجب عليك تفعيل الجافاسكربت لرؤيته.عنوان البريد الإلكتروني هذا محمي من روبوتات السبام. يجب عليك تفعيل الجافاسكربت لرؤيته.
ضبط بتصرف: محمد عبد الرحمان (الدار البيضاء - المغرب)
*(-------------------------------------------------------------------- برنامج بلغة ج يحاكي عملية التسديد على هدف ثابت جميع الحقوق محفوظة للمؤلف: د. محمد عمار السلكة ، 1420 هجري - 2000 م ---------------------------------------------------------------------)* أدرج "ألوان" الثابت ثقا = 9.8 !! ثابت الثقالة الأرضية الثابت حه = 0.03 !! حجم الهدف كنسبة من بعده عن نقطة الإطلاق الثابت عه = 30 !! ارتفاع الجزء البني الذي يمثل الأرض المتحول سه: حقيقي المتحول سر0 ، يه : حقيقي المتحول ز : حقيقي المتحول س ، ع ، سظ ، عظ : حقيقي المتحول المقياس : حقيقي المتحول م : حقيقي ألون باللون السماوي ، الورقة أكتب "ماهو بعد الهدف عن نقطة الإطلاق (بالمتر) :" أقرأ سه المقياس = حدس ÷ (سه × 1.5) أكرر طالما صح { ألون باللون البني، مستطيل من (0،0) إلى (حدس ، عه) ألون باللون الأحمر، مستطيل من (سه×(1-حه)×المقياس، عه) إلى (سه×(1+حه) × المقياس ، سه × حه × المقياس+عه) أرسم باللون الأصفر، مستقيم من (سه×المقياس ، عه) إلى (سه×المقياس ، سه × حه × المقياس+عه + 15 ) أرسم باللون الأسود أنقش عند (سه×(1+حه) × المقياس + 30، سه×حه× المقياس + عه + 15)"الهدف" أكتب "أدخل سرعة القذف (م//ثا) : " أقرأ سر0 إذا سر0 = 0 قف أكتب "أدخل زاوية القذف (درجة) : " أقرأ يه أجعل يه = يه ÷ 180 × 3.14 أجعل ز = 0 س = 0 ع = عه أكرر { سظ = س × المقياس عظ = ع × المقياس + عه إذا (سظ<حدس) و (عظ<حدع) و (عظ > حه) { أرسم النقطة (سظ ، عظ) ألون باللون الأحمر ألون دائرة مركزها (سظ ، عظ) قطرها 4 م = 0 أكرر طالما م < 100 × المقياس { أجعل ز = ز م = م + 1 } أرسم باللون السماوي ألون باللون السماوي ألون دائرة مركزها (سظ،عظ) قطرها 4 أرسم باللون الأسود ، النقطة (سظ،عظ) } ز = ز + 0.1 أجعل س = سر0 × تجب(يه) × ز أجعل ع = -0.5 × ثقا × ز^2 + سر0 × جب(يه) × ز } حتى (ع <=0 ) أو (سظ > حدس) إذا (|س - سه| <= سه × حه ) و (ع<=0) { أكتب " ****** أصبت الهدف ! ******" ، سطر أكرر 10 مرة { أكرر 10000 مرة س = س !! حلقة تأخير زمني ألون باللون الأحمر ، الورقة أكرر 10000 مرة س =س !! حلقة تأخير زمني ألون باللون السماوي ، الورقة } قف } } |
!! برنامج بلغة ج لحل مسألة أبراج هانوي !! عدد الخطوات = 2^ن -1 حيث ن عدد الأقراص !!--------------------------------------- !!--تعريف المتغيرات العامة--------------- !!--------------------------------------- المتحول عدد_الأقراص : صحيح المتحول الخطوة : صحيح !!--تعريف الخوارزميات والدوال------------ !!--------------------------------------- الخوارزمية أنقل (العدد ، المصدر ، الهدف ، الوسيط : صحيح) { إذا العدد > 0 { أنقل (العدد -1 ، المصدر ، الوسيط ، الهدف) الخطوة = الخطوة + 1 أكتب الخطوة ، " : " ، "انقل قرصاً واحداً من " ، المصدر ، " إلى " ، الهدف ، سطر أنقل (العدد -1 ، الوسيط ، الهدف ، المصدر) } } !!--البرنامج الرئيسي--------------------- !!--------------------------------------- الخطوة = 0 أكتب "أدخل عدد الأقراص : " أقرأ عدد_الأقراص أنقل (عدد_الأقراص ، 1، 3، 2) |
![]() |
تأليف
المؤلف الأصلي: الدكتورمحمد عمار السَلكة (دمشق - سوريا)
الموقع الشخصي: http://www.drsalka.com
البريد الإلكتروني: عنوان البريد الإلكتروني هذا محمي من روبوتات السبام. يجب عليك تفعيل الجافاسكربت لرؤيته.عنوان البريد الإلكتروني هذا محمي من روبوتات السبام. يجب عليك تفعيل الجافاسكربت لرؤيته.
ضبط بتصرف: محمد عبد الرحمان (الدار البيضاء - المغرب)
المراجع