Найти скалярное произведение векторов - 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.
- Завершение работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д