Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
I_semestr.doc
Скачиваний:
6
Добавлен:
23.09.2019
Размер:
356.35 Кб
Скачать

4.6. Оператор цикла for (цикл с известным числом повторений)

Часто его еще называют циклом со счетчиком.

В языке С оператор выглядит так:

for (выр1;выр2;выр3) цикл_опер

Выражение1 является инициализацией цикловых переменных. Выражение2 – условие продолжения цикла. Выражение3 – модификация цикловых переменных.

Вначале и всего один раз вычисляется Выражение1. Затем вычисляется значение Выражения2. Если оно отлично от нуля (истинно), выполняется тело цикла. Затем вычисляется Выражение3. Затем снова вычисляется Выражение2 и если оно отлично от нуля то тело… И так до тех пор, пока Выражение2 не даст значение 0.

Пример: вывести числа от 1 до n. Оно введено с клавиатуры.

int I;

{

printf(“Vvedite N”);

scanf(“%d”&i);

i=1;

while (i<=n)

{

printf(“%d “,i);

i++;

}

}

for(i=1;i<=n;i++);

{

printf(“%d “,i);

}

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

Пример 2: Считать от 1 вверх до n с шагом s1 от n вниз с шагом s2

for(i=n,j=1;i<=0&&j<=n;j+=s1,i-=s2);

printf(“%d %d ”,i,j);

Пример 3:

x=5,6;//компилятор это распознает как из нескольких выражений, записанных через запятую последнее является результатом операции. Здесь будет 6. Отделять надо через точку.

4.7. Запись алгоритмов при помощи диаграмм Несси-Шнейдермана

Основная идея диаграмм Несси-Шнейдремана – это изображение алгоритмов в структурном стиле.

- вычислительный процесс (каждый из внутренних прямоугольников является другим подпроцессом

условие

тело цикла

условие

тело цикла

треугольник – это условие

- условия (с предусловием и постусловием)

Пример. Рассмотрим алгоритм рассмотрения модуля X

ввод х

если х<0

да нет

y=-x y=x

вывод x

Вычисление определенного интеграла на отрезке:

ввод а,в, dx

s=0 x=a

x<b

x<-5

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

4.8. Оператор прерывания цикла

Пример: имеется ли на определенном отрезке отрицательные числа в заданной функции.

f=0;

x=0;

while(x<b)

{

}

Данная программа имеет существенный недостаток: уже при обнаружении первого отрицательного числа можно выдать утвердительный ответ. Тем не менее, программа продолжит выполнение всех остальных витков. Чтобы избежать этого можно использовать дополнительное условие в заголовке цикла. Но у этого есть тоже недостаток – дополнительная проверка. А можно использовать оператор break.

Оператор break передает управление за следующим за циклом оператор. При этом оставшаяся часть витка не выполняется.

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