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

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

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

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

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

textual
Листинг программы
  1. Program rekyrsia;
  2. type Mas=array[1..100] of integer;  
  3. //Рекурсивная функция
  4. function Scal(k:byte;x,y:Mas):integer;
  5. begin
  6.         if k=0 then Scal:=0 else Scal:=x[k]*y[k]+Scal(k-1,x,y)
  7.   end;  
  8. //Основная программа
  9. var a,b:Mas;
  10.        i,n,m:Byte;
  11. begin
  12. randomize;
  13. write('Количество элементов массивов n=');
  14. readln(n);
  15. writeln('Массив А');
  16.   for i:=1 to n do
  17.     begin
  18.        a[i]:=Random(20);
  19.     write(a[i],' ');
  20.   end;
  21. writeln;
  22. writeln('Массив B');
  23. for i:=1 to n do
  24.   begin
  25.     b[i]:=Random(20);
  26.     write(b[i],' ');
  27.   end;
  28. writeln;
  29. write('Скалярное произведение=',Scal(n,a,b));
  30. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы