Цикл while блок схема

Цикл с предусловием (WHILE-DO)

  • размер шрифта уменьшить размер шрифта увеличить размер шрифта
  • Печать

Цикл с предусловием (WHILE-DO)

Цикл с предусловием реализуется в языке программирования Pascal с помощью оператора while.
Синтаксис:

  • Оператор while состоит из заголовка и тела цикла. Операторы, находящиеся в теле цикла, обязательно заключаются в операторные скобки begin и end.
  • "Условие выполнения цикла" – это выражение логического типа (булевское выражение) выражение отношения или логическое выражение, принимающее одно из двух значений: true или false.
  • Если проверяемое условие ложно изначально, то операторы входящие в тело цикла не выполняются, проход по телу цикла не осуществляется и выполняются инструкции, находящиеся после операторной скобки end.
  • Служебные слова while и do означают "пока" и "делай".

Блок-схема

Пример задачи на использование цикла с предусловием

Пример №1

Дано целое число N (> 0). Найти наименьшее целое положительное
число K, квадрат которого превосходит N: K 2 > N. Функцию извлечения
квадратного корня не использовать.

Пример №2

Дано натуральное число: верно ли утверждение, что в данном числе N нет такой цифры A (цифра A вводится с клавиатуры).

  1. Входные данные: a – искомая цифра, n – данное число, k, x – вспомогательные переменные (целочисленного типа); f – логическая переменная для проверки предположения.
  2. Выходные данные

Вывод на экран сообщения о присутствии цифры в числе.

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

Дано: | N = 1234567

Результат | Цифры 9 в числе 1234567 нет

Пример №3

Найти наибольший общий делитель (НОД) двух натуральных чисел A и B

a,b – два натуральных числа, переменные целочисленного типа

Для решения поставленной задачи воспользуемся алгоритмом Евклида. Если M > N, то НОД(М,N)=НОД(M-N,N). Будем уменьшать каждый раз большее из чисел на величину меньшего до тех пор, пока оба значения не станут равными.

Читайте также:  1С данныеформыколлекция в таблицу значений

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

В этом уроке мы подробно разберем следующие темы:

Структура (синтаксис):

while

do-while

Прерывание (break)

Блок-схема цикла с предусловием

Блок-схема цикла с постусловием

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

PHP – цикл for

Общая структура выглядит следующим образом:

Первый параметр в круглых скобках отвечает за начальное значение переменной. Можно через запятую указать несколько переменных:

Второй параметр определяет при каком условии цикл будет выполняться.

В нашем случае вывод переменной $i происходит до тех пор, пока переменная $i меньше, либо равна . После этого цикл завершится, а в браузере появится список чисел от 0 до 10.

Третий позволяет запустить действие после выполнения операций, заданных в теле цикла. В нашем случае переменная $i увеличивается на 1.

Однако, все эти параметры не являются обязательными. В любое время их можно опустить:

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

При необходимости, счетчик может не только увеличиваться, но и уменьшаться в обратном порядке:

Если необходимо увеличивать счетчик через произвольное значение (например, 10), можно воспользоваться следующим вариантом:

Как видим, действия $i=$i+10 и $i+=10 выполняются абсолютно одинаково. Они отличаются от действия $i++ лишь тем, что оно позволяет увеличивать значение переменной только на 1.

PHP – цикл while

Общая структура выглядит следующим образом:

Этот цикл состоит из условия, заключенного в круглые скобки. Он будет выполняться при истинности этого условия. Читается обычно следующим образом: "Пока переменная a меньше переменной b, выполнить. "

Еще этот while называют циклом с предусловием. Разница видна в следующем примере:

Так как условие не является истинным (3 не меньше, чем ноль), то цикл ни разу не выполнится.

PHP – цикл do-while

Структура очень похожа на предыдущую (while), с одним лишь отличием – в начале ставится ключевое слово do, а while указывается в самом конце:

Читайте также:  Сталкер чистое небо ничейный рюкзак

Его довольно часто называют циклом с постусловием, так как он обязательно хотя бы один раз выполняется:

В этом примере вначале отображается цифра 4, а потом происходит сравнение чисел (4 и ), и цикл завершается.

break (прерывание цикла)

В случае, если оператор повтора необходимо прервать (остановить) в определенном месте, используется функция break:

Таким образом в браузере мы увидим только цифру 5. После этого программа выйдет из цикла, и он сразу завершится.

Но что, если поменять строку echo и break местами?

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

При использовании нескольких (вложенных) циклов, функция break завершает только один цикл, внутри которого она и находится:

Break действует на все виды циклов.

Блок схема цикла с предусловием (while)

Так как цикл имеет условие, логично обозначить его в виде ромба, а тело цикла – в виде прямоугольника. Для обозначения повтора, прямоугольник обратно соединяется с ромбом. Если выражение условия становится ложным – цикл завершается.

Блок схема цикла с постусловием (do-while)

Данная схема очень похожа на предыдущую с одним нюансом – сначала выполняется код в теле цикла (обозначен прямоугольником). Затем проверяется условие. Если оно истинно – всё повторяется, если нет – завершается.

Задания:

  • Найти квадрат нечетных чисел.
  • Найти сумму делителей числа a.
  • Проверить, является ли число совершенным (равным сумме всех его делителей).
  • Выяснить, является ли введенное число неполным (делится только на себя и на единицу)

Ответы к заданиям предыдущей статьи (про условный оператор if):

  • Дан номер месяца (1-12). Отобразить в виде слова этот месяц. Если такого месяца не существует – отобразить ошибку.

Эта задача имеет несколько способов решения. Через условия делается очень просто: проверяем, ввел ли пользователь цифру 1. Если да (условие истинно) – выводим январь. Если нет – проверяем, ввел ли пользователь цифру 2 и т.д. В конце, если пользователь ничего не ввел – выдаем ошибку.

Пусть за введенное пользователем число отвечает переменная $n. Тогда программа будет выглядеть следующим образом:

  • Найдите среднее арифметическое, состоящее из 5 чисел.

Так как даны 5 чисел, значит понадобятся 5 переменных. Находим в Интернете формулу для вычисления среднего арифметического значения (для его нахождения необходимо сложить все числа и разделить на их количество). Получилась следующая простая программа:

Читайте также:  Текст для проверки принтера черно белый

9.1. Циклы while и repeat

В отличие от цикла for циклы while (оператор цикла с предусловием) и repeat (оператор цикла с постусловием) позволяют повторять выполнение тех или иных операторов не фиксированное количество раз, а только пока выполняется некоторое условие. Структура записи этих операторов выглядит следующим образом:

— любое логическое выражение.
— любые операторы.

Перед каждым выполнением тела цикла анализируется значение выражения . Если оно истинно (true), выполняется тело цикла. Затем снова проверяется условие и т.д. Если значение условия ложно (false), то работа цикла завершается. Если результат условие окажется ложным при первой проверке, то тело цикла не выполнится ни разу.

Цикл repeat работает похожим образом, однако в нем условие проверяется в конце цикла (после выполнения каждого шага). Структура записи оператора выглядит следующим образом:

Один раз тело цикла будет выполнено в любом случае. Затем будет проверено условие и, если оно истинно, то выполнение цикла повторится. Повторение продолжается пока не выполнится условие, стоящее после слова until («пока не»). Таким образом, если в цикле while мы задаем условие для продолжения повторений, то в случае repeat‘а ставится условие на прекращение повторений.

Ниже работа обоих циклов показано с помощью блок-схем.

Рис. 1. Блок-схемы работы циклов while (а) и repeat (б).

Пример 1: Имитация работы цикла for.

Циклы с условиями более универсальны, чем for. С их помощью можно легко сделать все то же самое только об изменении значения переменной счетчика придется позаботиться самостоятельно. В качестве примера напечатаем числа от 1 до 10.

Заметим, что в отличие от цикла for, где увеличение счетчика всегда происходит на единицу, здесь мы сами управляем счетчиком и можем организовать увеличение на любую требуемую величину. Так в следующем примере используется увеличение счетчика на 2.

Пример 2: Напечатайте все нечетные числа от 3 до 25.

В большинстве случаев циклы while и repeat взаимозаменяемы. Цикл repeat предпочтительнее, если известно, что тело цикла необходимо выполнить хотя бы один раз.

Оцените статью
Добавить комментарий

Adblock detector