القائمة الرئيسية

الصفحات

لكي يتم تنفيذها بواسطة أجهزة الكمبيوتر ، يجب أن تكون الخوارزميات في شكل "برنامج".
 برنامج مكتوب بلغة برمجة ، ونشاط تعبيري
 تسمى الخوارزمية كبرنامج البرمجة.
 في الخوارزميات ، يتم التعبير عن الخطوات في شكل تعليمات أو بيان.
 نتيجة لذلك ، يتكون برنامج الكمبيوتر من سلسلة من البيانات التي تشير إلى
 إلى الكمبيوتر الذي يجب أن يؤدي العملية.
 لغة البرمجة المستخدمة سوف تملي 
طبيعة البيانات في البرنامج
باستخدام جهاز كمبيوتر لغرض تنفيذ العمليات ، فمن الضروري:
  تصميم الخوارزمية لوصف كيفية تنفيذ العملية ؛
  استخدام لغة برمجة للتعبير عن الخوارزمية في برنامج ؛
  قم بتشغيل البرنامج على الكمبيوتر.
 تحقيقا لهذه الغاية ، من المهم أن نفهم أن الخوارزميات مستقلة عن
 لغة البرمجة المستخدمة ويمكن التعبير عن كل خوارزمية بشكل مختلف
 لغات البرمجة وتنفيذها على أجهزة كمبيوتر مختلفة.  هذا هو السبب
 يعد تصميم الخوارزميات جانبًا أساسيًا من علوم الكمبيوتر.  تصميم
 تعد الخوارزمية نشاطًا فكريًا صعبًا ، وهي أصعب بكثير من
 معربا عن الخوارزمية كبرنامج.
 من بين المهارات اللازمة لتصميم الخوارزميات 
الإبداع والبصيرة
تصميم الخوارزمية:
  يتألف من مجموعة من التعليمات لإكمال المهمة ،
  ينقل المشكلة من مرحلة النمذجة إلى مرحلة التشغيل ،
  يجب أن تكون مجموعة التعليمات متسلسلة وكاملة ودقيقة وواضحة
 نقطة النهاية   ،
إذا كانت مخصصة لجهاز كمبيوتر ، فيجب أن تشتمل الخوارزمية على سلسلة من المهام المكتوبة
 بطريقة يستطيع الكمبيوتر تنفيذها.
 في هذا الفصل سوف ننظر في الخوارزميات ، مع الأخذ في الاعتبار بنيتها ، و
 التكوين والتعبير عنها في شكل قابل للتنفيذ.
 1.4 الخوارزميات والبرامج ولغات البرمجة
 كما قيل ، الخوارزمية هي وصف لكيفية تنفيذ مهمة أو عملية وهناك
 خوارزميات لتنفيذ جميع أنواع المهام / العمليات تقريبًا.  من المبنى
 طائرة نموذجية لتوجيه آلة الحفر

في أغلب الأحيان ، تتفاعل العملية الموصوفة بواسطة خوارزمية مع خوارزمية
 البيئة ، قبول المدخلات والإنتاج (المخرجات) (Goldschlager and Lister ،
 1988).  غالبًا ما تتطلب العمليات التي يتم تنفيذها على الكمبيوتر إدخالاً في شكل بيانات
 وغالبًا ما يكون الناتج الناتج أيضًا في شكل بيانات.  كمثال ، فكر
 حول عملية حساب الرواتب التي ستتطلب مدخلات مثل التكلفة اليومية ،
 أيام عمل ، وما إلى ذلك ، وستنتج نواتج مثل دفع الرواتب ،
 اشتراكات الموظفين / أصحاب العمل والضرائب المراد خصمها.
 المدخلات والمخرجات هي جزء من مواصفات العملية ولكنها لا تزال كذلك
 مستقل عن المعالج الذي ينفذ العملية

جانب آخر مهم للعمليات هو الإنهاء.  قد تنتهي العملية
 أو قد لا تنتهي أبدًا.  هذا هو سبب الإنهاء أو عدم الإنهاء
 العملية هي إحدى خصائصها المهمة.
 1.4.1 التركيب اللغوي والدلالات
 يحتاج الكمبيوتر إلى أن يكون قادرًا على تفسير خوارزمية من أجل تنفيذ العملية
 وصفها الخوارزمية.  على هذا النحو ، يجب أن يكون الكمبيوتر قادرًا على:
  فهم الشكل الذي يتم التعبير عن الخوارزمية به ؛
  تنفيذ العمليات الموضحة الخوارزمية
في هذا القسم سوف ننظر في الشكل الذي يتم التعبير عن الخوارزميات به.
 مجموعة القواعد النحوية التي تحكم كيف يمكن للرموز في اللغة
 يتم استخدامها بشكل شرعي يسمى بناء الجملة للغة (Goldschlager and Lister ، 1988).
 برنامج يلتزم بتركيب اللغة التي يتم التعبير عنها بها
 لتكون صحيحة نحويًا.  انحراف عن الصيغة الشرعية للغة
 يسمى خطأ في بناء الجملة.  عادةً ما تكون الدقة النحوية شرطًا أساسيًا لجهاز الكمبيوتر
 لتكون في وضع يسمح لها بتنفيذ البرنامج.
 يُطلق على معنى أشكال معينة من التعبير في اللغة الدلالات
 من اللغة.  يعتمد الكشف عن التناقضات الدلالية على معرفة الأشياء
 يشار إليها وعلى وجه الخصوص في معرفة سمات تلك الأشياء ، و
 العلاقات بينهما.  
إذا علم المعالج أن هناك 12 شهرًا فقط في السنة يمكنه اكتشافها
 التناقض الدلالي في الأمر قبل محاولة تنفيذه.  إذا لم يحدث ذلك
 تعرف هذا ، ثم ستحاول تنفيذه وعلى الأرجح سيتم رفع استثناء 
تحتوي هذه الخوارزمية على تضارب محتمل يظهر فقط في حالة التنفيذ
 من السطر الأول ينتج عنه رقم 13. عندما يكون عدم الاتساق نتيجة للتنفيذ
 خوارزمية بشكل عام لا توجد فرصة لاكتشافها مسبقًا.
 بالإضافة إلى الأخطاء النحوية والدلالية ، هناك أيضًا أخطاء منطقية.  إنه ممكن
 أن البرنامج قد يكون صحيحًا نحويًا ولا يحتوي على أي تناقضات دلالية ، ولكن
 قد لا يزال لا يؤدي إلى العملية المقصودة.
 كمثال (Goldschlager and Lister ، 1988) ، ضع في اعتبارك خوارزمية الحوسبة
 محيط الدائرة:
 احسب المحيط بضرب نصف القطر في π
 الخوارزمية صحيحة من الناحية التركيبية والمعنوية ولكنها تنتج نتيجة خاطئة
 بسبب الخطأ المنطقي الذي هو إغفال عامل 2.
 لسوء الحظ ، يصعب اكتشاف الأخطاء المنطقية بواسطة معالجات الكمبيوتر مسبقًا
 لتنفيذ العملية ومقارنة النتيجة بالنتيجة المرجوة.
 1.4.2 التصميم الحسابي: الصقل التدريجي للخوارزميات
 عادة ما يكون تصميم الخوارزميات التي تصف العمليات غير التافهة صعبًا للغاية.  للغاية
 كثيرًا ما تتعلق الأخطاء التي تظهر في الخوارزميات بالعملية الموضحة
 حيث تكون العملية الموصوفة قريبة جدًا من العملية المقصودة ولكن ليس بالضبط.
 الفشل الشائع الآخر هو عندما يؤدي التنفيذ إلى تنفيذ العملية المقصودة
 ولكن في ظروف معينة (غير متوقعة أو متجاهلة من قبل المصمم) لا يحدث ذلك.
 هذا مثال (Goldschlager and Lister ، 1988) الذي يصف كيف
 لحساب وقت الرحلة لطائرة من الجدول الزمني للوصول:
 1. ابحث عن وقت المغادرة
 2. ابحث عن وقت الوصول
 3. اطرح وقت المغادرة من وقت الوصول
 ستنتج هذه الخوارزمية النتيجة الصحيحة في معظم الحالات ، لكنها ستفشل في القيام بذلك
 لذلك إذا كانت نقطة المغادرة والوجهة في مناطق زمنية مختلفة.
 الاستنتاج هو أن مصمم الخوارزمية يجب أن يضمن الخوارزمية
 يصف بدقة العملية التي يجب تنفيذها بينما ممكن
 ذلك ممكن
تم احتساب الظروف.  إذا كانت العملية المراد تنفيذها معقدة للغاية
 ثم مهمة المصمم صعبة.
 هذا هو سبب الحاجة إلى نهج منهجي.  أحد هذه الأساليب هو التدرج
 صقل (أو تصميم من أعلى إلى أسفل).
 التحسين التدريجي هو تباين في عملية "فرق تسد"
 يتم تقسيمها إلى عدد من الخطوات ، يمكن لكل منها
 يتم وصفها بواسطة خوارزمية أصغر وأبسط.  لأن كل من هذه الفرعية-
 الخوارزمية أبسط من العملية بأكملها ، وعادة ما يكون للمصمم فكرة أوضح
 حول كيفية بنائه بكفاءة ، وبالتالي يمكن رسمه بمزيد من التفصيل مما لو كان
 حاول التعامل مع الخوارزمية بأكملها مرة واحدة.  يمكن أن تكون الخوارزميات الفرعية نفسها
 مقسمة إلى قطع أصغر والتي هي أبسط ويمكن التعبير عنها مرة أخرى في زوج
 مزيد من التفاصيل والدقة.  يستمر تحسين الخوارزمية بهذه الطريقة حتى كل منهما
 من خطواته مفصلة ودقيقة بشكل كاف للسماح بالتنفيذ بواسطة الكمبيوتر
 المعالج.
هل اعجبك الموضوع :

تعليقات