ВУЗ:
Составители:
Рубрика:
53
Пример 17 Вычисление факториала
Программа 11
Var P,I,n: integer;
Begin P
:
=1;
Writeln('Введите n');
readln(n);
For I
:
=1 to n do
P
:
=P*I;
Writeln('Значение ',n,'! факториала = ',P);
End.
Рисунок 43 Блок-схема программы №11
Пример 18 Нахождение степени
Программа 12
Var X,Y,A: real;
K: integer;
Begin K
:
=0; Y
:
=1;
Writeln(‘Введите число и
степень’);
Read(A,X);
For K
:
=1 to 32000 do begin
Y
:
=Y*X;
If Y<A then begin
writeln(K); exit
end;
end;
writeln('Для k
≤ 3200 Xk ≥ A');
end.
НАЧАЛО
Экран
"Ввод N
"
Клавиатура
Ввод N
P=1
P=P*I
Экран
"N!=" N
КОНЕЦ
I=1, N
Y:=1
K:=1
to
32000
Y<A
НАЧАЛО
EXIT
Экран
Ввод A,X
д
а
нет
Экран
K
КОНЕЦ
Экран
X
k
≥
A
Y:=Y*X
Рисунок 44 Блок-схема
программы №12
54
Пример 19 Итерационный цикл
Для целого положительного десятичного числа n подсчитать сумму
S цифр числа и их количество K.
Программа 13
Var A,n: longint;
K,S: byte;
begin write('Введите целое
положительное число');
readln(n);
A
:
=n; S
:
=0;
for K:= 1 to 10 do begin
S
:
=S+n mod 10;
n
:
=n div 10;
if n=0 then begin
writeln('В числе ',A,' количество
цифр = ',K,' их сумма = ',S);
exit end;
end.
Как вы уже заметили, на использование управляющей переменной в
операторе цикла с параметром налагаются некоторые ограничения:
⊕ В качестве управляющей переменной должна использоваться
простая переменная, описанная в текущем блоке.
⊕ Управляющая переменная должна иметь дискретный тип.
⊕ Начальные и конечные значения диапазона должны иметь тип,
совместимый с типом управляющей переменной.
⊕ В теле цикла запрещае
тся явное изменение значения управляющей
переменной (например, оператором присваивания).
⊕ После завершения оператора цикла значение управляющей
переменной может быть неопределенно.
Управляющая переменная всегда инициализируется начальным
значением. В случае использования служебного слова
to значение
управляющей переменной увеличивается при каждом повторении на
единицу. Если начальное значение превышает конечное значение, то
оператор, содержащийся в теле цикла, не выполняется.
A:=n
S:=0
K:=1..1
0
N=0
НАЧАЛО
EXIT
Экран
Ввод n
д
а
нет
Экран
K,S
КОНЕЦ
S:=S+n mod1
0
n:=n div10
Рисунок 45 Блок-схема
программы №13
Пример 17 Вычисление факториала Пример 19 Итерационный цикл НАЧАЛО Программа 11 Для целого положительного десятичного числа n подсчитать сумму Var P,I,n: integer; НАЧАЛО S цифр числа и их количество K. Экран "ВводN" Begin P:=1; Программа 13 Экран Клавиатура Ввод n ВводN Writeln('Введите n'); Var A,n: longint; A:=n K,S: byte; P=1 readln(n); S:=0 begin write('Введите целое For I:=1 to n do положительное число'); I=1, N K:=1..10 readln(n); P:=P*I; КОНЕЦ A:=n; S:=0; Экран S:=S+n mod10 P=P*I "N!=" N Writeln('Значение ',n,'! факториала = ',P); n:=n div10 for K:= 1 to 10 do begin КОНЕЦ S:=S+n mod 10; End. N=0 да Экран K,S Рисунок 43 Блок-схема программы №11 n:=n div 10; нет Пример 18 Нахождение степени EXIT if n=0 then begin Программа 12 writeln('В числе ',A,' количество НАЧАЛО Рисунок 45 Блок-схема цифр = ',K,' их сумма = ',S); Var X,Y,A: real; Экран программы №13 exit end; Ввод A,X K: integer; end. Begin K:=0; Y:=1; Y:=1 Как вы уже заметили, на использование управляющей переменной в Writeln(Введите число и операторе цикла с параметром налагаются некоторые ограничения: степень); ⊕ В качестве управляющей переменной должна использоваться K:=1 Экран to k Read(A,X); простая переменная, описанная в текущем блоке. 32000 X ≥A ⊕ Управляющая переменная должна иметь дискретный тип. For K:=1 to 32000 do begin ⊕ Начальные и конечные значения диапазона должны иметь тип, Y:=Y*X КОНЕЦ Y:=Y*X; совместимый с типом управляющей переменной. If Y
Страницы
- « первая
- ‹ предыдущая
- …
- 25
- 26
- 27
- 28
- 29
- …
- следующая ›
- последняя »