Циклы 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. Каждая истинная проверка пишет текущий 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 { … } без скобок заставляет сборку писать ошибку. Тело на этой странице всегда стоит в фигурных скобках, потому что к каждому проходу относятся две строки: строка вывода и шаг. Если оставить шаг после закрывающей фигурной скобки, он выполнится один раз после конца цикла — а внутри цикла 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 пишут буквы, а не путь счётчика.
🧠 Проверьте Свои Знания
Проверьте Свои Знания
Бросьте себе вызов с помощью этой интерактивной викторины и узнайте, насколько хорошо вы понимаете тему
📝 Инструкции
- Внимательно прочитайте каждый вопрос
- Выберите лучший ответ на каждый вопрос
- Вы можете пересдавать тест столько раз, сколько захотите
- Ваш прогресс будет показан вверху