Научный журнал
Международный журнал экспериментального образования

ISSN 2618–7159
ИФ РИНЦ = 0,431

С++ ДЛЯ КАРТОГРАФОВ И ГЕОДЕЗИСТОВ. УЧЕБНАЯ ОБЪЕКТНО-ОРИЕНТИРОВАННАЯ ПРОГРАММА «ЖЕНЕВСКАЯ ЛИНЕЙКА»

Заблоцкий В.Р. 1
1 Московский государственный университет геодезии и картографии
1. Заблоцкий В.Р. Программирование на языке С++ для картографов и геодезистов: учебная объектно-ориентированная программа «Нивелирная рейка» // Международный журнал экспериментального образования. – 2015. – № 5 (часть 1). – С. 89–91.
2. Заблоцкий В.Р., Зеленков В.В. Учебная компьютерная программа «Теодолит». Часть 1. Вычисление горизонтальных углов // Известия высших учебных заведений. Геодезия и аэрофотосъемка. – 2009. – № 4. – С. 90–100.

Учебный практикум по программированию для студентов картографов и геодезистов обычно основывается на решении математических задач, например, найти сумму сходящегося ряда с заданной точностью или вычислить площадь подынтегральной функции и не учитывает специфику геодезического направления подготовки. Нашей целью является разработка набора типовых учебных задач геодезического содержания [1, 2], которые могут использоваться в качестве домашних заданий и при выполнении лабораторных работ студентами геодезического направления подготовки.

В данной работе обсуждается объектно-ориентированная программа на С++, иллюстрирующая наследование. Наследование является фундаментальной концепцией объектно-ориентированного программирования и рассматривается на примере создания и использования обычной и женевской линеек для измерения длин отрезков на аэрофотоснимке. Известно, что с помощью обычной линейки длина отрезка определяется с погрешностью 0,2 мм, женевская линейка с лупой позволяет определять длину с погрешностью 0,05 мм. Тем не менее, линейки, как объекты программирования, близки по своему назначению, что позволяет использовать их в качестве примера на простое наследование. Класс женевская линейка реализуется на основе родительского класса обычная линейка и наследует методы и свойства родительского класса. В программе моделируется техника измерения длин двух отрезков AB и AC на аэрофотоснимке с помощью обычной и женевской линеек.

Рассмотрим код программы. Определен класс линейка Ruler, содержащий общие методы: «провести отрезок прямой» DrawAStraightLine и «измерить длину отрезка» MeasuringLineLenght. Порождая класс женевская линейка GenevaRuler из существующего класса Ruler, мы добавляем метод «измерить длину отрезка, используя лупу» MeasuringLineLenghtUsingAMagnifyingGlass. Определение методов двух классов приводится в строках 23–26, 27–35 и в строках 36–50 соответственно. В главной функции заданы три точки А, В и С на аэрофотоснимке, далее в строке 55 создается объект обычная линейка ordinaryRuler, а в строке 56 – объект женевская линейка myGenevaRuler. Методом обычной линейки ordinaryRuler.DrawAStraightLine между точками А и В проводится отрезок (строка 58) и его длина измеряется методом ordinaryRuler.MeasuringLineLenght. Аналогичные действия выполняются с помощью женевской линейки, в строке 63 проводится отрезок между точками А и С, затем измеряется длина отрезка. Результаты измерений выводятся на экран в консольное окно. На этом выполнение программы заканчивается.

pic_2.wmf

Одно из преимуществ наследования состоит в том, что исключается дублирование программного кода внутри программы. Это видно на примере строки 63, где объект женевская линейка вызывает метод DrawAStraightLine, определенный в родительском классе.

Выводы

Разработана учебная объектно-ориентированная программа на языке С++ для студентов, обучающихся в вузе геодезического профиля. В программе реализованы два класса – обычная и женевская линейка на основе наследования, и моделируется техника измерения длин отрезков с помощью созданных линеек. Данная программа подчеркивает преимущества объектно-ориентированного программирования на основе задачи определения длин отрезков на аэрофотоснимке.


Библиографическая ссылка

Заблоцкий В.Р. С++ ДЛЯ КАРТОГРАФОВ И ГЕОДЕЗИСТОВ. УЧЕБНАЯ ОБЪЕКТНО-ОРИЕНТИРОВАННАЯ ПРОГРАММА «ЖЕНЕВСКАЯ ЛИНЕЙКА» // Международный журнал экспериментального образования. – 2015. – № 10-1. – С. 25-26;
URL: http://expeducation.ru/ru/article/view?id=8491 (дата обращения: 15.11.2019).

Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»
(Высокий импакт-фактор РИНЦ, тематика журналов охватывает все научные направления)

«Фундаментальные исследования» список ВАК ИФ РИНЦ = 1.074