Форум программистов, компьютерный форум CyberForum.ru

Описание программы - C++

Восстановить пароль Регистрация
 
Kora
0 / 0 / 0
Регистрация: 23.10.2013
Сообщений: 12
27.05.2014, 16:59     Описание программы #1
Помогите пожалуйста с описанием, никак не могу понять как сделать его
Постановка задачи. Описание варианта решаемой задачи на естественном языке
Метод решения задачи. Описание решения задачи в математическом виде с пояснениями, связывающими алгоритм с методом решения задачи.
Вложение 404234

вот код моей программы
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
///////////////////////////////////////////////////////////////////////////////////////////////////////
//                  РАСЧЕТ ПОЛОЖЕНИЯ САМОЛЕТА ПО ИЗМЕРЕНИЯМ ЛОКАТОР НА БОРТУ ВС                      //
// Измерения: прямая дальность до ориентира (метры), высота полета ВС (метры),                       //
//            угол азимута на ориентир (градусы).                                                    //
// Положение: широта и долгота ВС (геогр. градусы), ошибка положения ВС (метры).                     //
// О г р а н и ч е н и я :                                                                           //
// Планета Земля считается плоской, 1 градус широты и долготы = 111120 метров                        //
// Бесконечный цикл ввода измерений. Для завершения программы закрыть окно!!!                        //
///////////////////////////////////////////////////////////////////////////////////////////////////////
 
#include<iostream>
#include<iomanip>
#include<cmath>
#include<stdlib.h>
#include<windows.h>
 
using namespace std;
 
main(void)
{
    setlocale(0,"");
    
    //параметры схемы измерения с инициализацией!!!
    
    double LatLok_deg=80;       //широта локатора в(град)
    double LonLok_deg=20;       //долгота локатора в(град)
    double ErrMeasDist_proc=1;  //погрешность измерения расстояний в(%)
    double ErrMeasAlt_proc=1;   //погрешность измерения высоты в(%)
    double ErrMeasAngle_deg=1;  //погрешность измерения углов в(гард)
 
    //измерение
    
    double StrDistToOr_m;       //прямая дальность до оринетира в(м)
    double AltitudeToAirp_m;    //высота полета ВС в(м)
    double AzimToOr_deg;        //азимут на ориентир в(град)
 
    //положение
    double LatAirp_deg;     //широта самолета в градусах ( - + на север)
    double LonAirp_deg;     //долгота самолета в градусах ( - + на восток)
    double ErrPosAirp_m;    //ошибка положения самолета в(м)
 
    //рабочие переменные
    double HorDistToOr_m;                   //гориз. дальность до ориентира в(м)
    double DistLokToOrLat_m;                //расстояние от локатора до ориентира по широте в(м)
    double DistLokToOrLon_m;                //расстояние от локатора до ориентира по долготе в(м)
    double AngleHorDistToEast_rad;          //угол гор.дальности с востоком в(рад)
    double Pi=3.14159, DegToRad=Pi/180.0;   //Pi и коэф. перевода (град) в (рад)
    double MeterToGeoDeg=1.0/111120;        //коэф. перевода метров в геогр.градусы плоской Земли
    double ErrHorDist_m,ErrAzim_m;          //ошибки по дальности и азимуту в(м)
 
    cout<<(LPCTSTR)"РАСЧЕТ ПОЛОЖЕНИЯ САМОЛЕТА ПО ИЗМЕРЕНИЯМ ЛОКАТОР НА БОРТУ ВС "<<endl
        <<"Измерения: прямая дальность до ориентира (метры), высота полета ВС (метры), угол азимута на ориентир (градусы). "<<endl
        <<"Положение: широта и долгота ВС (геогр. градусы), ошибка положения ВС (метры).";
 
    cout<<endl
        <<"Планета Земля считается плоской, 1 градус широты и долготы = 111120 метров"<<endl
        <<"Бесконечный цикл ввода измерений. Для завершения программы закрыть окно!!!"<<endl;
 
    //ввод параметров схемы измерения с отображением в консоли
    cout<<endl<<"Введите параметры схемы измерения"<<endl;
    cout<<"широта локатора в градусах:                  ";  cin>>LatLok_deg;
    cout<<"долгота локатора в градусах:                 ";  cin>>LonLok_deg;
    cout<<"погрешность измерения расстояний в процентах ";  cin>>ErrMeasDist_proc;
    cout<<"погрешность измерения высоты в процентах     ";  cin>>ErrMeasAlt_proc;
    cout<<"погрешность измерения углов в градусах       ";  cin>>ErrMeasAngle_deg;
 
REPEAT:    //повторения расчета
 
    //ввод измерения
    cout<<endl<<"Введите азимут на ориентир в градусах ";   cin>>AzimToOr_deg;
    cout      <<"Введите дальность до ориентира в метрах "; cin>>StrDistToOr_m;
    cout      <<"Введите высоту полета ВС в метрах ";       cin>>AltitudeToAirp_m;
    
    //если ошибка диапазона данных, повторить расчет
    if(AzimToOr_deg<0||AzimToOr_deg>=360||StrDistToOr_m<0||StrDistToOr_m<AltitudeToAirp_m) goto REPEAT;
 
    //расчет координат самолета и ошибки положения
      //расстояния от локатора до ориентира по широте и долготе и ошибки в метрах
        //если ВС над ориентиром, то особый случай расчета
    if(fabs(StrDistToOr_m - fabs(AltitudeToAirp_m))<0.0001)
    {
    //расстояния от локатора до ориентира по широте и долготе в метрах = 0
      DistLokToOrLat_m=DistLokToOrLon_m=0.0;
    //ошибка положения в метрах
      ErrPosAirp_m=AltitudeToAirp_m*ErrMeasAlt_proc*0.01;
    }
    else
    {
      HorDistToOr_m = sqrt(pow(StrDistToOr_m, 2) - pow(AltitudeToAirp_m, 2)); //расчет горизонтальной дальности в метрах
      AngleHorDistToEast_rad=(90-AzimToOr_deg)*DegToRad;                      //расчет угла гор.дальности с востоком в радианах
      DistLokToOrLon_m=HorDistToOr_m * cos(AngleHorDistToEast_rad);           //расстояние от локатора до самолета по долготе в метрах
      DistLokToOrLat_m=HorDistToOr_m * sin(AngleHorDistToEast_rad);           //расстояние от локатора до самолета по широте в метрах
 
      //ошибка по дальности = дальность * погрешность измерения дальности
      ErrHorDist_m=HorDistToOr_m*sqrt(pow(ErrMeasDist_proc, 2) - pow(ErrMeasAlt_proc, 2))*0.01;
      
      //ошибка по азимуту = дальность * sin(погрешность измерения угла)
      ErrAzim_m=HorDistToOr_m*sin(ErrMeasAngle_deg*DegToRad);
      
      //ошибка положения = максимальной из них
      ErrPosAirp_m=max(ErrHorDist_m,ErrAzim_m);
    }
    
    LatAirp_deg = LatLok_deg + DistLokToOrLat_m * MeterToGeoDeg;
    LonAirp_deg = LonLok_deg + DistLokToOrLon_m * MeterToGeoDeg;
 
  //вывод координат самолета и ошибки
  cout<<endl<<"азимут= "<<AzimToOr_deg<<"(град)"<<endl;
  cout<<"дальность= "<<StrDistToOr_m<<"(м)"<<endl;
  cout<<"высота= "<<AltitudeToAirp_m<<"(м)"<<endl;
  cout<<"широта= "<<LatAirp_deg<<"(град)"<<endl;
  cout<<"долгота= "<<LonAirp_deg<<"(град)"<<endl;
  cout<<"ошибка= "<<ErrPosAirp_m<<"(м)  "<<endl;
 
 
goto REPEAT; //повторить расчет
 
  system("pause");
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kora
0 / 0 / 0
Регистрация: 23.10.2013
Сообщений: 12
28.05.2014, 01:04  [ТС]     Описание программы #2
тема всё ещё актуальна
Kora
0 / 0 / 0
Регистрация: 23.10.2013
Сообщений: 12
30.05.2014, 15:47  [ТС]     Описание программы #3
актуально
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2563 / 233
Регистрация: 01.11.2011
Сообщений: 6,334
Завершенные тесты: 1
30.05.2014, 15:58     Описание программы #4
Цитата Сообщение от Kora Посмотреть сообщение
Помогите пожалуйста с описанием
Что значит "с описанием"? Код прокомментировать?
Kora
0 / 0 / 0
Регистрация: 23.10.2013
Сообщений: 12
30.05.2014, 16:16  [ТС]     Описание программы #5
Цитата Сообщение от SatanaXIII Посмотреть сообщение
з
Описание варианта решаемой задачи на естественном языке
Описание решения задачи в математическом виде с пояснениями, связывающими алгоритм с методом решения задачи.

Добавлено через 1 минуту
Я принесла этот код без комментариев и меня преподаватель заставил прокомментировать все строки.
Когда я это прокомментировала, он сказал чтоб я ещё и это сделала...
Yandex
Объявления
30.05.2014, 16:16     Описание программы
Ответ Создать тему
Опции темы

Текущее время: 21:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru