Процедура: вычисление произведения отрицательных элементов массива - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Помогите пожалуйств составить подпрограмму - процедуры вычисления произведения отрицательных элементов массива B(2×3)rightarrow PO и использовать ее для вычисления выражения: X(i - нижний индекс)= а^2(i - нижний индекс)/2РО В(i,j -нижний индекс)=|-0.4 2.8 -12.6| |5.5 -0.5 6.2 | a(i -нижний индекс)=10.2;8;25. Буду очень благодарен.

Решение задачи: «Процедура: вычисление произведения отрицательных элементов массива»

textual
Листинг программы
type arr = array[1..3] of double;
     matrix = array[1..2, 1..3] of double;
 
procedure pn(const x: matrix; var p: double);
var i, j: integer;
begin
  p := 1;
  for i := 1 to 2 do
    for j := 1 to 3 do
      if x[i, j] < 0 then p := p * x[i, j]
end;
 
const b: matrix = ((-0.4, 2.8, -12.6), (5.5, -0.5, 6.2));
var a: arr = (10.2, 8, 25);
    x: arr;
    po: double;
    i, j: integer;
begin
  writeln('Матрица B:');
  for i := 1 to 2 do
    begin
      for j := 1 to 3 do write(b[i, j]:5:1);
      writeln
    end;
  pn(b, po);
  writeln('Произведение отрицательных элементов = ', po:0:2);
  writeln('Вектор A:');
  for i := 1 to 3 do write(a[i]:6:2);
  writeln;
  writeln('Вектор X:');
  for i := 1 to 3 do
    begin
      x[i] := sqr(a[i]) / 2 / po;
      write(x[i]:19:13)
    end;
  readln
end.

Объяснение кода листинга программы

В данном коде на языке Free Pascal реализована процедура вычисления произведения отрицательных элементов матрицы.

  1. Тип данных arr определен как массив из трех элементов типа double.
  2. Тип данных matrix определен как массив из двух строк и трех столбцов элементов типа double.
  3. В процедуре pn(const x: matrix; var p: double) происходит итеративное перемножение отрицательных элементов матрицы x, результат сохраняется в переменной p.
  4. В начале программы определена константная матрица b типа matrix, заполненная отрицательными числами.
  5. Далее определены переменные a типа arr, po типа double, а также i и j типа integer.
  6. Выводится матрица b на экран.
  7. Вычисляется произведение отрицательных элементов матрицы b и сохраняется в переменной po.
  8. Выводится сообщение с произведением отрицательных элементов матрицы b.
  9. Выводится вектор a на экран.
  10. Вычисляется вектор X по формуле sqr(a[i]) / (2*po) для каждого элемента массива a.
  11. Выводится вектор X на экран.
  12. Ввод с клавиатуры ничего не требуется в данной программе.

Оцени полезность:

12   голосов , оценка 4.25 из 5
Похожие ответы