أهلا ومرحبا. نبدأ قسمًا جديدًا ، وسنبدأ
الحديث عن التحكم. يتعامل تدفق التحكم في
التدفق بشكل أساسي مع العبارات الشرطية
والبيانات وعبارات if واتخاذ القرارات في برنامجك بالإضافة
إلى الكود المتكرر ، وهو الحلقات.
لذلك هذا قسم مهم وهذه تقنيات البرمجة الأساسية المستخدمة
في معظم اللغات. سوف نتحدث عن كيفية تحديدها لـ c.
ولكن لإعطائك نظرة عامة ، قبل
أن نبدأ الحديث عن بناء الجملة والتشعب في الأمثلة.
أريد أن أخبرك ماذا يعني تدفق التحكم من حيث البرنامج.
لذلك يتم تنفيذ العبارات الموجودة داخل ملفات المصدر بشكل عام من أعلى إلى أسفل بالترتيب
الذي تظهر به ، وهذا ما يسمى بالتسلسل.
لديك كل هذه البيانات. لقد تعلمنا عن التعبيرات داخل العبارات
أو خارجها ، لكنك تنتقل من البداية إلى النهاية.
هذا ما تعلمناه حتى الآن.
لم نقفز أبدًا. لم نقم أبدًا بأي شيء حيث نكرر الأشياء تلقائيًا ، بداية
من النهاية.
ومع ذلك ، فإن بيانات تدفق التحكم ستفكك تدفق التنفيذ هذا عن طريق إضافة
أشياء مثل اتخاذ القرار ، وطرح الأسئلة بشكل أساسي ،
وتكرار الكود ، والتكرار ، والتفرع.
يتيح ذلك لبرنامجك تنفيذ كتل معينة من التعليمات
البرمجية بشكل مشروط.
لذلك لن تبدأ فقط في الجزء العلوي من الوظيفة الرئيسية ، انتقل إلى الأسفل.
أنت الآن قد تذهب ذهابا وإيابا.
قد تكون متفرعة أو قد تقفز داخل وخارج الكتل
البرمجية. لذا فإن الكود في البرنامج
سوف يصبح أكثر تعقيدًا بعض الشيء.
لذا فإن الأشياء التي نتحدث عنها من حيث بيانات صنع قرار
التحكم في التدفق. هذا هو المكان الذي تطرح
فيه سؤالاً ، بشكل أساسي ثم تتلقى إجابة ، صحيحة أو خاطئة.
الأشياء المدعومة في c هي عبارة if للقرار وبعد
ذلك لديك if else ومن ثم يكون لديك
أيضًا بيان switch و go to statement.
هذه كلها بيانات صنع القرار. اذهب إلى ، وضعت هنا
لأنه موجود في ج.
ربما لن ترغب في استخدامه. سأتحدث باختصار عن ذلك.
إنه حقًا مجرد شيء يقوم المبرمج بتثبيته على الملصق.
لدينا أيضًا عبارات حلقات مدعومة بلغة c.
الكلمة الرئيسية الأربعة ، والكلمة الرئيسية ، والكلمة الرئيسية أثناء القيام.
هذه هي الأنواع الثلاثة من الحلقات. الحلقات ستكرر الرمز.
ثم العبارات المتفرعة متشابهة. يتم استخدامها عادةً
داخل حلقة أو داخل قرار.
هذه أشياء مثل الاستراحة والعودة المستمرة.
لذلك سنحاول التركيز في هذا القسم على محاضرات محددة لاتخاذ القرار مقابل
التكرار ثم الحديث أيضًا عن كسر المتابعة قليلاً.
مرة أخرى محاضرة مهمة جدا.
لذا صنع القرار. ماذا يعني هذا حقا داخل البرنامج؟
مرة أخرى ، حتى الآن ، أنشأنا المتغيرات بشكل أساسي ، وعلناها ، ونقوم
بإجراء العمليات الحسابية.
لكننا لم نتخذ أبدًا أي قرارات منطقية محددة.
لذا فإن مفهوم اتخاذ القرار هو أنه سيتطلب أن يحدد المبرمج
شرطًا واحدًا أو أكثر ليتم تقييمه أو اختباره بواسطة
البرنامج.
ما يحدث أساسًا هو أنك تطرح سؤالاً داخل البرنامج ، هذا هو المنطق.
وإذا كان الشرط أو الإجابة على هذا السؤال صحيحة ، فستقوم
بتنفيذ بعض التعليمات البرمجية
وبعض العبارات. إذا كانت الإجابة على هذا السؤال خاطئة
، فيمكنك عندئذٍ تنفيذ عبارات أخرى أو لا يجوز لك فعل أي شيء على الإطلاق.
إذن ، هذا هو مخطط تدفق البيانات الصغير الذي يوضح لك مفهوم
اتخاذ القرار في البرنامج. لديك هذا الشرط.
اعتمادًا على الإجابة على هذا الشرط ، سواء كان ذلك صحيحًا أم خطأ ، فأنت ستقوم إما بتنفيذ
التعليمات البرمجية أو عدم تنفيذ التعليمات البرمجية.
هذا يعتمد. يصبح الأمر أكثر تعقيدًا بعض الشيء ، ولكن هذا
هو الهيكل الأساسي لكيفية اتخاذ القرارات في برنامجك.
وبالتالي فإن ما يعنيه هذا هو داخل شفرة المصدر الخاصة بك ، فقد تتخطى بعض التعليمات البرمجية
اعتمادًا على إجابة السؤال ، اعتمادًا
على ما إذا كانت صحيحة أم خاطئة.
إذن البيانات التي يدعمها c هي عبارة if.
تحتوي عبارة if على كلمة أساسية خاصة تسمى.
إذا كنا سنتحدث عن هذا بالتفصيل ونعطي أمثلة
، لكن هذا البيان سوف يطرح السؤال بشكل أساسي.
سيكون داخل الأقواس تعبيرًا منطقيًا.
نحن نعلم ما هي التعبيرات المنطقية.
في الأساس يمكنهم إرجاع قيمة صواب
أو خطأ ، عبارة تُرجع قيمة
صحيحة أو خاطئة إلا في تعبيرها ، ويمكن أن تحتوي
على جملة واحدة أو أكثر داخل الجسم عبارة if.
لديك أيضا إذا كان آخر.
إذن فهذه عبارة if يمكن أن يتبعها أمر آخر اختياري.
إذا كان هذا صحيحًا ، فافعل هذا. إذا كانت خاطئة ، افعل شيئًا آخر.
ثم قمنا بتداخل عبارات if.
هذا عندما يكون لديك تعليمة if داخل جملة if أخرى.
لذلك قد تسأل أسئلة متعددة.
ومرة أخرى ، سيتم تفصيل هذا مع
أمثلة محددة وبناء الجملة. أنا أحاول فقط تقديم نظرة عامة في هذه المرحلة.
بقدر ما يذهب تكرار الكود وهو مرة أخرى آلية تدفق تحكم أخرى لأنك لم
تعد تعمل بشكل تسلسلي مرة أخرى.
مع تكرار الكود ، ستنفذ نفس الكود عدة مرات.
لذلك قد يكون هناك موقف عندما تحتاج إلى تنفيذ مجموعة من التعليمات البرمجية عدة مرات
، ويتم تنفيذ التعليمات بالتسلسل ،
ويتم تنفيذ العبارة الأولى في الوظيفة أولاً متبوعة بالثانية وهكذا.
كل هذا يتوقف. هذا نوع من كتلة رمز جسم الحلقة.
إذن ، تسمح لنا تعليمة loop بتنفيذ عبارة أو مجموعة من
العبارات عدة مرات دون الحاجة إلى تكرار
كل عبارة عدة مرات.
تغير عبارات التحكم في الحلقة التنفيذ من تسلسله الطبيعي.
عندما يغادر التنفيذ النطاق ، يتم
إتلاف جميع الكائنات التلقائية التي تم إنشاؤها في هذا النطاق.
إذاً هذا يتحدث عن النطاق فيما يتعلق
بالمتغيرات ويقول أساسًا أنه عندما تكون في جسم حلقة
ولديك متغيرات محلية ، فلن تكون قادرًا
على الوصول إليها خارج الحلقة.
تصبح الحلقة حلقة لا نهائية إذا لم يصبح الشرط خاطئًا أبدًا.
وهذا يعني أن برنامجك سيتوقف لأنك ستقوم بتنفيذ التعليمات
البرمجية مرارًا وتكرارًا ، ولن تخرج أبدًا.
في بعض الأحيان سوف تحتاج إلى القيام بذلك في الواقع.
عندما تراقب شيئًا ما أو تستمع لشيء ما.
والطريقة الفعلية لتنفيذ ذلك والمعرفة هي أنك ستستخدم حلقة for على الأرجح ، ولكن
يمكنك استخدام حلقة while أيضًا.
سنتحدث عن الحلقات اللانهائية ولماذا قد تحتاجها وماذا يعني ذلك في
محاضرة لاحقة.
لذا فإن تدفق البيانات الفعلي للحلقة يبدو شيئًا كهذا.
قمت بفحص الشرط. وإذا كان الشرط صحيحًا ، فإنك تقوم
بتنفيذ بعض التعليمات البرمجية ثم تستمر في القيام بذلك مرارًا وتكرارًا
حتى يتم تقييم الشرط على أنه خطأ.
بمجرد تقييم الشرط إلى خطأ ، تخرج من الحلقة.
الحلقات التي يتم دعمها في c هي حلقة while و for و do while loop.
كلمات رئيسية خاصة.
تكرر حلقة while عبارة أو مجموعة من العبارات
بينما يكون شرط معين صحيحًا. إذن فالشرط موجود في الجزء العلوي من الأقواس البرية.
الشرط هو اختبار في الأعلى قبل أن ينفذ جسم الحلقة.
على الرغم من وجود ثلاثة أنواع مختلفة من الحلقات المدعومة ، يمكنك استخدام
واحدة أكثر من الأخرى. بينما تكون حلقات for متشابهة إلى حد كبير ، إلا
أنها تحتوي على بناء جملة مختلف. ويمكنك القيام بالمزيد من الأشياء بشكل مختلف.
تختلف حلقة do while لأن لديك بالفعل
الاختبار في الأسفل. لذلك فأنت دائمًا مضمون لتنفيذ الحلقة مرة
واحدة على الأقل ، وهي جسم الحلقة.
لكن مرة أخرى ، سنتحدث عن هذه الأشياء. For loop ، كلمة رئيسية خاصة ، تنفذ عبارات
التسلسل عدة مرات. انها فقط أسهل في
الأساس بناء الجملة. يمكنك تهيئة متغير التحكم في الحلقة
والشروط كلها في بيان واحد.
ومن ثم فإن حلقة do a while ، كما قلت ، مختلفة قليلاً
لأنها حلقة ما بعد الاختبار ، حلقة التحكم في الخروج ، مما يعني
أنك مضمون دائمًا لدخول جسم الحلقة مرة واحدة على الأقل.
وسنتحدث أيضًا عن الحلقات المتداخلة. هذه مرة أخرى مجرد حلقة داخل
حلقة ، تمامًا مثل المتداخلة لـ if عبارة إذا كانت عبارة if
داخل تعليمة if ، الأمر نفسه ينطبق على الحلقات ، وسنرى
كيف يتطلب ذلك أحيانًا ويمكن أن يعقد الأشياء ، لكنه ضروري للبرمجة.
نظرة عامة سريعة لطيفة على آليات تدفق التحكم المختلفة
، ومستوى عالٍ ، ثم بعض الكلمات الرئيسية التي يدعمها
c لتنفيذ ذلك فعليًا.
الآن دعنا ننتقل ونقدم بعض الأمثلة ونبدأ الحديث عن اتخاذ القرار.
شكرًا لك.