$regfile = "m8def.dat" $crystal = 8000000 $baud = 9600 'Скорость терминала Config Single = Scientific , Digits = 7 'Для Single Dim Startshi As Single 'Начальная широта Dim Startdol As Single 'Начальная долгота Dim Endshi As Single 'Конечная широта Dim Enddol As Single 'Конечная долгота Dim Distance As Single 'Расстояние в метрах Dim Zamok As Byte 'Для защиты от нулевой широты и долготы Do 'Startshi = 55.008135 'После получения с GPS, преобразуется в градусы и минуты, получаем 55.008135 (начальная широта) 'Startdol = 73.384308 'После получения с GPS, преобразуется в градусы и минуты, получаем 73.384308 (начальная долгота) 'Endshi = 54.983045 'После получения с GPS, преобразуется в градусы и минуты, получаем 54.983045 (конечная широта) 'Enddol = 73.369785 'После получения с GPS, преобразуется в градусы и минуты, получаем 73.369785 (конечная долгота) Startshi = 55.008125 'После получения с GPS, преобразуется в градусы и минуты, получаем 55.008125 (начальная широта) Startdol = 73.384107 'После получения с GPS, преобразуется в градусы и минуты, получаем 73.384107 (начальная долгота) Endshi = 55.007428 'После получения с GPS, преобразуется в градусы и минуты, получаем 55.007428 (конечная широта) Enddol = 73.385263 'После получения с GPS, преобразуется в градусы и минуты, получаем 73.385263 (конечная долгота) 'Startshi = 55.750001 'После получения с GPS, преобразуется в градусы и минуты, получаем 55.750001 (начальная широта) 'Startdol = 73.380001 'После получения с GPS, преобразуется в градусы и минуты, получаем 73.380001 (начальная долгота) 'Endshi = 55.750001 'После получения с GPS, преобразуется в градусы и минуты, получаем 55.750001 (конечная широта) 'Enddol = 73.380001 'После получения с GPS, преобразуется в градусы и минуты, получаем 73.380001 (конечная долгота) 'Startshi = 55.008144 'После получения с GPS, преобразуется в градусы и минуты, получаем 55.008144 (начальная широта) 'Startdol = 73.384261 'После получения с GPS, преобразуется в градусы и минуты, получаем 73.384261 (начальная долгота) 'Endshi = 55.007001 'После получения с GPS, преобразуется в градусы и минуты, получаем 55.007001 (конечная широта) 'Enddol = 73.381137 'После получения с GPS, преобразуется в градусы и минуты, получаем 73.381137 (конечная долгота) If Startshi = Endshi And Startdol = Enddol Then Zamok = 1 Else Zamok = 0 'Защита от нулевой широты и долготы Startshi = Startshi * 0.017453 'Преобразуем градусы и минуты в радианы Startdol = Startdol * 0.017453 'Преобразуем градусы и минуты в радианы Endshi = Endshi * 0.017453 'Преобразуем градусы и минуты в радианы Enddol = Enddol * 0.017453 'Преобразуем градусы и минуты в радианы 'Distance = 63727950 *(2 *(asin(abs((((((startshi - Endshi) / 2) ^ 2) +(abs(cos(startshi)) * Abs(cos(endshi)) *(((startdol - Enddol) / 2) ^ 2))) / 100) ^ 0.5)))) 'Формула для расчёта расстояния (в метрах) Startdol = Startdol - Enddol 'Мой вид формулы с экономией ячеек (переменных) Startdol = Startdol / 2 Startdol = Startdol ^ 2 Enddol = Cos(endshi) Enddol = Abs(enddol) Startdol = Startdol * Enddol Enddol = Cos(startshi) Enddol = Abs(enddol) Startdol = Startdol * Enddol Startshi = Startshi - Endshi Startshi = Startshi / 2 Startshi = Startshi ^ 2 Startshi = Startshi + Startdol Startshi = Startshi / 100 Startshi = Startshi ^ 0.5 Startshi = Abs(startshi) Distance = Asin(startshi) Distance = Distance * 2 Distance = Distance * 63727950 'Средный радиус Земли If Zamok = 0 Then 'Защита от нулевой широты и долготы Print Distance ; " " ; "Meters" Print "On" Else Print "Off" End If Wait 2 'Задержка для терминала (убирайте) Loop End