(495)240-8280ПН-СБ с 12:00 до 20:00
We speak English

Урок 6.2. Формула нахождения расстояния

В этом уроке вы будете использовать формулу нахождения расстояния из координатной геометрии для вычисления расстояния между двумя точками, а затем будете сравнивать измеренное с помощью робота Rover расстояние с вычисленным значением. **Для этого вам на уроке понадобится линейка или рулетка.

Вы научитесь:

  • Перемещать робота к двум разным точкам
  • Использовать маркер для построения отрезка движения на бумаге
  • Использовать функцию вычисления расстояния между двумя точками и отображать результат на экране
  • Измерять расстояние между точками
  • Находить погрешность между измеренным и вычисленным значениями расстояния

Давайте вспомним "формулу расстояния", которая основана на теореме Пифагора:

 

 

Если взять значения из рисунка ниже, эта формула будет представлена в виде следующего выражения на языке программирования Python:

d = sqrt((6 - 2)**2 + (4 - 1)**2)

Находим ответ: d = 5

На рисунке прорисовывается прямоугольный треугольник со сторонами 3-4-5. Нашли?

1. Начните с создания нового проекта по работе с роботом Rover Coding.

Определите функцию, которая называется dist. На основании четырех аргументов (двух пар координат) она вычисляет расстояние между двумя точками.

Шаблон def function() можно найти в меню: menu > Built-ins > Functions.

Тело функции состоит из одного вычисления:

и выражения вывода: return d

Выражение return можно найти в меню: menu > Built-ins > Functions

Убедитесь, что эти два выражения одинаково структурированы.

Примечание для учителя: Если вы хотите использовать один дюйм вместо 10 сантиметров в качестве единицы шага на сетке, измените единицу измерения с помощью следующей функции:

rv.grid_m_unit(0.0254)

2. После этой функции (выражения return) начинается основная часть программы. Очень важно учитывать, что далее код структурировать не нужно. Напишите четыре выражения ввода input() (очень удобно с помощью копирования и вставки), чтобы ввести координаты двух точек. Создайте также простые подсказки для удобства ввода и добавьте функцию float(), которая конвертирует введенные результаты из формата строки в десятичное значение. Ниже на рисунке показано только одно введенное выражение. Мы используем переменную a для хранения первой координаты x. Используйте переменные b, c и d для трех остальных координат.

Примечание для учителя: Использование разных переменных для фактических параметров (a, b, c, d) наглядно демонстрирует, что эти названия отличатся от формальных параметров (x1, x2, y1, y2), которые используются в обозначении функции.

3. После четырех выражений ввода input() дайте команду роботу Rover переместиться к первой точке. Приостановите работу программы в этой точке, затем вставьте маркер в держатель на роботе Rover, с помощью которого можно нарисовать отрезок маршрута на бумаге. Затем продолжите перемещать вездеход ко второй точке. Выражение, которое поможет приостановить работу программы:

input( "press [enter] to continue.")

Результат такой функции ввода не присваивает переменной никакое значение, потому что ничего не введено.

4. Теперь нужно, чтобы программа применила функцию нахождения расстояния, используя координаты ваших двух точек:

calculated_distance = dist(a, b, c, d)

Примечание для учителя: Развернутые названия переменных используются для большего удобства. Учащиеся будут измерять длину отрезка, используя линейку или рулетку, а затем сравнят полученные измерения с расстоянием, вычисленным с помощью выражения calculated_distance. Обратите внимание на то, что буква d используется как переменная двумя разными способами: в основной части программы она представляет координату у второй точки, а в функции dist( ) она используется для сохранения значения вычисленного расстояния. Эти две переменные не конфликтуют друг с другом, потому что они имеют разные "области применения", то есть относятся к разным частям программы ("действия" переменной).

5. Используйте линейку или рулетку для измерения отрезка, который прошел робот Rover.

Добавьте в программу выражение input(), чтобы ввести значение измеренного расстояния (measured_distance).

Добавьте выражение print(), чтобы отобразить две переменные расстояния.

Отличается ли измеренное вами расстояние от значения, вычисленного программой?

6. Рассчитайте погрешность, используя следующую формулу:

(measured - calculated) / calculated * 100

Затем отобразите полученный результат.

Примечание для учителя: Если у вас несколько роботов Rover, попробуйте запустить эту программу на каждом из них, чтобы посмотреть, какой из них самый "точный".