Вычислите У при заданнх значениях Х: у:=6х2 3(х2 х 4)

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

Вычислите У при заданнх значениях Х: у:=6х2 3(х2 х 4)


image

Информатика (15 баллов) | 37 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

Сначала немного математики.
y=6x^2+3(x^2+x+4)=6x^2+3x^2+3x+12=9x^2+3x+12= \\ 3(3x^2+x+4)=3(4+x(1+3x));
Мы получили выражение для вычисления значения полинома по схеме Горнера, оптимизирующей число операций и избавляющей нас от использования возведения в степень.
Ниже - текст программы на Pascal.ABC. На самых старых версиях Паскаля инициализация элементов массива не может объединяться с его описанием и её следует выполнить отдельно в виде набор операторов присваивания.

var
  a: array[1..4] of real := (-0.5, 0.11, -2.66, 10);
  x, y: real;
  i: integer;

begin
  for i := 1 to 4 do
  begin
    x := a[i];
    y := 3 * (4 + x * (1 + 3 * x));
    Writeln('x=', x:5:2, '  y=', y:8:4)
  end
end.

Тестовое решение:
x=-0.50  y= 12.7500
x= 0.11  y= 12.4389
x=-2.66  y= 67.7004
x=10.00  y=942.0000


(142k баллов)
0 голосов

Function rez( x: real ): real;
var y: real;
begin
y := 6 * x * x + 3 * ( x * x + x + 4 );
writeln(y);
end;

var a: array[1..4] of real;
begin
a[1] := -0.5;
a[2] := 0.11;
a[3] := -2.66;
a[4] := 10;
writeln('Значение функции y при х = ', a[1]);
rez(a[1]);
writeln('Значение функции y при х = ', a[2]);
rez(a[2]);
writeln('Значение функции y при х = ', a[3]);
rez(a[3]);
writeln('Значение функции y при х = ', a[4]);
rez(a[4]);

end.

(2.3k баллов)