نماذج البرمجة الأساسية. مفهوم نموذج البرمجة الذاكرة التصريحية والإجرائية


التقييم: / 0
التفاصيل المشاهدات: 3084

نماذج البرمجة

ما هو النموذج على أي حال؟ يمكننا القول أن هذه نظرة معينة لظواهر العالم المحيط وفكرة الإجراءات المحتملة معها. في البرمجة، عادةً ما يُفهم النموذج على أنه تعميم حول كيفية تنظيم عمل البرنامج.

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

برمجة منظمة

بعض الممثلين: فورتران، باسكال، سي.

يصف برنامج التوجيه كيفية تحقيق النتيجة، ويصف الخطوات خطوة بخطوة. ولذلك، فإن مثل هذه البرمجة سهلة الفهم.

في البرمجة المنظمة، يعتمد تسلسل تنفيذ الأمر كليًا على البيانات المدخلة.

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

البرمجة الوظيفية والمنطقية

ممثلو اللغات الوظيفية: ليست، هاسكل.

ممثل اللغات المنطقية: Prolog.

ينص البرنامج التعريفي (يعلن) على ما يجب تحقيقه كهدف. إن الصياغة الدقيقة للمشكلة مهمة. ولا يحدد المبرمج خوارزمية لحلها.

تعتمد البرمجة الوظيفية على المفهوم الرياضي للدالة التي لا تغير بيئتها؛ هذا هو الفرق بين البرمجة الوظيفية والوظائف في اللغات المنظمة. يتكون البرنامج الوظيفي من مجموعة من تعريفات الوظائف، والتي بدورها تمثل استدعاءات لوظائف وعبارات أخرى تتحكم في تسلسل الاستدعاءات. تقوم كل دالة بإرجاع بعض القيمة إلى الدالة التي استدعتها، والتي يستمر تقييمها بعد ذلك؛ وتكرر هذه العملية حتى يتم تحقيق النتيجة.

في البرمجة المنطقية، يتم التعبير عن البرامج كصيغ منطقية رياضية، ويتم تحقيق حل المشكلة من خلال استنتاج النتائج المنطقية منها.

البرمجة الشيئية

ممثلو اللغات الشيئية: C++، Java، Python.

يتم إيلاء اهتمام خاص للبيانات التي يتم تمثيلها في البرنامج ككائنات. تتفاعل الكائنات مع بعضها البعض باستخدام آلية تمرير الرسائل. تتمثل مهمة المبرمج في تنفيذ كائنات بحيث يكون من الممكن الحصول على النتيجة المرجوة عند التفاعل معها.

تم تصميم OOP لحل المشكلات الأكثر تعقيدًا وضخامة مقارنةً بالبرمجة التوجيهية.

يعتمد OOP على مفاهيم مثل الميراث وتعدد الأشكال والتغليف.

يفترض التغليف أن التفاصيل غير المهمة للكائن مخفية. الكائن، الذي يتلقى أي أمر، "يعرف" كيفية معالجته بناءً على الفئة التي ينتمي إليها.

جميع الكائنات هي مثيلات للفئات، والتي فيما يتعلق ببعضها البعض يمكن أن تكون بمثابة الوالدين والطفل. ترث فئات الأطفال خصائص الوالد. في حالة عدم الحاجة إلى وراثة بنسبة 100%، يأتي ما يسمى بتعدد الأشكال للإنقاذ، والذي يتضمن تجاوز أساليب الفئة الأصل في الفصول الفرعية.

نموذج البرمجة هو مجموعة من الأفكار والمفاهيم التي تحدد أسلوب كتابة البرامج.

يصف النموذج الحتمي عملية الحساب في شكل تعليمات تغير حالة البرنامج. يشبه البرنامج الأمري إلى حد كبير الأوامر الأمرية في اللغات الطبيعية، أي أنه عبارة عن سلسلة من الأوامر التي يجب على الكمبيوتر تنفيذها. استنادًا إلى نموذج تورينج-بوست الآلي المحدود.

كانت اللغات الحتمية الأولى هي رموز الآلة - لغة البرمجة الأصلية للكمبيوتر. وكانت التعليمات في هذه اللغات بسيطة للغاية، مما أدى إلى تقليل العبء على أجهزة الكمبيوتر، ولكنه جعل من الصعب كتابة برامج كبيرة الحجم. في عام 1954، ظهرت أول لغة برمجة "بشرية" - FORTRAN، ثم ALGOL، COBOL، BASIC، Pascal، C.

إحدى السمات المميزة للبرمجة الأمرية هي وجود متغيرات بعملية "التخصيص المدمر". وهذا يعني أنه كان هناك متغير A، وكان له قيمة X. وتطلب الخوارزمية تعيين القيمة Y للمتغير A في الخطوة التالية. والقيمة التي كانت لدى A سوف "تُنسى إلى الأبد".

البرمجة الحتمية هي الأنسب لتنفيذ المهام الفرعية الصغيرة، حيث تعد سرعة التنفيذ على أجهزة الكمبيوتر الحديثة في غاية الأهمية. بالإضافة إلى ذلك، عادة ما يتم وصف العمل مع الأجهزة الخارجية من حيث التنفيذ المتسلسل للعمليات ("افتح الصنبور، اسحب الماء")، مما يجعل مثل هذه المهام مرشحة مثالية للتنفيذ الحتمي.

يبدو أن اختيار إطار النموذج الحتمي لتدريس أساسيات البرمجة أمر لا شك فيه. هناك عدة أسباب لذلك:

· النموذج الحتمي هو الأقرب إلى الطبيعة البشرية والمفهوم البديهي للخوارزمية في المراحل الأولى من تطور التفكير (هناك تجربة إيجابية للتعليم التنموي مع عناصر الخوارزمية بالفعل في المدرسة الابتدائية)؛

· البرمجة في إطار النموذج الحتمي تكون فعالة بالنسبة لفئة واسعة من المهام، التي يقع الكثير منها ضمن منطقة التطور القريب للطلاب في الصفوف العليا من المدرسة الأساسية؛

· النموذج الحتمي هو الأقرب إلى طبيعة الكمبيوتر، والمبادئ الأساسية لتشغيله، لأنه على الرغم من كل التعقيد الذي يتميز به الكمبيوتر الحديث، إلا أنه على مستوى الأجهزة لا يزال من الممكن اعتباره نوعًا ما من الآلات الآلية (المعالج + الذاكرة + ...) مع مجموعة محدودة من الحالات (المحتويات) في الذاكرة)؛

· حصة منتجات البرمجيات التي تم إنشاؤها حصريا في إطار نموذج البرمجة التعريفية صغيرة؛ كقاعدة عامة، عند حل المشكلات، يتم استخدام مجموعة من النماذج، واحدة منها إلزامية؛

· مجموعة كبيرة من أنظمة البرمجة على شكل برمجيات مستقلة وعلى شكل أنظمة فرعية مدمجة في أنظمة أخرى، مما يسمح بتطوير منتجات برمجية باستخدام النموذج الحتمي؛


· مجموعة واسعة من المنشورات التعليمية والمرجعية وغيرها حول أنظمة البرمجة ذات الصلة في أشكال ورقية وإلكترونية على وسائل الإعلام المختلفة وعلى الشبكة العالمية.

العيب: في شكله النقي يسمح بحل المشكلات البسيطة جدًا فقط.

البرمجة المبنية على الأحداث هي برمجة يتم فيها تحديد ردود أفعال البرنامج تجاه الأحداث المختلفة (إجراءات المستخدم). يمكن اعتبار الدورة الشهرية بمثابة "سليل" النموذج الحتمي. يحتوي SUP على فئتين فرعيتين:

1. تمثل البرمجة المتوازية البرنامج كمجموعة من عمليات الاتصال التي يمكن تنفيذها بالتوازي. يمكن تنفيذ مثل هذه البرامج إما على معالج واحد (بالتناوب في تنفيذ خطوات كل عملية) أو على عدة معالجات.

في نظام العمليات المتوازي، تقوم كل عملية فردية بمعالجة الأحداث. يمكن أن تكون الأحداث عامة للنظام بأكمله أو فردية لعملية واحدة أو عدة عمليات. في مثل هذه المصطلحات، من السهل جدًا وصف، على سبيل المثال، عناصر واجهة المستخدم الرسومية، أو نمذجة أي عمليات حقيقية (على سبيل المثال، التحكم في حركة المرور) - نظرًا لأن مفهوم الحدث أمر طبيعي لمثل هذه المهام.

2. البرمجة الموجهة للكائنات هي تقنية برمجة يتم من خلالها النظر إلى البرنامج على أنه مجموعة من الكائنات وتفاعلاتها. كل كائن برنامج هو مثيل لفئة معينة؛ - يمكن للفئات أن ترث سمات وأساليب الفئات الأم الخاصة بها، مع إضافة سمات وأساليب خاصة بها. يسمح لك التسلسل الهرمي للفئة بوضع نموذج لجوهر المشكلة التي يتم حلها على عدة مستويات من التفاصيل ثم استخدام فئة تتوافق مع مستوى التفاصيل المطلوبة لحل مهمة فرعية محددة.

من المهم تسليط الضوء على الخصائص الأساسية التالية للكائنات:

1.) نظرًا لأن كائنًا ما يمكنه التأثير على كائن آخر فقط عن طريق إرسال رسائل إلى الأخير، فإنه لا يمكنه بأي حال من الأحوال العمل بشكل مباشر مع بيانات "المحاور" الخاصة، وبالتالي لا يمكن أن ينتهك اتساقها الداخلي. تسمى هذه الخاصية (إخفاء البيانات) عادةً بالتغليف.

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

3.) تتفاعل الكائنات حصريًا عن طريق إرسال الرسائل لبعضها البعض. لذلك، إذا قمت في أي سيناريو لتفاعل الكائن باستبدال كائن عشوائي بكائن آخر قادر على معالجة نفس الرسائل، فسيكون السيناريو قابلاً للتنفيذ أيضًا. تسمى هذه الخاصية (القدرة على استبدال كائن بكائن آخر له بنية فئة مماثلة) بتعدد الأشكال.

تدعم العديد من اللغات الحديثة OOP، وإن كان ذلك بدرجات متفاوتة: تم تصميم اللغات الموجهة للكائنات بحتة، مثل Smalltalk وRuby، لدعم وحتى تنفيذ أسلوب التطوير الموجه للكائنات، ولا تدعم أنماط البرمجة الأخرى؛ - اللغات الموجهة للكائنات في الغالب، مثل Java وC++ وPython، مصممة بشكل أساسي لدعم OOP، ولكنها تسمح باستخدام عناصر البرمجة الإجرائية؛ - تاريخيًا، تم تحسين اللغات الإجرائية، على سبيل المثال، Perl وFortran 2002، وتم إضافة دعم لبعض عناصر OOP.

يحدد نموذج البرمجة التعريفية عملية الحساب من خلال وصف منطق الحساب نفسه، بدلاً من منطق التحكم في البرنامج.

البرمجة التصريحية هي عكس البرمجة الحتمية؛ الأول يصف ما يجب القيام به، والثاني يصف بالضبط كيفية القيام بذلك.

أهم أنواع البرمجة التصريحية هي البرمجة الوظيفية والمنطقية (أو العلائقية).

1. البرمجة الوظيفية هي أحد بدائل المنهج الحتمي. لأنه يقوم على حساب التفاضل والتكامل لامدا الكنيسة. في البرمجة الحتمية، الخوارزميات هي وصف للعمليات المنفذة بشكل تسلسلي. هناك مفهوم "خطوة التنفيذ الحالية" (أي الوقت)، و"الحالة الحالية" التي تتغير خلال ذلك الوقت.

لا يوجد مفهوم للوقت في البرمجة الوظيفية. البرامج هي تعبيرات، وتنفيذ البرنامج يتكون من تقييم هذه التعبيرات.

نظرًا لأن الترتيب الذي يتم به تقييم التعبيرات الفرعية لا يهم، فيمكن تنفيذ البرمجة الوظيفية بشكل طبيعي على الأنظمة الأساسية التي تدعم التوازي.

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

البرمجة المنطقية

في البرمجة الوظيفية، البرامج هي تعبيرات، وتنفيذها يتكون من حساب قيمتها. في البرمجة المنطقية، البرنامج عبارة عن نظرية (موصوفة بلغة محدودة إلى حد ما) وبيان يحتاج إلى إثبات. والدليل على هذا البيان يتكون من تنفيذ البرنامج.

ظهرت البرمجة المنطقية ولغة البرولوج من الأبحاث في مجال تحليل اللغة الطبيعية. وفي وقت لاحق، تم اكتشاف أن البرمجة المنطقية لها نفس القدر من الفعالية في تنفيذ مهام الذكاء الاصطناعي الأخرى.

تسمح البرمجة المنطقية بالتنفيذ الموازي الطبيعي.

اتضح أن تلك النماذج التي شقت طريقها في السابق إلى النور بالعرق والدم من خلال جحافل من أتباع الأساليب التقليدية أصبحت تُنسى تدريجياً. نشأت هذه النماذج في فجر البرمجة، ولماذا نشأت، وما هي المزايا التي قدمتها ولماذا لا تزال تستخدم، لا يزال من المفيد لأي مطور أن يعرفها.

نعم. المقدمة ممتعة جدًا، لكنك لا تقرأها على أي حال، لذا إذا كان أي شخص مهتمًا، فمرحبًا بك في القصة!

البرمجة الحتمية



تاريخيًا، فإن الغالبية العظمى من تكنولوجيا الكمبيوتر التي نبرمجها لها حالة ويتم برمجتها عن طريق التعليمات، لذلك كانت لغات البرمجة الأولى في الأساس حتمية بحتة، أي. ولم يدعم أي نماذج أخرى غير النموذج الحتمي.

وشملت هذه رموز الآلة، ولغات التجميع، واللغات عالية المستوى المبكرة مثل فورتران.

النقاط الرئيسية:

في هذا النموذج، يتم وصف الحساب في شكل تعليمات تغير حالة البرنامج خطوة بخطوة.

في اللغات ذات المستوى المنخفض (مثل لغة التجميع)، يمكن أن تكون الحالة هي الذاكرة والسجلات والأعلام، ويمكن أن تكون التعليمات هي تلك التعليمات التي يدعمها المعالج المستهدف.

في المستويات الأعلى (مثل لغة C)، تكون الحالة عبارة عن ذاكرة فقط، ويمكن أن تكون التعليمات أكثر تعقيدًا وتتسبب في تخصيص الذاكرة وإلغاء تخصيصها أثناء تشغيلها.

في المستويات العالية جدًا (مثل Python، إذا كنت تبرمجها بشكل حتمي)، تقتصر الحالة على المتغيرات فقط، ويمكن أن تكون الأوامر عمليات معقدة قد تستغرق مئات الأسطر في لغة التجميع.

مفاهيم أساسية:

- تعليمات
- ولاية

المفاهيم المولدة:

- تكليف
- انتقال
- ذاكرة
- فِهرِس

الرئيسية:
- لغات التجميع
- فورتران
-الغول
-كوبول
-باسكال

- سي++
-آدا
كمساعد:
- بايثون
- روبي
- جافا
- سي #
-بي أتش بي
- هاسكل (عبر المونادات)

ومن الجدير بالذكر أن معظم اللغات الحديثة تدعم البرمجة الحتمية بدرجة أو بأخرى. حتى لغة هاسكل الوظيفية البحتة يمكن كتابتها بشكل حتمي.

برمجة منظمة



البرمجة المنظمة هي نموذج برمجة (يُستخدم بشكل شائع أيضًا كمنهجية تطوير)، والتي كانت أول خطوة كبيرة في تطوير البرمجة.

كان مؤسسو البرمجة المنظمة أشخاصًا مشهورين مثل E. Dijkstra وN.Wirth.

وكانت اللغات الرائدة في هذا النموذج هي فورتران وألغول وبي، ثم خلفتها باسكال وسي.

النقاط الرئيسية:

يقدم هذا النموذج مفاهيم جديدة تجمع بين الأنماط الشائعة الاستخدام لكتابة التعليمات البرمجية الحتمية.

في البرمجة المنظمة، ما زلنا نعمل مع الحالة والتعليمات، ولكن تم تقديم مفهوم التعليمات المركبة (الكتلة)، وتعليمات التفرع والحلقة.

باستخدام هذه التغييرات البسيطة، من الممكن حذف عبارة goto في معظم الحالات، مما يؤدي إلى تبسيط التعليمات البرمجية الخاصة بك.

في بعض الأحيان، يجعل goto الكود أكثر قابلية للقراءة، ولهذا السبب لا يزال يستخدم على نطاق واسع، على الرغم من كل ادعاءات معارضيه.

مفاهيم أساسية:

- حاجز
- دورة
- المتفرعة

اللغات الداعمة لهذا النموذج:

الرئيسية:

-باسكال
- أساسي
كمساعد:
- سي #
- جافا
- بايثون
- روبي
- جافا سكريبت

مدعوم جزئيا:
- بعض مجمعات الماكرو (عبر وحدات الماكرو)

مرة أخرى، تدعم معظم اللغات الحديثة النموذج الهيكلي.

البرمجة الإجرائية



ومرة أخرى، أجبر التعقيد المتزايد للبرمجيات المبرمجين على البحث عن طرق أخرى لوصف العمليات الحسابية.

في الواقع، تم تقديم مفاهيم إضافية مرة أخرى مما سمح لنا بإلقاء نظرة جديدة على البرمجة.

كان هذا المفهوم هذه المرة إجراءً.

ونتيجة لذلك، نشأت منهجية جديدة لكتابة البرامج، وهي موضع ترحيب حتى يومنا هذا - يتم تقسيم المشكلة الأصلية إلى مشكلات أصغر (باستخدام الإجراءات) ويحدث هذا حتى يتبين أن حل جميع الإجراءات المحددة تافه.

النقاط الرئيسية:

الإجراء هو جزء مستقل من التعليمات البرمجية التي يمكن تنفيذها كتعليمات واحدة.

في البرمجة الحديثة، يمكن أن يحتوي الإجراء على نقاط خروج متعددة (الإرجاع في اللغات المشابهة لـ C)، أو نقاط دخول متعددة (باستخدام العائد في Python أو المتغيرات المحلية الثابتة في C++)، أو أن يكون له وسيطات، أو يُرجع قيمة كنتيجة لتنفيذه، أو يكون مثقلة بالعدد أو نوع المعلمات وغير ذلك الكثير.

مفاهيم أساسية:

- إجراء

المفاهيم المولدة:

- تحدي
- الحجج
- يعود
- العودية
- الزائد

اللغات الداعمة لهذا النموذج:

الرئيسية:

- سي++
-باسكال
- كائن باسكال
كمساعد:
- سي #
- جافا
- روبي
- بايثون
- جافا سكريبت

مدعوم جزئيا:
- الأساسي المبكر

تجدر الإشارة إلى أن العديد من نقاط الدخول من كل هذه اللغات مدعومة فقط في بايثون.

البرمجة المعيارية



مرة أخرى، أجبر التعقيد المتزايد للبرامج المطورين على مشاركة أكوادهم البرمجية. هذه المرة لم تكن الإجراءات كافية، وهذه المرة تم تقديم مفهوم جديد - وحدة نمطية.

بالنظر إلى المستقبل، سأقول أن الوحدات النمطية تبين أنها غير قادرة على احتواء التعقيد المتزايد للبرامج بسرعة لا تصدق، وبالتالي الحزم (هذه أيضًا برمجة معيارية)، والفئات (هذه بالفعل OOP)، والقوالب (البرمجة المعممة) ) ظهر.

البرنامج الموصوف بأسلوب البرمجة المعيارية هو عبارة عن مجموعة من الوحدات. ما بداخلها، سواء كانت فئات أو تعليمات برمجية حتمية أو وظائف خالصة، لا يهم.

بفضل الوحدات، ظهر تغليف جدي لأول مرة في البرمجة - من الممكن استخدام أي كيانات داخل الوحدة، ولكن لا تظهرها للعالم الخارجي.

النقاط الرئيسية:

الوحدة النمطية هي كيان مسمى منفصل لبرنامج يجمع بين وحدات البرنامج الأخرى المتشابهة في الوظيفة.

على سبيل المثال، يتضمن الملف List.mod فئة القائمة
ووظائف العمل معها - وحدة نمطية.

مجلد الهندسة الذي يحتوي على وحدات الشكل والمستطيل والمثلث هو أيضًا وحدة نمطية، على الرغم من أن بعض اللغات تفصل بين مفهوم الوحدة والحزمة (في مثل هذه اللغات تكون الحزمة عبارة عن مجموعة من الوحدات و/أو مجموعة من الوحدات الأخرى الحزم).

يمكن استيراد الوحدات (متصلة) لاستخدام الكيانات المعلنة فيها.

مفاهيم أساسية:

- وحدة
- يستورد

المفاهيم المولدة:

- حقيبة بلاستيكية
- التغليف

اللغات الداعمة لهذا النموذج:

الرئيسية:
- هاسكل
-باسكال
- بايثون
كمساعد:
- جافا
- سي #
- أكشن سكريبت 3

مدعوم جزئيا:
- سي/سي++

تقدم بعض اللغات تجريدات منفصلة للوحدات النمطية، بينما يمكن للآخرين استخدام ملفات الرأس (في C/C++)، ومساحات الأسماء، والفئات الثابتة، و/أو مكتبات الارتباط الديناميكي لتنفيذ الوحدات النمطية.

بدلا من الاستنتاج

في هذه المقالة، لم أصف البرمجة الشيئية والعامة والوظيفية الشائعة الآن. ببساطة لأن لدي رأيي الراديكالي في هذا الشأن ولم أرغب في بدء مشروع هوليفار. على الأقل لغاية الآن. إذا كان الموضوع مفيدًا للمجتمع، فإنني أخطط لكتابة عدة مقالات توضح أساسيات كل من هذه النماذج بالتفصيل.

كما أنني لم أكتب أي شيء عن النماذج الغريبة، مثل البرمجة الآلية والتطبيقية والبرمجة الموجهة نحو الجانب/الوكيل/المكونات. لم أرغب في جعل المقالة كبيرة جدًا، ومرة ​​أخرى، إذا كان الموضوع مطلوبًا، فسأكتب عن هذه النماذج، ربما بمزيد من التفصيل وبأمثلة برمجية.

(أساسيات الخوارزمية والبرمجة)
  • نماذج وتقنيات البرمجة
    أهداف الفصل الأول. دراسة مفاهيم "نموذج البرمجة"، "تكنولوجيا البرمجة". 2. الحصول على فهم عام لتقنيات تطوير البرمجيات الحديثة. 3. دراسة مراحل إنشاء البرنامج الهيكلي. 4. التعرف على نماذج دورة حياة تطوير البرمجيات...
  • نماذج برمجة SE
    يتضمن SWEBOK عددًا من نماذج البرمجة انظر: Lavrishcheva E. M. نماذج البرمجة من نوع التجميع في هندسة البرمجيات // UKRProg-2014. رقم 2-3. ص 121-133. . تتضمن المعسكرات التدريبية الخاصة بالبرمجة ما يلي: البرمجة الإجرائية(دورة CS1011 "أساسيات البرمجة")...
    (هندسة البرمجيات وتقنيات برمجة الأنظمة المعقدة)
  • نماذج البرمجة
    البرمجة المعيارية. مفاهيم أساسيةإحدى المشاكل الرئيسية للبرمجة الحديثة هي إعادة استخدام الوحدات والمكونات (KPI). يمكن أن تكون برامج، أو إجراءات فرعية، أو خوارزميات، أو مواصفات، وما إلى ذلك، مناسبة للاستخدام في تطوير برامج جديدة أكثر تعقيدًا....
    (هندسة البرمجيات. النماذج والتقنيات وأدوات الحالة)
  • النموذج الإجرائي
    كان النموذج الإجرائي هو الأول من الناحية التاريخية وساد لفترة طويلة. حاليًا، تفسح المجال تدريجيًا للنموذج الموجه للكائنات، على الرغم من أنها لا تزال تشغل حوالي نصف سوق تطوير البرمجيات. يتم تطبيقه على جميع مستويات تطوير البرمجيات.
    (الخوارزمية والبرمجة)
  • الذاكرة التصريحية والإجرائية
    طريقة أخرى مستقلة للتنظيم الوظيفي للذاكرة، مستقلة عن الآخرين، هي تقسيمها إلى تصريحيو إجرائي.هاتان الطريقتان لتنظيم الذاكرة لهما أساس وظيفي مفهوم تمامًا. تم تصميم شكل من أشكال الذاكرة التصريحية لدعم العقلية...
    (علم النفس والتربية)
  • تعد نماذج البرمجة العامة التي ظهرت في بداية عصر برمجة الكمبيوتر، بما في ذلك نماذج البرمجة التطبيقية والنظرية والوظيفية، هي الأكثر استقرارًا.

    تخضع البرمجة التطبيقية لتوجه مشكلة يعكس حوسبة المعلومات والعمليات الحسابية للمعالجة العددية، والتي تمت دراستها قبل وقت طويل من ظهور أجهزة الكمبيوتر. وهنا ظهرت بسرعة نتيجة عملية واضحة. وبطبيعة الحال، في مثل هذه المجالات، البرمجة لا تختلف كثيرا عن الترميز، لذلك، كقاعدة عامة، يكون أسلوب المشغل لتمثيل الإجراءات كافيا. في ممارسة البرمجة التطبيقية، من المعتاد الثقة في القوالب ومكتبات الإجراءات التي أثبتت جدواها وتجنب التجارب المحفوفة بالمخاطر. يتم تقدير دقة واستقرار الحسابات العلمية. بدأت لغة فورتران، وهي لغة مخضرمة في برمجة التطبيقات، تستسلم شيئا فشيئا في هذا المجال إلى لغة باسكال، ولغة سي، وعلى أجهزة الكمبيوتر العملاقة إلى لغات البرمجة الموازية مثل السيزال.

    تلتزم البرمجة النظرية باتجاه النشر الذي يهدف إلى مقارنة نتائج التجارب العلمية في مجال البرمجة وعلوم الكمبيوتر. تحاول البرمجة التعبير عن نماذجها الشكلية، لإظهار أهميتها وطبيعتها الأساسية. ورثت هذه النماذج السمات الرئيسية للمفاهيم الرياضية ذات الصلة وأثبتت نفسها كنهج خوارزمي في علوم الكمبيوتر. كانت الرغبة في الحصول على أدلة على الإنشاءات وتقييم فعاليتها ومعقوليتها وصحتها وصحتها وغيرها من العلاقات الرسمية في مخططات البرنامج ونصوصه بمثابة الأساس للبرمجة المنظمة وغيرها من الأساليب لتحقيق الموثوقية في عملية تطوير البرنامج، على سبيل المثال، البرمجة المختصة . تم استبدال المجموعات الفرعية القياسية لـ Algol وPascal، والتي كانت بمثابة مادة عمل لنظرية البرمجة، بلغات تطبيقية أكثر ملاءمة للتجريب، مثل ML وMiranda وScheme وHaskell وغيرها. الآن انضمت إليهم الابتكارات في C وJava.

    تم تشكيل البرمجة الوظيفية كإشادة بالتوجه الرياضي في البحث وتطوير الذكاء الاصطناعي وتطوير آفاق جديدة في علوم الكمبيوتر. نهج تجريدي لعرض المعلومات، وأسلوب عالمي مقتضب لبناء الوظائف، ووضوح بيئة التنفيذ لفئات مختلفة من الوظائف، وحرية الإنشاءات العودية، والثقة في حدس عالم الرياضيات والباحث، وتجنب عبء العمل قبل الأوان حل المشاكل غير المبدئية لتخصيص الذاكرة، ورفض القيود غير المعقولة على نطاق التعريفات - - كل هذا ربطه جون مكارثي بفكرة لغة اللثغة. إن التفكير والصلاحية المنهجية لتطبيقات Lisp الأولى جعلت من الممكن تجميع الخبرة بسرعة في حل المشكلات الجديدة وإعدادها للبرمجة التطبيقية والنظرية. يوجد حاليًا المئات من لغات البرمجة الوظيفية التي تركز على فئات مختلفة من المهام وأنواع الوسائل التقنية.

    تطورت نماذج البرمجة الرئيسية مع زيادة تعقيد المشكلات التي يتم حلها. لقد كان هناك تقسيم طبقي لأدوات وأساليب البرمجة اعتمادًا على عمق وعمومية وضع التفاصيل الفنية لتنظيم عمليات معالجة المعلومات الحاسوبية. ظهرت أنماط مختلفة من البرمجة، وأكثرها نضجًا هي البرمجة المتوازية الموجهة نحو الآلة، والنظامية، والمنطقية، والتحويلية، وعالية الأداء.

    تتميز البرمجة الموجهة للآلة بنهج الأجهزة لتنظيم تشغيل الكمبيوتر، بهدف الوصول إلى أي إمكانات للأجهزة. ينصب التركيز على تكوين الأجهزة وحالة الذاكرة والأوامر وعمليات نقل التحكم وتسلسل الأحداث والاستثناءات والمفاجآت ووقت استجابة الجهاز ونجاح الاستجابة. لقد تم طغيان لغة التجميع لبعض الوقت باعتبارها الوسيط المرئي المفضل بواسطة Pascal وC، حتى في البرمجة الدقيقة، ولكن تحسينات واجهة المستخدم قد تستعيد مكانتها.

    لقد تطورت برمجة النظام لفترة طويلة تحت ضغط الخدمة والعمل المخصص. يعتمد نهج التصنيع المتأصل في مثل هذا العمل على تفضيل العمليات القابلة للتكرار والبرامج المستقرة المصممة للاستخدام المتكرر. بالنسبة لمثل هذه البرامج، هناك ما يبرر مخطط معالجة التجميع، والتحليل الثابت للخصائص، والتحسين الآلي والتحكم. ويهيمن على هذا المجال أسلوب البرمجة الأمري الإجرائي، وهو تعميم مباشر لأسلوب مشغل البرمجة التطبيقية. إنه يسمح ببعض التوحيد والبرمجة المعيارية، لكنه يكتسب هياكل ومواصفات وطرق اختبار وأدوات تكامل البرامج معقدة إلى حد ما، وما إلى ذلك. يتم استيفاء المتطلبات الصارمة للكفاءة والموثوقية من خلال تطوير الأدوات المهنية التي تستخدم الاستدلال الدلالي الترابطي المعقد جنبًا إلى جنب مع أساليب التصميم الموجه نحويًا وتوليد البرامج. إن الإمكانات التي لا يمكن إنكارها لمثل هذه الأدوات في الممارسة العملية محدودة بسبب تعقيد التطوير - وينشأ شرط التأهيل.

    تهدف البرمجة عالية الأداء إلى تحقيق أقصى قدر ممكن من الأداء عند حل المشكلات المهمة بشكل خاص. الاحتياطي الطبيعي لأداء الكمبيوتر هو العمليات المتوازية. يتطلب تنظيمهم دراسة تفصيلية للعلاقات الزمنية وأسلوب غير حتمي لإدارة الإجراءات. تتطلب أجهزة الكمبيوتر العملاقة التي تدعم الحوسبة عالية الأداء تقنيات برمجة أنظمة خاصة. تم التعبير عن نهج شبكة الرسم البياني لتمثيل الأنظمة والعمليات للبنى المتوازية في لغات برمجة متوازية متخصصة ومترجمات فائقة، تم تكييفها لتعيين التسلسل الهرمي المجرد للعمليات على مستوى المهمة على البنية المكانية المحددة لمعالجات المعدات الحقيقية.

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

    تجمع البرمجة التحويلية بشكل منهجي بين تقنيات تحسين البرنامج والتوليد الكلي والحساب الجزئي. المفهوم المركزي في هذا المجال هو تكافؤ المعلومات. ويتجلى في تحديد تحويلات البرامج والعمليات، في البحث عن معايير قابلية تطبيق التحولات، في اختيار استراتيجية لاستخدامها. الحسابات المختلطة، والإجراءات المؤجلة، والبرمجة البطيئة، والعمليات المتأخرة، وما إلى ذلك. تُستخدم كطرق لزيادة كفاءة معالجة المعلومات في ظل ظروف معينة محددة بشكل إضافي.

    تعد أساليب البرمجة الشاملة بمثابة استجابة طبيعية للتحسينات الجذرية في أداء الأجهزة وشبكات الكمبيوتر. هناك انتقال لأدوات الحوسبة من فئة الأدوات التقنية إلى فئة الأجهزة المنزلية. وقد ظهرت الأرضية لتحديث مناهج البرمجة، بالإضافة إلى إمكانية إعادة تأهيل الأفكار القديمة التي تم تطويرها بشكل سيئ بسبب انخفاض تكنولوجيا وأداء أجهزة الكمبيوتر. من المهم تشكيل مناهج بحثية وتطورية ومعرفية وتكيفية للبرمجة التي تخلق احتمال التطوير العقلاني لموارد المعلومات الحقيقية وإمكانات الكمبيوتر.

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

    إن النهج المعرفي بأسلوب قابل للتشغيل البيني لتطوير الواجهة المرئية للأنظمة المفتوحة واستخدام أدوات الصوت والفيديو الجديدة والأجهزة غير القياسية يفتح طرقًا لتعزيز إدراك المعلومات المعقدة وتبسيط معالجتها بشكل مناسب.

    يوفر النهج التكيفي بأسلوب مريح للتصميم الفردي لأنظمة المعلومات الشخصية لعلماء الكمبيوتر الفرصة لبرمجة وتنظيم ودعم العمليات التكنولوجية في الوقت الفعلي التي تراعي العامل البشري بكفاءة. يعكس اتجاه تطوير نموذج البرمجة تغييرا في دائرة الأشخاص المهتمين بتطوير وتطبيق نظم المعلومات. العديد من المفاهيم المهمة لممارسة البرمجة، مثل الأحداث والاستثناءات والأخطاء والإمكانات والتسلسل الهرمي والتعامدي للإنشاءات والاستقراء ونقاط نمو البرنامج وقياس الجودة وما إلى ذلك. لم تصل إلى مستوى كاف من التجريد وإضفاء الطابع الرسمي. وهذا يسمح لنا بالتنبؤ بتطور نماذج البرمجة واختيار المواد التعليمية لمستقبل برمجة المكونات. إذا كانت الوسائل والأساليب التقليدية لاختيار المكونات القابلة لإعادة الاستخدام تخضع لمعيار النمطية، والذي يُفهم على أنه الاختيار الأمثل للحد الأدنى من الاقتران مع الحد الأقصى من الوظائف، فإن قاعدة العناصر الحديثة تسمح بتشغيل وحدات الاتصال المتعددة التي تؤدي عمليات بسيطة. ولكن يمكننا التعرف على كل هذه الأنواع ونماذج البرمجة باستخدام ويكيبيديا. يوجد حاليًا نطاق واسع جدًا من تطوير البرمجة في اتجاهات مختلفة.

    اختيار المحرر
    ، أفغانستان، طاجيكستان، قيرغيزستان، كازاخستان، تركمانستان، روسيا، تركيا، الصين، الخ. التوزيع...

    جورجيا هي موطن لأشخاص مضيافين وودودين سيساعدونك دائمًا. بعد وصولك إلى هذا البلد المشمس، لا داعي للقلق بشأن...

    التقييم: / 0 تفاصيل المشاهدات: 3084 نماذج البرمجة ما هو النموذج بشكل عام؟ يمكنك القول أن هذا...

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