Подпрограмма-функция - Pascal

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

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

Написать программу решения задачи, используя функции: в основной функции ввести с клавиатуры или вычислить с помощью генератора случайных чисел 10 элементов массива вещественного типа и напечатать результат вычислений, во вспомогательной - вычислить скалярную величину, согласно варианта задания:

Решение задачи: «Подпрограмма-функция»

textual
Листинг программы
const
    N = 10;
type
    TVector = Array[1..N] Of Real;
function GenVector(var ar: TVector): Boolean;
var
    i: 1..N;
    k: Integer;
begin
    repeat
        WriteLn('Выберите способ инициализации массива:');
        WriteLn('1. Ручной ввод.');
        WriteLn('2. Генератор случайных чисел.');
        ReadLn(k);
    until (k in [1..2]);
    Write('Вектор X:');
    if (k = 2)
    then
    begin
        Randomize;
        for i := 1 to N do
        begin
            ar[i] := Random*20 - 10;
            Write(ar[i]:7:2);
        end;
        WriteLn;
    end
    else
    begin
        WriteLn;
        for i := 1 to N do
        begin
            Write('x[', i, ']=');
            ReadLn(ar[i]);
        end;
    end;
    GenVector := True;
end;
 
function G(const ar: TVector): Extended; //Double | Real
var
    p, s: Extended; //Double | Real
    i: 1..N;
begin
    p := 1;
    s := 0;
    for i := 1 to N do
    begin
        p := p*ar[i];
        s := s + ar[i];
    end;
    G := Cos(p)/Sin(s);
end;
 
var
    x: TVector;
begin
    GenVector(x);
    WriteLn('G=', G(x):0:3);
end.

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

  1. Объявление константы N со значением 10.
  2. Объявление типа TVector как массива из 10 вещественных чисел.
  3. Объявление функции GenVector с возвращаемым значением Boolean и параметром ar типа TVector.
  4. Объявление переменной i типа целого числа в диапазоне от 1 до 10.
  5. Объявление переменной k типа целого числа.
  6. Начало блока кода функции GenVector.
  7. Цикл повторения до тех пор, пока значение переменной k не будет в диапазоне от 1 до 2.
  8. Вывод сообщений о выборе способа инициализации массива.
  9. Считывание значения переменной k.
  10. Завершение цикла повторения.
  11. Вывод сообщения Вектор X:.
  12. Если значение переменной k равно 2, то выполняется следующий блок кода, иначе следующий блок кода.
  13. Если выбрано значение 2, то для каждого элемента массива ar генерируется случайное вещественное число в диапазоне от -10 до 10, и его значение выводится.
  14. В противном случае пользователю предлагается ввести значения элементов массива ar вручную.
  15. Окончание блока кода функции GenVector.
  16. Определение функции G с параметром ar типа TVector и возвращаемым значением типа Extended (вещественное число с повышенной точностью).
  17. Объявление переменных p и s типа Extended и переменной i типа целого числа в диапазоне от 1 до 10.
  18. Начало блока кода функции G.
  19. Установление начальных значений переменных p и s равными 1 и 0 соответственно.
  20. Вычисление произведения всех элементов массива ar и их суммы.
  21. Вычисление значения функции G по формуле Cos(p)/Sin(s).
  22. Окончание блока кода функции G.
  23. Объявление переменной x типа TVector.
  24. Начало блока кода программы.
  25. Инициализация массива x с помощью функции GenVector.
  26. Вывод значения функции G для массива x с точностью до трех знаков после запятой.
  27. Окончание блока кода программы.

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


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

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

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