Циклы в C#
Введение
Определения
Счетчик цикла
Замечание
Итак
Безусловные (бесконечные) циклы
Пример бесконечного цикла
break
continue
Пример применения continue
Циклы с параметром (со счетчиком)
Циклы с параметром (со счетчиком)
Пример применения цикла for: Найти 10 чисел Фибоначчи.
Пример цикла for
Решение задач
Цикл с предусловием
Цикл с предусловием
Пример цикла while
Решение задач
Цикл с постусловием
Пример цикла do
Решение задач
Описание алгоритма задачи 2: Подсчитать сумму цифр для введенного целого числа.
Описание алгоритма задачи 3
725.77K
Category: programmingprogramming

41c8f586a8a941e682604f28ec6b31a1

1. Циклы в C#

МАЛЬГИНА Н.Г., 2018

2. Введение

Большинство практических задач требует многократного повторения
одних и тех же действий, т. е. повторного использования одного или
нескольких операторов.
Пусть требуется ввести и обработать последовательность чисел. Если
чисел всего пять, можно составить линейный алгоритм. Если их тысяча,
записать линейный алгоритм можно, но очень утомительно и
нерационально. Если количество чисел к моменту разработки алгоритма
неизвестно, то линейный алгоритм принципиально невозможен.
Другой пример. Чтобы найти фамилию человека в списке, надо
проверить первую фамилию списка, затем вторую, третью и т.д. до тех
пор, пока не будет найдена нужная или не будет достигнут конец списка.
Преодолеть подобные трудности можно с помощью циклов.

3. Определения

Цикл — разновидность управляющей конструкции
в высокоуровневых языках программирования,
предназначенная для организации многократного
исполнения набора инструкций.
Последовательность инструкций, предназначенная для
многократного исполнения, называется телом цикла.
Единичное выполнение тела цикла называется итерацией.
Выражение, определяющее, будет в очередной раз
выполняться итерация или цикл завершится,
называется условием окончания цикла.

4. Счетчик цикла

Переменная, хранящая текущий номер итерации,
называется счётчиком итераций цикла или
просто счётчиком цикла. Цикл не обязательно
содержит счётчик, счётчик не обязан быть один —
условие выхода из цикла может зависеть от
нескольких изменяемых в цикле переменных, а
может определяться внешними условиями
(например, наступлением определённого времени),
в последнем случае счётчик может вообще не
понадобиться.

5. Замечание

Исполнение любого цикла включает первоначальную
инициализацию переменных цикла, проверку условия выхода,
исполнение тела цикла и обновление переменной цикла на
каждой итерации. Кроме того, большинство языков
программирования предоставляет средства для досрочного
управления циклом, например, операторы завершения цикла,
то есть выхода из цикла независимо от истинности условия
выхода (в языке Си —break) и операторы пропуска итерации (в
языке Си — continue).

6. Итак

7. Безусловные (бесконечные) циклы

Иногда в программах используются циклы, выход из которых не
предусмотрен логикой программы. Такие циклы называются
безусловными, или бесконечными. Специальных синтаксических
средств для создания бесконечных циклов, ввиду их
нетипичности, языки программирования не предусматривают,
поэтому такие циклы создаются с помощью конструкций,
предназначенных для создания обычных (или условных) циклов.
В языке C# используется цикл for(;;) с незаполненными секциями
или цикл while (1)

8. Пример бесконечного цикла

Задача:
Суммировать числа
Фибоначчи, пока их сумма
будет меньше 100.
Каждое следующее число
Фибоначчи равно сумме двух
предыдущих, кроме первых
двух, равных 1.
int a,b,c,s;
a = b = 1;
s = 2;
while (1==1)
{
c = a + b;
a = b;
b = c;
listBox1.Items.Add(c);
s += c;
if (s>=100) break;
}
label1.Text = s.ToString();

9. break

Оператор break завершает выполнение
ближайшего включающего цикла или
условного оператора, в котором он
отображается. Управление передается
оператору, который расположен после
оператора, при его наличии.

10. continue

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

11. Пример применения continue

Задача:
Суммировать числа
Фибоначчи, пока их сумма
будет меньше 100, пропуская
числа, кратные трем.
int a,b,c,s;
a = b = 1;
s = 2;
while (1==1)
{
c = a + b;
a = b;
b = c;
listBox1.Items.Add(c);
if (c % 3 == 0) continue;
s += c;
if (s>=100) break;
label1.Text = s.ToString();
}

12. Циклы с параметром (со счетчиком)

Это цикл, в котором некоторая переменная изменяет своё
значение от заданного начального значения до конечного
значения с некоторым шагом, и для каждого значения этой
переменной тело цикла выполняется один раз.
В C# реализуется оператором for, в котором указывается
счётчик (так называемая «переменная цикла» или
«параметр цикла »), граничное значение счётчика и шаг, с
которым изменяется счётчик.

13. Циклы с параметром (со счетчиком)

Переменная, хранящая текущий номер итерации,
называется или счётчиком цикла.
for (<инициализация счетчика>; <условие>; <изменение
счетчика>)
{
// действия
}

14. Пример применения цикла for: Найти 10 чисел Фибоначчи.

int a, b, c;
a = b = 1;
listBox1.Items.Add(a);
listBox1.Items.Add(b);
for (int i = 3; i<=10; i++ )
{
c = a + b;
a = b;
b = c;
listBox1.Items.Add(c);
}

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

Первая часть объявления цикла int i=0 создает и
инициализирует счетчик i. Счетчик необязательно должен
представлять тип int.
Вторая часть - условие, при котором будет выполняться цикл.
Пока условное выражение возвращает true, будет выполняться
цикл. В данном случае цикл будет выполняться, пока счетчик i
не достигнет 10.
И третья часть - приращение счетчика на единицу.
Необязательно увеличивать на единицу. Можно уменьшать: i--

16. Решение задач

1.
Вычислить произведение чисел от 5 до 15.
2.
Вычислить сумму чисел от 4 до 12.
3.
Вычислить сумму чисел, кратных 3 из диапазона чисел от 2 до
12.
4.
Вывести квадраты чисел от 5 до 10.
5.
Вывести sin(х) на отрезке от -5 до 5
6.
Вычислить сумму четных чисел на заданном диапазоне (от
textBox1 до textBox2)
7.
Вычислить факториал некоторого числа N
8.
Из 30 чисел Фибоначчи выбрать числа, кратные 3

17. Цикл с предусловием

Цикл с предусловием — цикл, который
выполняется, пока истинно некоторое
условие, указанное перед его
началом. Это условие проверяется до
выполнения тела цикла, поэтому тело
может быть не выполнено ни разу (если
условие с самого начала ложно).

18. Цикл с предусловием

В большинстве процедурных языков
программирования реализуется оператором while.
while (<условие>)
{
<тело цикла>
}

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

Задача:
int a, b, c, s;
Суммировать числа
Фибоначчи, пока их
сумма будет
меньше 100.
Цикл while сразу проверяет истинность
некоторого условия, и если условие
истинно, то код цикла выполняется.
a = b = 1;
s = 2;
while (s<=100)
{
c = a + b;
a = b;
b = c;
listBox1.Items.Add(c);
s += c;
}
label1.Text = s.ToString();

20. Решение задач

1. Найти наибольший общий делитель двух целых
чисел.
2. Найти первое число Фибоначчи, больше заданного.
3. Вывести все натуральные числа, кратные 5, которые
меньше заданного числа.
4. Вывести квадраты всех натуральных чисел, начиная с
1 и заканчивая введенным числом.

21. Цикл с постусловием

Цикл с постусловием — цикл, в котором
условие проверяется после выполнения тела
цикла. Отсюда следует, что тело всегда
выполняется хотя бы один раз.
do
{
<тело цикла>
}
while (<условие продолжения цикла>)
do
{
<тело цикла>
}
until (<условие окончания цикла>)

22. Пример цикла do

int a, b, c, s;
Задача:
a = b = 1;
Суммировать числа
Фибоначчи, пока их
сумма будет
меньше 100.
s = 2;
Цикл do не сразу проверяет
истинность некоторого условия, а
только после того, как выполнится тело
цикла.
do
{
c = a + b;
a = b;
b = c;
listBox1.Items.Add(c);
s += c;
}
while (s <= 100);
label1.Text = s.ToString();

23. Решение задач

Посчитать сумму цифр введенного числа.
Перевести введенное число в двоичную систему счисления.

24. Описание алгоритма задачи 2: Подсчитать сумму цифр для введенного целого числа.

1.
Выделить переменную для суммирования цифр S=0
2.
Ввести целое число А
3.
В цикле:
4.
1.
Вычислить Ost остаток деления числа А на 10, т.е. последнюю цифру.
2.
Добавить цифру Ost к сумме S
3.
Вычислить целый результат деления А на 10 и сохранить в A.
4.
Если A стало=0, то конец цикла
Вывести результат S.

25. Описание алгоритма задачи 3

1.
Ввести число n
2.
Объявить переменную Ost
3.
Объявить и инициализировать строку S
4.
Начать цикл do и в нем:
1.
Посчитать остаток от деления n на 2
2.
S = Ost.ToString()+S;
3.
Поделить n на 2
5.
Проверить условие цикла n != 0?
6.
Вывести результат на форму label1.Text = S;
English     Русский Rules