Вычислить значение выражения - Pascal (83428)

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

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

Вычислить , z=(s1+s2)/(k1*k2), где s1 и k1 – сумма и количество положительных элементов массива X(N); s2 и k2 – сумма и количество положительных элементов массива Y(M) M ≤50 N ≤50

Решение задачи: «Вычислить значение выражения»

textual
Листинг программы
type
    TMass = Array[1..50] Of Integer;
 
procedure InitMass(var arr : TMass; const n : Integer);
var
    i : Integer;
begin
    for i := 1 to n do
    begin
        arr[i] := Random(199) - 99;
        Write(arr[i]:4);
    end;
    WriteLn;
end;
 
procedure SumCount(const arr : TMass; var sum : Integer; var count : Integer; const n : Integer);
var
    i : Integer;
begin
    sum := 0; count := 0;
    for i := 1 to n do
        if (arr[i] > 0)
        then
        begin
            Inc(sum, arr[i]);
            Inc(count);
        end;
end;
 
function Z(const s1, s2 : Integer; const k1, k2 : Integer) : Real;
begin
    Z := (s1 + s2) / k1 / k2;
end;
 
var
    x, y : TMass;
    sumX, sumY : Integer;
    countX, countY, n, m : Integer;
 
begin
    Randomize;
    repeat
        Write('n=');
        ReadLn(n);
    until ((n > 0) And (n <= 50));  
    InitMass(x, n);
    repeat
        Write('m=');
        ReadLn(m);
    until ((m > 0) And (m <= 50));
    InitMass(y, m);
    SumCount(x, sumX, countX, n); SumCount(y, sumY, countY, m);
    if (countX = 0) Or (countY = 0)
    then
        WriteLn('ERROR!')
    else
        WriteLn('z=', Z(sumX, sumY, countX, countY):0:3);
end.

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

  1. Объявление типа данных TMass для массива целых чисел.
  2. Объявление процедуры InitMass для инициализации массива случайными значениями.
  3. Объявление процедуры SumCount для подсчета суммы элементов массива и количества положительных элементов.
  4. Объявление функции Z для вычисления значения выражения.
  5. Объявление переменных x, y типа TMass; sumX, sumY, countX, countY, n, m типа Integer.
  6. Ввод значения переменной n с помощью функции ReadLn.
  7. Вызов процедуры InitMass для инициализации массива x.
  8. Ввод значения переменной m с помощью функции ReadLn.
  9. Вызов процедуры InitMass для инициализации массива y.
  10. Вызов процедуры SumCount для вычисления суммы и количества элементов массива x.
  11. Вызов процедуры SumCount для вычисления суммы и количества элементов массива y.
  12. Проверка на ошибки: если количество положительных элементов в одном из массивов равно нулю, выводится сообщение об ошибке.
  13. Вывод значения функции Z с помощью функции WriteLn.
  14. Повторение шагов 6-13 до тех пор, пока пользователь не введет некорректные значения для переменных n и m.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

5   голосов , оценка 4 из 5