مرجع
آخر الزيارات

شبه رماز

933 كلمة•0 مشاهدة•🗒️ منذ 14 يوماً
باختصار: في علوم الحاسب، يعد الرِّماز المفترض أو شبه الشيفرة أو شبه الرِماز وصفًا بلغة بسيطة للخطوات في خوارزمية. تجد هنا «قواعد اللغة الطبيعية في لغات البرمجة»، «مثال» و«الخوارزميات المجمعة من جمعية آلات الحوسبة» ضمن 10 أقسام.
المحتويات
  1. قواعد اللغة الطبيعية في لغات البرمجة
  2. مثال
  3. الخوارزميات المجمعة من جمعية آلات الحوسبة
  4. النمط الرياضي الكاذب
  5. التطبيق
  6. f(v, u) ← 0
  7. لغات البرمجة الرياضية
  8. تدوين Z
  9. sink node t
  10. بناء الجملة
شبه رماز

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

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

قواعد اللغة الطبيعية في لغات البرمجة

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

مثال

  • فيما يلي مثال أطول على السودوكود ذات النمط الرياضي لخوارزمية فورد وفولكرسون:
  • algorithm ford-fulkerson is
  • input: Graph G with flow capacity c,
  • source node s,

الخوارزميات المجمعة من جمعية آلات الحوسبة

إرشادات سودوكود ، ملف PDF.

النمط الرياضي الكاذب

كذلك، عادةً ما يتم استخدام التنضيد غير ASCII للمعادلات الرياضية، مثلًا عن طريق لغات الترميز، مثل تيكس أو MathML أو محرري الصيغة الاحتكارية.

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

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

الرموز الرياضية الشائعة

التطبيق

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

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

f(v, u) ← 0

  • while there exists a path p from s to t in the residual network Gf do
  • let cf be the flow capacity of the residual network Gf
  • cf(p) ← min{cf(u, v) | (u, v) in p}
  • for each edge (u, v) in p do
  • f(u, v) ← f(u, v) + cf(p)
  • f(v, u) ← −f(u, v)
  • return f
  • التجميع الآلي للغات المكتوبة بأسلوب السودوكود

لغات البرمجة الرياضية

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

علاوةً على ذلك، تتضمن الكثير من لغات المواصفات الرسمية تدوين نظرية المجموعات باستخدام أحرف خاصة. من الأمثلة:

تدوين Z

  • لغة برمجة إيه بي إل (APL) ولهجاتها APLX و أ+
  • ماثكاد (MathCAD)
  • انظر كذلك
  • برمجة المفاهيم
  • مخطط دراكون
  • خارطة الانسياب
  • البرمجة المتعلمة
  • لغة تصميم البرنامج
  • الكود القصير
  • اللغة الإنجليزية المنظمة
  • مراجع
  • قراءة متعمقة
  • روابط خارجية
  • معيار السودوكود

من جهة ثانية، تتضمن بعض لغات برمجة المصفوفات التعبيرات الموجهة وعمليات المصفوفات كصيغ غير ASCII مختلطة بهياكل التحكم التقليدية. من الأمثلة:

لغة مواصفات أسلوب التنمية في فيينا (VDM-SL).

sink node t

f(u, v) ← 0

output: Flow f such that f is maximal from s to t

for each edge (u, v) in GE do

إضافةً إلى ذلك، (Note that f(u,v) is the flow from node u to node v, and c(u,v) is the flow capacity from node u to node v)

بناء الجملة

هذا مثال على السودوكود للعبة fizz buzz الرياضية:

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

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

ما رأيك في هذه المقالة؟

📝 هل في هذه المقالة خطأ؟

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