Скачать программы Все программы автора16. ЦИКЛ С ПАРАМЕТРОМСчетный оператор цикла FOR имеет такую структуру: FOR <пар_цик> := <нач_знач> ТО <кон_знач> DO <оператор>. Здесь FOR , ТО, DO — зарезервированные слова [ для, до, выполнить ]; <пар_цик> — параметр цикла — переменная типа INTEGER (точнее, любого порядкового типа); <нач_знач> — начальное значение — выражение того же типа; <кон_знач> — конечное значение — выражение того же типа; <оператор> — произвольный оператор Турбо Паскаля. При выполнении оператора FOR вначале вычисляется выражение <нач_знач> и осуществляется присваивание <пар_цик> := <нач_знач>. После этого циклически повторяется:
В качестве иллюстрации применения оператора FOR рассмотрим программу, осуществляющую ввод с клавиатуры произвольного целого числа N и вычисление суммы всех целых чисел от 1 до N (пример 5). Пример 5. Program Summ_of_Integer; {Программа вводит целое положительное число N и подсчитывает сумму всех целых чисел от 1 до N} var i, n, s : Integer; begin Write ('N = ') ; ReadLn(n); {Вводим N} s := 0; {Начальное значение суммы] for i := 1 to n do {Цикл подсчета суммы} s := s + 1; WriteLn( ‘ Сумма = ‘ , s ) {Выводим результат} end. Отметим два обстоятельства. Во-первых, условие, управляющее работой оператора FOR, проверяется перед выполнением оператора <оператор>: если условие не выполняется в самом начале работы оператора FOR, исполняемый оператор не будет выполнен ни разу. Другое обстоятельство — шаг наращивания параметра цикла строго постоянен и равен (+1). Существует другая форма оператора: FOR <пар цик>: = <нач знач> DOWNTO <кон_знач> DO <оператор> Замена зарезервированного слова ТО на DOWNTO означает, что шаг наращивания параметра цикла равен (—1), а управляющее условие приобретает вид <пар_цик> = <кон_знач>. Пример 5 можно модифицировать так, чтобы сделать его пригодным для подсчета любых сумм — положительных и отрицательных : s := 0; if n >= О then for i := 1 to n do s := s + i else for i := -1 downto n do s := s + i; Два других оператора повторений лишь проверяют условие выполнения или повторения цикла, но не связаны с изменением счетчика цикла. |