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

Содержание

Слайд 2

Циклы Циклы являются управляющими конструкциями, позволяя в зависимости от определенных условий

Циклы

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

некоторое действие множество раз.
Тело цикла – набор операторов внутри цикла.
Итерация – однократное выполнение тела цикла.
Слайд 3

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

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

for
while
do...while

Слайд 4

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

Цикл while

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

продолжает выполнятся до тех пор, пока «истинно» некоторое условие.
Слайд 5

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

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

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

Слайд 6

Пример цикла while int i = 0; while (i Здесь цикл

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

int i = 0; while (i < 5) {    Console.WriteLine(i);    i++; }
Здесь

цикл выполнится 5 раз, распечатаются числа от 0 до 4, далее условие станет ложным и выполнение цикла прекратится.
Слайд 7

Пример цикла while int i = 6; while (i > 0)

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

int i = 6;
while (i > 0)
{
Console.WriteLine(i);
i--;
}
Здесь

цикл выполнится 6 раз, распечатаются числа от 6 до 1, далее условие станет ложным и выполнение цикла прекратится.
Слайд 8

Пример цикла while int i = 0; while (i Сколько раз

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

int i = 0; while (i < 10) {    Console.WriteLine(i);    i

= i +2 ; }
Сколько раз выполнится цикл и что выведется на экран?
Слайд 9

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

Вечный цикл

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

Слайд 10

Цикл do-while Этот тот же цикл while, только здесь сначала выполняется

Цикл do-while

Этот тот же цикл while, только здесь сначала выполняется блок

кода, а уже потом идет проверка условия. Это гарантирует хотя бы один проход цикла.
Слайд 11

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

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

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

Слайд 12

Пример цикла do-while iint i = 6; do { Console.WriteLine(i); i--;

Пример цикла 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--;

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

int i = -1;
do
{
Console.WriteLine(i);
i--;
}
while (i > 0);
Хотя

у нас переменная i меньше 0, цикл все равно один раз выполнится.
Слайд 14

Пример цикла do-while do { Console.WriteLine("цикл"); } while (false); Сколько раз

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

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

на экран?
Слайд 15

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

Цикл for

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

сделать. 
Слайд 16

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

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

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

Слайд 17

Пример цикла for for (int i = 0; i { Console.WriteLine(i);

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

for (int i = 0; i < 9; i++)
{

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

Пример цикла for for (int i = 0; i { Console.WriteLine(i);

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

for (int i = 0; i < 9; i++)
{

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

Особенности for Необязательно указывать все условия при объявлении цикла. Любой блок

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

Необязательно указывать все условия при объявлении цикла. Любой блок можно

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

Пример цикла for int i = 0; for (; i {

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

int i = 0;
for (; i<9;)
{
Console.WriteLine(i);
i++;
}
Этот пример

по сути эквивалентен первому примеру: также есть счетчик, только создан он вне цикла. У нас есть условие выполнения цикла. И есть приращение счетчика уже в самом блоке for.
Слайд 21

Оператор break Иногда возникает ситуация, когда требуется выйти из цикла, не

Оператор break

Иногда возникает ситуация, когда требуется выйти из цикла, не дожидаясь

его завершения. В этом случае мы можем воспользоваться оператором break.
Слайд 22

Например for (int i = 0; i { if (i ==

Например

for (int i = 0; i < 9; i++)
{
if (i

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

Оператор continue В отличии от break, если мы хотим, чтобы при

Оператор continue

В отличии от break, если мы хотим, чтобы при проверке

цикл не завершался, а просто пропускал текущую итерацию. Для этого мы можем воспользоваться оператором continue
Слайд 24

Например for (int i = 0; i { if (i ==

Например

for (int i = 0; i < 9; i++)
{
if (i

== 5)
continue;
Console.WriteLine(i);
}
В этом случае цикл, когда дойдет до числа 5, которое не удовлетворяет условию проверки, просто пропустит это число и перейдет к следующей итерации
Слайд 25

Факториал числа Факториал числа — это произведение натуральных чисел от 1

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

Факториал числа — это произведение натуральных чисел от 1 до

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

Факториал(цикл for) Console.Write("Введите число "); //выводит надпись на экран string chislo

Факториал(цикл 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()

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

В переменную chislo мы заносим число, введенное пользователем. Console.ReadLine() возвращает

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

Факториал(цикл while) Console.Write("Введите число "); string chislo = Console.ReadLine(); int result

Факториал(цикл 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

Факториал(цикл 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 { for

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

for (int i = 1; i <= 4; i++)
{
for

(int j=1; j<=5; j++)
{
Console.Write(" " + 2);
}
Console.WriteLine()
}
Слайд 32

Задачи Задача 1. Вывести на экран 20 элементов последовательности 1, 4,

Задачи

Задача 1. Вывести на экран 20 элементов последовательности 1, 4, 7,

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

Задача 1 int k = 1 for (int i = 0;

Задача 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();

Задача 2

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