Следующее занятие по С++ состоится 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 |
- 7562 просмотра