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

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

С++ ДЛЯ КАРТОГРАФОВ И ГЕОДЕЗИСТОВ: УЧЕБНАЯ ПРОГРАММА «ПРЕОБРАЗОВАНИЕ УГЛА ИЗ РАДИАННОЙ МЕРЫ В ГРАДУСНУЮ» С ИНСТРУКЦИЕЙ ЦИКЛА

Заблоцкий В.Р. 1
1 Московский государственный университет геодезии и картографии
1. Заблоцкий В.Р. Особенности преподавания информатики в вузе геодезического профиля на современном этапе // Известия высших учебных заведений. Геодезия и аэрофотосъемка. – 2015. – № 6. – С. 119–125.
2. Заблоцкий В.Р. Программирование на языке С++ для картографов и геодезистов: учебная объектно-ориентированная программа «Нивелирная рейка» // Международный журнал экспериментального образования. – 2015. – № 5 (часть 1). – С. 89–91.
3. Заблоцкий В.Р. С++ для картографов и геодезистов: учебная объектно-ориентированная программа «Женевская линейка» // Международный журнал экспериментального образования. – 2015. – № 10 (часть 1). – С. 25–26.
4. Заблоцкий В.Р. С++ для картографов и геодезистов: учебная программа «Коллимационная погрешность» с условной if-else инструкцией // Международный журнал экспериментального образования. – 2015. – № 12 (часть 1). – С. 25–26.
5. Заблоцкий В.Р., Фам Суан Хоан. Учебная компьютерная программа «ТЕОДОЛИТ». Часть 2. Использование указателей для создания журнала угловых измерений // Известия высших учебных заведений. Геодезия и аэрофотосъемка. – 2011. – № 5. – С. 107–113.
6. Заблоцкий В.Р., Зеленков В.В. Учебная компьютерная программа «ТЕОДОЛИТ». Часть 1. Вычисление горизонтальных углов // Известия высших учебных заведений. Геодезия и аэрофотосъемка. – 2009. – № 4. – С. 90–100.
7. Заблоцкий В.Р. Обучение языку С/С++ на основе программирования учебных геодезических задач // Сборник статей по итогам международной научно-технической конференции, посвященной 230-летию основания МИИГАиК. – Вып. 2, ч. 1. – М.: МИИГАиК, 2009. – С. 199–202.
8. Заблоцкий В.Р., Фам Суан Хоан. Программирование учебных геодезических задач в среде BORLAND C++ BUILDER 6 (консольные приложения) // Известия высших учебных заведений. Геодезия и аэрофотосъемка. – 2008. – № 4. – С. 81–89.
9. Заблоцкий В.Р., Васякин С.А. Применение программы «Калькулятор» в решении учебных геодезических задач // Известия высших учебных заведений. Геодезия и аэрофотосъемка. – 2004. – № 5. – С. 10–34.

Представлена учебная программа на языке С++, предназначенная для студентов картографов и геодезистов, изучающих программирование. Особенности преподавания информатики в вузе геодезического профиля на современном этапе рассматриваются в [1]. Автор поставил перед собой цель – создание набора типовых учебных геодезических задач [2–9] для проведения учебного практикума по информатике и домашних заданий. Задача данной работы – разработка программы геодезического содержания с инструкцией цикла для многократного повторения однотипных расчетов. Программа иллюстрирует работу цикла for на примере преобразования угла из радианной меры в градусную.

Содержательная геодезическая постановка задачи заключается в вычислении угловой градусной меры угла по заданной радианной мере этого же угла. Для расчета используется известная формула:

zabolotsk01.wmf

где deg – угловой градус и его доли в виде минут и секун; rad – угол, выраженный в радианах. В программе сначала вычисляется угол в виде целой и дробной частей градуса, далее значение угла переводится в целое число градусов, минут и секунд. Алгоритм работы программы «Преобразование угла из радианной меры в градусную» следующий. Сначала пользователь вводит количество расчетов угловых величин, а затем в цикле вводит с клавиатуры значение угла в радианах, программа выводит на экран значение угла в виде градусов, минут и секунд. Таким образом, для каждого значения угла, введенного пользователем, программа выводит на экран угол, представленный в градусах, минутах и секундах.

pic_4.wmf

pic_4.wmf

Рассмотрим код программы. В строке 07–10 объявляются переменные, среди них целочисленная переменная для количества, планируемых расчетов number и переменные для хранения результата расчета – значения угла в градусах degrees, минутах minutes и секундах seconds. Переменные с плавающей точкой типа float используются для представления значения угла, выраженного в виде целой и дробной частей градуса degreesWithFractionalPart и для угла в радианах angleInRadianTerms, а также для сохранения промежуточных результатов – значений минут и секунд с дробной частью, соответственно minutesWithFractionalPart, secondsWithFractionalPart. В строках 12–13 пользователь вводит значение number, определяющее количество планируемых расчетов. Эта переменная используется в заголовке цикла for, и управляет количеством итераций цикла. Тело цикла представлено в строках 16–35. В строках 17–18 вводится значение угла в радианах, и в строке 20 вычисляется значение угла в градусах по формуле, причем здесь используется именованная константа M_PI, содержащая значение числа π. Далее в строке 22 берется целая часть от числа соответствующая углу в градусах. Это достигается использованием разнотипных переменных, в выражении присваивания вида degrees = degreesWithFractionalPart, где в левой части используется переменная типа int, в правой – типа float, в результате переменной degrees присваивается целая часть числа, стоящего справа. Затем, в строке 24, вычисляется дробная часть от значения угла в градусах (degreesWithFractionalPart-degrees), которая умножается на 60 для перевода значения в угловые минуты. В результате переменная minutesWithFractionalPart получает значение угловых минут с дробной частью. Аналогичным способом в строке 25 выделяется целая часть угловых минут для переменной minutes. В строках 27–28 такой же алгоритм используется и для угловых секунд. Однако, если значение выражения secondsWithFractionalPart – seconds будет больше или равным 0,5, то для округления значения угловых секунд следует увеличить количество секунд на 1″. Для этого в строке 30 применяется условная инструкция if в сокращенном варианте и инкремент переменной seconds++. В строках 33–34 результат расчета выводится на экран – значение угла в градусах, минутах и секундах. На этом данная итерация цикла заканчивается и если счетчик цикла, переменная i <= number, то начинается следующая итерация цикла с расчетом нового значения угла, иначе работа программы заканчивается.

Предположим, что пользователь вводит число расчетов равное 3 и угол в 1 радиан. Программа выведет на экран: «Угол равен: 57° 17′ 45″». Затем, если на запрос «Введите угол в радианах: » пользователь вводит число 3.1415926, то программа напечатает «Угол равен: 180° 0′ 0″». Далее, если на запрос «Введите угол в радианах: » пользователь вводит число 0 радиан, то программа напечатает на экране «Угол равен: 0° 0′ 0″». На этом работа программы заканчивается.

Выводы. Разработана учебная программа на языке С++ для студентов, изучающих программирование в вузе геодезического профиля. В программе демонстрируется применение управляющей инструкции цикла for в задаче преобразования значения угла из радианной меры в угловую градусную меру. Значение угла получается в градусах, минутах и секундах. Данная программа иллюстрирует особенности применения for инструкции цикла.


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

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

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

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