Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PYaVU_otvyty.docx
Скачиваний:
2
Добавлен:
04.08.2019
Размер:
100.42 Кб
Скачать

Билет 28: Циклические инструкции.

Подробнее о том «А что такое цикл?» смотри билет 28 (предыдущий).

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

В Си существует насколько стандартных циклов. Опишем способы их организации.

For

for (задание начального значения; условие выполнения; изменение счетчика)

{тело цикла}

for (i=1;i<4;i++) {k++;}

for (i=10; i!=2;i=i-2) {k--;}

While…do (здесь проверка условия идет в начале выполнения итерациии)

while (условие выполнения) do {тело}

While (i!=2) do {i--;}

Do…while (здесь проверка условия идет в конце выполнения итерации, т.е. 1 итерация будет выполнена всегда)

do {тело цикла} while (условие выполнения)

do {i--} while (i!=2)

Бесконечные циклы

Бесконечные циклы элементарно создаются из любых из вышеперечисленных. Всего лишь в условии необходимо поставить такое условие, которое будет всегда верно. Например написать «While true» или «While 1=1» или for(i=1; i>0;i++). Как бы не шел цикл условие будет всегда верно.

Билет 29: инструкция for и арифметические циклы

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

Арифметический цикл это цикл, число повторений которого известно или может быть вычислено. Окончание определяется сравнением параметра цикла с концом цикла.

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

Цикл for

Популярный в других языках программирования арифметический цикл в языке Си реализуется с помощью цикла for. Он выглядит следующим образом:

for (инициализация; условие продолжения; итератор)

тело цикла;

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

Поскольку условие продолжения проверяется перед выполнением тела цикла, цикл for является, подобно циклу while, циклом с предусловием. Если условие продолжения не выполняется изначально, то тело цикла не выполняется ни разу, а это хорошо как с точки зрения надежности программы, так и с точки зрения простоты и эстетики (поскольку не нужно отдельно рассматривать исключительные случаи).

double a[100]; // Массив a содержит не более 100 эл-тов

int n; // Реальная длина массива a (n <= 100)

double sum; // Переменная для суммы эл-тов массива

int i; // Переменная цикла

. . .

sum = 0.0;

for (i = 0; i < n; ++i) {

sum += a[i]; // Увеличиваемсуммуна a[i]

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]