Из трех векторов, заданных координатами, найти вектор с наибольшей длиной - PascalABC.NET
Формулировка задачи:
Даны три трехмерных вектора a , b и c , заданные своими координатами. Найти вектор с наибольшей длиной. Указание: реализовать функцию, возвращающую длину вектора. Длина вектора a равна ||= √++
Написать и отладить программу в соответствии с вариантом. В программе необходимо использовать процедурный подход. По возможности, разработку программы производить методом нисходящего программирования
Пожалуйста, помогите, только начался паскаль, ничего не понимаю :с
Решение задачи: «Из трех векторов, заданных координатами, найти вектор с наибольшей длиной»
textual
Листинг программы
type
tVector = class
L : Char;
x, y, z : Real;
constructor (Letter : Char);
begin
WriteLn('Введите вектор ', Letter, ' :');
L := Letter;
x := ReadLnReal('x =');
y := ReadLnReal('y =');
z := ReadLnReal('z =');
end;
function Length : Real := Sqrt(x*x + y*y + z*z);
function toString : String := String.Format('{0}({1},{2},{3})', L, x, y, z);
end;
begin
var a := New tVector('a');
var b := New tVector('b');
var c := New tVector('c');
if a.Length > b.Length then Swap(a, b);
if b.Length > c.Length then Swap(b, c);
if a.Length > b.Length then Swap(a, b);
WriteLn('Вектор с минимальной длиной: |', a.toString, '| = ', a.Length:0:5);
WriteLn('Вектор с максимальной длиной: |', c.toString, '| = ', c.Length:0:5);
end.
Объяснение кода листинга программы
- Объявлены тип данных tVector и три экземпляра этого типа: a, b, c.
- Для каждого вектора выводится приглашение к вводу его координат.
- Функция Length вычисляет длину вектора, используя формулу длины вектора.
- Функция toString преобразует вектор в строку, используя формулу строки с заменой.
- Если длина вектора a больше, чем длина вектора b, то значения переменных a и b меняются местами с помощью процедуры Swap.
- Если длина вектора b больше, чем длина вектора c, то значения переменных b и c меняются местами с помощью процедуры Swap.
- Если длина вектора a больше, чем длина вектора b, то значения переменных a и b меняются местами с помощью процедуры Swap.
- Выводится вектор с минимальной длиной.
- Выводится вектор с максимальной длиной.