حلقة while
int k = 1; يخزّن 1 قبل أي حلقة. ثم while (k <= 3) يستمر بينما ذلك الاختبار true. داخل الأقواس المعقوفة، Console.WriteLine(k) يكتب العدد الحالي، وk = k + 1 يخزّن واحدًا أكثر تحت k. الشاشة تُظهر ثلاثة أسطر: 1، ثم 2، ثم 3. أبقِ اسم الصنف العام Pine.
البداية خارج، الاختبار داخل while، الخطوة داخل
افتح ملف Pine. اسم الصنف يبقى Pine. هذه الصفحة لا تعيد تسمية النوع. احذف أي حلقة for إن بقي ذلك السطر، بما في ذلك for (int n = 1; n <= 3; n = n + 1) وكل بداية-اختبار-خطوة ملفوفة في رأس واحد. احذف int choice إن بقي ذلك السطر. احذف أي سطر ReadLine. الملف الذي تحتفظ به بلا انتظار للكتابة، بلا رأس for بثلاث مهام داخل الأقواس، وبلا switch. الشاشة تُكتب فقط بسطر الكتابة داخل أقواس while المعقوفة.
داخل Main، خزّن العدّاد أولًا: int k = 1;. ذلك السطر ليس داخل while. يبدأ k من 1 فقط. ثم الحلقة:
while (k <= 3) {
Console.WriteLine(k);
k = k + 1;
}
كلمة while بحروف صغيرة. داخل الأقواس يجلس الاختبار فقط: k <= 3. لا بداية ولا خطوة داخل تلك الأقواس — بخلاف سطر for الذي رأيته سابقًا. الأقواس المعقوفة تمسك سطر الكتابة والخطوة معًا. Console.WriteLine(k); يكتب العدد الحالي بلا اقتباس حول k. ثم k = k + 1; يخزّن واحدًا أكثر تحت k حتى يصير الاختبار التالي false في النهاية. احفظ الملف.
الملف الذي تحتفظ به
أبقِ هذا الشكل التعليمي. سطر تخزين واحد فوق الحلقة، int k = 1;. while واحد بأقواس حول الاختبار فقط. سطر كتابة واحد داخل الأقواس المعقوفة. خطوة واحدة داخل الأقواس المعقوفة، k = k + 1;. بلا رأس for، بلا عدّاد n من الصفحة السابقة، وبلا اقتباس حول k.
using System;
public class Pine
{
public static void Main()
{
int k = 1;
while (k <= 3)
{
Console.WriteLine(k);
k = k + 1;
}
}
}
اقرأ من الأعلى. using System; يجهّز الأسماء القصيرة. public class Pine يسمّي النوع. public static void Main() حيث يبدأ التشغيل. int k = 1; يخزّن 1. while (k <= 3) يسأل الاختبار. Console.WriteLine(k); يكتب k الحالي. k = k + 1; يحرّك العدّاد. ثلاثة أسطر على الشاشة: 1، ثم 2، ثم 3. لا سطر for في الملف الذي تحتفظ به.
شغّله بـ dotnet run. البرنامج يكتب ثلاثة أسطر ويتوقف. لا ينتظر أن تكتب شيئًا. العدّاد وwhile كانا في الملف مسبقًا. إن انتظر dotnet run، فـ ReadLine ما زال في الملف. احذف ذلك السطر وأبقِ int k = 1; وwhile أعلاه. الشاشة تُظهر 1، ثم 2، ثم 3. إن لم تتوقف الشاشة وظلّت تكتب 1، فالخطوة ناقصة من الأقواس المعقوفة. أعد k = k + 1; داخلها. إن أظهرت الشاشة تشغيلًا بأسلوب for متبقّى، فاحذف رأس for. إن أظهرت الشاشة حرف k في كل سطر، فسطر الكتابة فيه اقتباس: Console.WriteLine("k");. لا تعيد تثبيت .NET SDK من أجل شاشة تُظهر الأسطر الخطأ.
امشِ تشغيلًا كاملًا بالترتيب. k يبدأ من 1 قبل while. الاختبار k <= 3 قيمته true، فيعمل الجسم: سطر الكتابة يكتب 1، ثم الخطوة تخزّن 2. الاختبار ما زال true: يكتب 2، يخزّن 3. الاختبار ما زال true: يكتب 3، يخزّن 4. الآن k <= 3 قيمته false، فتنتهي الحلقة. البداية عملت مرة فوق الحلقة. الاختبار عمل قبل كل مرور. الخطوة عملت داخل الأقواس المعقوفة بعد كل كتابة. تلك المهام الثلاث نفس أفكار for، لكنها ليست ملفوفة في سطر رأس واحد. إن حذفت k = k + 1; وتركت k عند 1 إلى الأبد، يبقى الاختبار true ويمكن أن يكتب نفس السطر بلا توقف — ذلك الحالة اللانهائية سبب بقاء الخطوة داخل الجسم في هذه الصفحة.
وسّع الاختبار
غيّر الاختبار فقط حتى تذهب الحلقة خطوة أبعد: while (k <= 4). اترك البداية والخطوة كما هما. الآن يجب أن تُظهر الشاشة أربعة أسطر: 1، و2، و3، و4.
using System;
public class Pine
{
public static void Main()
{
int k = 1;
while (k <= 4)
{
Console.WriteLine(k);
k = k + 1;
}
}
}
هذا الملف الثاني. ليس الملف الذي تحتفظ به. شغّل dotnet run. الشاشة تُظهر أربعة أسطر. لم تُعد كتابة سطر الكتابة أو الخطوة — تغيّر فقط الاختبار داخل while (…). بعد رؤية أربعة أسطر، أعد الملف المحفوظ: k <= 3 ونفس الجسم. النسختان C# صالحتان. تعلّمان نفس شكل while بنقطة توقف مختلفة.
اقرأ تشغيل الأسطر الأربعة مرة أخرى. k يبدأ من 1. كل اختبار true يكتب k الحالي ثم يضيف 1. عندما يصبح k يساوي 5، يفشل الاختبار وتتوقف الحلقة. الرقم 5 لا يظهر على الشاشة في هذا العرض، لأن الجسم يعمل فقط بينما الاختبار ما زال true.
📊 k and the first demo screen
| k before WriteLine | Screen line |
|---|---|
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
استخدم الجدول للتحقق بعد العرض الأول، لا بدل التشغيل. قبل كل سطر كتابة في ذلك العرض، k يحمل العدد الذي سيظهر في ذلك السطر. بعد الكتابة الثالثة، الخطوة تخزّن 4 ويفشل الاختبار. إن لم تتوقف الشاشة على نسخة بلا خطوة، فأعد k = k + 1; داخل الأقواس المعقوفة — لا تعيد تثبيت .NET SDK.
قواعد تُبقي while واضحًا
الأقواس حول الاختبار مطلوبة. كتابة while k <= 3 { … } بلا أقواس تجعل الـ build يكتب خطأ. جسم هذه الصفحة دائمًا داخل أقواس معقوفة، لأن كل مرور له سطران: سطر الكتابة والخطوة. إن تركت الخطوة بعد القوس المعقوف المغلق، تعمل مرة بعد انتهاء الحلقة — وداخل الحلقة k لا يتغيّر أبدًا، فالحلقة قد تعمل إلى الأبد. أبقِ الخطوة داخل الأقواس المعقوفة في العرضين.
while ليس for وليس switch. for يلفّ البداية والاختبار والخطوة في سطر رأس واحد. while يُبقي الاختبار وحده في رأسه ويطلب منك وضع البداية والخطوة بنفسك. switch يختار مرة بين تسميات case. لا تترك حلقة for أو switch في نفس Main وتتعجّب لماذا تُظهر الشاشة بقايا رأس بأسلوب for أو كلمة mid. Main هذه الجلسة يجب أن يحمل الـ int وwhile فقط.
خلط شائع هو كتابة النحو نفسه: Console.WriteLine("while");. ذلك يكتب الأحرف while. لا يكرّر. خلط آخر هو وضع اقتباس حول k: Console.WriteLine("k"); يكتب حرف k في كل مرور. أبقِ Console.WriteLine(k) بلا اقتباس عندما تريد العدّاد على الشاشة. إن كان الاختبار false أصلًا عند أول وصول إلى while — مثلًا k يبدأ من 5 والاختبار يقول k <= 3 — فالجسم لا يعمل أبدًا وتبقى الشاشة فارغة. ذلك ما زال while صالحًا؛ عروض هذا الدرس تُبقي اختبارًا true مرة واحدة على الأقل حتى ترى الأسطر المكتوبة.
يمكنك الآن بدء عدّاد فوق while، ووضع اختبار داخل while (…)، وإبقاء سطر الكتابة والخطوة داخل الأقواس المعقوفة. تغيير الاختبار يغيّر عدد الأسطر التي تحصل عليها. الصفحة التالية هي break وcontinue، حيث تخرج من الحلقة مبكرًا أو تتخطّى مرورًا واحدًا دون إنهاء الحلقة كلها.
الشاشة هي العدّاد المتغيّر
الملف الذي تحتفظ به يكتب 1، ثم 2، ثم 3. الاسم k على سطر الكتابة، وحرف k ليس على الشاشة. البداية فوق while، وليست على الشاشة. اقتباس حول k أو حول while يكتب حروفًا، لا مسار العدّاد.
🧠 اختبر معرفتك
اختبر معرفتك
تحدى نفسك مع هذا الاختبار التفاعلي واكتشف مدى فهمك للموضوع
📝 التعليمات
- اقرأ كل سؤال بعناية
- اختر أفضل إجابة لكل سؤال
- يمكنك إعادة الاختبار عدة مرات كما تريد
- سيتم عرض تقدمك في الأعلى