Основы программирования
Циклы
В C# имеются следующие виды циклов:
Цикл while
Структура цикла while
Пример цикла while
Пример цикла while
Пример цикла while
Вечный цикл
Цикл do-while
Структура цикла do-while
Пример цикла do-while
Пример цикла do-while
Пример цикла do-while
Цикл for
Структура цикла for
Пример цикла for
Пример цикла for
Особенности for
Пример цикла for
Оператор break
Например
Оператор continue
Например
Факториал числа
Факториал(цикл for)
Факториал(цикл for)
Факториал(цикл while)
Факториал(цикл do-while)
Вложенные циклы
Пример вложенного цикла
Задачи
Задача 1
Задача 2
Задача 3
92.19K
Category: programmingprogramming

Основы программирования. Циклы

1. Основы программирования

Самойлов Михаил Юрьевич

2. Циклы

Циклы являются управляющими конструкциями, позволяя в зависимости от
определенных условий выполнять некоторое действие множество раз.
Тело цикла – набор операторов внутри цикла.
Итерация – однократное выполнение тела цикла.

3. В C# имеются следующие виды циклов:

for
while
do...while

4. Цикл while

Слово while переводится, как «пока», что хорошо его характеризует. Он
продолжает выполнятся до тех пор, пока «истинно» некоторое условие.

5. Структура цикла while

while (условие продолжения)
{
//блок кода, который будет повторяться
}

6. Пример цикла while

int i = 0;
while (i < 5)
{
Console.WriteLine(i);
i++;
}
Здесь цикл выполнится 5 раз, распечатаются числа от 0 до 4, далее условие
станет ложным и выполнение цикла прекратится.

7. Пример цикла while

int i = 6;
while (i > 0)
{
Console.WriteLine(i);
i--;
}
Здесь цикл выполнится 6 раз, распечатаются числа от 6 до 1, далее условие
станет ложным и выполнение цикла прекратится.

8. Пример цикла while

int i = 0;
while (i < 10)
{
Console.WriteLine(i);
i = i +2 ;
}
Сколько раз выполнится цикл и что выведется на экран?

9. Вечный цикл

while (true)
{
Console.WriteLine("Вечный цикл");
}

10. Цикл do-while

Этот тот же цикл while, только здесь сначала выполняется блок кода, а уже
потом идет проверка условия. Это гарантирует хотя бы один проход цикла.

11. Структура цикла do-while

do
{
//блок кода, который будет повторяться
}
while (условие продолжения);

12. Пример цикла do-while

iint i = 6;
do
{
Console.WriteLine(i);
i--;
}
while (i > 0);
Здесь код цикла сработает 6 раз, пока i не станет равным нулю. Но важно
отметить, что цикл do гарантирует хотя бы единократное выполнение
действий, даже если условие в инструкции while не будет истинно.

13. Пример цикла do-while

int i = -1;
do
{
Console.WriteLine(i);
i--;
}
while (i > 0);
Хотя у нас переменная i меньше 0, цикл все равно один раз выполнится.

14. Пример цикла do-while

do
{
Console.WriteLine("цикл");
}
while (false);
Сколько раз выполнится цикл и что выведется на экран?

15. Цикл for

Этот цикл используется тогда, когда наперед известно, сколько повторений
нужно сделать.

16. Структура цикла for

for ([инициализация счетчика]; [условие]; [изменение счетчика])
{
// действия
}

17. Пример цикла for

for (int i = 0; i < 9; i++)
{
Console.WriteLine(i);
}
Первая часть объявления цикла - int i = 0 - создает и инициализирует счетчик
i. Счетчик необязательно должен представлять тип int. Это может быть и
другой числовой тип, например, float. В данном случае это то же самое, что
и объявление переменной.

18. Пример цикла for

for (int i = 0; i < 9; i++)
{
Console.WriteLine(i);
}
Вторая часть - условие, при котором будет выполняться цикл. Пока условное
выражение возвращает true, будет выполняться цикл. В данном случае цикл
будет выполняться, пока счетчик i не достигнет 9.
И третья часть - приращение счетчика на единицу. Опять же нам
необязательно увеличивать на единицу. Можно уменьшать: i--.
В итоге блок цикла сработает 9 раз, пока значение i не станет равным 9. И
каждый раз это значение будет увеличиваться на 1.

19. Особенности for

Необязательно указывать все условия при объявлении цикла. Любой блок
можно опустить. Например
int i = 0;
for (; ;)
{
Console.WriteLine(i);
}
Формально определение цикла осталось тем же, только теперь блоки в
определении у нас пустые. Нет инициализированной переменной-счетчика,
нет условия, поэтому цикл будет работать вечно - бесконечный цикл.

20. Пример цикла for

int i = 0;
for (; i<9;)
{
Console.WriteLine(i);
i++;
}
Этот пример по сути эквивалентен первому примеру: также есть счетчик,
только создан он вне цикла. У нас есть условие выполнения цикла. И есть
приращение счетчика уже в самом блоке for.

21. Оператор break

Иногда возникает ситуация, когда требуется выйти из цикла, не дожидаясь
его завершения. В этом случае мы можем воспользоваться оператором break.

22. Например

for (int i = 0; i < 9; i++)
{
if (i == 5)
break;
Console.WriteLine(i);
}
Хотя в условии цикла сказано, что цикл будет выполняться, пока счетчик i не
достигнет значения 9, в реальности цикл сработает 5 раз. Так как при
достижении счетчиком i значения 5, сработает оператор break, и цикл
завершится.

23. Оператор continue

В отличии от break, если мы хотим, чтобы при проверке цикл не завершался,
а просто пропускал текущую итерацию. Для этого мы можем воспользоваться
оператором continue

24. Например

for (int i = 0; i < 9; i++)
{
if (i == 5)
continue;
Console.WriteLine(i);
}
В этом случае цикл, когда дойдет до числа 5, которое не удовлетворяет
условию проверки, просто пропустит это число и перейдет к следующей
итерации

25. Факториал числа

Факториал числа — это произведение натуральных чисел от 1 до самого
числа(включая данное число). Обозначается факториал восклицательным
знаком "!". Факториал определён только для натуральных чисел и нуля.
Факториал нуля и единицы это 1.

26. Факториал(цикл for)

Console.Write("Введите число "); //выводит надпись на экран
string chislo = Console.ReadLine(); //chislo будет хранить то, что мы введем
int result = 1; //переменная, будет хранить результат факториала числа
for (int i = 1; i <= Convert.ToInt32(chislo); i++)
{
result = result * i;
}
Console.WriteLine(result);
Console.ReadLine();

27. Факториал(цикл for)

В переменную chislo мы заносим число, введенное пользователем.
Console.ReadLine() возвращает строковое значение, поэтому переменная
chislo тоже обязательно должна быть строковой, иначе вернется сообщение
об ошибке. Конструкцией Convert.ToInt32 мы преобразуем строковый формат
в числовой.

28. Факториал(цикл while)

Console.Write("Введите число ");
string chislo = Console.ReadLine();
int result = 1;
int i = 1;
while (i <= Convert.ToInt32(chislo))
{
result = result * i;
i++;
}
Console.WriteLine(result);
Console.ReadLine();

29. Факториал(цикл do-while)

Console.Write("Введите число ");
string chislo = Console.ReadLine();
int result = 1;
int i = 1;
do
{
result = result * i;
i++;
}
while (i <= Convert.ToInt32(chislo));
Console.WriteLine(result);
Console.ReadLine();

30. Вложенные циклы

Циклы могут быть простые или вложенные (циклы в цикле). Вложенными
могут быть циклы любых типов: while, do-while, for. Каждый внутренний цикл
должен быть полностью вложен во все внешние циклы. "Пересечения" циклов
не допускаются.

31. Пример вложенного цикла

for (int i = 1; i <= 4; i++)
{
for (int j=1; j<=5; j++)
{
Console.Write(" " + 2);
}
Console.WriteLine()
}

32. Задачи

Задача 1. Вывести на экран 20 элементов последовательности 1, 4, 7, 10,
13…
Задача 2. Напишите программу, которая будет «спрашивать» правильный
пароль, до тех пор, пока он не будет введен. Правильный пароль пусть будет
«root».
Задача 2. Напишите программу которая выводит таблицу умножения 8х8

33. Задача 1

int k = 1
for (int i = 0; i < 20; i++)
{
Console.WriteLine(k);
k = k + 3;
}
Console.ReadLine();

34. Задача 2

string password;
do
{
Console.WriteLine("введите пароль:");
password = Console.ReadLine();
}
while(password != "root");
Console.WriteLine("Правильный пароль");
Console.ReadLine();

35. Задача 3

// Этот цикл проходит по строкам
for (int i = 1; i <= b; i++)
{
// Этот цикл проходит по столбцам
for (int j = 1; j <= b; j++)
{
Console.Write(i * j + "\t");
}
Console.WriteLine();
}
Console.ReadLine();
English     Русский Rules