Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на Pascal.doc
Скачиваний:
14
Добавлен:
06.09.2019
Размер:
3.69 Mб
Скачать

Оператор цикла с параметром.

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

FOR счетчик:=начало TO конец do {счетчик увеличивается на +1}

FOR счетчик:=начало DOWNTO конец do {счетчик уменьшается на -1}

Данный вариант оператора цикла определяет:

а) Число повторений тела цикла (операторов, содержащихся в теле цикла) – итераций;

б) направление измерения счетчика (возрастание TO или убывание DOWNTO);

в) собственно действия, выполняемые на каждой итерации (оператор тела цикла).

Приведённый ниже пример иллюстрирует использование цикла с параметром:

for i:=1 to 10 do M:=i*2

Здесь задано десятикратное повторение оператора присваивания, причем управляющая переменная (счетчик) i последовательно принимает значения 1,2,...,9,10.

Диапазон значений управляющей переменной может задаваться выражениями, которые вычисляются один раз перед выполнением цикла:

for i:=x+2 downto x-2 do

M:=M+i;

На использование управляющей переменной (счетчика) налагаются следующие ограничения:

1. В качестве счетчика должна использоваться простая переменная, описанная в текущем блоке.

2. Счетчик должен иметь дискретный тип.

3. Начальные и конечные значения диапазона должны иметь тип, совместимый с типом счетчика.

4. В теле цикла запрещается явное изменение значения управляющей переменной (например, оператор присваивания).

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

Оператор, который содержится в теле оператора for, выполняется один раз для каждого значения в диапазоне между начальным и конечным значениями. Управляющая переменная-счетчик всегда определяется начальным значением. В случае использования служебного слова to значение управляющей переменной увеличивается при каждом повторении на единицу. Если начальное значение превышает конечное значение, то содержащийся в теле операторa for оператор не выполняется. Когда в операторе цикла используется служебное слово downto, значение управляющей переменной уменьшается при каждом повторении на единицу. Если начальное значение в таком операторе меньше, чем конечное, то содержащийся в теле оператора цикла оператор не выполнится ни разу.

Пример 1.

Вычислить значения Y = 2x+5 для X=1,2,3,4,5

Program Primer1

Var x,y: integer;

Begin

For x:=1 to 5 do

Begin

Y:=2*x + 5;

Writeln(‘Значение у = ’,y)

End;

End.

Пример 2

Вычислить значения Y = 2cos x для X=7,6,5,4,3

Program Primer2

Var x: integer;

Y:real;

Begin

For x:=7 downto 3 do

Begin

Y:=2*cos(x);

Writeln(‘Значение у = ’,y)

End;

End.

Пример 3

Найти сумму чисел от 1 до 10 (1+2+3+…+10)

Program Primer3

Var x,sum: integer;

Begin

For x:=1 to 10 do

Sum=Sum+x; {если оператор один, то внутри цикла операторные скобки BEGIN..END не нужны}

Writeln(‘Сумма = ’,sum);

End.

ЗАДАНИЕ

  1. Найти сумму квадратов чисел от 1до 10.

  2. Составить программу вычисления суммы квадратов нечетных чисел (для проверки четности использовать ODD – если число x - четное, то ODD(x)=false) от 7 до 37

  3. Каждая бактерия делится на 2 каждую минуту. Сколько их будет через N минут?

  4. Вычислить значение функции Y=x*x при х=2,4,6,8,10,12. Помните, что переменная счетчика может изменяться только на +1 или –1. Обойдите это ограничение.

  5. Вычислить сумму

  6. Вычислить сумму

  7. Составить программу, которая из первых 10 натуральных чисел все нечетные числа перемножает.

  8. Вычислить

  9. Составить программу вычисления и печати значений функции у=10sinX для X от 0 до 1 с шагом 0,1. Помните, что переменная счетчика может изменяться только на +1 или –1. Обойдите это ограничение.

  10. Составить программу вычисления суммы кубов чисел от 25 до 75.