Целью работы является освоение программирования алгоритмов с циклической структурой, когда какой-либо участок программы выполняется определенное количество раз.
Типичный пример циклического процесса – вычисление конечных сумм. При определении сумм многократно вычисляется выражение, стоящее под знаком суммы и складывается с предыдущей частичной суммой. Вычисления производятся до тех пор, пока не будут сложены выражения под знаком суммы для всех значений изменяющейся переменной.
Пример задания. Составить программу, вычисляющую значение суммы
.
Прежде чем вычислять выражение под знаком суммы и очередную частичную сумму, необходимо определить начальное значение параметра цикла (в данном случае i, которое изменяется от 1 до 10 с шагом 1, то есть i будет принимать последовательно значения 1, 2, 3, 4,..., 9, 10), и начальную частичную сумму S. Так как вычисления еще не производились, то S = 0.
Затем вычисляется выражение под знаком суммы для i = 1, затем i = 2, 3,... до 10 и каждый раз складывается с предыдущей частичной суммой S i -1. При этом получается новая частичная сумма S i. После этого i увеличивается на единицу и проверяется, не стало ли i > 10. Если еще меньше или равно 10, то вычисляется новая частичная сумма, в противном случае вычисление суммы будет закончено, и это значение выводится на печать.
Воспользуемся стандартной схемой циклического процесса, представленной на рис. 11.
Блок 2 – блок подготовки к вычислению суммы, в котором задаются начальные значения параметра цикла и частичной суммы.
Блок 3 – блок проверки окончания цикла. Необходимо проверить, стало ли i больше 10. Если стало, то цикл закончен, следующим должен выполняться блок печати. Если нет, то вычисление частичной суммы продолжается дальше, то есть выполняются блоки 4 и 5.
В блоке 4 производится вычисление выражения, стоящего под знаком суммы и сложение с предыдущей частичной суммой S i‑1. В итоге получается новая частичная сумма S i.
В блоке 5 происходит изменение параметра цикла (увеличение i на 1). Это блок подготовки к новому циклу.
Проверка может осуществляться условным оператором IF, но для организации циклов в языке Паскаль специально предусмотрены три оператора цикла. Если количество повторений заранее известно и параметр является целым числом, то целесообразно использовать оператор FOR, включающий в себя блоки 2, 3, 5. В этом случае в алгоритме можно применить блок «Модификация».
Алгоритм для примера с использованием оператора FOR приведен на рис. 12. Варианты заданий – в табл. 3.
Рис. 11. Блок-схема алгоритма циклического процесса
Рис. 12. Блок-схема алгоритма примера.
Таблица 3. Варианты заданий 2.1
№ вар. | Вычислить сумму | № вар. | Вычислить сумму |
Продолжение табл. 3