Лаборатория космических исследований

Ульяновская секция Поволжского отделения Российской Академии Космонавтики им. К. Э. Циолковского

Ульяновский Государственный Университет
Семинары по C++: продолжение

C++Следующее занятие по С++ состоится 19 марта в 9.30.

Тема занятия "Указатели и структуры данных". 

 

 

 

 

 

 

 

 

 

Домашнее задание:

Пусть имеются строковые данные в файле NOAA14.tle в формате TLE (Two Line Elements) такого вида:

COSMOS 2361
1 25590U 98076A 11075.21720038 .00000077 00000-0 66575-4 0 6026
2 25590 82.9355 4.4382 0032838 112.2228 248.2423 13.72736548612424


 

 

Это данные, получаемые от службы слежения за спутниками NORAD в формате TLE имеют вид трех строчных записей. Эти записи находятся в свободном доступе http://celestrak.com/NORAD/elements/

Одна из строк необязательная содержит имя спутника (строка 0). Две других обязательных строки содержат полную информацию о кеплеровской орбите спутника, каждая из которых имеет следующие шаблоны:

0 AAAAAAAAAAAAAAAAAAAAAAAA
1 nnnnnU nnnnnaaa nnnnn.nnnnnnnn +.nnnnnnnn +nnnnn-n +nnnnn-n nnnnnn
2 nnnnn nnn.nnnn nnn.nnnn nnnnnnn nnn.nnnn nnn.nnnn nn.nnnnnnnnnnnnnn

Строка 0 представляет собой 24 символьное (24 байта) имя спутника, присвоенное ему
в системе NORAD (NORAD SATCAT). Строки 1 и 2 содержат информацию в соответствии с таблицей.

Строка 1

Номера байтов Описание
01 Номер строки
02 Пробел
03-07 Номер, присвоенный спутнику в системе NORAD
08 Классификация спутника (U- не классифицирован)
09 Пробел
10-11 Международный код (две последние цифры года запуска)
12-14 Международный код (номер запуска в году)
15-17 Международный код (число ступеней)
18 Пробел
19-20 Год эпохи (Две последние цифры года)
21-32 Эпоха (день года и дробная часть дня вместе с десятичной точкой)
33 Пробел
34-43 Первая производная по времени среднего движения (с десятичной точкой)
44 Пробел
45-52 Вторая производная по времени среднего движения (десятичная точка
предполагается)
53 Пробел
54-61 Коэффициент трения в атмосфере (BSTAR drag term)
62 Пробел
63 Тип эфемериды
65-68 Число элементов
69 Контрольная сумма(по модулю 10)

Строка 2

Номера байтов     Описание
01 Номер строки
02 Пробел
03-07 Номер, присвоенный спутнику в системе NORAD
08 Пробел
09-16 Наклонение (в градусах)
17 Пробел
18-25 Долгота восходящего узла (в градусах)
26 Пробел
27-33 Эксцентриситет (десятичная точка предполагается)
34 Пробел
35-42 Аргумент перигея (в градусах)
43 Пробел
44-51 Средняя аномалия (в градусах)
52 Пробел
53-63 Среднее движение (Число оборотов в сутки)(Revs per day)
64-68 Число оборотов в эпоху (Оборот [Revs])
69 Контрольная сумма (по модулю 10)

 

 

 

 

Отформатируйте данные и сохраните в выходном текстовом файле в виде:

*Номер, присвоенный спутнику в системе NORAD* *Год*.*Месяц*.*День* *Эксцентриситет*

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

25590U 11.03.16 0.0032838