Задача по геометрии
Короче говоря, попросили меня.
О, сказал я, люблю задачи по геометрии. И начал бодро расписывать углы. В конце составил уравнение - сейчас решу. Но...
Из уравнения выходило, что неизвестный угол Х равен неизвестному углу Х.
Кто бы сомневался ...
Немного подумал, составил другое уравнение, потом третье... Из всех выходило "кто бы сомневался", но неизвестное Х так и оставалось неизвестным.
На этом я литературную часть заканчиваю, и обращаюсь к "тяжёлой артиллерии", то есть, к Турбо Бейсику.
Нет, если Вы, мой уважаемый читатель, любознательны, буду Вам очень признателен, если Вы сумеете решить эту задачу по-другому, то есть тем способом, которого студенты, и, возможно, их преподаватель, ожидают.
Но хочу заметить, что неплохо было бы, если бы студентов обучали не только изворотливости ума, но и обшим методам решения подобных задач.
Тем более, что студенты не очень-то понимают возможностей программирования, для них математика - отдельно, а компьютер - отдельно. Хотя, первоначально, компьютер для нужд математики предназначался, а не для игр, и не для "сидения" в Контакте.
Так, общие мысли...
РЕШЕНИЕ ЗАДАЧИ
Посмотрите на рисунок.
Выберем удобную систему координат ХУ. Напишем уравнение прямой, образующей левую сторону треугольника, и уравнение той наклонной к основанию, которая идёт к нему под углом 60 градусов.
y = ( x + 1 ) * tg80
y = -( x - 1 ) * tg60
Решая систему уравнений, найдём координаты Х и У точки D -
D(x,y)= D(-(t8-t6)/(t8+t6), 2*t6*t8/(t6+t8))
где обозначения t6 и t8 заменяют значения тангенсов 60-ти и 80-ти градусов.
Поступим аналогично с правой стороной треугольника и наклонной к основанию под углом 50 градусов
y = -( x - 1 ) * tg80
y = ( x + 1 ) * tg50
решая систему, найдём для точки E -
E(x,y)= E((t8-t5)/(t8+t5), 2*t5*t8/(t5+t8))
Теперь найдём угол наклона Q прямой ME к оси Х (взяв, чтобы не перепутать знак, положительное значение этого угла). Тангенс угла Q равен -
tg(Q) = (Dy-Ey)/(Ex-Dx)
искомый угол X = 60 - Q ( см. рисунок)
Не будем вычислять всё это вручную, составим программу на Турбо Бейсике, а заодно, вместо того, чтобы взять просто значение угла 50 градусов для левой наклонной, пройдём-ка диапазон возможных значений для этого угла от 0 до 80-ти градусов.
Интересно же - вдруг эту задачу с другими параметрами перед студентами поставить можно (ну, студент, держись!).
ВОТ ЭТА ПРОГРАММА
DEFDBL p,t,D,E,Q
'указывается на переменные с двойной точностью
pi=3.1415926535898
B=20 : A=50 : C=60
OPEN "T.TXT" FOR OUTPUT AS #1
t8=TAN((180-B)*pi/2/180)
t6=TAN(C*pi/180)
FOR A=0 TO 80
t5=TAN(A*pi/180)
DX=-(t8-t6)/(t8+t6)
DY=2*t6*t8/(t6+t8)
EX=(t8-t5)/(t8+t5)
EY=2*t5*t8/(t5+t8)
Qt=(DY-EY)/(EX-DX)
Q=ATN(Qt)*180/pi
X=C-Q
PRINT #1, "A=";A;"X=";X
NEXT A : CLOSE #1
stop
результаты с точностью 13 знаков (!) после запятой выводятся в текстовый файл.
И, что удивительно, для некоторых значений А значения углов Х оказались не дробными, а целыми (я думаю, что будь ты математик, хоть семи пядей во лбу, именно такого результата ты предсказать не смог бы) -
Кроме тривиальных A=0 X=0, A=60 X=60 и A=80 X=140
интерес представляют
A=30 X= 10
A=50 X= 30 - это и есть решение нашей задачи
A=65 X= 85
A=70 X= 110
Предлагаю задачу с A=65 преподавателю дать. Пусть помучается. ))
Вместе с тем, я считаю решение подобных геометрических задач, с привлечением возможностей программирования, очень полезным для школьников и студентов. А то очень они к аналитическим формулам приучены. Привычка эта может стать недостатком в их дальнейшей деятельности.
________________
продолжение решения задачи здесь - http://www.proza.ru/2019/02/27/926
Свидетельство о публикации №216091401630
Я по образованию тоже физик, кончал НГУ. И программированием пришлось много заниматься, но программировал в 60-х - 70-х сначала на языка Альфа (русский Алгол) для машин М-220 и БЭСМ-6. Разработан был на ВЦ СОАН в Новосибирском Академгородке. Язык был очень продвинутый, позволял работать с многомерными массивами данных, границы массивом могли быть отрицательными. Библиотека программ была очень развитая, позволяла в одно действие перемножать многомерные матрицы и разного рода сечения (часть строк или несколько столбцов матриц. После вредительского свёртывания отечественного программирования и перехода на явно отсталую серию ЕС (копия IBM) встал вопрос на какой язык переходить? В науке тогда использовался фортран-60. По сравнению с Альфа - это было убожество. Массивы с размерностью не более 3-х, нижняя граница массивов начинается с 0. (Проекция момента L изменяется от -L до +L). Единственное достоинство - фортран имел развитые библиотеки линейной алгебры. Тогда появился более развитый язык PL-1. Перевёл свои программы на PL-1, но он вскоре умер. И пришлось опять переводить теперь уже на фортран-77, а потом уже на фортран-90.
Извините за долгое введение, нашёл в Вас родственную душу...
Возвращаюсь к Вашей задаче.
Хотел привести своё решение здесь, но понял, что невозможно включить рисунок, поэтому вынужден был опубликовал его на своей странице.
Загляните, сравните. А я буду читать Ваше продолжение решения...
С уважением,
Сергей Рубанкин 29.01.2023 18:43 Заявить о нарушении
Поэтому я придумал для своих расчётов специальный мнемонический язык, чтобы вначале как бы рисовать электроды, а затем рассчитывать поля. И всё это во многих вариантах и за один подход к машине.
Знакомая приносила мне целый рулон - поля, заполненные цифрами, которые я потом рассматривал.
Дмитрий Маштаков 30.01.2023 03:55 Заявить о нарушении
У меня доступ к БЭСМ-6 был, на на неё была очередь. Чтобы ускорить процесс отладки программы приходилось идти на хитрость. В текст программы вводился кусок с командами, которые не влияли на решение, но резервировали место в кодах (и памяти) БЭСМ-6. При обнаружении ошибки, она не всегда могла быть исправлена путём замены команд на месте - могло не хватить места, в таких случаях ошибка исправлялось следующим образом. В командных кодах БЭСМ-6 находилось место ошибки и перед ней вставлялась команда перехода в то место программы, где начинались "пустые" команды, далее вставлялись исправленные команды, и затем команда возврата на место после ошибочных команд. Это позволяло сократить путь п/карты - М-220 - БЭСМ-6. Потом появились бобины с магнитными лентами, и программа и результаты копировались на неё.
Сергей Рубанкин 30.01.2023 06:44 Заявить о нарушении