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


