Модуль для операций с векторами - Pascal

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

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

Реализовать в виде модуля набор подпрограмм для выполнения следующих операций над векторами на плоскости: 1) сложение; 2) вычитание; 3) скалярное умножение векторов; 4) умножение вектора на число; 5) длина вектора. Вектор представить типом «Запись» с полями X, Y: Real. Используя этот модуль, решить задачу:Дан массив А — массив векторов. Отсортировать его в порядке убывания длин векторов. Модуль создал, осталось сортировка. Нужна помощь

Решение задачи: «Модуль для операций с векторами»

textual
Листинг программы
uses vect;
const max=20;
var a:array[1..max] of Vector;
    n,i,j:byte;
    x:Vector;
begin
randomize;
repeat
write('Введите количество векторов от 2 до ',max,' n=');
readln(n);
until n in [2..max];
writeln('Исходные вектора');
for i:=1 to n do
with a[i] do
 begin
  x:=-5+10*random;
  y:=-5+10*random;
  write(i:2,'(x=',x:5:2,' y=',y:5:2,' dlina=',Dlina(a[i]):5:2,') ');
  if i mod 2=0 then writeln;
 end;
writeln;
//сортировка
for i:=1 to n-1 do
for j:=i+1 to n do
if Dlina(a[i])< Dlina(a[j]) then
 begin
  x:=a[i];
  a[i]:=a[j];
  a[j]:=x;
 end; 
writeln('Вектора в порядке убывания длин');
for i:=1 to n do
with a[i] do
 begin
  write(i:2,'(x=',x:5:2,' y=',y:5:2,' dlina=',Dlina(a[i]):5:2,') ');
  if i mod 2=0 then writeln;
 end;
end.

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

  1. Подключение модуля vect с операциями над векторами.
  2. Определение константы max со значением 20.
  3. Объявление массива a размером max с элементами типа Vector.
  4. Объявление переменных n, i, j типа byte.
  5. Объявление переменной x типа Vector.
  6. Инициализация генератора случайных чисел.
  7. Ввод количества векторов n с проверкой ввода.
  8. Вывод сообщения Исходные вектора.
  9. Генерация случайных координат для каждого вектора в диапазоне от -5 до 5.
  10. Вывод информации о каждом векторе: номер, координаты, длина.
  11. Сортировка векторов в массиве a по убыванию их длин.
  12. Вывод отсортированных векторов.
  13. Конец программы. Здесь Vector предположительно представляет собой структуру или класс, содержащий координаты и операции с векторами, и определенный в подключаемом модуле vect.

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


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

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

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