2.1. Постановка задачи и разработка алгоритма ее решения 6
2.2. Реализация алгоритма в среде Delphi 6.0. 8
2.3. Руководство пользователя. 12
Заключение 13
Литература 13
Приложение 14
Введение
2.1. Постановка задачи и разработка алгоритма ее решения
Даны случайно сформированные пары чисел. Первое число каждой пары является началом, а второе – концом некоторого отрезка. Требуется вывести объединение и пересечение этих отрезков.
Заполнение массива отрезками
Сформируем массив arr размерностью [2;n], в первую строку которого поместим начала, а во вторую – концы отрезков. Количество отрезков – n. Первую строку массива arr заполним случайными числами:
For i := 1 to n do arr[1,i] := random (10);
А вторую, поскольку второе число пары (конец отрезка) должно быть строго больше первого, следующим образом:
For i := 1 to n do arr[2,i] := arr[1,i]+random (10)+1;
Заметим, что результатом последовательного объединения n отрезков может быть один или несколько отрезков (до n), а результатом пересечения – только один или, вообще, ни одного отрезка (см. пример 5). Заполним массив arrOr[2,n] объединениями, а массив arrAnd[2,n] – пересечениями отрезков.
Отсортируем массив arr по возрастанию элементов первой строки.