Var A,S,P:real; k:integer; Begin S:=0; P:=1; k:=-1; Repeat Read(A); if A <> 0 then P:=P*A; S:=S+A; k:=k+1; Until A = 0; WriteLn('P = ',P); WriteLn('Sr = ',S/k); ReadLn End.
Алгоритм 1) a x a = a² ⇒ b; b x a = a³ ⇒ результат 2) a x a = a² ⇒ b; b x b = a⁴ ⇒ c; c x c = a⁸ ⇒ c; c x b = a¹⁰ ⇒ результат
Программа на языке PascalABC.Net var a,b,c,y:real; begin Write('Введите число: '); Read(a); b:=a*a; y:=b*a; Writeln('Третья степень числа равна ',y); c:=b*b; c:=c*c; y:=b*c; Writeln('Десятая степень числа равна ',y) end.
Тестовые решения: Введите число: 2 Третья степень числа равна 8 Десятая степень числа равна 1024
Введите число: -13.594 Третья степень числа равна -2512.128188584 Десятая степень числа равна 215512594781.574
В общем случае, трассировка - один из отладки программ врукопашную: состояние программы контролируется на определённом отрезке времени её выполнения путём анализа значений переменных. трассировка в том или ином виде при отладке программ сложнее школьного дз практически неизбежна. в простейшем случае, трассировка - вывод значений переменных на экран (например, в окно консоли) , либо расчёт их на бумажке для каждого шага. в более продвинутом варианте используются точки останова, окно наблюдения, выполнение по шагам и, если есть, контекстный интерпретатор выражений. есть также специальная "трассирующая консоль" - интерфейс вывода информации из программы в отладчик, если таковой присутствует. почти любой современный отладчик показывает состояние програмm при её останове, что делает трассировку процессом легко доступным
A,S,P:real;
k:integer;
Begin
S:=0;
P:=1;
k:=-1;
Repeat
Read(A);
if A <> 0 then P:=P*A;
S:=S+A;
k:=k+1;
Until A = 0;
WriteLn('P = ',P);
WriteLn('Sr = ',S/k);
ReadLn
End.