Дополнительные материалы к занятию можно скачать здесь.
Создаем новое консольное приложение C#. Называем проект practice_3_1.
Наберите в окне кода следующую программу:
using System;
class goods
{
public string ProductName;
public DateTime ExpireDate;
public double Price;
}
class Example
{
static void Main()
{
goods Product = new goods();
Product.ProductName = "Хлеб Изобилие";
Product.ExpireDate = new DateTime(2011, 5, 1, 8, 30, 52);
Product.Price = 43.54;
string str;
str = "Товар: " + Product.ProductName + "\nСрок годности: " + Product.ExpireDate + "\nЦена: " + Product.Price + " рубля";
Console.WriteLine(str);
Console.WriteLine("Нажмите любую кнопку!");
Console.ReadKey();
}
}
Получаем следующий результат:
Создаем новое консольное приложение C#. Называем проект practice_3_2.
Наберите в окне кода следующую программу:
using System;
class goods
{
public string ProductName;
public DateTime ExpireDate;
public double Price;
}
class Example
{
static void Main()
{
goods Bread = new goods();
Bread.ProductName = "Хлеб Изобилие";
Bread.ExpireDate = new DateTime(2011, 5, 1, 8, 30, 52);
Bread.Price = 43.54;
goods Milk = new goods();
Milk.ProductName = "Молоко";
Milk.ExpireDate = new DateTime(2011, 5, 5, 6, 30, 52);
Milk.Price = 35.6;
string str;
str = "Товар: " + Bread.ProductName + "\nСрок годности: " + Bread.ExpireDate + "\nЦена: " + Bread.Price + " рубля";
str += "\nТовар: " + Milk.ProductName + "\nСрок годности: " + Milk.ExpireDate + "\nЦена: " + Milk.Price + " рубля";
Console.WriteLine(str);
Console.WriteLine("Нажмите любую кнопку!");
Console.ReadKey();
}
}
Получаем следующий результат:
Создаем новое консольное приложение C#. Называем проект practice_3_3.
Наберите в окне кода следующую программу:
using System;
class shape
{
public double Length(double r)
{
double l;
l = 2 * Math.PI * r;
return l;
}
public double Area(double r)
{
double s;
s = Math.PI * Math.Pow(r, 2);
return s;
}
}
class Example
{
static void Main()
{
shape figure = new shape();
double a;
a = 10;
double l, s;
l = figure.Length(a);
s = figure.Area(a);
string str;
str = "Радиус равен " + a;
str += "\nДлина окружности равна " + l;
str += "\nПлощадь круга равна " + s;
Console.WriteLine(str);
Console.WriteLine("Нажмите любую кнопку!");
Console.ReadKey();
}
}
Получаем следующий результат:
Создаем новое консольное приложение C#. Называем проект practice_3_4.
Наберите в окне кода следующую программу:
using System;
class shape
{
public double r;
public double SphereArea()
{
double s;
s = 4 * Math.PI * Math.Pow(r, 2);
return s;
}
public double SphereVolume()
{
double v;
v = 4 * Math.PI * Math.Pow(r, 3) / 3;
return v;
}
}
class Example
{
static void Main()
{
shape figure = new shape();
double a;
a = 10;
figure.r = a;
double v, s;
s = figure.SphereArea();
v = figure.SphereVolume();
string str;
str = "Радиус равен " + a;
str += "\nПлощадь сферы равна " + s;
str += "\nОбъем шара равен " + v;
Console.WriteLine(str);
Console.WriteLine("Нажмите любую кнопку!");
Console.ReadKey();
}
}
Получаем следующий результат:
Даны следующие геоцентрические координаты спутника:
$$x = 2616905,988\\y = 5135967,188\\z = 3003938,098$$Радиус Земли составляет:
$$R_0=6373637,00\,м$$Геоцентрические координаты связаны с широтой и долготой следующими соотношениями:
$$x=r\cos(\varphi)\cos(\lambda),\;y=r\cos(\varphi)\sin(\lambda),\;z=r\sin(\lambda)\\r=\sqrt{x^2+y^2+z^2},\;\tg(\lambda)=\frac yx,\;\tg(\varphi)=z/\sqrt{x^2+y^2}$$Найдем
Широта $$\varphi=\arctg\left(\frac z{\sqrt{x^2+y^2}}\right)=\arctg\left(\frac{3003938,098}{\sqrt{2616905,988^2+5135967,188^2}}\right)\cdot\frac{180}\pi=27,52\text{ градуса}$$
Долгота $$\lambda=\arctg\left(\frac yx\right)=\arctg\left(\frac{5135967.188}{2616905.988}}\right)\cdot\frac{180}\pi=63,00\text{ градуса}$$
Для нахождения высоты над уровнем моря $$h$$ мы вычтем радиус Земли $$R_0$$ из радиус-вектора $$r$$:
$$h= r- R_0=6500000,00-6373637,00=126363,00\,м.$$Создаем новое консольное приложение C#. Называем проект practice_3_5.
Наберите в окне кода следующую программу:
using System;
class Satellite
{
public double x;
public double y;
public double z;
double R0 = 6373637.00; //Радиус Земли
public double Height()
{
double h;
h = Math.Sqrt(Math.Pow(x, 2) + Math.Pow(y, 2) + Math.Pow(z, 2)) - R0;
return h;
}
public double Latitude()
{
double phi;
phi = Math.Atan(z / Math.Sqrt(Math.Pow(x, 2) + Math.Pow(y, 2))) * 180 / Math.PI;
return phi;
}
public double Longitude()
{
double lambda;
lambda = Math.Atan(y / x) * 180 / Math.PI;
return lambda;
}
}
class Example
{
static void Main()
{
double x, y, z;
x = 2616905.988;
y = 5135967.188;
z = 3003938.098;
Satellite GLONASS = new Satellite();
GLONASS.x = x;
GLONASS.y = y;
GLONASS.z = z;
double h, phi, lambda;
h = GLONASS.Height();
phi = GLONASS.Latitude();
lambda = GLONASS.Longitude();
string str;
str = "Высота над уровнем моря: " + h + " метра" + "\nГеографическая широта: " + phi + " градуса"
+ "\nГеографическая долгота " + lambda + " градуса";
Console.WriteLine(str);
Console.WriteLine("Нажмите любую кнопку!");
Console.ReadKey();
}
}
Получаем следующий результат:
Связь между геодезическими параметрами $$\{H,L,B\}$$ точки пространства и декартовыми координатами $$\{x,y,z\}$$ можно определить следующим образом:
$$x=(N+H)\cos B\cos L,\;y=(N+H)\cos B\sin L,\;z=[(1-e^2)N+H]\sin B,$$где:
Для преобразования координат мы воспользуемся алгоритмом, описанном в ГОСТ Р 51794-2001 (…Методы преобразований координат определяемых точек), внеся в него небольшие изменения.
Алгоритм предполагает следующую последовательность действий:
при этом
$$\left\{\begin{array}{l}\txt{если }Y<0,X>0,\text{ то }L=2\pi-L_a\\ \text{если }Y<0,X<0,\text{ то }L=2\pi+L_a\\ \text{если }Y>0,X<0,то L=\pi-L_a\\ \text{если }Y>0,X>0,то L=L_a\end{array}\right.$$Найти вспомогательную величину $$r$$ по следующей формуле:
$$r=\sqrt{X^2+Y^2+Z^2},$$ Геодезическая широта B находится следующим образом: $$B=\arcsin\left(\frac Zr\right)$$ $$H=D\cos B+Z\sin B-a\sqrt{1-e^2\sin^2B}$$Итак, мы имеем следующие исходные данные:
$$x = 2616905,988\\y = 5135967,188\\z = 3003938,098$$Так как $$x>0$$ и $$y>0$$, то $$L=L_a=1,09955742907398\text{ радиан}$$.
Найдем значение геодезической долготы в градусах: $$L\cdot\frac{180}\pi=1,09955742907398\cdot\frac{180}{3,14159265358979} = 63,0000000181943\text{ градуса}$$Разработать соответствующую программу
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.