Logo Jit-learn Start free
Jit-learn - Job-ready skills in your language
مقدمة / موارد / حول

تعلم التفكير قبل أن تصبح الصياغة معقدة.

البرمجة الإجرائية هي فن حل المشكلات خطوة بخطوة.

تمهيدي

حول هذه الدورة

```

ما المشكلة التي حاول البرمجة الإجرائية حلها؟

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

```
```

أجهزة الحاسوب تتبع التعليمات

الحاسوب لا يفهم الأهداف.

لا يفهم خطط الأعمال.

لا يفهم العملاء.

يتبع التعليمات.

```
الخطوة 1
↓
الخطوة 2
↓
الخطوة 3
↓
الخطوة 4
```

التحدي كان إيجاد طريقة موثوقة لتنظيم تلك الخطوات.

# البرامج بدأت بالنمو

البرامج المبكرة كانت صغيرة نسبياً.

مع طلب الشركات لمزيد من التقارير، والمزيد من الأتمتة، والمزيد من المستخدمين، والمزيد من الميزات، أصبح البرنامج معقداً بشكل متزايد.

كان على المطورين إيجاد طريقة لتقسيم المشاكل الكبيرة إلى أجزاء أصغر وقابلة للإدارة.

الحل الإجرائي

البرمجة الإجرائية تنظم البرنامج كسلسلة من الخطوات.

```
Input
↓
العملية
↓
Output
```

المعلومات تدخل النظام.

يقوم النظام بأداء العمل.

ينتج النظام نتيجة.

أصبح هذا النموذج البسيط أساساً لعدد لا يحصى من البرامج.

The text "The Programmer Was The Guardrail" appears to be a title or heading. Let me translate it to Arabic: **المبرمج كان الحماية** Or alternatively, if "guardrail" is meant more metaphorically: **المبرمج كان درع الحماية** The most direct translation would be: **كان المبرمج هو درابزين الحماية** However, the most natural and concise translation is: **المبرمج كان الحماية**

البرمجة الإجرائية تمنح المبرمج حرية كبيرة.

بمجرد دخول البيانات إلى النظام، يقرر المبرمج ما يحدث.

```
أدخل رقمًا
↓
خزن القيمة
↓
قم بالعمل
↓
الإجابة
```

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

في العديد من الأنظمة المبكرة، كانت هناك بضعة ضمانات مدمجة فقط.

كان المبرمج في كثير من الأحيان الدرابزين الأساسي.

الحرية والمسؤولية

هذه الحرية جعلت البرمجة الإجرائية قوية للغاية.

```
Input
↓
متغير
↓
عمل
↓
إجابة
```

كما أن ذلك يعني أن الأخطاء يمكن أن تؤدي إلى حالات فشل.

```
Input
↓
متغير
↓
عمل
↓
خطأ النظام
```

المبرمجون الجيدون أنتجوا أنظمة موثوقة.

القرارات السيئة غالباً ما أنتجت أخطاء وتعطلات ومشاكل صيانة.

لماذا يهم اليوم

البرمجة الإجرائية أثرت على تقريباً كل لغة برمجة جاءت بعدها.

لا تزال الأنظمة الحديثة تستخدم التفكير الإجرائي:

```
الحصول على البيانات
↓
القيام بالعمل
↓
إنتاج النتائج
```

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

```
الموارد
حول

حول هذه الدورة

```

لماذا غيّر البرمجة الإجرائية مسار الحوسبة؟

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

```
```

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

الحواسيب المبكرة كانت تتبع التعليمات بالضبط كما تمت كتابتها.

غالباً ما نمت البرامج كسلسلة واحدة طويلة من الأوامر.

```
افعل هذا
↓
افعل ذلك
↓
افعل شيئاً آخر
↓
انتهِ
```

البرامج الصغيرة كانت قابلة للإدارة.

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

فكرة أفضل

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

```
البرنامج الرئيسي
↓
دالة
↓
دالة
↓
دالة
↓
النتيجة
```

كل إجراء تعامل مع مهمة محددة.

كانت النتيجة برنامجًا أسهل في القراءة والاختبار والتحسين.

# نموذج الأساس

معظم البرامج الإجرائية تتبع تدفقاً مباشراً:

```
Input
↓
العملية
↓
Output
```

استقبل المعلومات.

أداء العمل.

إنتاج نتيجة.

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

المبرمج هو صاحب القرار

البرمجة الإجرائية تمنح المبرمج حرية كبيرة.

بمجرد دخول المعلومات إلى البرنامج، يقرر المبرمج بالضبط ما يحدث بعد ذلك.

```
أدخل رقمًا
↓
خزن القيمة
↓
قم بالعمل
↓
الإجابة
```

يمكن للبرنامج حساب الإجماليات ومعالجة السجلات وإنشاء الملفات وتخصيص الذاكرة واستدعاء الدوال أو إجراء آلاف العمليات.

المسؤولية تقع على عاتق المبرمج.

الحرية والعواقب

الأنظمة الإجرائية قوية لأنها توفر المرونة.

يمكنها أيضاً أن تفشل عندما تُتخذ القرارات بشكل سيء.

```
إدخال
↓
متغير
↓
عمل
↓
إجابة

أو

إدخال
↓
متغير
↓
عمل
↓
خطأ في النظام
```

في العديد من الأنظمة المبكرة، كان المبرمج هو الحاجز الأساسي.

التصميم الجيد ينتج برمجيات موثوقة.

التصميم السيء أنتج الأخطاء والأعطال.

لماذا نجح البرمجة الإجرائية

البرمجة الإجرائية سمحت للمطورين ببناء أنظمة أكبر وأكثر قدرة من أي وقت مضى.

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

أصبحت إحدى أسس تطوير البرمجيات الحديثة.

ما ستتعلمه

هذا المقرر يركز على الأسس العملية للبرمجة الإجرائية.

```
الحصول على البيانات
↓
عرض النتائج
↓
تذكر المعلومات
↓
اتخاذ القرارات
↓
تكرار العمل
↓
إعادة استخدام الكود
↓
إدارة المجموعات
↓
حفظ المعلومات
↓
معالجة المشاكل
↓
تنظيم البرامج
```

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

```
حول البرمجة الإجرائية

البرمجة الإجرائية كانت واحدة من أولى المحاولات الرئيسية لتنظيم تطوير البرمجيات.

بدلاً من التعامل مع البرنامج باعتباره مجموعة ضخمة من التعليمات، قسّم المطورون العمل إلى إجراءات وَ دوال وَ خطوات منطقية.

Input
↓
العملية
↓
Output

برنامج إجرائي يستقبل معلومات، ويخزنها، وينفذ عملاً، وينتج نتيجة.

يتحكم المبرمج في العملية.

Input
↓
متغير
↓
القيام بالعمل
↓
الإجابة

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

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

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

الحصول على البيانات
↓
القيام بالعمل
↓
إنتاج النتائج

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

محاضرة + ورقة عمل

بطاقات ممارسة البرمجة الإجرائية الجاهزة للعمل

كل بطاقة تحتوي على محاضرة واحدة. فتح البطاقة بالكامل يفتح المحاضرة.

✓ الدرس 1 مجاني • لا يتطلب تسجيل دخول

المتغيرات والبيانات

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

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

الإدخال والإخراج

إدخال المعلومات في البرنامج وعرض النتائج المفيدة مرة أخرى.

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

اتخاذ القرار

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

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

الحلقات

تكرار العمل دون كتابة نفس التعليمات مرارًا وتكرارًا.

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

الدوال

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

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

المصفوفات والقوائم

العمل مع العديد من القيم بدلاً من التعامل مع قيمة واحدة في كل مرة.

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

الملفات

قراءة وكتابة المعلومات حتى يتمكن البرنامج من الاحتفاظ بالنتائج المفيدة.

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

تصحيح الأخطاء

العثور على الأخطاء عن طريق التحقق مما يفعله البرنامج فعليًا.

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

تصميم البرنامج

تخطيط الخطوات قبل كتابة الكود حتى يكون للبرنامج مسار واضح.

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

بناء برنامج كامل

ضع المتغيرات، القرارات، الحلقات، الدوال، والملفات معًا.

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

بطاقات ممارسة البرمجة الإجرائية الجاهزة للعمل

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

لماذا تتعطل البرامج

معظم فشل البرمجيات ليس فشلًا في البرمجة. إنها فشل في الافتراضات.

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

المسار السعيد

تعلم الفرق بين المدخلات المثالية ومدخلات العالم الحقيقي.

يُرى في النماذج، المدفوعات، التسجيلات، الطلبات، وتدفقات عمل العملاء.
المستخدم يتصرف بشكل مثالي
الواقع نادرًا ما يفعل
يشمل:
  • المسار السعيد
  • الافتراضات
  • تدفق العمل
  • التوقعات
  • الأمثلة

درع المدخلات

حماية البرامج من المدخلات السيئة، المفقودة، غير المكتملة، أو غير المتوقعة.

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

درع الملفات

التعامل مع الملفات المفقودة، المسارات السيئة، الأذونات، والبيانات التالفة بأمان.

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

درع قواعد البيانات

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

يُرى في الطلبات، تسجيلات الدخول، المنتجات، العضويات، وأنظمة التقارير.
فقدان الاتصال
فشل الاستعلام
ماذا الآن؟
يشمل:
  • فحوصات قواعد البيانات
  • استفسارات
  • مهلات
  • إخفاقات
  • استرجاع

انفجار MySQL

ماذا يحدث عندما ينجح الدفع ولكن يفشل كتابة قاعدة البيانات.

يُرى في التجارة الإلكترونية، SaaS، الاشتراكات، الحجوزات، وأنظمة الدفع.
تم استلام المال
الطلب مفقود
يشمل:
  • المعاملات
  • إخفاقات
  • المدفوعات
  • فقدان البيانات
  • الملكية

التعامل مع الأخطاء

توقع الفشل وقرر بالضبط ما يجب أن يفعله البرنامج بعد ذلك.

يُرى في كل تطبيق جاد، سكربت، واجهة برمجة تطبيقات، وخادم.
تجاهل الخطأ = كارثة مستقبلية
التعامل مع الخطأ = البقاء
يشمل:
  • الأخطاء
  • الردود
  • البدائل
  • إعادة المحاولات
  • استرجاع

التسجيل والأدلة

عندما يفشل شيء ما، تشرح السجلات ما حدث ومتى.

يُرى في دعم الإنتاج، تصحيح الأخطاء، التدقيق، والاستجابة للحوادث.
لا سجلات = تخمين
السجلات = دليل
يشمل:
  • التسجيل
  • الطوابع الزمنية
  • الأحداث
  • الأدلة
  • التحقيق

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

بناء طبقات من الحماية حتى لا يدمر خطأ واحد كل شيء.

يُرى في برامج المؤسسات، البنوك، الرعاية الصحية، التجارة الإلكترونية، وأنظمة السحابة.
افترض الفشل
استعد على أي حال
يشمل:
  • حواجز الحماية
  • الفحوصات
  • الدفاع
  • الطبقات
  • البقاء

بناء برامج تبقى

اجمع كل شيء في برنامج يستمر في العمل عندما تصل الحقيقة.

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

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

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


moc.rt-tij [ta] troppus
(التخصيص متاح)

moc.rt-tij [ta] troppus
(customization available)