Полезный цикл while для программиста
Начинающему программисту может быть еще не знаком один полезный цикл while. Это типичная циклическая операция в среде Pascal. Ее удобно использовать в различных задачах, поэтому разберем, как можно включить в программу этот цикл.
Цикл While Паскаль требует оформлять следующим образом:
- While (Условие) do (begin если надо).
- Алгоритм действия.
- End (при наличии команды begin).
Первая строка - "шапка" команды. Условием может являться предельное числовое значение перменной Integer (d<100), значение переменной типа boolean (t=True) или string (tex='hello'). Команда "begin" ставится, если в теле цикла необходимо выполнить более одного условия. Далее следует описание действий, которые программа должна выполнить при условии, что цикл While выполняется. Здесь могут содержаться различные команды, процедуры, функции, подобные циклы. В конце необходимо поставить команду "end", если, конечно, в первой строке стоял "begin".
Теперь рассмотрим примеры программ, которые содержат описываемую команду. Например, нам необходимо найти сумму первых n положительных целых чисел. Для этого изначально считаем n (пусть оно всегда будет больше нуля). Затем запускаем цикл. Важно понимать, что он должен работать, пока не достигнет значения числа n. Здесь существует не один вариант решения задачи, но мы остановимся на том, который затрагивает использование счетчика, который необходимо установить. По умолчанию для этого используют переменную i. Перед началом работы с ней необходимо ей присвоить значение "1". Счетчик выполняет роль слагаемого при каждых новых циклических действиях. Исходя из нашей задачи, к нему постоянно надо прибавлять единицу. Таким образом, когда-нибудь числовой показатель счетчика сравняется со значением числа n. Это и будет сигнал для завершения работы программы. Для подсчета суммы введем переменную k. С каждым новым повторением ей будет присваиваться предыдущее значение плюс число i. После конечного подсчета следует только вывести перменную k на экран. Это краткое объяснение программы на словах. Теперь же смотрим на программный код.
Readln(n); ' - считываем число n.
i:=1; k:=0; ' - вводим в работу счетчик, обнуляем значение суммы.
While i<=n do begin ' - задаем условие работы цикла.
k:=k+i; i:=i+1; ' - добавляем значение к сумме, обновляем счетчик.
end; ' - завершаем описание работы While.
Writeln(k); - выводим данные.
Познакомимся с еще одним примером. Теперь нам необходимо, чтобы пользователь с клавиатуры заполнил n имен, которые сохранит текстовой массив. Принцип здесь аналогичен прошлому. Вводим число n, активируем цикл While, ставим условие. Далее обозначем ввод с клавиатуры в память ячейки массива. Устанавливаем счетчик, завершаем повторные операции. Далее обнуляем счетчик и выводим массив. Правда, обнулить счетчик в этом контексте значит присвоить ему значение единицы, так как вы не сможете вывести нулевую ячейку массива (ее не существует). Код программы следующий: из этой программы вы получите сумму ряда натуральных положительных чисел, который заканчивается введеным числом n. Следует понимать, что в случае отсутствия счетчика, цикл While Pascal никогда не закончит. Если вы вдруг забудете про это, то при исполнении программного кода, начнет зависать компьютер. Это лечится кнопкой "Pause Break". В качестве счетчика для разнообразия используем перменную c.
Readln(n);
c:=1;
While c<=n do begin ' - установка условия.
Readln(a[c]); c:=c+1; ' - считываем данные с клавиатуры, прибавляем значение к счетчику.
end; ' - завершаем цикл.
c:=1; ' - возвращаем счетику исходное значение.
While c<=n do write(a[c]); ' - выводим на экран n имен.
После этого вы получите на экране n имен, которые были введены с клавиатуры. На этом знакомство с циклом While заканчивается. Его используют как новички, так и продвинутые пользователи. Он не имеет счетчика, поэтому требует особого внимания программиста и дополнительной переменной.