zadach364.PAS

{* Задача 364 *}

Unit ZADACH364;
Interface
Implementation
Begin
 writeln('Для заданных N и x1,x2,…,xn написать программу, используя подходящую функцию.

'
);
End.

Program zadach364;

Uses zadach364.pas; {* Эту строку можно удалить *}
Uses crt; {* Подключаем внешние файлы *}
Type {* Типы переменных *}
  t = Array[1..20] Of integer;
Var {* В работе нам потребуются переменные: *}
  c                 : integer;
  n                 : integer;
  s1                : real;
  s2                : real;
  s3                : real;
  x                 : t;
Function proiz (x : t;
n                 : integer;
st                : integer;
m                 : real);
Var {* Объявление переменных *}
  i : integer;
  j : integer;
  p : real;
  k : real;
  a : real;
  h : real;
Begin
  p := 1;
  a := 1;
  h := 1;
  For i := 1 To n Do {* Переменная i увеличивается с 1 до n *}
  Begin
    k := 1;
    For j := 1 To st Do {* Увеличиваем j от 1 до st с шагом 1 *}
      k := k * abs(x[i] - m);
    p := p * i;
    h := h * k/p;
  End;
  proiz := h;
End;
Begin
  clrscr; {* Очищаем экран *}
  write('n= ');
  readln(n);
  randomize;
  For c := 1 To n Do {* Увеличиваем c от 1 до n с шагом 1 *}
  Begin
    x[c] := random(5) + 1;
    write(x[c], ' ');
  End;
  writeln; {* Пустая строка *}
  s1 := proiz(x, n, 1, 0);
  s2 := proiz(x, n, 2, s1);
  s3 := proiz(x, n, 3, s2);
  writeln(s1 : 4:4);
  writeln(s2 : 4:4);
  writeln(s3 : 4:4);
  readln
End.