99 баллов!! Паскаль! Срочно! Напишите программу вычисления выражения: s = x^3 + x^5 +...

0 голосов
40 просмотров

99 баллов!! Паскаль! Срочно!
Напишите программу вычисления выражения: s = x^3 + x^5 + x^n, где x и n вводятся с клавиатуры. Используйте функцию вычисления степени.


Информатика (139 баллов) | 40 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
1. С операцией возведения в степень

// PascalABC.NET 3.3, сборка 1627 от 27.01.2018
// Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadInteger('n=');
  var x:=ReadReal('x=');
  var s:=x**3+x**5+x**n;
  Writeln(s)
end.

2. Со стандартной функцией возведения в степень

begin
  var n:=ReadInteger('n=');
  var x:=ReadReal('x=');
  var s:=Power(x,3)+Power(x,5)+Power(x,n);
  Writeln(s)
end.

Пример
n= 8
x= 2.3523
1022.47383513855

3. С собственной лямбда-функцией возведения в степень

begin
  var n:=ReadInteger('n=');
  var x:=ReadReal('x=');
  var Pow:(real,integer)->real:=(a,b)->Exp(b*Ln(a));
  var s:=Pow(x,3)+Pow(x,5)+Pow(x,n);
  Writeln(s)
end.

4. С собственной обычной функцией возведения в степень

function Pow(a:real; b:integer):=Exp(b*Ln(a));

begin
  var n:=ReadInteger('n=');
  var x:=ReadReal('x=');
  var s:=Pow(x,3)+Pow(x,5)+Pow(x,n);
  Writeln(s)
end.

5. На "древнешкольном", в стиле ТурбоПаскаль-1974 языке

function Pow(a:real; b:integer):real;
begin
  Pow:=Exp(b*Ln(a))
end;

var
  n:integer;
  x,s:real;

begin
  Write('n='); Read(n);
  Write('x='); Read(x);
  s:=Pow(x,3)+Pow(x,5)+Pow(x,n);
  Writeln(s)
end.
(142k баллов)
0

Можете прописать именно как работает функция power?