Цикл с параметром

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

Вы уже знаете, существует три вида циклов: с параметром, с предусловием и с постусловием.

Оператор цикла с параметром применяют тогда, когда известно число повторений одного и того же действия.

Общая форма записи цикла с параметром:

 
 

 
 

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

Начальное и конечное значение параметра могут быть представлены константами, переменными или арифметическими выражениями.

Управляющая переменная (параметр), а также значения А и В должны быть одного типа, обязательного порядкового (перечислить порядковые типы данных).

Например:

Рассмотрим, как выполняется оператор цикла с параметром For – To.

1) Сначала вычисляются значения выражения А и В (они остаются фиксированными до конца выполнения цикла).

2) Если A<=B, то параметр последовательно принимает значения А, А+1, А+2…В-1, В, и для каждого из этих значений выполняется <тело цикла>.

3) Если А>В, то тело цикла не будет выполнено ни разу и выполнение цикла с параметром сразу же закончится.

Выполнение цикла For – DownTo происходит аналогично, но с шагом, равным –1.

Изменение параметра в теле цикла For может привести к ошибкам, считается «дурным тоном» в программировании. Договоримся о том, что это действие запрещено законом. Запретим искусственные выходы из For. Оператор For должен иметь одну точку входа и одну выхода.

Если тело цикла состоит из нескольких операторов, то операторы тела цикла заключаются в операторные скобки Begin End.

Задание 1. Решить задачу возведения числа x в неотрицательную степень y.

Ответить на вопросы:

1) Какие действия повторяются многократно при возведении числа в степень?

(Многократное умножение числа на себя. x )

2) Какую функцию будет выполнять параметр цикла?

(Будет отвечать за количество повторений операции умножения).

3) Построить алгоритм решения задачи в виде блок-схемы.

4) Почему начальное значение переменной принято равное 1?

Трассировка примера
Пусть введеныx:=2; y:=5
№ шага i A<=B s
    1≤5 s:=1*2
    2≤5 s:=2*2
    3≤5 s:=4*2
    4≤5 s:=8*2
    5≤5 s:=16*2
    6≤5 false Ответ: s=32

Program Stepen;

Uses crt;

Var x,y,s,i:integer;

Begin

Clrscr;

Writeln('Enter x, y');

readln(x, y);

s:=1;

for i:=1 to y do

s:=s*x;

Writeln('Stepen=',s); Readln; End.

Задание 2. Решить задачу нахождения факториала натурального числа N.

Факториал числа N – это результат произведения всех натуральных чисел из диапазона от 1 до N. N! =1*2*3*…(N-1)*N

Ответить на вопросы:

1) Какие действия повторяются многократно при возведении числа в степень? (Многократное умножение различных чисел от 1 до N).

2) За что будет отвечать параметр цикла? (За величину очередного множителя).

3) Какое начальное значение накапливающей переменной целесообразно взять и почему?

4) Построить алгоритм решения задачи в виде блок-схемы.

Трассировка примера
Пусть введенon:=5;
№ шага k k<=n f
    2≤5 f:=1*2
    3≤5 f:=2*3
    4≤5 f:=6*4
    5≤5 f:=24*5
    6≤5 false Ответ: f=120

Program Factorial;

Uses crt;

Var i,n:integer;

s:longint;

Begin

Clrscr;

Writeln('Enter n');

Readln(n);

f:=1;

for k:=2 to n do

f:=f*k;

Writeln('Factorial=',f);

Readln;

End.

Задание 3. Найти все двузначные числа, в которых есть цифра N или само число делится на N.



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: