var
Z: real;
begin
Z:=X; X := Y ; Y:=Z
end;
begin
r e a d l n (А,В,C ) ;
S 0 R 2
(A,B)
;
S 0 R 2
(B,C)
;
S 0 R 2
(A,B)
;
writeln(A, B, C)
end.
Пример 3. Дано вещественное число
X
и натуральное
N.
Соста
вить алгоритм вычисления
X N.
Написать программу на Паскале.
Р е ш е н и е . В Паскале нет операции возведения в степень. Если
показатель степени — целое положительное число, то возводить в
степень нужно путем ^-кратного умножения основания самого
на себя. Реализуется это циклическим алгоритмом:
алг
Степень
цел
N,i;
вещ X;
нач
ввод N
ввод X
i : = l ;
Y :
=1;
пока
i<=N,
повторять
нц
Y : =Y*X
i : =i +l
кц
вывод Y
кон
Program
Power;
var
N,i: integer;
X: real;
begin
readln(N);
rea d l n ( X ) ;
i : =1;
Y: = 1;
while
i<=N
do
begin
Y :=Y*X;
i :=i+l
end;
write(Y)
end.
При выполнении трассировки этого алгоритма обязательно сле
дует проверить правильность его работы при
N =
0. Как известно
из математики, JST° = 1. Трассировка доказывает, что и в этом слу
чае алгоритм будет давать правильный результат.
Пример 4. Последовательно вводятся ^целы х чисел. Найти мак
симальное из них.
Р е ш е н и е . В программировании часто приходится решать за
дачу поиска максимального (минимального) значения в число
вом массиве. В базовом курсе могут не рассматриваться структури
рованные данные, в том числе массивы. Однако эту
задачу можно
решить и без использования массива, ограничившись простыми
переменными. Для этого ввод данных и
обработку надо совместить
в одном цикле. Вот как это делается:
302