Написать рекурсивную программу для определения скалярного произведения двух векторов - Free Pascal

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

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

Напишите рекурсивную программу для определения скалярного произведения двух векторов. помогите пожалуйста решить срочно надо а то я не могу никак разобраться как писать((((

Решение задачи: «Написать рекурсивную программу для определения скалярного произведения двух векторов»

textual
Листинг программы
Program rekyrsia;
type Mas=array[1..100] of integer;  
//Рекурсивная функция
function Scal(k:byte;x,y:Mas):integer;
begin
        if k=0 then Scal:=0 else Scal:=x[k]*y[k]+Scal(k-1,x,y)
  end;  
//Основная программа
var a,b:Mas;
       i,n,m:Byte;
begin
randomize;
write('Количество элементов массивов n=');
readln(n);
writeln('Массив А');
  for i:=1 to n do
    begin
       a[i]:=Random(20);
    write(a[i],' ');
  end;
writeln;
writeln('Массив B');
for i:=1 to n do
  begin
    b[i]:=Random(20);
    write(b[i],' ');
  end;
writeln;
write('Скалярное произведение=',Scal(n,a,b));
end.

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

  1. Объявление типа данных Mas для массива целых чисел размером 100.
  2. Объявление рекурсивной функции Scal для вычисления скалярного произведения двух векторов.
  3. Условие выхода из рекурсии: если значение k равно 0, то возвращаем 0, иначе возвращаем произведение элементов x[k] и y[k] плюс результат вызова функции Scal с аргументами k-1, x, y.
  4. Объявление переменных a и b типа Mas.
  5. Объявление переменных i, n и m типа Byte.
  6. С помощью функции randomize инициализируем генератор случайных чисел.
  7. Выводим сообщение Количество элементов массивов n= и считываем значение n с помощью функции readln.
  8. Выводим сообщение Массив А и заполняем массив a случайными целыми числами от 0 до 19 с помощью цикла for и функции write.
  9. Выводим сообщение Массив B и заполняем массив b случайными целыми числами от 0 до 19 с помощью цикла for и функции write.
  10. Вычисляем скалярное произведение двух векторов a и b с помощью функции Scal и выводим результат с помощью функции write.

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


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

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

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