Найти скалярное произведение векторов - Free Pascal (205)
Формулировка задачи:
заданы три вектора A, B, C размерности n найти скалярное произведение АВ, ВС, СА. ввод вектора оформить как процедуру, а вычисление скалярного произведения как функцию.Помогите пожалуйста.
Решение задачи: «Найти скалярное произведение векторов»
textual
Листинг программы
- var n:byte;
- type vec=array[1..20] of real;
- procedure vvod(var a:vec;c:char);
- var i:byte;
- begin
- writeln('Вектор ',c);
- for i:=1 to n do
- begin
- a[i]:=5*random;
- write(a[i]:5:2);
- end;
- writeln;
- end;
- function scal(a,b:vec):real;
- var i:byte;
- s:real;
- begin
- s:=0;
- for i:=1 to n do
- s:=s+a[i]*b[i];
- scal:=s;
- end;
- var a,b,c:vec;
- begin
- repeat
- write('Размер векторов от до 20 n=');
- readln(n);
- until n in [1..20];
- vvod(a,'A');
- vvod(b,'B');
- vvod(c,'C');
- writeln('Скалярное произведение АВ=',scal(a,b):0:2);
- writeln('Скалярное произведение ВC=',scal(b,c):0:2);
- writeln('Скалярное произведение CА=',scal(c,a):0:2);
- readln
- end.
Объяснение кода листинга программы
- Объявлены переменные: n (размер векторов), a, b, c (векторы), i (для цикла).
- Определены типы данных: vec (массив векторов).
- Определены процедуры: vvod (ввод вектора), scal (нахождение скалярного произведения).
- Введен цикл repeat-until для проверки корректности размера векторов.
- Введен ввод векторов a, b, c с помощью процедуры vvod.
- Вычислено и выведено скалярное произведение векторов a и b с помощью функции scal.
- Вычислено и выведено скалярное произведение векторов b и c с помощью функции scal.
- Вычислено и выведено скалярное произведение векторов c и a с помощью функции scal.
- Завершение работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д