Proc38. Описать функцию Power2($$A$$, $$N$$) вещественного типа, находящую величину $$A^N$$ ($$A$$ — вещественный, $$N$$ — целый параметр) по следующим формулам: $$A^0 = 1; A^N = A*A*…*A$$ ($$N$$ сомножителей), если $$N > 0$$; $$A^N = 1/(A*A*…*A) $$($$|N|$$ сомножителей), если $$N < 0$$. С помощью этой функции найти $$A^K, A^L, A^M,$$ если даны числа $$A, K, L, M$$.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
program Proc38; Function Power2(A:Real;N:Integer):Real; var i:integer; TempRez:Real; begin TempRez:=1; if N=0 then TempRez:=1 else for i:=1 to abs(N) do TempRez:=TempRez*A; if N<0 then TempRez:=1/TempRez; Power2:=TempRez; end; var A:real; K,L,M:Integer; begin Write('A :'); Readln(A); Write('K :'); Readln(K); Write('L :'); Readln(L); Write('M :'); Readln(M); Writeln(Power2(A,K)); Writeln(Power2(A,L)); Writeln(Power2(A,M)); end. |
Решение от olegst1975:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
function Power2(a:real;b:integer):real; var i:integer; begin result:=1; for i:=1 to abs(b) do if b>0 then result:=result*a else result:=result/a; end; var k,l,m:integer; a:real; begin Task('Proc38'); read(a); read(k); read(l); read(m); write(Power2(a,k)); write(Power2(a,l)); write(Power2(a,m)); end. |
Другие задачи из раздела Proc можно посмотреть здесь.
[/crayon]
Добавил в шапку.