Двумерные массивы паскаль

Двумерный массив в Паскале представляет собой таблицу, состоящую из нескольких одномерных массивов. Двумерные массивы Pascal называют матрицей. Положение элементов в матрице обозначается двумя индексами. Рассмотрим матрицу 3*3, то есть она будет состоять из 3 строк и 3 столбцов: Каждый элемент обладает 2-мя индексами. Первый —  …

Работа с графикой в PascalABC

После запуска PascalABC, по умолчанию, запускается текстовый режим. Для работы с графикой служит отдельное графическое окно. Чтобы его открыть, необходимо подключить модуль GraphABC. В этом модуле содержится набор процедур и функций, предназначенных для работы с графическим экраном, а также некоторые встроенные константы и переменные, которые …

Урок 35. Построение выпуклой оболочки.

Урок из серии «Геометрические алгоритмы» Вычисление выпуклой оболочки важно не только само по себе, но и как промежуточный этап для многих задач вычислительной геометрии.  Например, задача о наиболее удаленных точках.  Дано множество из  N точек. Нужно выбрать пару максимально удаленных друг от друга точек. Выпуклой …

Урок 34. Площадь многоугольника

Урок из серии «Геометрические алгоритмы» Здравствуйте, дорогой читатель. Решения многих задач вычислительной геометрии основывается на нахождении площади многоугольника. На этом уроке мы выведем формулу для вычисления площади многоугольника через координаты его вершин, напишем функцию для вычисления этой площади. Задача. Вычислить площадь многоугольника, заданного координатами своих …

Урок 33. Точка в многоугольнике

Урок из серии «Геометрические алгоритмы» Здравствуйте, дорогой читатель! Продолжим знакомиться с геометрическими алгоритмами. Полученный на прошлом уроке метод нахождения пересечения отрезков позволяет очень красиво решить задачу на принадлежность точки многоугольнику. Задача. Даны точка P и простой N-угольник. Определить, принадлежит ли точка многоугольнику.

Урок 32. Пересекаются ли два отрезка?

Урок из серии «Геометрические алгоритмы» Здравствуйте,  дорогой читатель. Напишем еще три новые функции. Функция LinesCross() будет определять, пересекаются ли два отрезка. В ней взаимное расположение отрезков определяется с помощью векторных произведений. Для вычисления векторных произведений напишем  функцию — VektorMulti(). Функция RealLess() будет использоваться для реализации …

Урок 31. Проверка принадлежности точки отрезку

Урок из серии «Геометрические алгоритмы» Здравствуйте, дорогой читатель! Сегодня мы рассмотрим еще одну типовую задачу из серии геометрические алгоритмы. Напишем функцию, которая будет проверять принадлежность произвольной точки отрезку, заданному координатами своего начала и конца. Для реализации операций сравнения над вещественными данными напишем еще две функции: …

Урок 30. Определение координат точки пересечения двух линий

Урок из серии «Геометрические алгоритмы» Здравствуйте, дорогой читатель! Продолжим знакомиться с геометрическими алгоритмами. На прошлом уроке мы нашли уравнение прямой линии по координатам двух точек. У нас получилось уравнение вида: Сегодня мы напишем функцию, которая по уравнениям двух прямых линий будет находить координаты их точки …

Урок 29. Нахождение уравнение прямой по двум точкам

Урок из серии «Геометрические алгоритмы» Здравствуйте, дорогой читатель! Сегодня мы начнем изучать алгоритмы, связанные с геометрией. Дело в том, что олимпиадных задач по информатике, связанных с вычислительной геометрией, достаточно много и решение таких задач часто вызывают затруднения. За несколько уроков мы рассмотрим ряд элементарных подзадач, …

Урок 28. Сортировка массива

Урок из серии: «Программирование на языке Паскаль» Процесс обработки и поиска информации при решении многих задач  проходит быстрее и эффективнее, если данные расположены в определенном порядке. Например, различные списки студентов, учащихся, сотрудников — в алфавитном порядке, числовые данные от большего значения к меньшему (или наоборот) …

Урок 27. Вставка элементов в массив

Урок из серии: «Программирование на языке Паскаль» Продолжим знакомиться с алгоритмами обработки одномерных массивов. Сегодня рассмотрим алгоритмы для вставки элементов в массив. Как и в алгоритмах с удалением элементов, будем различать два случая: вставку одного элемента и вставку нескольких элементов. Алгоритмы получаются разные. Вставка одного …