Professional Documents
Culture Documents
2
الفصل :2مفهوم الخوارزمية والبرنامج إل إم دي /إس تي
3
الفصل :2مفهوم الخوارزمية والبرنامج إل إم دي /إس تي
جميع البيانات في البرنامج هي كائنات في ذاكرة الوصول العشوائي (هذا عنصر نائب في ذاكرة الوصول العشوائي) .يتم تعjjيينj
كل كائن (مساحة الذاكرة) بواسطة ما يسمى االسم :المعرف.
امثله:
:alهو معرف صالح :a_l .هو معرف صالحA_1 . :XL - Yهو معرف غير صالح
معرف صالح:. (بسبب .)sign-
:X12yهو معرف صالح :xl y ،هو معرف غير :xl_yهو معرف صالح.
صالح (بسبب الفراغ أو المسافة). :lxyهو معرف غير صالح (يبدأ حرفا رقميا).
4
الفصل :2مفهوم الخوارزمية والبرنامج إل إم دي /إس تي
الفصح خوارزمية
العدد الصحيح كامل
حقيقي حقيقي
منطقيه منطقيه
سيارة حرف
ثونغ صفد
5
الفصل :2مفهوم الخوارزمية والبرنامج إل إم دي /إس تي
رسالة " = CONSTمرحبا بالجميع" ؛ {ثابت سلسلة}
مالحظات
للتعليق على برنامج ، PASCALنكتب التعليقات بين األقواس { } .على سبيل المثال{ :هذا تعليق}. —
في برنامج ، PASCALيتم اإلعالن عن الثوابت في حقل يبدأ بالكلمة األساسية .const —
في برنامج ، PASCALيتم اإلعالن عن المتغيرات في حقل يبدأ بالكلمة األساسية .var —
البيانات .2.4.1
في قسم التقارير ،يتم اإلبالغ عن جميع بيانات المدخالت والمخرجات كثوابت ومتغيرات.
— الثوابت
الثوابت هي كائنات تحتوي على قيم غير قابلة للتعديل .يتم اإلعالن عن الثوابت على النحو التالي:
<المعرف> = <القيمة>;
امثله:
المتغيرات هي كائنات تحتوي على قيم يمكن تعديلها .يتم اإلبالغ عن المتغيرات على النحو التالي:
6
الفصل :2مفهوم الخوارزمية والبرنامج إل إم دي /إس تي
<المعرف>< :النوع>;
ينتمي المتغير إلى نوع بيانات .هناك خمسة أنواع أساسية من البيانات:
كامل —
حقيقي —
االحرف —
سلسلة األحرف —
القيم المنطقية ،التي تحتوي على قيمتين j:صواب أو خطأ ؛ —
امثله:
.2.4.2جسم
يتكون نص الخوارزمية من مجموعة من اإلجراءات /التعليمات المرتبة بالتتابع والمنطقي .التعليمات من خمسة أنواع ،وهي:
قراءة :عملية إدخال البيانات إلى الخوارزمية .تتكون القراءة من إعطاء قيمة تعسفية لمتغير. —
الكتابة :عملية عرض البيانات .يتم استخدامه لعرض النتائج أو الرسائل. —
7
الفصل :2مفهوم الخوارزمية والبرنامج إل إم دي /إس تي
الحظ أن تعليمات القراءة تتعلق فقط بالمتغيرات أو الثوابت أو القيم التي ال يمكن قراءتها .عند قراءة متغير في برنامج ، PASCAL
يتعطل البرنامج أثناء انتظار إدخال قيمة عبر لوحة المفاتيح .بمجرد إدخال القيمة ،نقوم بالتحقق من صحة مفتاح اإلدخال ،ويستأنف
البرنامج التنفيذ بالعبارة التالية.
امثله:
قراءة (ارتفاع) قراءة (ارتفاع) ؛ يستعاض عن عبارة (أ ،ب ،ج) بعبارة (أ ،ب ،ج)؛
تجدر اإلشارة إلى أن تعليمات الكتابة ال تتعلق فقط بالمتغيرات ،بل يمكننا كتابة الثوابت أو القيم أو التعبيرات (الحسابية أو المنطقية).
يمكنك عرض قيمة وتخطي السطر مباشرة بعد العبارة.writeln :
امثله:
8
الفصل :2مفهوم الخوارزمية والبرنامج إل إم دي /إس تي
يكتب(;)2<5 الكتابة()2<5
يتكون الواجب من جزأين :الجزء األيسر ،الذي يمثل دائما متغيرا ،والجزء األيمن ،والذي يمكن أن يكون :قيمة أو متغير أو تعبير.
الشرط الذي يكون فيه التعيين
9
الفصل :2مفهوم الخوارزمية والبرنامج إل إم دي /إس تي
صحيحا هو :يجب أن يكون الجزء األيمن من نفس النوع (أو النوع المتوافق) مع الجزء األيسر.
امثله:
كتلة ،وإال لم يتم تنفيذها .بناء الجملة الختبار بديل بسيط هو كما يلي:
إذا <الشرط> إذن
بدأ
< التعليمjjjات (التعليمjjjات)
> ؛ انتهاء;
مثل:
اقرأ ( )xإذا كان x > 2
ثم
×3+×4
فينسي
اكتب (س)
قراءة ( )x؛
إذا كان x > 2ثم ابدأ
س = :س 3 +؛
انتهاء;
الكتابة ( )x؛
1
0
الفصل :2مفهوم الخوارزمية والبرنامج إل إم دي /إس تي
كالم :في ، PASCALيتم تحديد jالكتلة بواسطة الكلمتين الرئيسيتين jالبداية والنهاية.
إذا كانت الكتلة تحتوي على عبارة واحدة فقط ،فإن البداية والنهاية اختيارية (يمكن إزالتها).
في لغة ، PASCALيجب أال تضع فاصلة منقوطة قبل أي شيء آخر. -
في المثال السابق ،يمكننا إزالة نهاية البداية من ifوتلك من اآلخر نظرا لوجود عبارة واحدة فقط في كلتا الكتلتين. -
امثله:
اكتب خوارزمية (وبرنامج )PASCALتسمح لك باإلشارة إلى ما إذا كان العدد الصحيح متساويا أم ال. .c
1
1
الفصل :2مفهوم الخوارزمية والبرنامج إل إم دي /إس تي
حلقة ل .a
تستخدم بنية التحكم المتكررة ل ( )for in PASCALعددا صحيحا منخفضا يختلف (مع زيادة = )1من قيمة أولية إلى قيمة نهائية.
في نهاية كل تكرار ،يتم زيادة الفهرس بمقدار 1تلقائيا (ضمنيا).
بناء جملة الحلقة هو كما يلي:
بالنسبة لفهرس < > > t <viفي < > vfالقيام به بالنسبة إلى < >indice>: = <viإلى <> vf
< التعليمات (التعليمات)> ابدأ
زعنفة. < التعليمات (التعليمات) > ؛
انتهاء;
< :>indexمتغير عدد صحيح
< :>viالقيمة األولية < :>vfالقيمة النهائية
تحتوي الحلقة على كتلة من التعليمات (التعليمات المراد تكرارها) .إذا كjjانت الكتلjjة تحتjjوي على عبjjارة واحjjدة ،فjjإن البدايTTة والنهايTTة
اختيارية.
سيتم تكرار الكتلة عدة مرات = (< )vf> - <vi> + 1إذا كانت القيمة النهائية أكبر من أو تسjاوي القيمjjة األوليjjة .سjjيتم تنفيjذ الكتلjة
لفهرس <> = < ، >viلمؤشر < > = < ، vi> + lلمؤشر < > = < ,...,vi> + 2لفهرس < > = <.>vf
ال تضع أبدا فاصلة منقوطة بعد الكلمة الرئيسية ( .خطأ منطقي)
1
2
الفصل :2مفهوم الخوارزمية والبرنامج إل إم دي /إس تي
بعد (بعد حتى) .في حلقة التكرار ،نستخدم ال نبدأ وننتهي لتحديد كتلة التعليمات (الكتلة محددة بالفعل بالتكرار وحتى).
الفرق بين حلقة التكرار وحلقة tantهو:
شرط التكرار ودائما عكس الشرط طالما :تكراره هو شرط الخروج من الحلقة ،وطالما أنه شرط الدخول . -
اختبار الشرط في نهاية الحلقة (نهاية التكرار) للتكرار .من ناحية أخرى ،يكون في بداية التكjjرار للحلقjjة بنفس القTTدر .أي طالمTTا -
أننا نختبر الشرط قبل الدخول في التكرار ،وفي التكرار نكرر بعد اختبار الشرط.
1
3
الفصل :2مفهوم الخوارزمية والبرنامج إل إم دي /إس تي
مالحظة:
-تمثل التسمية رقما (عددا صحيحا) ،مثال ، 3 ، 2 ، 1 :إلخ.
-في برنامج ، PASCALيجب عليjjك اإلعالن عن التسjjميات في جjjزء اإلعالن باسjjتخدام الكلمjjة األساسjjية للتسjjمية ( ،رأينjjا const
لثوابت varللمتغيرات)
-تحدد التسمية مكانا واحدا في البرنامج ،وال يمكننا أبدا اإلشارة إلى مكانين بنفس التسمية.
-من ناحية أخرى ،يمكنك إجراء عدة اتصاالت لنفس الملصق.
-يمكن أن تكون القفزة أو الفرع إلى تعليمات سابقة أو الحقة (قبل أو بعد القفزة).
مثل:
خوارزمية المتغيرات المتفرعة فرع البرنامج ؛
أ ،ب ،ج :عدد صحيح ؛ يستخدم ينكرت.
بدء فار
يستعاض عن عبارة (أ ،ب)؛ أ ،ب ،ج :عدد صحيح ؛
ج4أ؛ :2 التسمية 2 ، 1؛
بدأ
إذا (أ > ب) فانتقل إلى 1؛ يستعاض عن الفقرة (أ،
فينسي ب)؛
أ4أ5+؛ :2ج=:أ;
انتقل إلى 2؛
إذا كانت (أ>ب) ثم انتقل
اكتب (ج) ؛ :1 إلى 1؛
انتهاء =:أ ;5 + :3
اذهب إلى 2؛
:1الكتابة (ج) ؛
انتهاء.
عالمتان 1 :و .2تشjjير التسjjمية 1إلى التعليمjjات األخjjيرة للخوارزميjjة /البرنjjامج ()،));write(c)/write(c في المثال أعاله ،هناك
وتشير التسمية 2إلى التعليمات الثالثة للخوارزمية/البرنامج ( c 4 a؛ .) ; c:=a/بالنسبة لعملية الخوارزمية ،يتم استخدام الجدول التالي (
a = 2و :)b = 5
1
4
الفصل :2مفهوم الخوارزمية والبرنامج إل إم دي /إس تي
1
5
الفصل :2مفهوم الخوارزمية والبرنامج إل إم دي /إس تي
دالة دالة
إجراء إجراء
بدأ بدء
انتهاء انتهاء
الطقسوس ...ثم ...اخر... لو ...ثم ...خالف ذلك...
بينما ...فعل... طالما أنه كذلك ..فعل...
بالنسبة إلى = i:إلى Nتفعل ... 1إلى Nتفعل ... لط4
بالنسبة إلى = i:وصوال إلى 1القيام ... 1 Nإلى الخطوة 1هل ... لط4
حتى... كرر....1 حتى... كرر...
مالحظات هامة
لغة باسكال غير حساسة لحالة األحرف ،أي إذا كتبنا ابدأ أو ابدأ أو ابدأ فهو نفس الشيء. .1
عندما يكون اإلجراء بعد THENأو ELSEأو DOيحتjjوي على عjjدة عبjjارات ،يجب تjjأطير هjjذه العبjjارات بين BEGINو .2
.ENDبمعنى آخjر ،يتم تعريفهjا على أنهjا كتلjjة .بالنسjبة لتعليمjات واحjjدة ،ليس من الضjروري (أو إلjjزامي) تأطيرهjا بين BEGINو
( ENDانظر العمل العملي) .مجموعة من العبارات المjjؤطرة بين BEGINو ، ENDتسjjمى BLOCKأو اإلجjjراء المjjركب .يقjjال أن
برنامج PASCALمنظم في كتل.
يحظر ركوب هيكلين من الحلقات أو الكتل .مثل ماذا: .3
من أجل .....................فعل
—ابدأ
بينما ..........................فعل
—ابدأ
-انتهاء;
انتهاء;
كان لدينا النموذج التالي:
ما هو محظور.
يجب أال تتداخل الحلقات والكتل تحت أي ظرف من الظروف ،ويجب أن تكون متداخلة.
أمثلة على الهياكل المعتمدة:
1
6
الفصل :2مفهوم الخوارزمية والبرنامج إل إم دي /إس تي
مثال على ست كتل
1
7
الفصل :2مفهوم الخوارزمية والبرنامج .LMP / S.T
التسلسل .2.7.2.1
من اإلجراءات ،يتم تمثيل سلسلة يتيح التسلسل تنفيذ سلسلة من اإلجراءات بالترتيب الذي تظهر به .دع Ai ، A 2 ، ... ، An
تسلسلها على النحو التالي:
لي;
أ2؛
سنة;
1
8
الفصل :2مفهوم الخوارزمية والبرنامج .LMP / S.T
.FALSEأي مقارنة بين رقمين تمثل تعبيرا منطقيjjا .يمكن تكjjوين التعبjjيرات المنطقيjjة من التعبjjيرات المنطقيjjة األخjjرى باسjjتخدام
عوامل التشغيل التالية. Not, Or, and and and :
امثله:
( :)x > = 5هو تعبير منطقي ،يكون صحيحا إذا كانت قيمة xأكبر من أو تساوي .5من الخطأ خالف ذلك.
ليس ( .E.L :)x > = 5وهو صحيح فقط إذا كانت قيمة xأقل من .5
(س > = )5و ( .E.L :)y< = 0وهو صحيح إذا كانت xأكبر من أو تساوي 5و yأقل من أو تساوي .0
اإلجراء (اإلجراءات)
v ال
في حلقة ، FORنقوم بتنفيذ الكتلة < ) acidons > (<vf> - <vi> + 1مرات .هذا في حالة أن
< >vfأكبر من أو يساوي < .>viخالف ذلك ،لن يتم تنفيذ كتلة اإلجراءات .يتم التعبير عن تسلسل حلقة FORعلى النحو التالي:
-المتغير الصحيح < ( > CPTالعداد) يأخذ القيمة األولية < >vi؛ 1
-نقارن قيمة < >CPTبقيمة < ، - >vfإذا كانت < >CPTأكبر من < ، >vfفإننا نترك الحلقة ؛ 2
-إذا كان < > CPTأقل من أو يساوي < > vfفإننا ننفذ الكتلة < إجراء (إجراءات) > ؛ 3
-تزيد حلقة FORتلقائيا العداد < ، >cptأي أنها تضيف (< )cpt> 4 <cpt> + 1؛ 4
-نعود إلى ( 2إلعادة االختبار < >cpt> <= <viلهذا السبب نقول الحلقة) ؛ 5
1
9
الفصل :2مفهوم الخوارزمية والبرنامج .LMP / S.T
كالم:
غالبا ما تستخدم حلقة FORلهياكل البيانات التكرارية (الجداول والمصفوفات -متغيرات المؤشر).
الهيكل التكراري كمسألة .2.7.2.5
يتم تنفيذ كتلة البيانات < اإلجراءات > طالما تم التحقق من <الشرط> (أي أنه صحيح) .مسار الحلقة هو كما يلي:
-نقوم بتقييم الحالة :إذا كانت الحالة خاطئة ،فإننا نخرج من الحلقة ؛ 1
-إذا كان الشرط صحيحا ،فإننا ننفذ إجراءات الكتلة < > ؛ خالف ذلك يذهب إلى .4 2
-نعود إلى 1؛ 3
-نواصل بقية الخوارزمية 4
.2.7.2.6تكرار البنية التكرارية (تكرار الحلقة)
نكرر تنفيذ الكتلة < إجراء (إجراءات) > حتى نحصل على الحالة الصحيحة .اإلجراء كالتالي:
-نقوم بتنفيذ الكتلة < إجراء (إجراءات) > ؛ 1
-نقوم بتقييم الشرط :إذا تم التحقق من الشرط (هذا صحيح) نترك الحلقة (نواصل بقية الخوارزمية) ؛ 2
-إذا لم يتم التحقق من الحالة (خاطئة) نعود إلى .1 3
مالحظات:
يمكن استبدال أي حلقjjة FORبحلقjjة ، Tant-Queولكن العكس ليس صjjحيحا دائمjjا ،أي أن هنjjاك حjjاالت ال يمكن فيهjjا ✓
2
0
الفصل :2مفهوم الخوارزمية والبرنامج .LMP / S.T
تحتوي حلقة التكرار على شرط إخراج (أي إذا كان صحيحا ،فإننا نخرج من الحلقة) ،بينما تحتوي حلقة Tant-queعلى ✓
شرط إدخال (أي إذا كان صحيحا ،فإننا ندخل الحلقة).
تقوم حلقة التكرار بتنفيذ jالكتلة < إجراء (إجراءات) > مرة واحدة على األقل ،يأتي االختبار بعد تنفيذ الكتلة. ✓
قد ال تقوم حلقة Tant-Queبتنفيذ الكتلjة < إجjراء (إجjراءات) > (في حالjة كjون الشjرط خاطئjا من البدايjة) ،نظjرا ألن ✓
االختبار يكون قبل تشغيل الكتلة.
المشغلون .2.8
يسمح لنا المشغلون في الخوارزميات (أو البرمجة) بكتابة التعبيرات التي سيتم تقييمها بواسطة الكمبيوتر .يتم تعjيين jقيمjة التعبjير
إلى متغير أو عرضها أو استخدامها في اختبار .هناك ثالثة أنواع من المشغلين :العوامل الحسابية ،والعوامjjل العالئقيjjة (المقارنjjة) ،
والعوامل المنطقية.
2
1
الفصل :2مفهوم الخوارزمية والبرنامج .LMP / S.T
ينطبق أقل أحادي على معامل واحد .على سبيل المثال ،الرقم السالب5 - :
في حالة المشغل /تكون النتيجة حقيقية مهما كان نوع المعاملين .دع :عدد صحيح /عدد صحيح = حقيقي.
في حالة مشغلي DIVو ، MODيجب أن تكون العوامل أعدادا صحيحة والنتيجة هي عدد صحيح.
عدد صحيح = DIVعدد صحيح
عدد صحيح MODعدد صحيح = عدد صحيح
2
2
الفصل :2مفهوم الخوارزمية والبرنامج !LMPس .ت.
( )59 > 45و ( - )15 = 15خطأ وصحيح -النتيجة :خطأ (خطأ)
( - OR (47 < 50) )45 > 25خطأ أو صواب -النتيجة :صحيح
( NOT (25 > 45) - NOTخطأ) -النتيجةTRUE :
2
3
الفصل :2مفهوم الخوارزمية والبرنامج ل.م.ب/سT .
خطأ :خطأ
وظائف .2.8.4
في الوقت الحالي ،سنقتصر على الوظائف القياسية (أو المحددة مسبقا).
الدوال القياسية المطبقة على األعداد الصحيحة أو الحقيقية
هناك أيضا وظائف قياسية مطبقة على األحرف والسالسل والمجموعات التي ال تحتاج إلى التعامل معها.
6/3 + 5يعطي 7ألنه يتم تقييم 6/3أوال ،ألن /أولوية أعلى من .+
( 3 / )6 + 5يعطي 3.66ألنه يتم تقييم محتوى األقواس أوال.
قواعد لتقييم التعبيرات الحسابية
2
4
الفصل :2مفهوم الخوارزمية والبرنامج إل إم دي /إس تي
2 * 10 - 3 + 7
(20)2
2
5
الفصل :2مفهوم الخوارزمية والبرنامج ل.م.ب/سT .
التحليل والمناقشة :نريد التقليب لمتغيرين ،يجب علينا أوال إعطاء قيمتين jللمتغيرين (سنحتاج إلى قراءتين) .في النهاية ،يجب
عرض نفس المتغيرات ،بعد تبديلها.
لjذلك تحتjوي الخوارزميjjة على متغjيرين لإلدخjال ومتغjjيرين لإلخjراج .متغjيرات اإلخjراج هي نفس متغjيرات اإلدخjال .يمكن
تخطيط الخوارزمية على النحو التالي:
2
6
الفصل :2مفهوم الخوارزمية والبرنامج إل إم دي /إس تي
سنكتب في الخوارزمية:
سذ
سنكتب في الخوارزمية[ :اكتب ( )x ، y
بعد تحديد متغيرات المدخالت والمخرجات ،ال يزال يتعين علينا التوصjjل إلى فكjjرة العالج .الحjjل الjjذي يتبjjادر إلى الjjذهن على
الفور هو x + y :و ( .y + xنقوم بتعيين y jإلى ، xالمغلفة نعين xإلى .)yالمشكلة في هذا الحل هي أننا سنفقد القيمة األولية ل .x
2
7
الفصل :2مفهوم الخوارزمية والبرنامج إل إم دي /إس تي
(التفسير .)... :يجب علينا أوال االحتفاظ بقيمة xفي متغير آخر ،على سبيل المثال ، tبالتسلسل ،نقوم بتعيين t + x(.tày jو x '-yأخيرا y +
.)t
لذا فإن الخوارزمية (وترجمتها إلى برنامج )PASCALستكون كما يلي:
مالحظة :يمكننا تعميم المشكلة ،عن طريق تبديل قيم ثالثة متغيرات xو yو z
بطريقة دائرية( .أيضا ل 4و 5وما إلى ذلك من المتغيرات).
العملية :نفتح الخوارزمية ل x = 6.5و y = 17
—المتغيرات
t y X
تعليمات
/ 17 6.5 قراءة (س ،ص)
6.5 هاء هاء
ر+س
قدم 17 س —ص
قدم 6.5 17 ذ -ر
2
8
الفصل :2مفهوم الخوارزمية والبرنامج إل إم دي /إس تي
التحليل والمناقشة :نريد تحقيق مجموع متغيرين صحيحين aو ، bيجب علينا أوال إعطاء قيمتين jللمتغيرين (سنحتاج إلى قراءتين) .في
النهاية ،يجب أن نحسب مجموعهم في متغير ثالث sثم نعرض قيمة .s
لذلك تحتوي الخوارزمية على متغيرين لإلدخال { aو )bومتغير إخراج واحد .5يمكن تخطيط الخوارزمية على النحو التالي:
سنكتب في الخوارزمية:
\ قراءة (س ،ص)
أب
s
سنكتب في الخوارزمية :اكتب (ق)
بعد تحديد متغيرات المدخالت والمخرجات ،ال يزال يتعين علينا التوصل إلى فكرة العالج .المعالجة بسيطة ،ما عليك سوى تنفيذ المهمة
التالية.a + b + 5 :
لذا فإن الخوارزمية (وترجمتها إلى برنامج )PASCALستكون كما يلي:
مجموع البرنامج؛
يستخدم ينكرت.
فار
أ ،ب ،س :حقيقي ؛
بدأ
اكتب ("أعط قيمة aو )":b؛ خوارزمية المجموع
يستعاض عن عبارة (أ ،ب)؛ المتغيرات
ق = :أ +ب ؛ أ ،ب ،ق :عدد صحيح
اكتب ('مجموع ;)s =', s بداية
انتهاء. قراءة (أ ،ب) ق +أ +ب كتابة
(ق) نهاية
( أعلى )
يستعاض عن
عبارة (أ ،ب)
2
9
الفصل :2مفهوم الخوارزمية والبرنامج إل إم دي /إس تي
التحليل والمناقشة :تأخذ الخوارزمية كإدخال متغير عدد صحيح وتعرض رسالة تشير إلى ما إذا كان هذا الرقم زوجيا أم ال .الرقم الزوجي
يقبل القسمة على .2إذن لدينا متغير إدخال ورسالة في صورة مخرجات
قد
العالج
رسالة
عرض الرسالة إما a :زوجي أو aفردي.
لمعرفة ما إذا كان الرقم زوجيا أم ال ،يكفي حساب ما تبقى من القسمة على .2يمكننا استخدام وظيفة modالمكتوبة مباشرة= n mod b :
باقي قسمة nعلى .b
لذا فإن الخوارزمية (وترجمتها إلى برنامج )PASCALستكون كما يلي:
3
0
الفصل :2مفهوم الخوارزمية والبرنامج إل إم دي /إس تي
المتغيرات
r قد
تعليمات
/ 7 قرأ
7 =( 1وزارة الدفاع )2 تي تي
R + Aوزارة الدفاع 2
أ هو حتى R = 0صحيح
نتبع الفرع نعم -اكتب ("أ زوجي")
3
1
الفصل :2مفهوم الخوارزمية والبرنامج إل إم دي /إس تي
حل
التحليل والمناقشة :للبحث عن جميع األرقام التي تقع بين 1و ، mيجب أن نعطي قيمة ل ( mلذا فإن mمتغير إدخال) .وإذا أشرنا إلى أن
هذه األرقام قابلة للقسمة على ، nفيجب علينا أيضا إعطاء قيمة ل ( nلذا فإن nهو أيضا متغير إدخال) .نتيجة لذلك ،تعرض الخوارزمية
جميع األعداد الصحيحة القابلة للقسمة على nوالتي تقع بين 1و .m
نم
3
2
الفصل :2مفهوم الخوارزمية والبرنامج إل إم دي /إس تي
ل=2
2 99 99 وزارة الدفاع ن = 0
( 2وزارة الدفاع - )0 = 3خطأ
لذلك نحن ال نفعل شيئا
ل= 3
3 99 وزارة الدفاع ن = 0
( true - )mod 3 = 0 3لذلك
نعرضa = 3 j
ل= 4
وزارة الدفاع ن = 0
4 99 99
ل= 5
وزارة الدفاع ن = 0
5 99 99
ل= 6
6 99 99
وزارة الدفاع ن = 0
( 6وزارة الدفاع ^ )0 = 3صحيح
لذلك نعرض = 6
ل= 7
7 99 99 وزارة الدفاع ن = 0
( 7وزارة الدفاع - )0 = 3خطأ
لذلك نعرض = 3
ل= 8
8 91 99 نوقف الحلقة ( A>m
)7 > 8
نهاية الخوارزمية
مالحظة:
تقوم حلقة Forبتهيئة jالعداد (وهو متغير عدد صحيح) للقيمة األولية مرة واحدة فقط (المرور األول). -
في نهاية كل تكرار ،أضف 1إلى عداد حلقة .For -
قبل إدخال التكرار ،يتم إجراء مقارنة بين العداد والقيمة النهائية (هل العداد أقل من أو يساوي القيمة -
3
3
الفصل :2مفهوم الخوارزمية والبرنامج إل إم دي /إس تي
النهائية .إذا كان األمر كذلك ،فإننا نصل إلى الحلقة ،وإال فإننا نوقف الحلقة). -
إذا كانت القيمة النهائية أقل تماما من القيمة األولية ،في هذه الحالة ،ال يتم الوصول إلى حلقة Forمطلقا. -
يمكن استبدال حلقة Pourإما بحلقة Tant-Queأو حلقة التكرار. -
حل
التحليل والمناقشة :للعثور على جميع المقسومات على عدد jصحيح ، nما عليك سوى تصفح األرقام من 1إلى .nولكن ،يجب أن نكون
حذرين في الحالة التي يكون فيها .n = 0في هذه الحالة ،تكون جميع األعداد الصحيحة مقسومة على .n
n
3
4
الفصل :2مفهوم الخوارزمية والبرنامج إل إم دي /إس تي
ال
ل di = 1
1 قدم
n mod di = 0
( 12وزارة الدفاع )0 = 1صحيح
لذلك نعرض di = 1
ل di = 2
n mod di = 0
2 قدم
( 12وزارة الدفاع - )0 = 2
صحيح
لذلك نعرض di = 2
ل di = 3
n mod di = 0
3 قدم
( 12وزارة الدفاع ^ )0 = 3
صحيح
لذلك نعرض di = 3
ل di = 4
n mod di = 0
4 قدم
( 12وزارة الدفاع - )0 = 4
صحيح
لذلك نعرض di = 4
ل di = 5
5 قدم n mod di = 0
( 12وزارة الدفاع - )0 = 5خطأ
لذلك نحن ال نفعل شيئا
ل di = 6
n mod di = 0
( 12وزارة الدفاع - )0 = 6
6 قدم
صحيح لذلك نعرضdi = 6 j
3
5
الفصل :2مفهوم الخوارزمية والبرنامج إل إم دي /إس تي
7 قدم
ل di = 7
n mod di = 0
( 12وزارة الدفاع ^ )0 = 7خطأ
لذلك نحن ال نفعل شيئا
8 قدم
ل di = 8
n mod di = 0
( 12وزارة الدفاع ^ )0 = 8خطأ
لذلك نحن ال نفعل شيئا
9 قدم
ل di = 9
n mod di = 0
( 12وزارة الدفاع - )0 = 9خطأ
لذلك نحن ال نفعل شيئا
10 قدم
ل di = 10
n mod di = 0
( 12وزارة الدفاع - )0 = 10خطأ
لذلك نحن ال نفعل شيئا
11 قدم
ل di = 11
n mod di = 0
( 12وزارة الدفاع - )0 = 11خطأ
لذلك نحن ال نفعل شيئا
3
6