المتغيرات والبيانات
تخزين القيم حتى يتمكن البرنامج من تذكر وإعادة استخدام المعلومات.
نسخة النسخ فقط: أسرع في البداية، أصعب في التصحيح لاحقًا
- المتغيرات
- قيم
- البيانات
- الأسماء
- مثال صغير
البرمجة الإجرائية هي فن حل المشكلات خطوة بخطوة.
حول هذه الدورة
```يمكن للحواسيب أن تؤدي ملايين العمليات كل ثانية، لكنها تفعل فقط ما يتم إخبارها به بالضبط. مع نمو البرامج، احتاج المبرمجون إلى طريقة لتنظيم التعليمات في عملية منطقية وقابلة للتكرار. أصبح البرمجة الإجرائية أحد الحلول الرئيسية الأولى.
```الحاسوب لا يفهم الأهداف.
لا يفهم خطط الأعمال.
لا يفهم العملاء.
يتبع التعليمات.
```الخطوة 1 ↓ الخطوة 2 ↓ الخطوة 3 ↓ الخطوة 4```
التحدي كان إيجاد طريقة موثوقة لتنظيم تلك الخطوات.
البرامج المبكرة كانت صغيرة نسبياً.
مع طلب الشركات لمزيد من التقارير، والمزيد من الأتمتة، والمزيد من المستخدمين، والمزيد من الميزات، أصبح البرنامج معقداً بشكل متزايد.
كان على المطورين إيجاد طريقة لتقسيم المشاكل الكبيرة إلى أجزاء أصغر وقابلة للإدارة.
البرمجة الإجرائية تنظم البرنامج كسلسلة من الخطوات.
```Input ↓ العملية ↓ Output```
المعلومات تدخل النظام.
يقوم النظام بأداء العمل.
ينتج النظام نتيجة.
أصبح هذا النموذج البسيط أساساً لعدد لا يحصى من البرامج.
البرمجة الإجرائية تمنح المبرمج حرية كبيرة.
بمجرد دخول البيانات إلى النظام، يقرر المبرمج ما يحدث.
```أدخل رقمًا ↓ خزن القيمة ↓ قم بالعمل ↓ الإجابة```
يمكن للمبرمج إنشاء متغيرات واستدعاء دوال وتخصيص الذاكرة ومعالجة الملفات وإجراء حسابات وبناء حلول بأي طريقة يختارها تقريباً.
في العديد من الأنظمة المبكرة، كانت هناك بضعة ضمانات مدمجة فقط.
كان المبرمج في كثير من الأحيان الدرابزين الأساسي.
هذه الحرية جعلت البرمجة الإجرائية قوية للغاية.
```Input ↓ متغير ↓ عمل ↓ إجابة```
كما أن ذلك يعني أن الأخطاء يمكن أن تؤدي إلى حالات فشل.
```Input ↓ متغير ↓ عمل ↓ خطأ النظام```
المبرمجون الجيدون أنتجوا أنظمة موثوقة.
القرارات السيئة غالباً ما أنتجت أخطاء وتعطلات ومشاكل صيانة.
البرمجة الإجرائية أثرت على تقريباً كل لغة برمجة جاءت بعدها.
لا تزال الأنظمة الحديثة تستخدم التفكير الإجرائي:
```الحصول على البيانات ↓ القيام بالعمل ↓ إنتاج النتائج```
فهم البرمجة الإجرائية يساعد على شرح كيف تطورت البرمجيات ولماذا تم تطوير أساليب لاحقة مثل البرمجة الموجهة للكائنات.
حول هذه الدورة
```قبل أن تكون للبرامج بنية، كانت البرامج غالباً ما تصبح صعبة الفهم، وصعبة الصيانة، وصعبة التوسع. قدمت البرمجة الإجرائية فكرة بسيطة لكن قوية: تقسيم المشاكل الكبيرة إلى سلسلة من الخطوات القابلة للإدارة.
```الحواسيب المبكرة كانت تتبع التعليمات بالضبط كما تمت كتابتها.
غالباً ما نمت البرامج كسلسلة واحدة طويلة من الأوامر.
```افعل هذا ↓ افعل ذلك ↓ افعل شيئاً آخر ↓ انتهِ```
البرامج الصغيرة كانت قابلة للإدارة.
البرامج الأكبر أصبحت سريعًا صعبة الفهم والصيانة.
بدلاً من التعامل مع البرنامج كقالب ضخم واحد من التعليمات، بدأ المطورون في تقسيم العمل إلى أجزاء أصغر.
```البرنامج الرئيسي ↓ دالة ↓ دالة ↓ دالة ↓ النتيجة```
كل إجراء تعامل مع مهمة محددة.
كانت النتيجة برنامجًا أسهل في القراءة والاختبار والتحسين.
معظم البرامج الإجرائية تتبع تدفقاً مباشراً:
```Input ↓ العملية ↓ Output```
استقبل المعلومات.
أداء العمل.
إنتاج نتيجة.
يظل هذا النموذج من أهم الأفكار في الحوسبة.
المبرمج هو صاحب القرار
البرمجة الإجرائية تمنح المبرمج حرية كبيرة.
بمجرد دخول المعلومات إلى البرنامج، يقرر المبرمج بالضبط ما يحدث بعد ذلك.
```أدخل رقمًا ↓ خزن القيمة ↓ قم بالعمل ↓ الإجابة```
يمكن للبرنامج حساب الإجماليات ومعالجة السجلات وإنشاء الملفات وتخصيص الذاكرة واستدعاء الدوال أو إجراء آلاف العمليات.
المسؤولية تقع على عاتق المبرمج.
الأنظمة الإجرائية قوية لأنها توفر المرونة.
يمكنها أيضاً أن تفشل عندما تُتخذ القرارات بشكل سيء.
```إدخال ↓ متغير ↓ عمل ↓ إجابة أو إدخال ↓ متغير ↓ عمل ↓ خطأ في النظام```
في العديد من الأنظمة المبكرة، كان المبرمج هو الحاجز الأساسي.
التصميم الجيد ينتج برمجيات موثوقة.
التصميم السيء أنتج الأخطاء والأعطال.
البرمجة الإجرائية سمحت للمطورين ببناء أنظمة أكبر وأكثر قدرة من أي وقت مضى.
أنظمة التشغيل والبرامج التجارية والأدوات المساعدة وقواعد البيانات والتطبيقات العلمية والأنظمة الإنترنت المبكرة تم بناؤها باستخدام تقنيات إجرائية.
أصبحت إحدى أسس تطوير البرمجيات الحديثة.
هذا المقرر يركز على الأسس العملية للبرمجة الإجرائية.
```الحصول على البيانات ↓ عرض النتائج ↓ تذكر المعلومات ↓ اتخاذ القرارات ↓ تكرار العمل ↓ إعادة استخدام الكود ↓ إدارة المجموعات ↓ حفظ المعلومات ↓ معالجة المشاكل ↓ تنظيم البرامج```
هذه الأفكار تظل في قلب العديد من لغات البرمجة والأنظمة البرمجية المستخدمة اليوم.
البرمجة الإجرائية كانت واحدة من أولى المحاولات الرئيسية لتنظيم تطوير البرمجيات.
بدلاً من التعامل مع البرنامج باعتباره مجموعة ضخمة من التعليمات، قسّم المطورون العمل إلى إجراءات وَ دوال وَ خطوات منطقية.
Input ↓ العملية ↓ Output
برنامج إجرائي يستقبل معلومات، ويخزنها، وينفذ عملاً، وينتج نتيجة.
يتحكم المبرمج في العملية.
Input ↓ متغير ↓ القيام بالعمل ↓ الإجابة
هذه الحرية تسمح للمطورين بحل المشاكل بطرق مختلفة عديدة.
كما أنها تضع مسؤولية على عاتق المبرمج لاتخاذ قرارات جيدة وإدارة الموارد بعناية والتعامل مع الأخطاء بشكل صحيح.
أصبح البرمجة الإجرائية أساس العديد من الأنظمة المهمة وتبقى أحد أوضح الطرق لفهم كيفية عمل البرامج.
الحصول على البيانات ↓ القيام بالعمل ↓ إنتاج النتائج
فهم البرمجة الإجرائية يساعد على شرح أسس ما يقارب كل لغات البرمجة والأنظمة البرمجية التي جاءت لاحقاً.
كل بطاقة تحتوي على محاضرة واحدة. فتح البطاقة بالكامل يفتح المحاضرة.
تخزين القيم حتى يتمكن البرنامج من تذكر وإعادة استخدام المعلومات.
إدخال المعلومات في البرنامج وعرض النتائج المفيدة مرة أخرى.
استخدام الشروط حتى يتمكن البرنامج من اختيار ما يجب فعله بعد ذلك.
تكرار العمل دون كتابة نفس التعليمات مرارًا وتكرارًا.
تجميع الخطوات في كتل قابلة لإعادة الاستخدام حتى تظل البرامج منظمة.
العمل مع العديد من القيم بدلاً من التعامل مع قيمة واحدة في كل مرة.
قراءة وكتابة المعلومات حتى يتمكن البرنامج من الاحتفاظ بالنتائج المفيدة.
العثور على الأخطاء عن طريق التحقق مما يفعله البرنامج فعليًا.
تخطيط الخطوات قبل كتابة الكود حتى يكون للبرنامج مسار واضح.
ضع المتغيرات، القرارات، الحلقات، الدوال، والملفات معًا.
تعلم لماذا يتعطل البرنامج، وكيفية حمايته، وكيفية التعافي عندما تسوء الأمور.
معظم فشل البرمجيات ليس فشلًا في البرمجة. إنها فشل في الافتراضات.
تعلم الفرق بين المدخلات المثالية ومدخلات العالم الحقيقي.
حماية البرامج من المدخلات السيئة، المفقودة، غير المكتملة، أو غير المتوقعة.
التعامل مع الملفات المفقودة، المسارات السيئة، الأذونات، والبيانات التالفة بأمان.
فهم لماذا تفشل قواعد البيانات وكيف يجب أن تستجيب التطبيقات بأمان.
ماذا يحدث عندما ينجح الدفع ولكن يفشل كتابة قاعدة البيانات.
توقع الفشل وقرر بالضبط ما يجب أن يفعله البرنامج بعد ذلك.
عندما يفشل شيء ما، تشرح السجلات ما حدث ومتى.
بناء طبقات من الحماية حتى لا يدمر خطأ واحد كل شيء.
اجمع كل شيء في برنامج يستمر في العمل عندما تصل الحقيقة.
الهدف ليس حفظ كل لغة أولاً. الهدف هو فهم تدفق البرنامج، التعرف على الخطوات، ومراجعة ما يقدمه لك الذكاء الاصطناعي أو مطور آخر.