Главная / Математика / Решение треугольников с параметрами. Компьютерное сопровождение

Решение треугольников с параметрами. Компьютерное сопровождение


МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ

РОССИЙСКОЙ ФЕДЕРАЦИИ

ГОУ ВПО «КРАСНОЯРСКИЙ ГОСУДАРСТВЕННЫЙ

ПЕДАГОГИЧЕСКИЙ УНИВЕРСИТЕТ ИМ. В.П. АСТАФЬЕВА»






В.Р. Майер, А.В. Анциферова, Т.В. Апакина




РЕШЕНИЕ ТРЕУГОЛЬНИКОВ

С ПАРАМЕТРАМИ.

КОМПЬЮТЕРНОЕ СОПРОВОЖДЕНИЕ




Учебное пособие












КРАСНОЯРСК 2011

ББК 74.22.1

М 149

Печатается по решению редакционно-издательского совета ГОУ ВПО КГПУ «Красноярский государственный педагогический университет

им. В.П. Астафьева»


Научный редактор:

Доктор физико-математических наук, профессор

А.В. Тимофеенко (КГПУ)


Рецензенты:

Доктор физико-математических наук, профессор

В.И. Сенашов (ИВМ СО РАН)

Кандидат педагогических наук, доцент

Е.Н. Васильева (ККИПКиППРО)


М 149 Майер В.Р., Анциферова А.В., Апакина Т.В. Решение треугольников с параметрами. Компьютерное сопровождение: Учебное пособие / Красноярск: РИО ГОУ ВПО КГПУ им. В.П. Астафьева, 2011. – 190с.


ISBN-978-5-85981-452-7


содержит теоретический и практический материал по одному из важнейших разделов курсов геометрии и элементарной математики, связанному с изучением метрических соотношений в планиметрических фигурах. На конкретных примерах показано применение информационных технологий при решении треугольников с параметрами. Пособие содержит авторскую методику использования цифрового образовательного ресурса «Живая геометрия» и графических средств среды QBasic при проведении компьютерных анализа и исследования геометрических задач с параметрами.

предназначено студентам младших курсов педагогических вузов и педагогических колледжей, а также преподавателям и учителям математики, ученикам старших классов.


ISBN-978-5-85981-452-7 ББК 74.22.1


Красноярский государственный

педагогический университет

им. В.П. Астафьева, 2011

Майер В.Р., Анциферова А.В.,

Апакина Т.В., 2011





ВВЕДЕНИЕ


В пособии даны рекомендации по применению информационных технологий при изучении метрических соотношений в планиметрических фигурах дисциплин «Геометрия» и «Элементарная математика» ФГОС ВПО по специальности 032100 «Математика» и по направлению подготовки 050100 «Педагогическое образование» (двойной профиль «Математика, информатика») студентами – будущими учителями математики и информатики, обучающимися в педагогических высших учебных заведениях.

Выбор темы «Решение треугольников с параметрами, компьютерное сопровождение» обусловлен следующими тремя обстоятельствами.

Во-первых, треугольник – одна из основных геометрических фигур, значение которого в геометрии трудно переоценить. Свойства треугольника и его элементов востребованы при решении большинства задач планиметрии и стереометрии. Без использования свойств треугольника и его элементов невозможно представить себе обоснование практически любого утверждения геометрии – одного из важнейших разделов математики.

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

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

Материал в пособии разбит на пять параграфов. В первом параграфе рассмотрены общие вопросы решения геометрических задач с параметрами и место информационных технологий в этом процессе. Во втором параграфе построены компьютерные модели треугольника и его основных элементов, для этой цели выбран языка программирования высокого уровня QBasic.

В последних трех параграфах рассмотрены решения треугольников с параметрами в зависимости от числа параметров, являющихся сторонами треугольника. Для каждой из шести задач этих параграфов проведен скрупулезный компьютерный анализ с использованием программы «Живая геометрия»; найдены метрические соотношения, выражающие искомые параметры через данные; для большинства задач построены две компьютерные модели. Первая – на языке программирования высокого уровня QBasic, она предназначена для тех, кто углубленно изучает математику и информатику. Вторая – в среде «Живая геометрия», требует знания компьютера на пользовательском уровне и может оказаться полезной для школьников и студентов с любым уровнем геометрической подготовки. При выборе модели следует учитывать, что сложности программирования на языке QBasic компенсируются более точными результатами и практически неограниченными возможностями, а некоторые неточности результатов и ограниченные возможности «Живой геометрии» – простотой построения и невероятной наглядностью. Каждый параграф завершается задачами для самостоятельного выполнения, рекомендациями по выполнению некоторых из них.

На сайте www. kspu.ru читатель может найти все программы на языке QBasic и в среде «Живая геометрия», о которых идет речь в пособии.




§1. Параметры в геометрии и компьютер


1.1. Параметры в геометрических задачах

Задачи с параметрами занимают особое место в элементарной математике, в практике подготовки учащихся к различного рода экзаменационным испытаниям по математике, в преподавательской деятельности учителя математики.

Решение практически каждой задачи с параметрами представляет собой некоторое исследование и предполагает наличие у того, кто ее решает, определенных исследовательских умений, т.е. умений применить тот или иной прием научного метода в условиях решения учебной проблемы, выполнения исследовательского задания. Отсюда интеллектуальный потенциал и уровень фундаментальности знаний тех, кто успешно справляется с задачами с параметрами, как правило, достаточно высоки. Поэтому ведущие высшие учебные заведения стараются укомплектовать контингент студентов в первую очередь за счет таких выпускников школ. С учетом этого обстоятельства неуклонно растет количество задач с параметрами на ЕГЭ, вступительных экзаменах, повышается их уровень сложности.

Мы полностью разделяем точку зрения А.Ж. Жафярова [1], который считает, что «задачи с параметрами:

- лучше содействуют развитию личности ученика, его индивидуальных наклонностей и способностей;

- учат работать в условиях небольших и значительных неопределенностей, чем изобилует наша сегодняшняя жизнь;

- развивают творческое и вариативное мышление и тем самым способствуют развитию интеллекта и повышению уровня фундаментальности знаний».

Если методика решения задач с параметрами в элементарной алгебре, тригонометрии и началах анализа разработана достаточно основательно, то к геометрии это относится в меньшей степени. Связано это в первую очередь с тем, что геометрия, в отличие от большинства разделов элементарной математики, наименее алгоритмизируема. Многие задачи по геометрии, даже не содержащие параметров, требуют индивидуального подхода, зачастую определенных дополнительных построений, наличие пространственного воображения, геометрической интуиции. А если в условии геометрической задачи некоторые данные элементы представлены еще и в параметрическом виде, то ее решение существенно усложняется. Поэтому разработка методики решения таких задач и применение информационных технологий при решении геометрических задач с параметрами, с нашей точки зрения, актуальны.

Как известно, параметры в геометрических задачах могут быть заданы в двух формах: аналитически и геометрически. Параметры в аналитической форме понимаются в традиционном смысле: одна или несколько данных геометрических величин обозначены буквами. При решении геометрических задач с параметрами учащиеся чаще всего имеют дело с аналитической формой задания параметра. При решении таких задач сначала ищутся соотношения между параметрами, для которых решение задачи существует, затем находится и реализуется алгоритм решения в общем виде, после чего этот алгоритм уточняется для тех или иных допустимых значений параметров, в частности определяются различные решения задачи для одного и того же набора значений параметров. В качестве примера можно привести задачу о нахождении стороны с треугольника, заданного двумя сторонами а и b и радиусом R описанной (или вписанной) окружности, об определении числовых значений параметров a, b и R (или r), для которых решение задачи существует.

В случае, если одна или несколько точек геометрической конфигурации, о которой идет речь в условии задачи, являются подвижными («степень подвижности», как правило, задается некоторым характеристическим свойством и определяется траекториями точек), то мы имеем дело с параметром в геометрической форме. Например, к задачам с параметром в геометрической форме относится следующая: доказать, что среди всех треугольников, вершины которых лежат по одной на сторонах данного остроугольного треугольника, наименьший периметр имеет тот, чьи вершины являются ортогональными проекциями вершин данного треугольника на противолежащие стороны. В этой задаче характеристическое свойство – минимальность периметра треугольника, траектория движения точек – стороны данного треугольника. При решении треугольников с параметрами такой формы наиболее эффективны программные средства, предоставляющие возможность пользователю проводить исследования со вспомогательным треугольником, подвижные вершины (или другие элементы) которого принадлежат тому или иному множеству точек.

Отметим, что параметры в одной и той же геометрической задаче могут задаваться как в аналитической, так и в геометрической формах. Например, к задачам такого типа можно отнести следующую. Даны две концентрические окружности, одна из которых содержит вершину А треугольника АВС, а другая – вершины В и С. Известна сторона с треугольника АВС и один из прилежащих к ней углов. Найти две другие стороны этого треугольника.

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
















1.2. Информационные технологии в задачах с параметрами


В последние три десятилетия в нашей стране и за рубежом накоплен богатый опыт по использованию компьютера во многих сферах человеческой деятельности. Современные информационные технологии оказались востребованными и показали высокую эффективность в науке и системе образования.

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

Несмотря на наличие большого количества математических пакетов геометрической направленности, универсальных систем компьютерной научной графики не существует по вполне понятной причине – из-за большого разнообразия научных задач. В каждом конкретном случае исследователи составляют на языке высокого уровня программу, представляющую собой ту или иную компьютерную реализацию математической модели научного исследования. Затем к программе добавляют подпрограмму, написанную на этом же языке, которая позволяет наглядно визуализировать решение задачи. Изображение, полученное средствами научной графики, является ключевым конечным компонентом алгоритма решения задачи. Другими словами, изображение геометрического объекта не только иллюстрирует геометрическую суть задачи, но и является полноправным рабочим инструментом ее решения. При этом геометрический объект «существует» в пространстве параметров задачи и имеет, как правило, абстрактную природу.

Менее оптимистично выглядит ситуация с использованием информационных технологий в образовании. Отечественный рынок программных продуктов располагает разнообразными программными средствами учебного назначения, применение большинства из них в процессе реализации образовательных технологий схематично выглядит следующим образом: обучаемые получают от программного средства сообщение, обдумывают его, принимают решение и транслируют его программному средству, которое определенным образом реагирует на это решение.

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

С нашей точки зрения более предпочтительно направление, заявленное в [2] и ряде других и ориентированное на разработку таких технологий образования, в которых существенно повышается роль учащегося в процессе обучения. Речь идет об информационных технологиях, использующих программные средства, созданные для организации и облегчения процесса познания и не предназначенные специально для учебного процесса. Такие программные средства называются инструментами познания. Инструменты познания должны быть простыми и универсальными и не должны ограничивать пользователя в его действиях и намерениях. Манипуляции пользователя должны быть произвольны, минимально контролируемы системой, естественно ею воспроизводиться и интерпретироваться в конечные результаты обучения и труда. В ряде работ аргументированно обосновывается, что базы данных, электронные таблицы, математические пакеты, отдельные цифровые образовательные ресурсы, а также языки высокого уровня относятся к таким инструментам.

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

Нами разработана специальная методика, позволяющая использовать учебную графику при решении геометрических задач с параметрами. Для каждого конкретного типа задач на языке высокого уровня составляется программа, представляющая собой ту или иную компьютерную реализацию решения задачи. Отметим, что роль инструмента познания в этом случае играет выбранный язык программирования высокого уровня, в пособии используется QBasic (см. описание в п. 1.3.). Затем, в зависимости от типа задачи и фигурирующих в ее условии параметров, к программе добавляются подпрограммы, написанные на этом же языке и наглядно визуализирующие значения данных и искомых параметров, заданных в аналитической и геометрической формах. С целью экономии учебного времени подпрограммы готовятся заранее под руководством педагога, к их разработке можно привлечь учащихся, знакомых с элементами программирования. Изображение, полученное средствами учебной графики, является вспомогательным компонентом, с помощью которого формируется окончательное решение геометрической задачи с параметрами.

Отметим, что в качестве инструмента познания при решении геометрических задач с параметрами в школьном курсе геометрии вполне могут использоваться те цифровые образовательные ресурсы, в которых действия и намерения пользователя практически не ограничиваются программным средством. К таковым, без всякого сомнения, относится цифровой образовательный ресурс «Живая геометрия» (см. описание в п. 1.4).

Исследования, проведенные на кафедре геометрии, показали, что использование учебной графики при решении геометрических задач с параметрами позволяет устранить целый ряд проблем и трудностей, связанных с решением подобного рода задач. Отметим некоторые из них.

1. При традиционном способе решения геометрической задачи с параметрами зачастую не рассматриваются те ограничения, которые должны быть наложены на параметры. Алгоритмическая программа просто не позволит обучаемому проигнорировать этот важнейший этап решения задачи. Во всех аномальных случаях на экране компьютера в процессе реализации программы либо высветится текст-предупреждение, либо произойдет сбой в реализации программы (деление на ноль, извлечение корня квадратного из отрицательного числа и т.д.). Каждый из них «подскажет» обучаемому, какие ограничения на параметры он не рассмотрел, в каких случаях и по каким параметрам необходимо провести дополнительные исследования.

2. При традиционном способе решения геометрической задачи с параметрами соотношения, в которых искомые элементы выражаются через данные, зачастую не исследуются на предмет существования реального геометрического объекта. При наличии алгоритмической программы на языке QBasic или «Живого чертежа», визуализирующих искомую геометрическую фигуру, эту процедуру осуществить не представляет особого труда. Подставляя вместо параметров те или иные числовые значения, а при необходимости организовывая цикл, «прогоняющий» исследуемый параметр в пределах любого «подозрительного» интервала (или потянув на «Живом чертеже» мышкой за точку, регулирующую значение параметра), обучаемый имеет возможность либо увидеть искомую фигуру, либо убедиться в ее отсутствии, в зависимости от этого внести коррективы в найденное решение.

3. При традиционном способе решения геометрической задачи с параметрами обучаемый нередко находит не все возможные значения искомых элементов или, выражаясь проще, находит не все решения задачи. Как известно, это является следствием того, что при анализе рассматриваются далеко не все возможные геометрические конфигурации, удовлетворяющие условию задачи. Алгоритмическая программа или «Живой чертеж» не позволят упустить ни один случай, поскольку на дисплее визуализируются все возможные типы геометрических фигур с различными значениями искомых элементов.

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

5. Отличительной чертой курса геометрии является естественная потребность наглядно иллюстрировать изучаемый материал. В полной мере это относится и к геометрическим задачам с параметрами. Использование учебной графики при решении геометрических задач с параметрами предоставляет возможность наблюдать в динамике процесс создания чертежа, уменьшая тем самым зависимость иллюстративного сопровождения от субъективных факторов.








1.3. Графические возможности среды QBasic


Общие сведения о среде QBasic. Язык программирования высокого уровня BASIC был разработан сотрудниками Дартмутского колледжа (штат Нью-Хемпшир, США) во главе с профессорами математики Томасом Куртцем и Джоном Кемени в первую очередь для обучения программированию студентов и тех, кто делает в программировании первые шаги. Создавался этот язык на основе уже существовавших к тому времени языков.

Первая программа на BASIC была составлена 1 мая 1964 года. В настоящее время существует несколько сотен разновидностей BASIC, из которых нами выбран QBasic. Во-первых, он достаточно прост в освоении и все его элементы интуитивно понятны и ясны. Во-вторых, QBasic не уступает по своим возможностям таким хорошо структурированным языкам, как Turbo Pascal и С, более того, многие операторы QBasic допускают значительно более гибкое применение, чем аналогичные операторы Turbo Pascal. В-третьих, овладение QBasic является необходимым этапом при изучении Visual Basic – одного из мощных языков визуального программирования по разработке Windows-приложений.

Для составления программ на языке QBasic необходимо установить на компьютере его интерпретатор, в который входят файлы qbasic.exe, qbasic.hlp, qbasic.ini и qbasic.pif. Их желательно поместить в специально созданную папку, допустим QBASIC. В эту же папку следует скопировать все программы и подпрограммы, которые прилагаются к данному учебному пособию.

В среду интерпретатора QBasic на современных персональных компьютерах, оснащенных операционными системами Windows XP или Windows 7, можно зайти с помощью специальной программы tp7.scp.1.3, которую можно найти в глобальной сети и установить на компьютере.

После щелчка мыши по ярлыку программы tp7.scp.1.3 на экране появятся 15 ярлычков, среди которых следует выбрать NCD. После двойного щелчка появится небольшое окно в формате Norten Commander, в левом столбце которого необходимо активизировать переменную Y. Появится окно с перечнем дисков, следует выбрать диск С и щелкнуть по нему мышью. Среди появившихся папок и файлов необходимо выбрать созданную нами папку BASIC, открыть ее, найти загрузочный файл qbasic.exe и войти через него в среду интерпретатора QBasic. Появится окно, которое представлено на следующем рисунке:

hello_html_129e7dfa.png

Чтобы открыть существующий файл достаточно в меню File выбрать пункт Open. Программа на выполнение запускается с помощью пункта Start меню Run или сочетания клавиш Shift+F5. Сохраняется файл с набранной или измененной программой с помощью пункта Save меню File, переименовывается с помощью пункта Save asэтого же меню. Чтобы выйти из среды QBasic достаточно воспользоваться пунктом Exit.

При нажатии клавиш Alt+Prt Sc созданное на экране с помощью той или иной программы изображение заносится в буфер памяти, содержимое буфера может быть скопировано в качестве рисунка в любом месте текстового документа. Чтобы свернуть окно с QBasic достаточно нажать клавиши Alt+Tab.

Большинство команд текстового редактора QBasic практически не отличаются от аналогичных команд других текстовых редакторов. Поэтому для ввода и редактирования программы укажем лишь основные команды QBasic.

Del, Back Space – удаление символа над курсором, слева от него.

Shift – переключатель режима ввода прописных и строчных букв.

Caps Look – фиксация режима ввода прописных букв и отмена его.

Enter – ввод строки.

Shift+Ctrl (правые) – переход на русский алфавит, повторное нажатие – возвращение в исходное состояние.

Shift+(клавиши управления курсором) – выделение текста программы, который легко отличается от окружающего текста более яркой подсветкой.

Del – выделенный блок удаляется без запоминания в буфере обмена.

Shift+Del – выделенный блок удаляется c запоминанием в буфере обмена.

Ctrl+Ins – выделенный блок помещается в буфер обмена без удаления.

Shift+Ins – выделенный блок из буфера обмена вставляется любое число раз в произвольные места как текущей, так и любой другой программы.


Основные графические операторы среды QBasic. Для работы программной среды QBasic в графическом режиме (более подробную информацию о других возможностях языка можно найти в [6]) используется оператор SCREEN, который имеет несколько режимов, мы будем использовать только SCREEN 9. Этот режим задает разрешение экрана 640350, т.е. 640 пикселей (точек экрана) по горизонтали и 350 пикселей по вертикали. При этом графическом режиме формат строк текста: 8025, размер знакоместа для символа: 814. Левая верхняя точка графического экрана имеет координаты (0, 0), ось абсцисс направлена слева направо, ось ординат – сверху вниз.

Для создания эффекта анимации, основанной на чередовании двух видеостраниц, оператор SCREEN используется в полном формате, например:

SCREEN 9, 1, 0, 1 – здесь первое число (7-13) – режим экрана; второе (0 или 1) – переключатель цветности (0 – цветной, 1 – монохромный); третье число (0 или 1) – номер активной страницы (изображается текущий стоп-кадр анимации); четвертое число (0 или 1) – номер видимой страницы.

В режиме SCREEN 9 константы цвета имеют следующие значения: 0 – черный; 1 – синий, 2 – зеленый; 3 – голубой; 4 – красный; 5 – фиолетовый; 6 – коричневый; 7 – светло-серый; 8 – темно-серый; 9 – ярко-синий; 10 – ярко-зеленый; 11 – ярко-голубой; 12 – розовый; 13 – малиновый; 14 – желтый; 15 – белый.

CLS – очистка экрана.

PSET (x, y), cvet – закрашивает точку (x, y) экрана заданным цветом с номером cvet.

LINE (x1, y1) – (x2, y2), cvet – рисует непрерывной линией отрезок заданного цвета с концами в точках (x1, y1) и (x2, y2).

LINE (x1, y1) – (x2, y2), 4, , &HFF00 – рисует отрезок штриховой линии красного цвета с концами в точках (x1, y1) и (x2, y2).

CIRCLE (x0, y0), r, cvet – рисует окружность заданного цвета cvet с центром в точке (x0, y0) и радиуса r.

PAINT (x0, y0), cvet1, cvet2 – закраска цветом cvet1 внутренней области, содержащей точку (x0, y0) и ограниченной замкнутой непрерывной линией цвета cvet2.

POINT (x0, y0) – графическая функция, читающая номер цвета точки (x0, y0).

PRINT A – выводит значение А на экран (как символьный, так и графический).

LOCATE a, b – установка курсора в строку с номером а и в столбец с номером b текстового экрана.


Используемые в пособии операторы цикла, условного перехода и другие основные операторы. При написании графических программ мы, естественно, не сможем обойтись без операторов условного перехода, цикла и ряда других, которые приведем ниже.

GOTO n – безусловный переход к строке с номером (или меткой) n.

IF A THEN B (ELSE C) – условное выполнение В, если справедливо А (иначе С).

GOSUB mn – обращение к подпрограмме, начинающейся с метки mn.

RETURN – возвращение из подпрограммы к оператору, идущему после GOSUB.

FOR x = x1 TO x2 STEP h: (тело цикла): NEXT x – организация цикла с управляемой переменной х, меняющейся от х1 до х2 с шагом h, применяется в случаях, когда заранее известны границы изменения переменной х.

DO WHILE A(x): (тело цикла, предусматривающее изменение х): LOOP – цикл с предусловием А(х) на изменяемую переменную х. Цикл начинается служебными словами DO WHILE (делай до тех пор пока выполняется условие А(х)) и заканчивается служебным словом LOOP (петля). Цикл приступает к работе, когда выполняется условие А(х) входа в цикл. Программист должен побеспокоится об изменении значения х в теле цикла, например, увеличить его на h: x = x + h.

DO UNTIL A(x): (тело цикла, предусматривающее изменение х): LOOP – цикл так же с предусловием А(х) на изменяемую переменную х. Цикл начинается служебными словами DO UNTIL (делай до тех пор пока условие А(х) не выполняется) и заканчивается служебным словом LOOP (петля).

DO: (тело цикла, предусматривающее изменение х): LOOP UNTIL A(x)– цикл с постусловием А(х) на изменяемую переменную х. Вместо служебного слова UNTIL можно использовать WHILE.

SLEEP – оператор, приостанавливающий выполнение программы до нажатия любой клавиши.

REM – оператор, дающий команду программе игнорировать все содержимое строки, идущее после служебного слова REM.

END – оператор, завершающий программу.

1.4. Конструктивные возможности среды «Живая геометрия»


Общие сведения о ЦОР «Живая геометрия». «Живая геометрия» – это русскоязычная версия популярной американской обучающей программы по геометрии «Geometer's Sketchpad», разработанной фирмой Key Curriculum Press Technologies. Программа переведена на русский язык Институтом новых технологий образования РАО и является свободно распространяемым программным обеспечением.

«Живая геометрия» позволяет получать на плоскости такие чертежи, в которых сохраняется иерархия зависимости объектов друг от друга, поэтому изменение положения одних объектов приводит к изменению положения зависимых. «Потянув» мышкой за ту из точек, которая появилась на этапе построения чертежа в результате ее свободного выбора (например, как произвольная точка плоскости, прямой, луча, отрезка, окружности и т.д.), можно наблюдать анимационное изменение всех тех элементов чертежа, построение которых зависело от перемещаемой точки. При этой процедуре не изменяются установленные ранее отношения между объектами чертежа (параллельность, перпендикулярность, инцидентность, простое отношение точек и т.д.).

Особое очарование программе придает возможность «спрятать», особо подчеркнем, не удалить, а именно спрятать, любые фрагменты чертежа, чаще всего вспомогательные, т.е. сделать их невидимыми для пользователя (при необходимости их всегда можно вывести на экран).

Чтобы обратить внимание обучаемого на тот или иной фрагмент чертежа, не применяя для этого утомительное перечисление соответствующих букв с индексами и штрихами, можно в течение нескольких секунд окрасить этот фрагмент любым цветом, не заслоняя при этом построенные ранее линии, точки и их обозначения, выделить любым цветом любую линию. Учитывая это обстоятельство, программу можно было бы назвать «Живая цветная геометрия».

Кроме этого, имеется возможность измерять длины отрезков, величины углов, площади многоугольников и кругов, длины ломаных и окружностей; выполнять действия над величинами. Именно эти возможности, заложенные в ЦОР «Живая геометрия», позволяют строить на плоскости геометрические модели, проводить математические исследования, превращать компьютер с этим программным средством в мини лабораторию, которая так необходима учителям и учащимся.


Описание основных возможностей программы «Живая геометрия». Окно программы «Живая геометрия» имеет вид:

hello_html_51305649.png

Основными элементами окна программы являются:

  • рабочее поле или плоскость чертежа (имеет белый фон и занимает всю центральную часть экрана);

  • панель инструментов (столбец кнопок в левой части экрана);

  • меню команд (строка из заголовков меню расположена в виде строки в верхней части экрана).

Для получения «живого» чертежа, полезно придерживаться следующих рекомендаций.

Для изображения на плоскости первоначально заданных геометрических объектов удобно использовать кнопки на панели инструментов:

hello_html_m5fd35860.pngпостроение точки;

hello_html_m7e8334e9.pngпостроение окружности;

hello_html_6c4fdff8.pngпостроение соответственно отрезка, луча, прямой;

hello_html_m3b1b9b48.pngввод текста или обозначение объекта.

Следует иметь ввиду, что по умолчанию самая верхняя кнопка hello_html_37013453.png (Стрелка) панели инструментов находится в активном состоянии. После построения серии одноименных объектов (точек, окружностей и т.д.) или ввода текста необходимо снова активизировать эту кнопку.

Для построения основного чертежа к задаче удобно использовать команды меню Построения:

hello_html_24439cad.png

Команды становятся активными, если для их выполнения выделены необходимые объекты инструментом Стрелка hello_html_37013453.png. Например, для построения прямой необходимо выделить («подсветить» мышкой) две точки; для окраски внутренней области треугольника – выделить его вершины.

При построении сложных чертежей возникает необходимость делать невидимыми вспомогательные части чертежа. Для этого используется команда Спрятать объекты в пункте меню Вид (скрываемые элементы предварительно нужно выделить).

Для определения величин геометрических объектов, используются команды меню Измерения:

hello_html_db4bf49.png

Для выполнения действий над величинами используется калькулятор, вызываемый командой Вычислить… меню Измерения:

hello_html_m16966a0.png

Величины, которые необходимо брать с чертежа, выделяются щелчком мыши. Предварительно они должны быть выведены на плоскость чертежа в виде самостоятельных объектов:

hello_html_m33a9680a.png

Ряд дополнительных действий (корень квадратный, абсолютная величина, …) и тригонометрические функции берутся из раздела Функции.


Пример построения чертежа в ЦОР «Живая геометрия». Для освоения работы инструментов "Живой геометрии", построим треугольник АВС, окружность, вписанную в данный треугольник, вычислим площадь круга, ограниченного этой окружностью. Для этого:

  1. Зададим на плоскости вершины треугольника АВС:

  • выбираем инструмент Построение точки hello_html_m5fd35860.png и щелчком мыши задаем три точки на плоскости;

  • выбираем инструмент Ввод текста hello_html_m3b1b9b48.png и щелчком мыши по каждой из трех точек, вводим их обозначения.

hello_html_m4ac4c83b.gif

  1. Построим стороны треугольника АВС:

  • выбираем инструмент Стрелка hello_html_37013453.png и последовательно щелчком мыши выделяем две точки, например, А и В;

  • выбираем из меню Построения команду Отрезок;

  • аналогично строим две другие стороны треугольника (можно ускорить процедуру, выбрав сразу все три точки и обратившись к команде Отрезки).

hello_html_5d063d6b.gif

  1. Построим биссектрисы углов ВАС и ВСА треугольника АВС:

  • выбираем инструмент Стрелка hello_html_37013453.png и последовательно щелчком мыши выделяем точки: сначала В, затем А и, наконец, С;

  • выбираем из меню Построения команду Биссектриса;

  • аналогично строим биссектрису угла ВСА.

hello_html_2a04fb09.gif

  1. Построим центр D окружности, вписанной в треугольник как точку пересечения биссектрис углов ВАС и ВСА треугольника АВС:

  • выбираем инструмент Стрелка hello_html_37013453.png и последовательно щелчком мыши выделяем два луча (биссектрисы углов);

  • выбираем из меню Построения команду Пересечение;

  • выбираем инструмент Ввод текста hello_html_m3b1b9b48.png и щелчком мыши вводим обозначение для новой точки.

hello_html_m51c3e061.gif

  1. Построим точку Е касания со стороной АС вписанной окружности:

  • выбираем инструмент Стрелка hello_html_37013453.png и последовательно щелчком мыши выделяем точку D и отрезок АС;

  • выбираем из меню Построения команду Перпендикуляр;

  • инструментом Стрелка hello_html_37013453.png выделяем построенный перпендикуляр и отрезок АС;

  • выбираем из меню Построения команду Пересечение;

  • выбираем инструмент Ввод текста hello_html_m3b1b9b48.png и щелчком мыши вводим обозначение Е для точки касания.

hello_html_m5566113e.gif

  1. Построим вписанную в треугольник АВС окружность:

  • выбираем инструмент Стрелка hello_html_37013453.png и выделяем сначала центр окружности (точку D), а затем точку на окружности (точку Е);

  • выбираем из меню Построения команду Окружность по центру и точке.

hello_html_1f9bd839.gif

  1. Сделаем невидимыми вспомогательные элементы чертежа:

  • выбираем инструмент Стрелка hello_html_37013453.png, выделяем последовательно биссектрисы углов треугольника, перпендикуляр к стороне и точку Е;

  • выбираем из меню Вид команду Спрятать объекты.

  1. Вычислим площадь круга:

  • выбираем инструмент Стрелка hello_html_37013453.png и выделяем окружность;

  • выбираем из меню Построения команду Круг (при этом закрашивается круг, ограниченный окружностью);

  • выбираем из меню Измерения команду Площадь.

hello_html_m64147162.gif

  1. Дополнительно рассчитаем отношение длины окружности к ее диаметру:

  • выбираем инструмент Стрелка hello_html_37013453.png и выделяем окружность;

  • выбираем из меню Измерения команду Длина окружности, затем команду Радиус;

  • выбираем из меню Измерения команду Вычислить… (при этом появится окно калькулятора);

  • щелчком мыши выбираем величину Длина окружности, затем щелкаем по кнопкам калькулятора – разделить, умножить, скобка открывающаяся, цифра 2, умножить, выбираем величину Радиус, скобка закрывающаяся, и щелчок по кнопке Готово.

Дополнительно программа позволяет настраивать стиль линий в меню Вид командами Толщина линии и Цвет.

hello_html_7e7d2736.gif

Для настройки стиля текста удобно подключить специальную панель: меню Вид, команда Показать панель форматирования текста.


1.5. Компьютерный анализ в геометрических задачах с параметрами


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


О решении геометрической задачи с параметрами и роли «Живой геометрии» в его отыскании. Перед тем как рассмотреть один из способов проведения компьютерного анализа остановимся на одном характерном отличии решения геометрической задачи с параметром от решения традиционной задачи метрического характера. Продемонстрируем это отличие на примере следующих двух задач:

Задача №1. Найти площадь треугольника со сторонами 3, 4 и 5.

Задача №2. Найти площадь треугольника со сторонами a, b и с.

При решении задачи №1 мы можем воспользоваться теоремой обратной к теореме Пифагора для обоснования того, что стороны треугольника, имеющие длины 3 и 4, взаимно перпендикулярны и, следовательно, искомая площадь S = 3∙4 / 2 = 6.

Задача №2 – это задача с тремя параметрами, которые заданы в аналитической форме. Один из вариантов ее решения связан, по сути, с выводом формулы Герона, с помощью которой искомая величина S выражается через данные параметры по формуле:

hello_html_1fd09ab9.gif. (1.5.1)

В отличие от первой задачи соотношение 1.5.1 еще не будет ответом. Необходимо указать ограничения на данные параметры, при выполнении которых искомый параметр может быть вычислен по формуле 1.5.1. Кроме естественных ограничений (a > 0, b > 0, c > 0) к таковым должно быть отнесено следующее двойное неравенство:

|ab| < c < a + b, (1.5.2)

которое, по сути, является условием существования треугольника со сторонами a, b и с. При выполнении неравенств 1.5.2 задача №2 будет иметь единственное решение 1.5.1.

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

Нередко, при нахождении ограничений на параметры используют аналитический подход, т.е. сначала находят формулы, которые выражают искомые параметры через данные, и лишь после этого ищут вытекающие из этих формул ограничения на данные параметры. Так, например, неравенства 1.5.2 можно получить из неравенства

hello_html_3922ed62.gif, (1.5.3)

которое, в свою очередь, следует из ограничения на знак выражения, находящегося под знаком радикала в формуле 1.5.1 и условия S > 0.

При поиске ограничений на данные параметры более рационально использовать геометрический подход, опирающийся на наглядность. Поскольку объектами исследования в подобных задачах являются треугольники с параметрами, то желательно, чтобы наглядность носила не статический, а динамический характер. Реализовать такую наглядность можно с помощью подходящих программных средств и цифровых образовательных ресурсов. Анимация чертежа позволяет увидеть в режиме реального времени, каким образом различные значения параметров влияют на анализируемую конфигурацию. Уникальным программным средством для достижения этих целей является ЦОР «Живая геометрия».

Продемонстрируем возможности этого ЦОР на примере задачи №2. Откроем в среде «Живая геометрия» Новый чертеж; в левом верхнем углу рабочего поля изобразим данные отрезки a, b и с, причем первые два выберем так, чтобы их сумма была меньше третьего, т.е. a + b < c. В центре рабочего поля построим отрезок АВ = с, затем – окружности w1(A, b) и w2(B, a), где А и В – центры окружностей, b и а – их радиусы. Первоначально окружности w1(A, b) и w2(B, a) не будут иметь общих точек.

С помощью мышки начнем увеличивать размеры отрезка а в левом верхнем углу рабочего поля. Одновременно с этим в центре рабочего поля «оживет» окружность w2(B, a). В режиме анимации она начнет увеличиваться в размерах, не меняя при этом своего центра. Этот процесс будем продолжать до тех пор, пока окружность w2(B, a) не пересечет окружность w1(A, b) в двух точках. Из чертежа будет следовать, что это произойдет в случае, если сумма радиусов окружностей станет больше длины отрезка АВ, т.е. с < a + b.

Обозначим одну из точек пересечения буквой С, построим треугольник АВС, для наглядности окрасим его некоторым цветом, выведем на экран площадь S этого треугольника. Продолжим увеличение длины отрезка а. При a c + b окружности опять перестанут пересекаться по двум точкам, поскольку w1(A, b) окажется внутри w2(B, a). Треугольник АВС исчезнет с рабочего поля. Вывод, который можно сделать: треугольник АВС, а как следствие и его площадь S, существуют, если ab < c < a + b (при a b).

Повторяя такую же процедуру, но уже с отрезком b, получим аналогичное ограничение на параметры: ba < c < a + b (при b > a). Объединяя два двойных неравенства в одно, получим ограничение 1.5.2, содержащее разность ab под знаком модуля.

Ясно, что строгое доказательство неравенств 1.5.2 требует применения соответствующих теорем планиметрии, однако направление этому поиску вполне может быть определено с помощью среды «Живая геометрия».


О проведении компьютерного анализа при решении треугольника с параметрами. Напомним, что традиционный анализ решения треугольника начинается с изображения на листе бумаги конкретного треугольника АВС и его элементов, соответствующих каждому параметру задачи. После построения геометрической конфигурации каждый параметр задачи материализуется в виде конкретного геометрического образа (например, параметр ma, получит геометрическое представление в виде отрезка АМ1, соединяющего вершину А с серединой М1 отрезка ВС). Каждый такой геометрический образ имеет конкретное числовое значение (длина отрезка, величина угла и т.д.). В случае статического чертежа обучаемый, имеющий небольшой опыт решения подобных задач, находится под воздействием этой конкретики и, нередко, параметрическую задачу отождествляет с обычной метрической задачей, в которой числа заменены буквами. Построение чертежа с использованием среды «Живая геометрия» позволяет минимизировать это воздействие. Анимационные возможности среды позволяют обучаемому за короткий промежуток времени оценить влияние различных значений данных параметров на чертеж и как следствие – на решение задачи.

Рассмотрим один из возможных способов проведения компьютерного анализа с использованием среды «Живая геометрия» при решении треугольников с параметрами. В основе этого анализа лежат анимационные манипуляции со вспомогательным треугольником АВС, который строится в центре экрана и на который накладывается лишь часть ограничений, связанных с данными параметрами. Делается это для того, чтобы обеспечить анимационную подвижность вспомогательного треугольника АВС. Перемещая подходящие вершины вспомогательного треугольника, добиваемся выполнения для него остальных ограничений.

Отметим, что количество накладываемых ограничений зачастую зависит от конкретной задачи и типа параметров, в частности от того является ли тот или иной параметр стороной треугольника. В качестве примера рассмотрим случай, когда два из трех данных параметров – стороны треугольника.

Итак, пусть искомый треугольник задан тремя параметрами: двумя сторонами а и b и некоторым параметром f, не являющимся стороной треугольника. Необходимо найти сторону с. Построим вспомогательный треугольник АВС, в котором стороны ВС и АС равны параметрам а и b, соответственно, и на который требование, связанное с параметром f, не накладывается. Ясно, что таких треугольников бесконечно много, изобразим любой из них. Для этого можно выполнить следующие построения:

1. В верхней части рабочего поля построим конкретные геометрические образы, соответствующие всем трем параметрам, задающим треугольник АВС. В частности, два отрезка а, b, а также фигуру F0, соответствующую третьему параметру f. Выведем на экран длины отрезков a и b и числовое значение f0 фигуры F0 (длину отрезка, величину угла, отношение длин отрезков и т.д.).

2. В центре рабочего поля, используя конструктивные возможности среды «Живая геометрия», строим вспомогательный АВС так, чтобы сторона ВС совпадала с отрезком а, вершину А выберем как произвольную точку окружности с центром в С и радиуса b.

3. Для треугольника АВС построим фигуру, соответствующую параметру f, обозначим ее F1. Числовое значение f1 фигуры F1 выведем на экран. Ясно, что f1 будет зависеть от величины угла при вершине С и, вообще говоря, не будет совпадать с f0.

4. Соотнесем с F1 выбранную нами ранее фигуру F0, изобразив на основном чертеже фигуру F равную F0. Фигуру F необходимо расположить так, чтобы в любой момент эксперимента ее можно было визуально сравнить с F1 и ответить на вопрос: совпадают эти фигуры или нет? Факт совпадения должен быть подтвержден равенством соответствующих числовых значений f0 и f1. Одну из точек фигуры F обозначим через Х (предлагаемый алгоритм построения треугольника АВС, фигур F, F1 и точки Х реализован, например, в §3 при компьютерном анализе задачи 3.1, в которой в качестве третьего параметра, не являющегося стороной треугольника, выступает радиус описанной окружности).

После построения вспомогательного треугольника и дополнительных фигур F и F1 можно приступать к проведению эксперимента. Выделим мышкой вершину А и, ухватившись за нее, начнем медленно перемещать, не меняя при этом положение точек В и С. Очевидно, А будет перемещаться по окружности, к которой мы ее «прикрепили». Это означает, что длина стороны АС при любом положении вершины А будет равна b. Одновременно экспериментатор наблюдает за фигурами F и F1 и их числовыми значениями f0 и f1. Если при некотором положении вершины А фигуры F и F1 совпадут (одновременно должны совпасть их числовые значения f0 и f1), то это будет означать, что треугольник АВС один из искомых.

Информацию о способе решения задачи может подсказать линия, которую вычертит точка Х в результате перемещения вершины А. При необходимости эту функцию для точки Х можно задать с помощью команды Оставлять след. Удачный выбор Х поможет не только в определении типа линии, являющейся следом Х, но и в нахождении способа построения общих точек этой линии и других элементов чертежа, подскажет конструктивный способ решения задачи.

Отметим, что при проведении компьютерного эксперимента бывает удобно фиксировать не две стороны треугольника, а одну из его сторон и параметр f. Все рассуждения, проведенные нами выше, переносятся и на этот случай.

Результаты компьютерного эксперимента помогают построить математическую и компьютерную модели задачи, с помощью которых можно установить ограничения на данные параметры, подтвердить или опровергнуть гипотезы о том, что найденные нами соотношения описывают весь класс искомых значений параметров. Компьютерное сопровождение позволяет не только реализовать найденные вычислительные алгоритмы, но и визуализировать промежуточные и окончательные результаты, провести сопутствующие для подобного рода задач исследования.








































§ 2. Компьютерное моделирование основных элементов треугольника


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


2.1. Формулы и теоремы, используемые при решении треугольников


Рhello_html_m5cf9b6c3.gif
ешить треугольник
– это значит, по заданным элементам треугольника ABC (или отношениям между ними) найти остальные его элементы (если специально не оговорено, что именно нужно найти). В настоящем пособии под решением треугольника мы, как правило, будем понимать нахождение сторон треугольника, не заданных в условии задачи.

Под элементами треугольника понимают длины различных отрезков, концы которых однозначно определяются рассматриваемым треугольником, величины углов между прямыми, содержащими эти отрезки, площади и периметры фигур, составленных из этих отрезков (рис. 2.1.1).

В школьном курсе геометрии и вслед за ним в нашем пособии к элементам треугольника отнесены:

  1. cтороны, периметр (или полупериметр) треугольника ABC;

  2. углы или какие-либо тригонометрические функции этих углов;

  3. площадь треугольника ABC;

  4. радиусы описанной, вписанной и вневписанных окружностей;

  5. высоты, медианы и биссектрисы треугольника ABC.

Кроме непосредственно самих элементов треугольника АВС в задаче на решение треугольников могут быть заданы соотношения между ними, например, АВ = 2ВС, т.е. сторона АВ в два раза больше стороны ВС.

В отдельных случаях (особенно при решении треугольников, параметры которых заданы геометрически), в условии задачи может идти речь о некоторых линиях, находящихся в заданных отношениях с треугольником. Эти линии могут задаваться характеристическими свойствами, в том числе в параметрическом виде. Нахождение требуемых элементов такого треугольника мы также будем называть решением треугольника.

Мы будем придерживаться следующих обозначений:

a, b, c – стороны треугольника АВС, лежащие против вершин А, В и С;

p – полупериметр треугольника АВС, т.е., p = (a + b + c) / 2;

Sплощадь треугольника АВС;

O – центр описанной окружности;

R – радиус описанной окружности;

О1 – центр вписанной окружности;

r– радиус вписанной окружности;

Оа, Оb, Оc – центры вневписанных окружностей, касающихся сторон а, b и c соответственно;

ra, rb, rc – радиусы вневписанных окружностей, касающихся сторон а, b и c соответственно;

ha, hb, hc – высоты, проведенные к сторонам a, b и c соответственно;

ma, mb, mc – медианы, проведенные к сторонам a, b и c соответственно;

bА, bВ, bС – биссектрисы внутренних углов треугольника при вершинах А, В и С соответственно;

b1А, b1В, b1С - биссектрисы внешних углов треугольника при вершинах А, В и С соответственно;

Н – ортоцентр (точка пересечения высот) треугольника;

М – центр тяжести (точка пересечения медиан) треугольника;

(m, n) – угол между прямыми m и n.

Задача на решение треугольника считается канонической, если в треугольнике известны три его стороны a, b и c. Большинство остальных элементов можно найти, используя, например, следующие формулы:

hello_html_2c8849d9.gif;

hello_html_m105f9fe9.gif;

hello_html_m625c0d9e.gif;

hello_html_3a11538a.gif;

hello_html_m2371b508.gif; hello_html_m2492e27.gif; hello_html_1636166a.gif;

hello_html_m4221511b.gif; hello_html_m5559d132.gif; hello_html_3e9cd68e.gif;

hello_html_m59f55d84.gif; hello_html_m3120625.gif; hello_html_ae16440.gif;

hello_html_ed8377c.gif; hello_html_2115af06.gif; hello_html_62f1dee9.gif

hello_html_m308f173e.gif;hello_html_m6f637043.gif; hello_html_m3ec6a91b.gif

hello_html_m1e7f075f.gif; hello_html_2a4a1f99.gif;hello_html_m495cf1c5.gif;

hello_html_mc5ca7af.gif;

hello_html_17b803d1.gif;

hello_html_m15d5362c.gif.

Для того чтобы по заданным элементам треугольника найти его стороны можно воспользоваться основными соотношениями для треугольника и рекомендациями, которые приведены, например, в методических указаниях [3]. Отметим некоторые из них.

Теорема косинусов. Квадрат стороны треугольника равен сумме квадратов двух других сторон без удвоенного произведения этих сторон на косинус угла между ними: hello_html_m48acad98.gif.

Используя эту теорему можно найти не только сторону по двум другим сторонам и углу между ними, но и косинус любого угла по трем данным сторонам, а также любую третью сторону по двум сторонам и углу между искомой стороной и одной из двух данных. Для решения последней задачи достаточно приведенное выше равенство рассмотреть как квадратное уравнение, в котором неизвестной величиной является длина искомой стороны. Например, если даны стороны а и с и угол при вершине С, то, обозначив b через х, получим следующее квадратное уравнение:

hello_html_635fb018.gif.

Надо иметь ввиду, что это уравнение в отличие от предыдущего, когда неизвестным являлась сторона с, может не иметь ни одного корня, а может иметь один или два корня. Если не углубляться в исследование тригонометрического неравенства с параметрами (алгебраический метод), а использовать лишь синтетические методы, то этот факт имеет достаточно простую геометрическую интерпретацию.

Попытаемся найти искомый отрезок х, построив для этого треугольник АВС с помощью циркуля и линейки. Сначала построим произвольный луч h с началом в точке С, затем на этом луче от точки С отложим отрезок ВС равный а. Построим далее луч k с началом в точке С, который образует с лучом h угол равный данному углу С, и окружность с центром в точке В и радиуса с. Для нахождения оставшейся вершины А достаточно найти общие точки окружности и луча k.

Рассмотрим случай когда угол С – острый (рис. 2.1.2-2.1.4).

hello_html_2657fa1.gif

Если hello_html_m6fb8cfd0.gif (рис. 2.1.2), то окружность не пересечет луч k и, следовательно, искомый треугольник не существует.

hello_html_m207161fa.gif

Если hello_html_m2c67f3ee.gif (рис.2.1.3 (а)) или hello_html_518c5795.gif (рис.2.1.3 (б)), то окружность будет иметь с лучом k одну общую точку отличную от С и, следовательно, треугольник единственный.

hello_html_m39227491.gif

Если hello_html_79f2cb91.gif (рис.2.1.4), то окружность пересечет луч k в двух точках А и А/ и, следовательно, существуют два неравных треугольника.

hello_html_m3f546d46.gif

Если угол С – не является острым, то очевидно при hello_html_m2d5c280.gif (рис.2.1.5 (а)) существует единственный треугольник, в противном случае при hello_html_2e35f113.gif (рис.2.1.5(б)) треугольник не существует.

Теорема синусов. Отношение стороны треугольника к синусу противолежащего угла есть величина постоянная, равная диаметру описанной окружности: hello_html_m5fafe618.gif.

Теорема синусов позволяет решать достаточно большой класс задач, например:

- по двум сторонам и углу (или его синусу), противолежащему одной из них, найти синус угла, противолежащего второй стороне, например, hello_html_mde02341.gif(предостережение от поспешных выводов по поводу величины угла: зная синус угла треугольника, найти сам угол можно, если известно в какой четверти он находится);

- по двум углам (или их синусам) и стороне, противолежащей одному из них, найти сторону, противолежащую второму углу, например, hello_html_m57994904.gif;

- по радиусу описанной окружности и углу (или его синусу) найти противолежащую этому углу сторону треугольника, например, hello_html_236d876b.gif;

- по радиусу описанной окружности и стороне найти синус угла, противолежащего этой стороне треугольника, например, hello_html_m24485f1.gif;

- по стороне и углу (или его синусу), противолежащему этой стороне, найти радиус описанной окружности, например, hello_html_m2ee8a257.gif.

Теорема двух синусов. Дан треугольник АВС и точка D, отличная от точки В, на прямой АВ. Тогда: hello_html_6575423e.gif.

Теорема о медианах. Медианы треугольника пересекаются в одной точке М (центр тяжести или центроид) и делятся этой точкой в отношении 2:1, считая от вершины треугольника.

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

Если СD – биссектриса внутреннего или внешнего угла при вершине С треугольника АВС, причем D принадлежит прямой АВ, тогда: hello_html_m2c1dfb23.gif.

Теорема Чевы. Три чевианы АА1, ВВ1, СС1 треугольника АВС пересекаются в одной точке, если и только если hello_html_30b6c563.gif, где под чевианой понимается любой отрезок, соединяющий вершину треугольника с точкой на противоположной стороне или ее продолжении.

Теорема Менелая. Прямая пересекает стороны треугольника АВС или их продолжения в точках А1, В1, С1 и не проходит через вершины треугольника тогда и только тогда, когда hello_html_m403d6d00.gif, где А1ВС, В1АС, С1АВ.

Теорема о прямой Эйлера. Три высоты треугольника пересекаются в одной точке Н, которая лежит на прямой, проходящей через центр О описанной окружности и точку М – центр тяжести треугольника, причем М лежит между О и Н и МН = 2ОМ.

Теорема Эйлера о расстоянии между центрами вписанной и описанной окружностей. Расстояние d между центрами вписанной и описанной окружностей произвольного треугольника равно корню квадратному из разности между квадратом радиуса описанной окружности и удвоенного произведения радиусов описанной и вписанной окружностей: hello_html_16461d4f.gif.

Теорема Фалеса. Если на одной стороне угла отложены равные (пропорциональные) отрезки и через их концы проведены параллельные прямые, то на другой стороне угла образуются равные (пропорциональные) между собой отрезки.


2.2. Компьютерное моделирование треугольника по трем сторонам


В этом и последующих пунктах §2 мы составим подпрограммы на языке QBasic, которые будут необходимы в большинстве задач пособия.


Пhello_html_48c1358b.gifодпрограмма uv перехода к экранным координатам. Приступим к составлению первой подпрограммы, назначение которой – вычисление экранных координат (u, v) точки по ее декартовым координатам (x, y). Присвоим этой подпрограмме метку uv. Предположим, что графический экран задан процедурой SCREEN 9, определяющей разрешимость экрана 640 × 350. Под экранной системой координат uO1v будем понимать такую систему координат экрана компьютера, начало O1 которой находится в левом верхнем углу, ось u (ось абсцисс) расположена горизонтально и направлена слева направо, ось v (ось ординат) расположена вертикально и направлена сверху вниз (рис. 2.2.1). Очевидно, что система координат uO1v отрицательно ориентирует плоскость. Длину базисного вектора hello_html_m26967aa9.gif оси u зададим равной ширине экранного пикселя, длину второго базисного вектора hello_html_46558bb8.gif – равной высоте пикселя. Одна из издержек такого выбора – длины базисных векторов могут оказаться неравными. Отношение длины базисного вектора оси ординат к длине базисного вектора оси абсцисс обозначим через ki и назовем коэффициентом искажения, т.е, hello_html_3eb443c9.gif.

Выберем новую положительно ориентированную декартову систему координат xОy так, чтобы начало координат О совпало с одной из точек экрана, находящихся в его центральной части, например, с точкой (320, 220), ось x оказалась одинаково направленной с осью u, а ось y – противоположно направленной с осью v. В качестве единичного отрезка на оси y выберем отрезок, длина которого равна mm пикселей, на оси xki·mm пикселей. В этом случае базисный вектор оси x будет равен вектору hello_html_m7fe5dbc6.gif, а базисный вектор оси y – вектору hello_html_m4af986c0.gif. Добавление в качестве сомножителя коэффициента искажения ki позволяет добиться равенства длин базисных векторов по обеим осям декартовой системы координат xОy. Параметр mm будем использовать как масштабный множитель, с помощью которого можно оперативно изменять размеры изображаемых на экране фигур.

Пусть произвольная точка М имеет экранные координаты (u, v) и декартовы координаты (x, y). Применим к точкам О1, О и М известное правило сложения векторов (правило треугольника):

hello_html_m750b1ff8.gif. (2.2.1)

По определению координат точки имеем:

hello_html_5ce90ee1.gif, hello_html_4cf6e1dc.gif, hello_html_m7a93d23e.gif

Подставляя найденные значения векторов в векторное равенство (2.2.1), и приравнивая коэффициенты при одноименных базисных векторах, получим следующие соотношения:

hello_html_23a5878c.gif. (2.2.2)

Используя полученные соотношения, составим искомую подпрограмму uv:


REM подпрограмма uv перехода к экранным координатам

uv: u = ki * mm * x + 320

v = -mm * y + 220: RETURN


Значение коэффициента искажения ki в полученных формулах зависит от графических характеристик персонального компьютера. Его необходимо подобрать так, чтобы окружность, изображаемая по ее каноническому уравнению, походила не на вытянутый эллипс, а на окружность. Отметим, что на большинстве современных компьютеров, включая ноутбуки, работать в DOS-программах, включая среду программирования QBasic, приходится с использованием различных специализированных программ, например, tp7.scp.1.3, которая автоматически задает коэффициент искажения ki = 1.


Подпрограмма tr построения треугольника по сторонам a, b и c. Перейдем к составлению второй подпрограммы, которой присвоим метку tr. Основная ее задача – построение изображения треугольника АВС по трем его сторонам a, b и c. Потребуем дополнительно от подпрограммы tr умения подобрать такой масштаб изображения, чтобы, во-первых, все вершины треугольника принадлежали экрану и, во-вторых, делать изображение треугольника максимально большим, если это будет необходимо.

Прежде всего, проверим, могут ли числа а, b и c являться длинами сторон треугольника. Как известно, необходимым и достаточным условием существования такого треугольника является выполнение следующего двойного неравенства: hello_html_m5be681d3.gif. Поэтому одной из первых строк подпрограммы tr может быть, например, следующая:


IF a>=b+c OR a<=ABS(b–c) THEN PRINT "a,b,c=?":SLEEP:END


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

Продолжим составление подпрограммы tr. Выберем декартову систему координат xОy так, как это было описано при составлении подпрограммы uv. Сторону ВС треугольника поместим на оси абсцисс так, чтобы середина отрезка ВС совпала с началом координат, причем вершина С принадлежала положительной полуоси абсцисс, а вершина В – отрицательной. Вершину А треугольника поместим выше оси абсцисс (рис. 2.2.2 и 2.2.3). Координаты вершин треугольника в системе координат xОy обозначим соответствующими парами элементов массивов x(i), y(i), i=1,2,3, т.е. A(x(1), y(1)), B(x(2), y(2)), C(x(3), y(3)).

Вычислим декартовы координаты всех вершин треугольника. Поскольку ВС = а, то В(–а / 2, 0), С(а / 2, 0), т.е. x(2)= – а / 2, y(2) = 0, x(3) = а / 2, y(3) = 0.

Нhello_html_m299df7d3.gif
айдем декартовы координаты вершины А. Вычислим для этого косинус и синус внутреннего угла треугольника при вершине В. По теореме косинусов hello_html_m183e54b3.gif, отсюда hello_html_m2a07b87d.gif. По основному тригонометрическому тождеству hello_html_m7821a1f.gif. Но тогда вершина А имеет следующие координаты:

А(с·cos B – a / 2, c·sin B) или x(1) = с·cos B – a / 2, y(1) = c·sin B.

Таким образом, следующий фрагмент подпрограммы tr будут иметь вид:


x(2) = -a / 2: y(2) = 0: x(3) = a / 2: y(3) = 0

co = (a ^ 2 + c ^ 2 - b ^ 2) / (2 * a * c)

x(1) = c * co - a / 2: y(1) = c * SQR(1 - co ^ 2)


Пhello_html_fa136bf.gifеред тем как обратиться к подпрограмме uv перехода к экранным координатам, необходимо задать масштабный множитель mm. Выберем его таким образом, чтобы вершины А, В и С принадлежали экрану, причем размеры треугольника были максимально большими. Поместим для этого треугольник АВС в прямоугольник (на рис. 2.2.2 и 2.2.3 он изображен штриховой линией) так, чтобы выполнялись следующие три условия. Во-первых, прямоугольник располагался симметрично относительно оси y. Во-вторых, сторона ВС треугольника и вершина А лежали на противоположных сторонах прямоугольника. И, наконец, по меньшей мере, одна из второй пары паралельных сторон прямоугольника содержала хотя бы одну вершину треугольника. Сторону прямоугольника, принадлежащую оси абсцисс, условимся называть основанием прямоугольника. Обозначим через maxx половину длины основания прямоугольника, а через maxy – высоту прямоугольника.

Очевидно, maxy совпадает с ординатой точки А, т.е. maxy = y(1).

Определим значение maxx. Если проекция вершины А на ось абсцисс принадлежит отрезку ВС, а это случится при выполнении двойного неравенства x(2) ≤ x(1) ≤ x(3) (рис. 2.2.2), то основание прямоугольника совпадет с основанием ВС треугольника и в этом случае maxx =a/2= x(3). Если же проекция вершины А на ось абсцисс окажется за пределами отрезка ВС (рис. 2.2.3), то половина основания прямоугольника уже будет равна расстоянию от вершины А до оси ординат, т.е. maxx = |x (1)|.

Таким образом, очередные строки подпрограммы tr будут иметь следующий вид:

maxy = y(1)

IF x(1)>=x(2) AND x(1)<=x(3) THEN maxx=x(3) ELSE maxx=ABS(x(1))


Находить величину масштабного множителя mm мы будем с использованием соотношений 2.2.2. Если maxx > maxy, то переменной x присвоим значение maxx, переменной u – значение 620 (максимально возможное значение для u на графическом экране, 20 пикселей оставим в качестве резерва для обозначения точек), подставим эти значения в первое из соотношений 2.2.2 и найдем оттуда масштабный множитель mm:

hello_html_m71e570fb.gif.

Если же maxx ≤ maxy, то присвоим переменной y значение maxy, переменной v значение 20 (наименьшее возможное значение для v на графическом экране, 20 пикселей оставим в качестве резерва), подставим эти значения во второе из соотношений 2.2.2 и найдем оттуда искомый масштаб:

hello_html_meb95dbc.gif.

Очередная строка подпрограммы будет иметь вид:


IF maxx > maxy THEN mm = 300 / (ki * maxx) ELSE mm = 200 / maxy


Отметим, что при решении целого ряда задач на нахождение тех или иных элементов треугольника нам потребуется проводить дополнительные построения за пределами треугольника АВС. Это относится, например, к построению ортоцентра для тупоугольного треугольника или вневписанной окружности. В этом случае мы будем вынуждены отказаться от принципа максимальности изображения треугольника АВС. Введем для этого случая коэффициент уменьшения ku (0 < ku ≤ 1) масштабного множителя mm. Задавать коэффициент уменьшения будем в первых строках основной программы. В том случае, если он не будет задан, предусмотрим в подпрограмме tr автоматическое задание ku = 1. Соответствующие команды поместим в следующих строках:


IF ku < = 0 OR ku > 1 THEN ku = 1

mm = mm * ku


В следующих строках подпрограммы найдем экранные координаты всех вершин треугольника АВС и соединим отрезками различные пары вершин этого треугольника:


FOR i = 1 TO 3: x = x(i): y = y(i)

GOSUB uv: u(i) = u: v(i) = v: NEXT i

PSET (u(3), v(3)): FOR i = 1 TO 3: LINE -(u(i), v(i)): NEXT i


Для большей наглядности выведем на экран обозначения каждой вершины. Для этой цели нам потребуется следующая процедура символьного экрана, устанавливающая курсор в требуемом месте экрана:

LOCATE a, b

где а – номер строки, b – номер столбца, 1 ≤ a ≤ 25, 1 ≤ b ≤ 80.

Предположим, что точка М имеет в графическом экране координаты (u, v), а в символьном экране – (a, b). Если hello_html_m201b4145.gif и hello_html_46558bb8.gif базисные векторы экранной системы координат uO1v, то радиус-вектор точки М (рис. 2.2.4) можно представить в виде: hello_html_m5c37d1c6.gif. Поскольку в символьном экране абсцисса а точки М представляет собой номер содержащей ее строки, причем количество строк 25, то первый базисный вектор системы координат символьного экрана сонаправлен с hello_html_46558bb8.gif и равен вектору hello_html_1b4fae38.gif. Аналогично, второй базисный вектор сонаправлен с hello_html_m5e4588b1.gif и равен вектору hello_html_44aef218.gif. Таким образом, hello_html_75a99f4a.gif. Итак, мы получили два разложения радиус-вектора точки М в одном и том же базисе. Очевидно, эти разложения должны совпадать, т.е. hello_html_484e3f4e.gif. Отсюда получаем соотношения для нахождения символьных координат точки М:

hello_html_m2386d27e.gifhello_html_482caf91.gif
, hello_html_m6316aadb.gif. (2.2.3)

Заметим, что несмотря на запас «прочности» в 20 пикселей, который мы сделали при изображении треугольника АВС, символьные координаты только вершин В и С гарантированно будут удовлетворять требованию к номеру строки (от 1 до 25) и номеру столбца (от 1 до 80). Связано это с особенностью выбора основания ВС треугольника. Координаты вершины А в отдельных случаях могут не удовлетворять требованиям символьного экрана. Поэтому для «безопасного» выполнения команды, содержащей служебное слово LOCATE, на экранные координаты точки А наложим дополнительные ограничения. С учетом этого замечания и соотношений (2.2.3) последние строки подпрограммы можно представить следующим образом:


LOCATE v(2) / 14 + 1, u(2) / 8: PRINT "B"

LOCATE v(3) / 14 + 1, u(3) / 8 + 1: PRINT "C"

IF v(1) <= 10 OR v(1) >= 340 THEN RETURN

IF u(1) <= 10 OR u(1) >= 630 THEN RETURN

LOCATE v(1) / 14, u(1) / 8: PRINT "A": RETURN


Окончательно вид подпрограммы tr приведен в приложении.

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

Изучению закономерностей, связанных с особенностями расположения исследуемых элементов треугольников, помимо меняющихся масштабов изображения могут мешать многочисленные обозначения тех или иных точек: вершин треугольника, их проекций, середин сторон и т.д. Поэтому в таких случаях предусмотрим «облегченный» вариант подпрограмм с удалением отдельных строк. Будем присваивать таким подпрограммам метку, заимствованную у основной подпрограммы, с добавлением некоторой цифры. Например, упрощенный вариант подпрограммы tr будет выглядеть следующим образом:

REM подпрограмма tr1 построения треугольника по трем сторонам

tr1:

IF a>=b+c OR a<=ABS(b–c) THEN PRINT "a,b,c=?": SLEEP: END

IF mm <= 0 THEN mm = 10

co = (a ^ 2 + c ^ 2 - b ^ 2) / (2 * a * c)

x(1) = c * co - a / 2: y(1) = c * SQR(1 - co ^ 2)

x(2) = -a / 2: y(2) = 0: x(3) = a / 2: y(3) = 0

FOR i = 1 TO 3: x = x(i): y = y(i)

GOSUB uv: u(i) = u: v(i) = v: NEXT i

PSET (u(3),v(3)): FOR i = 1 TO 3: LINE -(u(i),v(i)): NEXT i

RETURN


При ее использовании необходимо в первых строках основной программы задать масштабный множитель mm, в противном случае подпрограмма tr1 автоматически установит значение mm = 10.


2.3. Медианы треугольника, центроид


В этом пункте мы составим подпрограммы, по которым на экране компьютера вслед за изображением треугольника АВС (см. п. 2.2) должны появиться изображения его медиан и центроида (центра тяжести).

Подпрограммы ma, mb и mc построения медиан треугольника. Медианой треугольника называется отрезок, соединяющий вершину треугольника с серединой противоположной стороны.

Пhello_html_m54b104a7.gifоскольку у треугольника три вершины, то и медиан – тоже три. На рисунке 2.3.1 изображена одна из них – медиана АМ1, соединяющая вершину А с серединой М1 противоположной стороны ВС.

Составим подпрограмму ma построения изображения медианы АМ1. При ее составлении будем считать, что нам известны декартовы (x(1), y(1)), (x(2), y(2)), (x(3), y(3)) и экранные (u(1), v(1)), (u(2), v(2)), (u(3), v(3)) координаты вершин А, В и С треугольника АВС, соответственно.

Для того чтобы построить изображение отрезка АМ1 необходимо найти экранные координаты его концов и воспользоваться оператором LINE. Поскольку экранные координаты точки А известны, то найдем сначала декартовы а затем экранные координаты второго конца медианы-отрезка, точки М1. Для вычисления декартовых координат воспользуемся известными формулами координат середины отрезка по координатам концов этого отрезка: hello_html_m12e29cbb.gif.

Воспользуемся этими формулами при составлении подпрограммы, изображающей медиану АМ1:


REM подпрограмма mа построения медианы АM1

mа: x = (x(2) + x(3)) / 2: y = (y(2) + y(3)) / 2

GOSUB uv: LINE (u(1), v(1))-(u, v), cvet

LOCATE v / 14 + 1, u / 8 + 1: PRINT "M1"

RETURN


Аналогично выглядят подпрограммы mb и mc построения изображений двух оставшихся медиан. Они приведены в приложении.


Подпрограмма ct построения центроида треугольника. Как известно медианы треугольника пересекаются в одной точке, которая является центром тяжести этого треугольника и называется центроидом треугольника. На рисунке 2.3.2 центроид треугольника АВС обозначен буквой М.

Сhello_html_acbe368.gifоставим подпрограмму ct построения изображения центра тяжести треугольника АВС. Для этого найдем декартовы координаты этой точки. Поскольку точка М делит любую медиану в отношении 2 к 1, считая от вершины, то ее координаты найти несложно. Для этого запишем векторное равенство hello_html_m175aef15.gif в координатной форме:

hello_html_1cb28843.gif

Если приравнять соответствующие координаты, то мы получим равенства, из которых можно найти x и y:

hello_html_251799fd.gif

hello_html_m2397599d.gif

Подпрограмма ct построения центроида (центра тяжести) треугольника АВС приведена в приложении.

2.4. Высоты треугольника, ортоцентр


Составим теперь подпрограммы построения на мониторе изображения высот и ортоцентра треугольника АВС.

Вhello_html_m7c497b92.gifысотой треугольника называется отрезок, соединяющий вершину треугольника с ее проекцией на прямую, содержащую противоположную сторону.

На рисунке 2.4.1 изображена одна из высот АН1, соединяющая вершину А с проекцией Н1 этой вершины на противоположную сторону ВС.

Для того чтобы построить изображение высоты АН1 необходимо найти декартовы координаты точки Н1. Учитывая, что проекция точки А на прямую ВС совпадает с пересечением прямой ВС и прямой, проходящей через А и перпендикулярной ВС, то искать эти координаты будем как решение системы двух уравнений, первое из которых – уравнение прямой ВС, второе – уравнение прямой, проходящей через А и параллельной вектору нормали прямой ВС.

Пhello_html_125a230d.gifодпрограмма mn нахождения координат точки пересечения двух непараллельных прямых. Поскольку в дальнейшем задача, связанная с нахождением координат точки пересечения двух непараллельных прямых будет встречаться неоднократно, составим соответствующую подпрограмму mn в общем виде. Предположим, что первая прямая задана точкой М1(x1, y1) и направляющим вектором hello_html_m244b3a6e.gif(xm, ym), а вторая – точкой М2(x2, y2) и направляющим вектором hello_html_70c76ac2.gif(xn, yn), рис. 2.4.2. Используя выбранные обозначения, составим систему, состоящую из уравнений этих прямых:

hello_html_m513c7eab.gif. (2.4.1)

Выполним простейшие тождественные преобразования и получим следующую систему уравнений эквивалентную (2.4.1):

hello_html_18ac2515.gif, (2.4.2)

где hello_html_m77a3cf01.gif.

Решая систему (2.4.2) относительно x и y, получим

hello_html_mebfefde.gif,

где hello_html_2668d47d.gif. Заметим, что поскольку прямые непараллельны, то Т отлично от нуля.

Подпрограмму mn пересечения двух непараллельных прямых можно представить в следующем виде:


REM подпрограмма mn пересечения двух непараллельных прямых

mn: q1 = x1 * ym - y1 * xm: q2 = x2 * yn - y2 * xn

t = xm*yn-xn*ym: IF t=0 THEN PRINT "t=0?": SLEEP: END

tx = xm * q2 - xn * q1: ty = ym * q2 - yn * q1

x = tx / t: y = ty / t: RETURN

Подпрограммы ha, hb и hc построения высот треугольника. Составим подпрограмму ha построения изображения высоты АH1. Как и в предыдущем параграфе будем считать, что вершины треугольника АВС имеют следующие координаты: А(x(1), y(1)), B(x(2), y(2)), C(x(3), y(3)) – декартовы координаты, А(u(1), v(1)), B(u(2), v(2)), C(u(3), v(3)) – экранные координаты. Найдем координаты точки Н1. Воспользуемся подпрограммой mn. Для этого необходимо определить восемь параметров, представляющих собой координаты двух точек и двух направляющих векторов, задающих прямые ВС и АН1. В качестве точки, лежащей на прямой ВС, возьмем вершину В, в качестве направляющего вектора – вектор hello_html_m600337fe.gif. Поэтому первые четыре параметра задаются следующим образом: hello_html_2efac28a.gif, hello_html_m76a791a9.gif, hello_html_7a8fa2ac.gif, hello_html_m42b217ba.gif.

В качестве точки, лежащей на второй прямой, содержащей высоту АН1, возьмем А, в качестве направляющего вектора – вектор перпендикулярный hello_html_m600337fe.gif. Чтобы найти такой вектор достаточно у вектора hello_html_m600337fe.gif поменять местами координаты, а знак одной из координат заменить на противоположный. Скалярное произведение полученного вектора и вектора hello_html_m600337fe.gif очевидно будет равно нулю. Таким образом, вторую четверку параметров можно задать следующим образом: hello_html_md59a9a6.gif, hello_html_35090942.gif, hello_html_75bd6ce.gif, hello_html_m5690709.gif.

Далее, после обращения к подпрограмме mn пересечения двух непараллельных прямых и подпрограмме uv перехода к экранным координатам остается соединить отрезком вершину А с точкой Н1.

Кроме этого выведем на экран обозначение найденной проекции. Поскольку точка Н1 в случае тупоугольного треугольника ABC может оказаться за пределами экрана компьютера, то перед тем как вывести на экран ее обозначение убедимся в корректности обращения к оператору LOCATE. Для этого достаточно проверить, что экранные координаты hello_html_mb5f84cd.gif точки Н1 удовлетворяют ограничениям, которые предъявляются к графическому экрану, заданному процедурой SCREEN 9.

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


REM подпрограмма ha построения высоты AН1

ha: x1 = x(2): y1 = y(2)

xm = x(3) - x(2): ym = y(3) - y(2)

x2 = x(1): y2 = y(1)

xn = y(3) - y(2): yn = x(2) - x(3): GOSUB mn

GOSUB uv: LINE (u(1), v(1))-(u, v), cvet

IF u < 10 OR u > 630 OR v < 10 OR v > 340 THEN RETURN

LOCATE v / 14, u / 8: PRINT "H1": RETURN


Аналогично выглядят подпрограммы hb и hc построения изображений двух оставшихся высот. Они приведены в приложении.


Подпрограмма oc построения ортоцентра. Как известно высоты треугольника пересекаются в одной точке, которая называется ортоцентром треугольника. На рисунке 2.4.3 ортоцентр треугольника АВС обозначен буквой Н.

Составим подпрограмму оc построения изображения ортоцентра треугольника АВС. Для этого необходимо найти декартовы координаты этой точки.

Вhello_html_37b45092.gifычислить их можно с помощью подпрограммы mn, взяв в качестве непараллельных прямых любые две высоты треугольника, например, АН1 и ВН2. Соответствующая подпрограмма оc может иметь следующий вид:


REM подпрограмма ос построения ортоцентра H

ос: x1 = x(1): y1 = y(1)

xm = y(3) - y(2): ym = x(2) - x(3)

x2 = x(2): y2 = y(2)

xn = y(3) - y(1): yn = x(1) - x(3): GOSUB mn

GOSUB uv: CIRCLE(u, v), 3, 11

IF u < 10 OR u > 630 OR v < 10 OR v > 340 THEN RETURN

LOCATE v / 14, u / 8: PRINT "H": RETURN

Занесем все подпрограммы этого параграфа в приложение.

2.5. Биссектрисы треугольника, вписанная, вневписанные и описанная окружности


Составим подпрограммы построения на экране компьютера изображения биссектрис треугольника АВС, вписанной, вневписанных и описанной окружностей.

Бhello_html_6ed36cd0.gifиссектрисой треугольника называется отрезок луча, делящего пополам внутренний угол треугольника, один конец отрезка совпадает с вершиной треугольника, другой – принадлежит противоположной стороне.

На рисунке 2.5.1 изображена одна из биссектрис АВ1 треугольника АВС, которая делит пополам угол ВАС. Как известно, точка В1 делит сторону ВС в отношении λ = АВ/АС. Для того, чтобы построить изображение биссектрисы АВ1 достаточно найти декартовы, а затем экранные координаты точки В1, делящей отрезок ВС в отношении λ. Поскольку подобного рода задача будет встречаться неоднократно, то составим подпрограмму, которая находит координаты точки, делящей заданный отрезок в заданном отношении.


Пhello_html_m634d2d39.gifодпрограмма lamda деления отрезка в данном отношении. Итак, пусть дан отрезок М1М2 и точка М, которая делит этот отрезок в отношении λ (λ ≠ –1). Это означает, что выполняется следующее векторное равенство: hello_html_769c6f01.gif или hello_html_m4e3e9a51.gif. Например, если М середина отрезка М1М2, то hello_html_dbbc1c8.gif и, следовательно, λ = 1. Ясно, что точки М, лежащие внутри отрезка М1М2 делят его в отношении λ > 0. Если же точка М лежит на прямой М1М2, но вне отрезка М1М2, то λ < 0. В этом случае говорят, что точка М делит отрезок М1М2 внешним образом. Единственный случай, который необходимо исключить – это λ = –1, поскольку из векторных равенств hello_html_md79a0dc.gif следует совпадение точек М1и М2, что невозможно.

Пусть точки М1и М2 имеют координаты (x1, y1) и (x2, y2) соответственно, а точка М – (x, y). Распишем векторное равенство hello_html_769c6f01.gif в координатной форме: (xx1, yy1) = (λx2 – λx, λy2 – λy). Приравнивая соответствующие координаты и находя x и y, получим искомые соотношения:

hello_html_m26b4f9d5.gif, hello_html_mdc5a025.gif.

Воспользуемся этими соотношениями при составлении подпрограммы, которой присвоим метку lamda:


REM подпрограмма lamda деления отрезка в данном отношении

lamda: IF lamda = - 1 THEN PRINT " lamda = -1??": SLEEP: END

x = (x1 + lamda * x2) / (1 + lamda)

y = (y1 + lamda * y2) / (1 + lamda)

RETURN

Пhello_html_6a38fdd0.gifодпрограммы ba, bb и bc биссектрис треугольника. Составим теперь подпрограмму построения изображения биссектрисы АВ1 треугольника АВС, вершины которого имеют декартовы координаты А(x(1), y(1)), B(x(2), y(2)), C(x(3), y(3)) и экранные координаты А(u(1), v(1)), B(u(2), v(2)), C(u(3), v(3)). Будем считать также известными длины всех сторон треугольника (они обозначены латинскими буквами a, b и с), кроме того, при необходимости мы будем использовать любую из составленных выше подпрограмм.

Найдем декартовы координаты точки В1. Учитывая, что точка В1 делит внутренним образом сторону ВС в отношении АВ/АС, то воспользуемся для вычисления ее координат подпрограммой lamda. Соответствующая подпрограмма, назовем ее ba, будет иметь следующий вид:


REM подпрограмма ba построения биссектрисы AB1

ba: x1 = x(2): y1 = y(2): x2 = x(3): y2 = y(3)

lamda = c / b: GOSUB lamda: GOSUB uv

LINE (u(1), v(1))-(u, v), cvet

LOCATE v / 14 + 1, u / 8: PRINT "B1": RETURN

Аналогично составляются подпрограммы bb и bс построения изображения биссектрис ВВ2 и CВ3 (см. приложение).


Пhello_html_m185517d.gifодпрограмма vo построения вписанной окружности и ее центра. Как известно биссектрисы треугольника пересекаются в одной точке, которая является центром вписанной в треугольник АВС окружности. На рисунках 2.5.3 и 2.5.4 эта точка обозначена буквой О.

Составим подпрограмму vо построения изображения вписанной в треугольник АВС окружности и ее центра. Для этого необходимо найти декартовы координаты точки пересечения биссектрис и радиус вписанной окружности.

Для нахождения радиуса вписанной окружности разделим площадь S треугольника на его полупериметр р. Соответствующий фрагмент подпрограммы будет иметь следующий вид:


p = .5 * (a + b + c)

r = SQR (p * (p - a) * (p - b) * (p - c)) / p


Для нахождения координат точки О рассмотрим треугольник АСВ1 (рис. 2.5.4). В этом треугольнике СО – биссектриса угла С, поэтому О делит отрезок АВ1 в отношении АС/СВ1. Таким образом, двойное применение подпрограммы lamda позволяет определить координаты точки О. Первый раз подпрограмма lamda применяется для нахождения координат точки В1, которые присваиваются переменным x2 и y2:


x1 = x(2): y1 = y(2): x2 = x(3): y2 = y(3)

lamda = c / b: GOSUB lamda: x2 = x: y2 = y


Второй раз подпрограмма используется для нахождения координат точки О. Рассматривается отрезок АВ1, подсчитывается длина стороны СВ1 треугольника АСВ1, задается параметр lamda и вычисляются декартовы координаты точки О:


x1 = x(1): y1 = y(1)

CB1 = SQR((x(3) - x2)^2 + (y(3) - y2)^2)

lamda = b / CB1: GOSUB lamda: x0 = x: y0 = y


Далее вычисляются экранные координаты точки О, строится изображение этой точки в виде небольшой окружности радиуса 3, выводится ее обозначение в виде буквы О. Завершается подпрограмма vo строкой, содержащей обращение к подпрограмме okr построения изображения окружности (см. следующий подпункт):


GOSUB uv: u0 = u: v0 = v: CIRCLE (u0, v0), 3

LOCATE v0 / 14, u0 / 8 + 1: PRINT "O"

rr=r: cvet = 15: GOSUB okr: RETURN


Окончательный вид подпрограммы vo представлен в приложении.


Подпрограмма okr построения изображения окружности. Составим подпрограмму okr построения изображения окружности по ее параметрическим уравнениям:

hello_html_67ead63b.gif,

где t изменяется в промежутке от нуля до 2π. Подпрограмма okr имеет следующий вид:


REM Подпрограмма okr построения окружности

okr: FOR t = 0 TO 2 * pi STEP .01

x = rr * COS(t) + x0: y = rr * SIN(t) + y0: GOSUB uv

IF t = 0 THEN PSET (u, v), cvet ELSE LINE -(u, v), cvet

NEXT t: RETURN


Составим теперь подпрограммы построения на мониторе изображения вневписанных окружностей, т.е. окружностей, касающихся одной стороны треугольника и продолжений двух других сторон.


Пhello_html_1b5a9b39.gifодпрограммы oa, ob и oc построения вневписанных окружностей. На рисунке 2.5.5 изображена одна из вневписанных окружностей треугольника АВС, которая касается стороны АВ, продолжения стороны АС (луча АQ) и продолжения стороны ВС (луча ВР).

Как известно, радиус такой окружности равен частному от деления площади треугольника на разность полупериметра и длины той стороны, которая касается окружности. Для окружности, изображенной на рисунке 2.5.5, радиус вневписанной окружности равен hello_html_m611c72d0.gif. Поскольку центр Ос этой окружности равноудален от сторон угла QAB, то Ос лежит на биссектрисе AP этого угла (точка Р, как и точка В1 делит отрезок ВС в отношении АВ/АС, но только внешним образом, т.е. hello_html_ma4fc06c.gif). Поскольку биссектрисы смежных углов взаимно перпендикулярны, то биссектриса АВ1 внутреннего угла при вершине А треугольника АВС образует прямой угол с АР. Таким образом, центр вневписанной окружности принадлежит прямой, проходящей через вершину А и перпендикулярной вектору hello_html_55679f19.gif.

Биссектрису, делящую пополам пару вертикальных углов смежных с внутренним углом треугольника, называют внешней биссектрисой этого угла треугольника.

Аналогично, Ос принадлежит прямой, проходящей через вершину В и перпендикулярной направляющему вектору hello_html_m102a4725.gif биссектрисы угла при вершине В. Но тогда интересующая нас точка совпадает с пересечением прямых АР и ВQ, а ее координаты можно вычислить с помощью подпрограммы mn.

Приступим к составлению подпрограммы oc построения изображения вневписанной окружности, касающейся стороны АВ. В первых четырех строках найдем радиус окружности и координаты (x, y) точки В1 так, как это мы делали в пункте 2.5:


REM Подпрограмма oc построения вневписанной окружности

oc: p = (a + b + c) / 2

S = SQR(p * (p - a) * (p - b) * (p - c)): rr = S / (p - c)

x1 = x(2): y1 = y(2): x2 = x(3): y2 = y(3)

lamda = c / b: GOSUB lamda

Найдем теперь координаты (xm, ym) направляющего вектора hello_html_m244b3a6e.gif прямой АР. На эту роль подойдет любой ненулевой вектор перпендикулярный вектору hello_html_55679f19.gif, координаты последнего легко находятся по координатам его начала и конца. В частности, в качестве hello_html_m244b3a6e.gif можно взять вектор, координаты которого получаются из координат hello_html_55679f19.gif перестановкой их местами и заменой знака одной из них на противоположный. В следующей строке вычислим координаты вектора hello_html_m244b3a6e.gif:


xm = y - y(1): ym = x(1) - x

Аналогично находятся координаты (xn, yn) направляющего вектора hello_html_70c76ac2.gif прямой BQ.


x1 = x(1): y1 = y(1): x2 = x(3): y2 = y(3)

lamda = c / a: GOSUB lamda: xn = y - y(2): yn = x(2) - x


Теперь осталось обратиться к подпрограмме mn пересечения двух прямых, чтобы найти координаты центра Ос окружности, задать ее радиус, цвет, изобразить окружность и ее центр:


x1 = x(1): y1 = y(1): x2 = x(2): y2 = y(2)

GOSUB mn: x0 = x: y0 = y: GOSUB uv: u0 = u: v0 = v

rr =r: cvet = 13: GOSUB okr: CIRCLE (u0, v0), 3


Оhello_html_c5a73de.gifкончательно подпрограмма oc, а также аналогичные подпрограммы ob и oa представлены в приложении.

Отметим, что в этих подпрограммах для большей наглядности предусмотрено построение с помощью подпрограммы luch продолжений сторон треугольника в виде штриховых линий.


Подпрограмма luch построения луча. Итак, пусть луч имеет начало в точке M1(x1, y1) и сонаправлен с вектором hello_html_m244b3a6e.gif, имеющим координаты (xm, ym) (рис. 2.5.6). Основная идея алгоритма этой программы – найти точку на искомом луче, которая лежит вне экрана, и соединить начало луча с этой точкой с помощью штриховой линии. Соответствующая подпрограмма имеет следующий вид:


REM подпрограмма luch построения луча с началом в точке (x1,y1)

REM и сонаправленного с вектором (xm,ym)

luch: x = x1: y = y1: GOSUB uv: u1 = u: v1 = v: t = 0

DO UNTIL POINT(u, v) < 0

t = t + .1: x = xm * t + x1: y = ym * t + y1: GOSUB uv

LOOP: LINE (u1, v1)-(u, v), , , &HFF00: RETURN

Для определения принадлежности экрану компьютера точки с координатами (u, v) используется функция POINT (u, v), принимающая значение –1 для точек, не принадлежащих экрану и целочисленные значения от 0 до 15, совпадающие с кодом цвета точки (u, v), в противном случае.


Подпрограмма оо построения описанной окружности. Составим подпрограмму построения на экране компьютера изображения описанной около треугольника АВС окружности и ее центра.

Сhello_html_4e1d9b46.gifерединным перпендикуляром к стороне треугольника называется прямая перпендикулярная этой стороне и делящая ее пополам. Каждая точка такой прямой равноудалена от вершин этой стороны. Поэтому серединные перпендикуляры к сторонам треугольника АВС пересекаются в одной точке О, которая равноудалена от всех вершин треугольника. Но тогда точка О является центром окружности, содержащей все вершины треугольника. Такую окружность называют описанной около треугольника (рис. 2.5.7).

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


REM подпрограмма oo построения описанной окружности

oo: x1 = (x(1) + x(2)) / 2: y1 = (y(1) + y(2)) / 2

xm = y(1) - y(2): ym = x(2) - x(1)

x2 = (x(1) + x(3)) / 2: y2 = (y(1) + y(3)) / 2

xn = y(1) - y(3): yn = x(3) - x(1)

GOSUB mn: x0 = x: y0 = y: cvet = 14

GOSUB uv: u0 = u: v0 = v: CIRCLE (u0, v0), 3

rr = SQR((x(1) - x0) ^ 2 + (y(1) - y0) ^ 2): GOSUB okr

IF v0 > 330 OR u0 > 620 THEN RETURN

IF v0 < 20 OR u0 < 20 THEN RETURN

LOCATE v0 / 14, u0 / 8: PRINT "O": RETURN


Занесем все подпрограммы этого пункта в приложение.

















§ 3. Решение треугольников, заданных двумя сторонами и элементом, не являющимся стороной треугольника


Рассмотрим в этом параграфе решение треугольников, отличающихся от канонических тем, что среди элементов, задающих треугольник лишь два являются сторонами. Чем отличается решение таких треугольников от решения треугольников, заданных тремя сторонами?

Наиболее принципиальное отличие – это количество возможных решений. Как известно, любые два треугольника, три стороны которых равны данным отрезкам, совмещаются некоторым движением плоскости, т.е. равны. Теоретическим обоснованием этого факта служит третий признак равенства треугольников. Жесткость треугольника, заданного тремя сторонами, хорошо известна и из практики.

Наличие двух и более неравных треугольников, заданных тремя параметрами, два из которых – стороны, а третий – некоторый элемент, не являющийся стороной треугольника, создает при решении таких треугольников определенные трудности. Успешное их преодоление зачастую зависит от эффективности предварительного анализа задачи.

В пунктах 3.1 и 3.2 этого параграфа рассматриваются задачи, в которых требуется найти третью сторону треугольника по двум данным сторонам и радиусам описанной (задача 3.1) и вписанной (задача 3.2) окружностей.

Для каждой задачи проведем компьютерный анализ, найдем соотношения между искомыми и данными параметрами, составим их компьютерные модели, приведем задания исследовательского типа.

Отметим, что если при компьютерном моделировании в среде QBasic практически не бывает ограничений на тип решаемой задачи, то геометрическое моделирование в среде «Живая геометрия» возможно лишь в том случае, если искомые элементы треугольника допускают построение циркулем и линейкой. В связи с этим для задачи 3.2 в отличие от первой задачи будет составлена лишь модель в среде QBasic.

3.1. Решение треугольника по двум сторонам и радиусу описанной

окружности


Сформулируем более точно задачу, заявленную в заголовке пункта.

Задача 3.1. Найти сторону с треугольника АВС, если даны две его стороны a и b и радиус R описанной окружности. Построить электронное изображение треугольника АВС и описанной около него окружности.


Компьютерный анализ. Определим наличие неравных треугольников, удовлетворяющих условию сформулированной задачи, используя для этого конструктивные и анимационные возможности среды «Живая геометрия».

Из условия задачи следует, что параметром f (в обозначениях п. 1.5), не являющимся стороной треугольника, является радиус R описанной окружности. Построим в левой верхней части рабочего поля «Живой геометрии» отрезки а, b и R, выведем длины этих отрезков на экран.

В центре рабочего поля построим компьютерную модель треугольника АВС, от которого будем требовать лишь выполнение условий ВС = а и АС = b. Требование о совпадении радиуса описанной около этого треугольника окружности с заданным отрезком R пока опустим. Построение осуществим по следующему алгоритму:

1. Построим отрезок ВС длины а, для этого:

  • построим произвольный луч с началом в точке В;

  • построим окружность с центром в точке В и радиуса а;

  • найдем пересечение С окружности с лучом;

  • соединим точки В и С отрезком, обозначим его через а;

  • спрячем построенные луч и окружность.

2. Построим точку А и АВС так, что бы АС = b, для этого:

  • построим произвольный луч с началом в точке В;

  • построим окружность w0 с центром в точке С и радиуса b;

  • выберем на окружности произвольную точку А;

  • построим треугольник АВС, соединив точки А, В и С отрезками;

  • окрасим внутреннюю область треугольника желтым цветом;

  • обозначим АВ через с, выведем на экран длину с и величину АСВ.

3. Построим геометрический образ параметра f, роль которого в нашей задаче будет играть радиус R1 окружности, описанной около АВС, попутно изобразим и саму окружность. Для этого:

  • построим серединные перпендикуляры к сторонам ВС и АС;

  • построим точку О1 пересечения этих перпендикуляров;

  • спрячем построенные перпендикуляры;

  • построим пунктирной линией описанную около АВС окружность с центром в точке О1; обозначим ее w1;

  • построим пунктирной линией отрезок ВО1, обозначим его R1, выведем длину этого отрезка на рабочее поле.

4. Соотнесем с построенным треугольником АВС геометрический образ данного параметра R в виде отрезка, соединяющего вершину В с точкой О, удаленной от В и С на расстояние R, для наглядности построим окружность с центром в О и радиуса R в виде непрерывной линии, для этого:

  • построим две окружности радиуса R с центрами в точках В и С;

  • найдем точку пересечения О окружностей, расположенную в полуплоскости относительно ВС, содержащей О1;

  • построим окружность w c центром в точке О и радиуса R;

hello_html_57121541.gif

  • соединим центр О этой окружности с вершиной В отрезком ОВ, обозначим его R, все вспомогательные элементы построения спрячем.

На рисунке 3.1.1(а) изображен полученный чертеж с тупым углом при вершине С. Начнем перемещать точку А по построенной окружности w0, уменьшая величину угла С. Пунктирная окружность w1 начнет уменьшаться и при некотором значении угла С совпадет с окружностью w (рис. 3.1.1(б)).

hello_html_m50fd88be.gif

Это означает, что мы нашли первое решение задачи, т.е. такой треугольник АВС, для которого выполняются все условия задачи.

hello_html_m6d96ba12.gif

Продолжим перемещение точки А, поворачивая ее вокруг вершины С, одновременно уменьшая величину угла С. Пунктирная окружность w1, описанная около АВС, будет уменьшаться (рис. 3.1.1 (в)).

В определенный момент времени уменьшение окружности прекратится и начнется обратный процесс – увеличение радиуса R1 (рис. 3.1.1 (г)).

Продолжим перемещать точку А до тех пор пока она не окажется на окружности w (рис. 3.1.1 (д)). Этой конфигурации будет соответствовать второе решение задачи. При дальнейшем уменьшении угла С окружность w1 окажется вне окружности w и новых решений мы уже не получим (рис. 3.1.1 (е).

hello_html_19f8544c.gif

Продолжая эксперимент, визуально убедимся в том, что если в качестве отрезка b взять отрезок длины 2R, то существует всего одно решение, а в случае, когда b превысит 2R, решения не существует.

Пhello_html_m195d9125.gifриведем на рисунках 3.1.2 (а) и (б) два слайда, на которых изображены треугольники, полученные при проведении эксперимента в ситуации, когда в качестве параметров, которым удовлетворяет вспомогательный треугольник АВС, выбраны а и R, а ограничения, связанные с параметром b, опущены. Соответствующий последнему параметру отрезок b1 = AC зависит от расположения точки А на описанной окружности заданного радиуса R. Центр описанной окружности построен как точка пересечения двух окружностей с центрами в точках В и С и радиуса R.

Если при втором варианте эксперимента в качестве вспомогательной точки выбрать конец A1 отрезка, отложенного на луче СА от его начала и имеющего длину b, применить к этой точке команду Оставлять след, то после перемещения А по окружности на чертеже появится изображение дуги окружности с центром в точке С и радиуса b (рис. 3.1.2 (в)). Полученный чертеж должен подсказать учащемуся, что искомая вершина А принадлежит пересечению этой дуги и окружности радиуса R и с центром в точке О.


Пhello_html_52a4d512.gifоиск соотношений. Выполним на листе бумаги чертеж (рис.3.1.3), на котором изобразим треугольник АВС с заданными сторонами а и b и описанную около треугольника окружность с центром в точке О и радиуса R.

Отразим точку А относительно диаметра, содержащего С, получим точку А/, лежащую на окружности. Если а b, то А/ В и мы получим треугольник А/ВС, в котором ВС = а и А/С = b, причем если углы А и В не являются прямыми, то АВС А/ВС. Таким образом, при решении задачи необходимо рассматривать отдельно случаи: А / 2 и А > / 2. Поскольку стороны а и b равноправны, то отдельного рассмотрения требуют и случаи B / 2 и В > / 2.

Приступим к поиску необходимых соотношений. Длину с стороны АВ будем искать, используя для этого одно из соотношений теоремы синусов:

hello_html_27ee4654.gif. (3.1.1)

Однако синус угла С нам пока не известен. Для того, чтобы его найти подсчитаем сначала синусы и косинусы углов при вершинах А и В, используя для этого два других соотношения теоремы синусов:

hello_html_898a882.gif; hello_html_2be1958d.gif. (3.1.2)

Из основного тригонометрического тождества получаем:

hello_html_f58a855.gif; hello_html_55ebdab5.gif, (3.1.3)

где множители znakА и znakВ принимают значения равные единице, если углы А и В острые или прямые, и минус единице, если эти углы тупые.

Используя формулу синуса суммы двух углов, получим:

hello_html_21d06d74.gif. (3.1.4)

Для нахождения с остается воспользоваться соотношением 3.1.1.


Сопровождение в среде QBasic. Перейдем теперь к составлению бейсик-программы, которая для заданных числовых значений a, b и R определит сторону с треугольника АВС, построит изображение треугольника, описанную около него окружность и выведет на экран числовые значения всех заданных и искомых элементов треугольника.

В первом из трех блоков установочного модуля зададим графический экран, значения коэффициентов искажения ki и уменьшения ku, число . Во втором блоке сформулируем условие задачи, в третьем – присвоим параметрам, задающим треугольник, конкретные числовые значения:


REM Задача 3.1 (две стороны и радиус описанной окружности)

REM У с т а н о в о ч н ы й м о д у л ь

SCREEN 9: ki = 1: ku = 1: pi = 4*ATN(1)


REM Условие задачи.

REM Даны две стороны a, b и радиус R описанной окружности

REM треугольника АВС. Найти третью сторону с, построить

REM изображение треугольника и описанной окружности.


REM Числовые значения данных параметров

a = 18: b = 14: R = 12


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

Во второй, третьей и четвертой строках блока запретим параметрам а, b и R принимать значения меньшие или равные нулю, в последних трех – параметрам а и b принимать значения превышающие диаметр описанной окружности или одновременно равные диаметру.

В противном случае на экран выведем информацию-предупреждение, выполнение программы приостановим:


REM Ограничения на числовые значения данных параметров

IF a <= 0 THEN PRINT "a <= 0 ?": SLEEP: END

IF b <= 0 THEN PRINT "b <= 0 ?": SLEEP: END

IF R <= 0 THEN PRINT "R <= 0 ?": SLEEP: END

IF a > 2 * R THEN PRINT "a > 2R ?": SLEEP: END

IF b > 2 * R THEN PRINT "b > 2R ?": SLEEP: END

IF a = 2 * R AND b = a THEN PRINT "a=b=2R ?": SLEEP: END


В вычислительном модуле программы, состоящем из двух блоков, подсчитаем значения искомых элементов треугольника. Разбиение модуля на два блока связано с тем, что для большинства наборов значений данных параметров наша задача будет иметь более одного решения, причем каждому такому набору будут соответствовать хоть и похожие, но имеющие свою специфику вычисления. Этот фрагмент программы оформим в виде отдельного блока с меткой metka и поместим в конец модуля. К этому блоку будем обращаться из программных строк первого блока с помощью оператора GOSUB.

Итак, во второй строке первого блока рассмотрим случай, когда ab, в третьей и четвертой строках – а > b. В каждом из этих случаев угол В обязательно острый, следовательно, косинус угла В положительный. Но тогда в формулах 3.1.3 множитель znakB должен равняться 1. Косинус же угла А может быть положительным, отрицательным или равняться нулю. Присвоим сначала переменной znakА значение равное 1 (вторая строка) и обратимся к строке второго блока с меткой metka (таким образом, будет рассмотрена ситуация с острым углом В и острым, либо прямым углом А).

В третьей строке первого блока отбросим повторное рассмотрение случая с прямым углом А (если сторона а совпадает с диаметром окружности, то угол А – прямой).

В четвертой строке рассмотрим случай с тупым углом А и острым углом В.

В пятой, шестой и седьмой строках рассмотрим случай, когда a < b. В этом случае угол А является всегда острым, т.е. в формулах 3.1.3 множитель znakА = 1.

В пятой строке положим дополнительно znakВ = 1, что соответствует острому или прямому углу В.

В шестой строке отбросим повторное рассмотрение случая В = 90.

В седьмой строке рассмотрим случай с острым углом А и тупым углом В.

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

Окончательно первый блок вычислительного модуля может иметь следующий вид:


REM В ы ч и с л и т е л ь н ы й м о д у л ь

REM Перебор возможных случаев

IF a > = b THEN znakA = 1: znakB = 1: GOSUB metka

IF a = 2 * R THEN END

IF a > b THEN znakA = -1: znakB = 1: GOSUB metka

IF a < b THEN znakA = 1: znakB = 1: GOSUB metka

IF b = 2 * R THEN END

IF a < b THEN znakA = 1: znakB = -1: GOSUB metka

GOTO konec


Во второй и третьей строках второго блока найдем синус и косинус углов А и В (соотношения 3.1.2 и 3.1.3). В четвертой строке найдем синус угла С и искомую сторону с (соотношения 3.1.4 и 3.1.1):


REM Вычисление искомых параметров

metka: sinA = a / (2 * R): cosA = znakA * SQR(1 - sinA ^ 2)

sinB = b / (2 * R): cosB = znakB * SQR(1 - sinB ^ 2)

sinC = sinA * cosB + cosA * sinB: c = 2 * R * sinC


В модуле визуализации построим необходимые изображения. В первом блоке обратимся к соответствующим подпрограммам построения изображений треугольника (по трем сторонам) и описанной окружности:


REM М о д у л ь в и з у а л и з а ц и и

REM Построение искомых изображений

cvet = 15: GOSUB tr: cvet = 14: GOSUB oo


С помощью операторов второго блока модуля визуализации в левой верхней части дисплея выведем слово «ДАНО:» (вторая строка блока), затем – числовые значения всех заданных элементов треугольника (третья строка).

Через пробел после слова «ОТВЕТ:» выведем значение искомой стороны с (пятая строка блока). В последней строке блока с помощью команды SLEEP приостановим выполнение программы. Пользователь имеет возможность в течение любого количества времени по изображению на экране компьютера оценить полученные результаты. После нажатия на любую клавишу экран очистится (команда CLS) и управление программой (команда RETURN) будет передано команде, следующей за служебным словом GOSUB metka.


REM Вывод на экран значений данных и искомых параметров

LOCATE 1, 1: PRINT "ДАНО:"

PRINT "a ="; a: PRINT "b ="; b: PRINT "R ="; R

PRINT : PRINT "ОТВЕТ:"

PRINT "c ="; c

SLEEP: CLS : RETURN


Зhello_html_6ecbc72.gif
авершается программа блоком, состоящим из подпрограмм
переход к экранным координатам (метка uv), построение треугольника по трем сторонам (tr), построение описанной окружности (оо), построение окружности (okr) и, наконец, пересечение двух прямых (mn).

Если «запустить» программу, то на экране появятся одно за другим изображения треугольников АВС и описанных около них окружностей для значений параметров a = 18, b = 14, R = 12 (на левом слайде рисунка 3.1.4 рассмотрен случай с острыми углами А и В, на правом – с тупым углом А, в обоих случаях приведены реверсивные изображения).


Сопровождение в ЦОР «Живая геометрия». Построим на рабочем поле среды «Живая геометрия» чертеж для рассматриваемой задачи. Для этого в меню Файл выберем команду Новый чертеж. На экране появится рабочее поле. В верхней части этого поля с помощью кнопки hello_html_m3b1b9b48.png на панели инструментов выделим курсором пунктирный прямоугольник, в котором поместим условие задачи (его можно скопировать из текстового файла).

Остальную часть рабочего поля представим в виде двух частей. В первой части найдем значение искомого параметра с, используя для этого конструктивные возможности среды. Другими словами построим с помощью циркуля и линейки треугольник АВС по заданным сторонам и радиусу описанной окружности, выведем на рабочее поле длину стороны АВ. Во второй части рабочего поля найдем значение параметра с, используя вычислительные возможности среды «Живая геометрия» и соотношения 3.1.1 – 3.1.4.

Приступим к реализации первой части. Используя кнопку Отрезок на панели инструментов, построим три отрезка, длины которых будут представлять собой некоторые значения данных параметров а, b и R (рис. 3.1.5). Выведем на экран их длины. Для этого каждый отрезок необходимо выделить инструментом Стрелка и обратиться к команде Длина меню Измерения.

Приступим к построению основного чертежа.

1. Построим отрезок ВС длина которого совпадает с длиной отрезка а, для этого: а) построим луч с началом в точке В (кнопка Луч на панели Инструментов); б) построим окружность с центром в точке В и радиуса а (меню Построения); в) найдем пересечение С луча с окружностью (меню Построения); г) соединим В и С отрезком (меню Построения); д) спрячем луч и окружность (меню Вид).

2. Построим окружность радиуса R, центр О которой находится на расстоянии R от точек В и С, для этого: а) построим первую вспомогательную окружность с центром в точке В и радиуса R (меню Построения); б) построим вторую вспомогательную окружность с центром в точке С и радиуса R (меню Построения); в) построим точку О пересечения вспомогательных окружностей (меню Построения); г) спрячем вспомогательные окружности (меню Вид); д) построим требуемую окружность с центром в точке О и радиуса R (меню «Построения»).

3. Изобразим искомые треугольники АВС и А1ВС, для этого: а) построим вспомогательную окружность с центром в точке С и радиуса b (меню Построения); б) построим точки пересечения А и А1 вспомогательной и описанной окружностей (меню Построения); в) построим треугольник АВС, соединив отрезками точку А с точками В и С (меню Построения); г) построим треугольник А1ВС, соединив отрезками точку А1 с точками В и С (меню Построения); д) спрячем вспомогательную окружность (меню Вид), треугольники окрасим разными цветами (меню Построения).

hello_html_m4f6fe1af.gif

4. Обозначим отрезок АВ через с, отрезок А1В через с1 и выведем на экран длины отрезков с и с1 (меню Измерения).

Приступим к реализации второй части. Найдем значение искомого параметра с, используя для этого вычислительные возможности среды «Живая геометрия» и полученные выше соотношения 3.1.1 – 3.1.4.

Подставляя в соотношение 3.1.4 значения синусов для углов А и В, получим: hello_html_m5a2ccbd1.gif. Но тогда, учитывая 3.1.1, получим:

hello_html_6c6ab4b9.gif. (3.1.5)

Если продолжить выражение параметра с через данные параметры a, b и R, то в 3.1.5 достаточно подставить значения косинусов углов А и В, которые можно получить из соотношений 3.1.2 и 3.1.3. Получим следующее соотношение:

hello_html_m2c204329.gif. (3.1.6)

В соотношении 3.1.6 знаки множителей, стоящих перед радикалами, зависят от значений данных отрезков и выбора того или иного случая, описанного в подпункте «Поиск соотношений». Поскольку в калькуляторе «Живой геометрии» такой перебор не предусмотрен, то мы выведем на рабочее поле значения углов А и В, полученных с помощью чертежа, и воспользуемся соотношением 3.1.5 и встроенным в среду калькулятором. В итоге мы найдем значения искомого параметра для всех возможных случаев.

В нижней части рабочего поля поместим ответ, в котором укажем в каких случаях задача: не имеет решения; имеет единственное решение; имеет два решения. Для каждого случая, допускающего решение, приведем соответствующую формулу, выражающую с через параметры a, b и R.

Сравним значения искомого параметра, полученные в первой и второй частях рабочего поля при различных значениях данных параметров. Для этого достаточно «потянуть» за конец одного из данных отрезков. Значения искомого параметра окажутся равными. Это подтверждает нашу гипотезу о том, что найденные соотношения верные.


Исследовательские задания. Используя компьютерные модели задачи 3.1, выполните следующие задания:

1. Меняя в установочном модуле бейсик-программы числовые значения данных параметров в рамках установленных для этих параметров ограничений, найдите соответствующие им числовые значения искомых параметров. Проверьте для некоторых числовых значений данных параметров утверждение о том, что при а b, а 2R и b 2R задача имеет два решения.

2. Меняя в бейсик-программе или на «живом» чертеже длины данных отрезков, проведите исследование, связанное с изучением зависимости одних величин от других, например, ответьте на следующие вопросы:

а) как будет изменяться величина угла B (или угла C), если значения а и b зафиксировать, допустим, а = 10, b = 14, а величину R изменять в некотором промежутке, допустим, от 9 до 20, с некоторым шагом, допустим, h = 0.1?

б) при всяких ли значениях a и b найдется такое значение R, при котором угол при вершине В будет прямым, острым, тупым?

в) в условиях эксперимента, заданного в пункте а), определите числовые границы изменения параметра с.

3. Задав на «живом» чертеже опцию Оставлять след, выясните какую линию описывает вершина А, если а и b зафиксировать, а R изменять в некотором промежутке. В качестве изменяемого параметра можно выбрать любой из двух других оставшихся параметров а или b.

4. Выясните, при каких числовых значениях данных параметров треугольник АВС является равнобедренным, может ли он быть равносторонним, прямоугольным.

5. Сформулируйте для задачи 3.1 задачи-аналоги.


3.2. Решение треугольника по двум сторонам и радиусу вписанной

окружности


Сформулируем более точно задачу, заявленную в заголовке пункта.

Задача 3.2. Найти сторону а треугольника АВС, если даны его стороны b и c и радиус r вписанной окружности. Построить электронное изображение треугольника АВС и вписанной в него окружности.


Компьютерный анализ. Несмотря на схожесть формулировок задач 3.1 и 3.2 их решения и сопутствующие им исследования заметно отличаются.

Выполним в среде «Живая геометрия» необходимые построения для того, чтобы можно было провести исследования, связанные с поиском решений. Откроем новый чертеж и в верхней части его рабочего поля изобразим отрезки b и c, выведем на экран длины этих отрезков. Затем построим отрезок r, который хоть и относится к категории данных параметров (является радиусом вписанной окружности), но использовать его мы будем лишь в качестве индикатора эксперимента. Выведем так же на экран числовое значение этого параметра, т.е. длину отрезка r.

В центре рабочего поля построим компьютерную модель треугольника АВС (рис. 3.2.1(а)), в котором АС = b и АВ = с. Построение проведем следующим образом:

1. Построим произвольную прямую и отрезок ВС на ней, для этого:

  • изобразим прямую линию;

  • выберем на прямой две произвольные точки, обозначим их В и С;

  • соединим точки В и С отрезком, обозначим этот отрезок через а, его длину выведем на экран.

2. Построим точку А и треугольник АВС так, чтобы АС = b и АВ = с, для этого:

  • построим вспомогательную окружность с центром в В и радиуса с;

  • построим вторую вспомогательную окружность с центром в С и радиуса b;

  • построим одну из точек пересечения вспомогательных окружностей, обозначим ее А (если пересечение окружностей окажется пустым множеством, то c помощью мышки изменим расстояние между В и С);

  • спрячем вспомогательные окружности;

  • построим треугольник АВС, обозначив его стороны АС и АВ через b и c, соответственно, длины отрезков b и c выведем на экран.

3. Построим геометрический образ параметра f, роль которого в нашей задаче будет играть радиус r(x) окружности, вписанной в АВС, попутно изобразим саму окружность и ее центр. Для этого:

  • построим биссектрисы углов А и В;

  • найдем точку пересечения биссектрис, обозначим ее О(х);

  • проведем через точку О(х) перпендикуляр к АВ;

  • найдем точку пересечения этого перпендикуляра с отрезком АВ;

  • соединим отрезком эту точку с точкой О(х), обозначим его r(x), длину отрезка выведем на экран;

  • построим вписанную в треугольник АВС окружность с центром в точке О(х) и радиуса r(x);

  • спрячем все вспомогательные линии (биссектрисы и перпендикуляр).

4. Соотнесем с построенным треугольником АВС данный параметр r в виде отрезка, представляющего собой радиус окружности, вписанной в угол ВАС, для наглядности построим и саму окружность, для этого:

  • построим биссектрисы углов А и В;

  • построим пунктирной линией продолжения боковых сторон АВ и АС треугольника АВС в нижнюю часть рабочего поля;

  • построим на расстоянии r от луча АВ прямую параллельную АВ, находящуюся с лучом АС в одной полуплоскости относительно АВ;

  • найдем точку О пересечения этой прямой с биссектрисой угла А;

  • построим окружность с центром в точке О и радиуса r, очевидно она будет касаться сторон угла ВАС, окрасим внутреннюю область этой окружности желтым цветом.

На рисунке 3.2.1 (а) представлено полученное на рабочем поле изображение.

hello_html_26771f13.gif

Теперь у нас есть все необходимое для проведения эксперимента. Приступим к его осуществлению. Подсветим курсором вершину С и мышкой начнем перемещать эту точку вправо по прямой ВС. Угол при вершине А начнет увеличиваться, одновременно с этим начнет увеличиваться и вписанная в этот треугольник окружность. Окрашенная окружность, имеющая постоянный радиус r, начнет постепенно приближаться к вершине А треугольника АВС. Последнее объясняется тем, что эта окружность по построению касается обеих сторон угла ВАС. На рисунке 3.2.1 (б) изображен один из стоп-кадров этого процесса.

Наконец, наступит такой момент, при котором обе окружности совпадут, и вместо двух мы будем наблюдать одну желтую окружность (рис. 3.2.1 (в)). Это совпадение представляет собой первый (промежуточный) результат нашего эксперимента: для конкретного набора значений данных параметров b, c и r существует такое значение искомого параметра a, что окружность, вписанная в треугольник со сторонами a, b и с, имеет радиус равный r.

Пhello_html_74d6e8c9.gif
родолжим увеличивать расстояние между вершинами В и С. Вписанная окружность еще некоторое время будет увеличиваться в размерах, а окрашенная – находиться внутри треугольника, естественно, уже не касаясь основания треугольника (рис. 3.2.1 (г)). Наконец, радиус вписанной окружности достигнет своего максимума, обозначим соответствующее значение радиуса вписанной окружности через r(x0) (оно высветится на экране) и начнется процесс уменьшения радиуса (попробуйте выяснить при каком значении угла А достигается максимум радиуса). На этом этапе произойдет повторное совпадение рассматриваемых окружностей (рис. 3.2.2 (а)). Поскольку числовое значение искомого параметра а в этом случае уже будет больше, чем в предыдущем случае, то мы получаем еще один результат эксперимента: второе решение задачи (при конкретных числовых значениях данных параметров).

При дальнейшем перемещении точки С окрашенная окружность перестанет помещаться внутри треугольника. На рисунке 3.2.2 (б) изображен один из этих моментов. Треугольник АВС пропадет с экрана после того как вершина С окажется на расстоянии большем или равном b + с от вершины В.

Перейдем к следующему этапу эксперимента. Выберем в качестве отрезка r такой, чтобы его длина совпала с максимальным значением r(x0) переменного радиуса r(x), которое мы зафиксировали на предыдущем этапе эксперимента. В этом случае окрашенная окружность при некотором положении точки С окажется вписанной в треугольник АВС (рис. 3.2.3 (а)), причем эта ситуация уже больше не повторится, поскольку дальнейшее уhello_html_m36e9fa13.gif
величение расстояния между С и В приведет к тому, что окрашенная окружность перестанет умещаться в треугольнике.

Итак, в этом случае задача будет иметь единственное решение.

И, наконец, если заданный отрезок r выбрать больше r(x0), то задача не будет иметь ни одного решения (рис. 3.2.3 (б), (в)).

hello_html_33b553ff.gif

П


оиск соотношений. Построим изображение треугольника АВС, впишем в него окружность. Как мы выяснили при анализе, для достаточно больших боковых сторон и фиксированном радиусе вписанной окружности таких треугольников будет два. Угол при вершине А одного из них - острый (рис.3.2.4 (а)), другого – тупой (рис. 3.2.4 (б)).

Обозначим искомую сторону а треугольника АВС через х и составим уравнение, связывающее данные и искомый параметры b, c, r и х. Для этого воспользуемся двумя известными формулами вычисления площади треугольника, формулой Герона и формулой площади через полупериметр и радиус вписанной окружности:

hello_html_m44085aa8.gifи hello_html_m7e4be373.gif.

Приравнивая квадраты правых частей, и, сокращая на полупериметр р, получаем:

hello_html_cbd13a7.gif, (3.2.1)

Полагая в равенстве (3.2.1) hello_html_m5b7e2563.gif и hello_html_m1215cefa.gif, получим:

hello_html_m6a42f143.gif. (3.2.2)

Выполняя в (3.2.2) тождественные преобразования, получим следующее кубическое уравнение:

hello_html_6b23167c.gif, (3.2.3)

или

hello_html_m144333cc.gif, (3.2.4)

где

hello_html_m65559d75.gif, hello_html_mf0480dd.gif, hello_html_1641d1bc.gif

Выполнив подстановку hello_html_76eb124b.gif, мы получим уравнение, в котором коэффициент при hello_html_12df8d05.gif равен нулю:

hello_html_m18869ef7.gif, (3.2.5)

где

hello_html_m670a2381.gif,

hello_html_m65510c74.gif.

Для решения задачи нам нужен не просто действительный корень, которым, как известно, уравнение 3.2.5 всегда обладает, а положительный действительный корень. Алгоритм нахождения действительных корней уравнения 3.2.5, использующий формулы Кардано, заложим в подпрограмму корни кубического уравнения (метка korni3). Как известно, алгоритм вычисления и количество различных действительных корней зависит от знака дискриминанта hello_html_m251849d7.gif кубического уравнения 3.2.5. При D < 0 два корня уравнения – мнимые, один действительный. При D 0 все корни уравнения 3.2.5 действительные, причем при D = 0, по меньшей мере, два из них равны между собой, при D > 0 все корни различные.


Сопровождение в среде QBasic. Перейдем к составлению бейсик-программы решения нашей задачи.

В первых трех блоках установочного модуля зададим графический экран, значения коэффициентов искажения ki и уменьшения ku, число (первый блок), сформулируем условие задачи (второй блок), присвоим параметрам, задающим треугольник, конкретные числовые значения (третий блок):


REM Задача 3.2 (две стороны и радиус вписанной окружности)

REM У с т а н о в о ч н ы й м о д у л ь

SCREEN 9: ki = 1.28: ku = 2 / 3: pi = 4 * ATN(1)


REM Условие задачи.

REM Даны две стороны b, с и радиус r вписанной окружности

REM треугольника АВС. Найти третью сторону а, построить

REM изображение треугольника и описанной окружности.


REM Числовые значения данных параметров

b = 6: c = 9: r = 3 / 2


В четвертом блоке программы поместим те ограничения на числовые значения данных параметров, которые не связаны со знаком дискриминанта det кубического уравнения:


REM Ограничения на числовые значения данных параметров

IF b <= 0 THEN PRINT "b <= 0": SLEEP: END

IF c <= 0 THEN PRINT "c<=0": SLEEP: END

IF r <= 0 THEN PRINT "r <= 0": SLEEP: END


В вычислительном модуле программы, состоящем из одного блока, подсчитаем значения искомого параметра. Одновременно введем ограничение (четырнадцатая строка) на случай, если дискриминант det окажется меньше нуля. Действительно, в случае det < 0, единственный действительный корень кубического уравнения 3.2.3 окажется отрицательным. Это означает, что числовые значения для параметров b, c и r выбраны так, что окружность радиуса r не может быть вписана ни в один треугольник с боковыми сторонами b и c:


REM В ы ч и с л и т е л ь н ы й м о д у л ь

a2 = -(b + c): a1 = 4 * r ^ 2 - (b - c) ^ 2

a0 = (b + c) * ((b - c) ^ 2 + 4 * r ^ 2): GOSUB korni3

IF det > 0 THEN

IF xx1 > 0 THEN a = xx1: GOSUB metka

IF xx2 > 0 THEN a = xx2: GOSUB metka

IF xx3 > 0 THEN a = xx3: GOSUB metka

END IF

IF det = 0 THEN

IF xx1 > 0 THEN a = xx1: GOSUB metka

IF xx2 > 0 THEN a = xx2: GOSUB metka

END IF

IF det < 0 THEN

PRINT «Увеличьте сторону b или c треугольника ABC»

IF xx1 > 0 THEN a = xx1: GOSUB metka

END IF: GOTO konec


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


REM М о д у л ь в и з у а л и з а ц и и

metka:

cvet = 15: GOSUB tr: cvet = 10: GOSUB vo


REM Вывод на экран значений данных и искомых параметров

LOCATE 1, 1: PRINT "DANO:"

PRINT "b="; b

PRINT "c="; c

PRINT "r="; r

PRINT : PRINT "OTVET:"

PRINT "a="; a

GOSUB ugolA: PRINT "ugol A ="; ugolA * 180 / pi; "grad."

SLEEP: CLS : RETURN


Зhello_html_m6f287533.gif
авершается программа блоком, состоящим из подпрограмм
переход к экранным координатам (метка uv), построение треугольника по трем сторонам (tr), построение вписанной окружности (vо), построение окружности (okr), деление отрезка в данном отношении (lamda), корни кубического уравнения (korni3)

Если запустить программу на выполнение, то на экране появится сначала изображение треугольника АВС с острым углом при вершине А, затем, после нажатия на любую клавишу – изображение треугольника АВС с тупым углом при вершине А. В обоих случаях на экране будут высвечены одни и те же числовые значения для данных параметров b, c и r и различные числовые значения для параметра а. На рисунке 3.2.5 (а) и (б) представлены оба изображения.


Сопровождение в ЦОР «Живая геометрия». Поскольку вычисление корней кубического уравнения сопряжено с достаточно большими выкладками и предусматривает ветвления, а встроенный в среду «Живая геометрия» калькулятор не имеет возможности их осуществлять, то при решении задачи 3.2 мы ограничимся лишь компьютерной моделью решения этой задачи в среде QBasic.


Исследовательские задания. Используя компьютерную модель задачи 3.2, выполните следующие задания:

1. Меняя в установочном модуле бейсик-программы числовые значения данных параметров, найдите соответствующие значения искомого параметра, естественно в том случае, если они существуют.

2. Задав в бейсик-программе длины данных отрезков b и с, и, изменяя в цикле значения параметра r, выяснить:

а) при каких значениях параметра с задача имеет два решения?

б) при каких значении параметра с задача имеет единственное решение?

в) при каких значениях параметра с задача не имеет решения?

3. Обозначив угол ВАС через х, выразите радиус r вписанной окружности через b, с и х, соответствующую зависимость обозначим r = f(x). Применяя графические возможности среды «Живая геометрия», постройте график функции f(x), положив для определенности b = 6, c = 8. Используя построенный график, выясните:

а) является ли функция f(x) периодической (если допустить, что х может принимать любые числовые значения), если да, то каков ее период?

б) при каком значении х задача будет иметь единственное решение, чему равен радиус соответствующей вписанной окружности? Уточните полученное значение с помощью бейсик-программы;

в) при каких значениях х радиус вписанной окружности равен 1? Уточните полученные значения с помощью бейсик-программы.

4. Задав на «живом» чертеже, построенном на этапе проведения компьютерного анализа, опцию Оставлять след, выясните какую линию описывает вершина А, если b и с зафиксировать, а угол А изменять в некотором промежутке.

5. Выяснить при каких числовых значениях данных элементов треугольник АВС является равнобедренным (а = с), может ли он быть равносторонним, прямоугольным.

6. Сформулируйте для задачи 3.2 задачи-аналоги.


3.3. Задачи для самостоятельного решения


Формулировки задач

3.3.1. Решите прямоугольный треугольник по двум катетам a и b.

3.3.2. Решите прямоугольный треугольник по катету a и гипотенузе с.

3.3.3. Решите треугольник по двум сторонам a, b и углу при вершине С.

3.3.4. Решите треугольник по двум сторонам a, b и углу при вершине А.

3.3.5. Решите треугольник по двум сторонам a, b и медиане ma, проведенной к стороне а.

3.3.6. Решите треугольник по двум сторонам a, b и медиане mс, проведенной к третьей стороне с.

3.3.7. Решите треугольник по двум сторонам a, b и высоте ha, проведенной к стороне а.

3.3.8. Решите треугольник по двум сторонам a, b и высоте hс, проведенной к стороне с.

3.3.9. Решите треугольник по двум сторонам a и b, если отношение третьей стороны с к высоте hа равно hello_html_512891fd.gif.

3.3.10. Решите треугольник по двум сторонам a и b, если радиус R описанной окружности совпадает со стороной b.

3.3.11. Решите треугольник по двум сторонам a и b, если медианы ma и mb к этим сторонам взаимно перпендикулярны.

3.3.12. Решите треугольник по двум сторонам a и b, если угол при вершине В в два раза больше угла при вершине А.

3.3.13. Решите треугольник по двум сторонам a, b и разности углов при вершинах А и В.

3.3.14. Решите треугольник по двум сторонам a, с и разности углов при вершинах В и С.

3.3.15. Решите треугольник по двум сторонам a, с и сумме 2А + С удвоенного угла при вершине А и угла при вершине С.

3.3.16. Решите треугольник по двум сторонам a и b, если длины высот ha и hc, проведенных к сторонам а и с, равны.

3.3.17. Решите треугольник по двум сторонам a, b и радиусу ra вневписанной окружности, касающейся стороны а.

3.3.18. Решите треугольник по двум сторонам a, b и радиусу rc вневписанной окружности, касающейся стороны c.

3.3.19. Решите треугольник по двум сторонам а и b, если сумма высот ha и hb, проведенных к сторонам а и b равна удвоенной высоте hc, проведенной к стороне с.

3.3.20. Решите треугольник по двум сторонам a и b, если площадь треугольника равна k2.


Рекомендации к решению задач.

3.3.9. Используя третье условие, найдите синус угла при вершине С.

3.3.10. По теореме синусов найдите угол при вершине С.

3.3.11. Рассмотрите прямоугольный треугольник ВМС. Пусть D – середина стороны ВС, тогда медиана ma = AD. Выразите MD через сторону ВС, затем ma – через стороны треугольника АВС.

3.3.17. Воспользуйтесь рекомендациями к решению задачи 3.2.

3.3.18. Воспользуйтесь рекомендациями к решению задачи 3.2.





































§ 4. Решение треугольников, заданных стороной и двумя элементами, не являющимися сторонами треугольника


Рассмотрим в этом параграфе решение треугольников, заданных тремя параметрами, среди которых лишь один является стороной. Для каждой такой задачи проведем компьютерный анализ, найдем метрические соотношения, которые выражают искомые параметры через данные. Затем, используя найденные соотношения, составим компьютерные модели или компьютерное сопровождение задач в средах QBasic и «Живая геометрия» с целью определения допустимых числовых значений для данных параметров и выявления их влияния на количество решений, сформулируем задания исследовательского характера.

Рассмотрим способ проведения компьютерного анализа с использованием среды «Живая геометрия», в соответствии со схемой приведенной в пункте 1.5. Будем считать, что искомый треугольник АВС задан стороной а и двумя параметрами f и g, не являющимися сторонами треугольника.

В основе компьютерного анализа лежат манипуляции со вспомогательным треугольником АВС, в котором сторона ВС совпадает с заданным параметром а, и выполняется лишь одно из ограничений, связанных с двумя другими параметрами, допустим, f. Ограничение, определяемое параметром g, на вспомогательный треугольник не накладывается и будет использоваться нами как индикатор эксперимента. Для изображения треугольника АВС и некоторых дополнительных фигур рекомендуется выполнить следующие построения:

1. В верхней части рабочего поля построим конкретные геометрические образы, соответствующие всем трем параметрам, задающим искомый треугольник. В частности, отрезок а и фигуры (или отношения фигур), соответствующие параметрам f и g. На экран выведем числовые значения всех трех параметров (длины отрезков, меры углов и т.д.).

2. В центре рабочего поля, используя конструктивные возможности среды «Живая геометрия», построим точки В и С, представляющие собой концы отрезка равного отрезку а. Отрезок ВС – первая сторона вспомогательного треугольника АВС.

3. Построим множество F всех точек плоскости таких, что любая из них, вместе с точками В и С, является вершиной треугольника, удовлетворяющего условию-параметру f (например, если параметр f – медиана ma, то F – окружность радиуса равного построенному отрезку mа и с центром в середине отрезка ВС, из которой удалены точки, лежащие на прямой ВС).

4. Построим третью вершину А вспомогательного треугольника как произвольную точку фигуры F, затем – две оставшиеся стороны треугольника – отрезки АC и АВ, обозначим их, соответственно, b и с, длины этих отрезков выведем на рабочее поле. Треугольник АВС можно окрасить.

5. Построим на основном чертеже геометрический образ G1 (фигуру или отношение фигур), который соответствует в построенном нами вспомогательном треугольнике АВС параметру g. Выведем числовое значение G1 на экран. Отметим, что значение этого параметра, вообще говоря, может не совпадать с тем значением, который мы задали в верхней части экрана.

6. Для оперативного анализа результатов эксперимента, соотнесем со вспомогательным треугольником АВС первоначально заданный геометрический образ параметра g, изобразив его на основном чертеже в наиболее удобном для эксперимента виде, например, в виде некоторой фигуры G.

После построения вспомогательного треугольника АВС и дополнительных фигур F, G и G1 можно приступать к проведению эксперимента. Подсветим вершину А и, нажав на левую клавишу мыши (или задав для А анимацию), начнем медленно перемещать ее, не меняя при этом положение точек В и С. Поскольку А выбрана как точка фигуры F, то любое новое положение А так же будет принадлежать фигуре F. Это означает, что при любом положении вершины А в треугольнике АВС будут выполняться оба ограничения, связанные с параметрами а и f.

Одновременно экспериментатор наблюдает за значениями параметра g и его геометрическими образами G и G1. Если при некотором положении вершины А геометрические образы совпадут (одновременно должны совпасть выведенные на экран соответствующие числовые значения этих образов), это означает, что треугольник АВС один из искомых.

Информацию о способе решения задачи могут подсказать линии, вычерчиваемые заранее выбранными точками фигур G и G1 в процессе анимации. Эту функцию точек можно задать с помощью команды Оставлять след. Удачный выбор точек может оказать помощь в нахождении конструктивного способа решения задачи.

Отметим, что при проведении компьютерного эксперимента бывает удобно фиксировать не сторону треугольника, а параметры f и g. Все рассуждения, приведенные нами выше, переносятся и на этот случай.


4.1. Решение треугольника по стороне, противолежащему углу и высоте к другой стороне.


Сформулируем более точно задачу, заявленную в заголовке пункта.

Задача 4.1. В треугольнике АВС даны сторона а, противолежащий ей угол при вершине А и высота hc. Найдите две другие стороны b и c, постройте электронное изображение треугольника АВС и высоты hc.


Компьютерный анализ. Итак, нам необходимо в треугольнике АВС, который задан следующими параметрами: а – длина стороны ВС, А – величина внутреннего угла при вершине А (параметр f), hc – длина высоты, опущенной на сторону АВ или ее продолжение (параметр g), найти две другие стороны b и c, построить электронное изображение треугольника АВС и высоты hc. Для того, чтобы можно было провести компьютерный анализ, предваряющий поиск необходимых соотношений, выполним в среде «Живая геометрия» следующие построения:

1hello_html_19a70017.gif. Откроем новый чертеж и в верхней части его рабочего поля изобразим отрезок а и угол А, выведем на экран числовые значения этих параметров. Затем построим отрезок hc, который хоть и относится к категории данных параметров, но использоваться нами будет в качестве индикатора эксперимента. Выведем так же на экран числовое значение этого параметра, т.е. длину отрезка hc.

2. В центре рабочего поля построим первые две вершины В и С вспомогательного треугольника АВС так, чтобы длина отрезка ВС совпала с числовым значением выбранного нами отрезка а. Для этого достаточно построить луч с началом в точке В, найти общую точку С этого луча и окружности с центром в точке В и радиуса а, соединить В и С отрезком (рис. 4.1.1).

3. Построим фигуру F, из каждой точки которой отрезок ВС виден под данным углом А. Эта фигура представляет собой две симметричные относительно ВС дуги без точек В и С. Для этого достаточно построить:

  • серединный перпендикуляр s к отрезку ВС;

  • луч h с началом в точке B, образующий с лучом ВС угол ( - А) / 2;

  • общую точку Р прямой s и луча h;

  • дугу ВРС и симметричную ей относительно ВС дугу ВР/С;

  • F – объединение открытых дуг ВРС и ВР/С.

4. На одной из этих дуг, например ВРС, выберем точку А, соединим ее с точками В и С, обозначим отрезки АС и АВ буквами b и с, соответственно. Очевидно, b и c представляют собой искомые параметры задачи. Выведем на экран числовые значения параметров b и с, т.е. длины отрезков АС и АВ. Окрасим треугольник АВС желтым цветом.

5. Построим геометрический образ G1 третьего параметра, который нами обозначен через g. Для этого спроектируем вершину С на прямую АВ, соответствующую проекцию обозначим D1. В качестве G1 возьмем отрезок CD1, обозначим его hc1, длину этого отрезка выведем на экран.

6hello_html_242a323c.gif
. Соотнесем с построенным нами вспомогательным треугольником АВС первоначально заданный геометрический образ hc параметра g, изобразив его на основном чертеже в виде отрезка на луче СD1 (фигура G). Для этого построим сначала луч СD1, затем окружность с центром в точке С и радиуса hc и, наконец, их общую точку, обозначим ее D. В качестве G возьмем отрезок CD, обозначим его hc.

Приступим к проведению эксперимента. Перемещая точку А по дуге, необходимо найти такие ее положения, при которых D и D1 совпадают. Именно в этих случаях треугольник АВС будет иметь данную высоту hc.

На рисунке 4.1.2 (а) показан первый промежуточный результат эксперимента, вспомогательный треугольник АВС – остроугольный, проекция вершины С на прямую АВ принадлежит стороне АВ, отрезок hc совпадает с отрезком hc1. На рис. 4.1.2 (б) треугольник АВС – тупоугольный, оба они являются искомыми.

Аhello_html_2f1cac48.gifвтоматизируем процесс поиска решения. Зададим для точек D и D1 опцию Оставлять след, а для точки А - опцию Анимация. По завершении анимации мы получим две дуги (рис. 4.1.3), пересечению которых и соответствуют точки, в которых происходит совпадение D и D1. Таким образом, при заданном наборе данных параметров задача будет иметь два решения.

Анализируя следы точек, приходим к выводу, что след точки D - дуга окружности с центром в точке С и радиуса hc, след точки D1 - дуга окружности диаметра ВС. Поскольку обе дуги можно построить циркулем и линейкой, то легко получить план конструктивного решения задачи. Для построения искомого треугольника АВС (или треугольников АВС и А1ВС) достаточно построить на ВС как на диаметре первую окружность, затем – вторую с центром в С и радиуса hc, найти их общие точки D и D1 (если они существуют). Затем, построить дугу ВРС и найти общие точки этой дуги с прямой BD (вершина А) и прямой BD1 (вершина A1).


Поиск соотношений. Выполним на листе бумаги чертежи, на которых изобразим треугольник АВС и высоту hc, опущенную из вершины С на прямую, содержащую сторону АВ (рис. 4.1.4 и 4.1.5). При одних и тех же числовых значениях данных параметров a, hc и ВАС на рис. 4.1.4 мы видим остроугольный треугольник АВС, а на рис. 4.1.5 – тупоугольный. Поскольку условие задачи не содержит ограничения на величину угла при вершине В, то можно предположить, что при некоторых числовых значениях данных параметров (элементов треугольника АВС) мы получим различные значения иhello_html_m4cd0d6bd.gif
скомых параметров. Наше предположение вполне согласуется и с результатами компьютерного анализа.

Необходимые соотношения будем искать, опираясь на теоремы синусов и косинусов. Найдем сначала синус угла В треугольника АВС, который вне зависимости от величины угла В легко находится из определения синуса:

hello_html_417c93c0.gif. (4.1.1)

Из прямоугольного треугольника АСD находим сторону b:

hello_html_m7c83d310.gif. (4.1.2)

Для нахождения третьей стороны с вычислим синус (или косинус) угла С. Поскольку сумма внутренних углов треугольника АВС равна , а угол при вершине А известен, то для нахождения синуса угла С найдем сначала косинус угла В:

hello_html_6fd24b63.gif. (4.1.3)

Здесь множитель znakB принимает значение 1, если угол В / 2, и –1 , если угол В – тупой. Отсюда, используя формулу для синуса суммы двух углов, находим:

hello_html_21d06d74.gif(4.1.4)

Теперь у нас есть все необходимое для того, чтобы вычислить оставшуюся третью сторону АВ:

hello_html_4b35f10c.gif(4.1.5)


Сопровождение в среде QBasic. Перейдем к составлению бейсик-программы, с помощью которой для заданных числовых значений параметров a, hc и ugolA определим две оставшиеся стороны b и с треугольника АВС, затем построим треугольник АВС, высоту hc и выведем на экран числовые значения всех данных и искомых элементов треугольника.

Программа будет состоять из трех модулей (установочного, вычислительного и визуализации), а также блока подпрограмм, необходимых для функционирования третьего модуля.

В первом блоке установочного модуля поместим заголовок программы, зададим графический экран и значения основных коэффициентов и констант программы: коэффициента ki искажения экрана, коэффициента ku уменьшения изображения и числа :


REM Задача 4.1 (сторона, противолежащий угол, высота)

REM У с т а н о в о ч н ы й м о д у л ь

SCREEN 9: ki = 1.28: ku = 0.6: pi = 4 * ATN(1)


Во втором блоке модуля программы поместим условие задачи:


REM Условие задачи.

REM В треугольнике АВС даны сторона а, противолежащий ей угол

REM при вершине А и высота hc. Найти стороны b и c, построить

REM электронное изображение треугольника АВС и высоты hc.


В третьем блоке модуля зададим числовые значения данных по условию задачи параметров треугольника АВС.


REM Числовые значения данных по условию задачи параметров

a = 9: ugolA = pi / 6: hc = 8


В последнем четвертом блоке модуля поместим ограничения на числовые значения параметров a, hc и ugolA треугольника АВС.

Первое ограничение (вторая строка блока) связано с тем, что параметр hc не может быть меньше или равен нулю.

Второе ограничение (третья строка блока) запрещает стороне a быть меньше перпендикуляра hc. Отсюда и из неравенства hc > 0 вытекает ограничение на первый заданный параметр: a > 0.

Третье ограничение (четвертая и пятая строки блока) связано с тем, что величина угла при вершине А может принимать лишь числовые значения из открытого интервала (0; ).

Вhello_html_m16a10cc3.gif шестой, седьмой и восьмой строках блока рассматривается ситуация, когда угол А не является острым (она представлена на рисунке 4.1.6). Вводится дополнительное ограничение на длину высоты hc, которая в случае тупого угла А должна не только не превышать сторону а, но и быть меньше произведения аsinA.

Действительно, устремим вершину А по окружности к вершине В. В этом случае секущая АВ будет стремиться к прямой l, касающейся окружности в точке В. Спроектируем вершину С на прямую l, обозначим проекцию через Р. Очевидно, что параметр hc не может принимать значения превышающие длину отрезка РС – катета прямоугольного треугольника ВРС. Поскольку величина угла РВС равна половине дуги ВАС, т.е. - ВАС, то РС = аsinA. Отсюда следует ограничение, записанное в седьмой строке блока.

Во всех аномальных случаях на экран выводится соответствующая информация, выполнение программы приостанавливается:


REM Ограничения на данные элементы треугольника АВС

IF hc <= 0 THEN PRINT "hc <= 0 ?": SLEEP: END

IF a < hc THEN PRINT "a < hc ?": SLEEP: END

IF ugolA <= 0 THEN PRINT "ugol A <= 0 ?": SLEEP: END

IF ugolA >= pi THEN PRINT "ugol A >= pi ?": SLEEP: END

IF ugolA >= pi / 2 AND hc >= a * SIN(ugolA) THEN

PRINT "ugol A >= pi/2 AND hc >= a * sinA ?": SLEEP: END

END IF


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

Во второй строке первого блока рассматривается случай когда угол при вершине В – острый или прямой. Значение угла А задается пользователем в установочном модуле и оно может быть любым, в том числе и больше /2. Поскольку в этом случае задача всегда имеет решение, то положим znakB = 1 и передадим управление программой в строку с меткой metka.

В третьей строке блока подготовим все необходимое для того, чтобы рассмотреть оставшийся случай с тупым углом В.

Сначала исключим из рассмотрения ситуацию, когда угол А является прямым или тупым. Сделать это нужно по двум причинам. Во-первых, эта ситуация уже была рассмотрена в предыдущем случае. И последнее, второй треугольник с тупым или прямым углом А не существует, поскольку при рассмотрении случая с тупым углом В угол при вершине А может быть только острым. Отсюда первое ограничение в третьей строке.

Обсудим еще одно ограничение на hс, а именно рассмотрим такой вопрос: если заданы острый угол А и сторона а, а угол В принимает все допустимые значения большие /2, то в каких границах будут изменяться соответствующие числовые значения высоты hс? На рисунке 4.1.7 для определенности изображен один из построенных нами в предыдущем случае остроугольных треугольников АВС. Вершина А этого треугольника лежит на открытой дуге A окружности А с центром в точке О и радиуса ОB.

Еhello_html_4d7f2c0.gifсли А будет пробегать все точки открытой дуги A, то точка D опишет другую открытую дугу D (изображена сплошной линией), принадлежащую окружности D, построенной на отрезке ВС как на диаметре. Концами дуги D являются точки Р и С, где Р – отличная от В точка пересечения прямой l и окружности D. Через l обозначена касательная к окружности А в точке В.

На рис. 4.1.7 изображены три положения точки А: собственно сама точка А, точка А/, и точка А//. Для точки А/ соответствующий треугольник А/ВС – прямоугольный, высота CD/ совпадает со стороной СВ. Для точки А// треугольник А//ВС – тупоугольный, высота CD// лежит вне этого треугольника. Очевидно, что когда вершина А треугольника АВС будет пробегать точки открытой дуги А/В окружности А, то точка D опишет открытую дугу ВР окружности D. Но тогда параметр hc (для треугольника с тупым углом В) должен удовлетворять следующему двойному неравенству: PC < hc < BC. Найдем длину катета РС прямоугольного треугольника СРВ. Поскольку РВС=ВАС, то РС = aSinA. Отсюда второе ограничение в третьей строке.

В последнем ограничении строки отбросим случай совпадения hc и a (угол В в этом случае прямой).

В последней четвертой строке присвоим переменной znakB значение равное –1 и передадим управление во второй блок модуля. Завершается строка командой безусловного перехода к последней строке программы.


REM В ы ч и с л и т е л ь н ы й м о д у л ь


REM Перебор различных вариантов решения задачи

znakB = 1: GOSUB metka

IF ugolA >= pi / 2 OR hc <= a * SinA OR hc = a THEN END

znakB = -1: GOSUB metka: GOTO konec


Во втором блоке модуля реализуем вычислительную часть решения задачи, соответствующую ремарку поместим в первой строке блока.

Во второй и третьей строках блока найдем синусы и косинусы углов А и В (соотношения 4.1.1 и 4.1.3), в четвертой – синус угла С (соотношение 4.1.4), в последней – длины двух искомых сторон b и c (соотношения 4.1.2 и 4.1.5).

Блок можно представить в следующем виде:


REM Вычислительная часть решения задачи

metka: sinA = SIN(ugolA): cosA = COS(ugolA)

sinB = hc / a: cosB = znakB * SQR(1 - sinB ^ 2)

sinC = sinA * cosB + cosA * sinB

b = hc / sinA: c = sinC * a / sinA


В модуле визуализации построим необходимые изображения. В первом блоке модуля обратимся к соответствующим подпрограммам построения изображений треугольника и высоты hc:


REM М о д у л ь в и з у а л и з а ц и и


REM Построение искомых изображений

cvet = 15: GOSUB tr: cvet = 12: GOSUB hc


С помощью операторов второго блока модуля в левой верхней части дисплея выведем слово «ДАНО:» (вторая строка модуля), затем – численные значения всех заданных элементов треугольника (третья и четвертая строки). С помощью операторов пятой строки выведем информацию о том к какому типу относится угол при вершине В: острый (прямой) или тупой. Через пустую строку после слова «OTВЕT:» выведем значение искомых сторон b и с (седьмая строка). Завершим блок строкой, содержащей команды SLEEP (приостанавливает выполнение программы), CLS (очищает экран), RETURN (передает управление программой оператору, следующему после GOSUB metka).


REM Вывод данных и искомых элементов треугольника

LOCATE 1, 1: PRINT "ДАНО:"

PRINT "a ="; a: PRINT "hc="; hc

PRINT "ugol A ="; ugolA * 180 / pi; "grad."

IF znakB=1 THEN PRINT "ugol B <=pi/2" ELSE PRINT "ugol B > pi/2"

PRINT : PRINT "OTВЕT:"

PRINT "b ="; b: PRINT "c ="; c

SLEEP: CLS : RETURN


Далее идет блок, состоящий из подпрограмм переход к экранным координатам (uv), построение треугольника по трем сторонам (tr), построение высоты hc (hc) и пересечение двух прямых (mn).

Еhello_html_79f337b8.gif
сли «запустить» программу на выполнение, то на экране первоначально появится треугольник с острым или прямым углом при вершине В (левый слайд на рис. 4.1.8). После нажатия на любую клавишу на экране появится второй треугольник с тупым углом при вершине В. Ясно, что это произойдет при условии существования такого треугольника.


Сопровождение в ЦОР «Живая геометрия». Построим на рабочем поле среды «Живая геометрия» «живой» чертеж. Для этого в меню Файл выберем команду Новый чертеж. В верхней части рабочего поля поместим условие задачи.

Остальную часть поля представим в виде двух частей.

В первой части найдем значения искомых параметров, используя конструктивные возможности среды. Вначале построим два данных отрезка a, hc и угол LMN, выведем на экран длины этих отрезков и величину угла (слайд изображения, полученного на рабочем поле среды «Живая геометрия», представлен на рис. 4.1.9).

Приступим к построению основного чертежа.

1. Используя кнопку Луч построим луч с началом в точке В, отложим на нем отрезок ВС равный а, спрячем вспомогательные луч и окружность.

2. Построим дугу 1 из каждой точки которой отрезок ВС виден под углом LMN. Для этого построим сначала серединный перпендикуляр к отрезку ВС, затем – луч с началом в точке В, образующий с лучом ВС угол (-LMN)/2, и, наконец, – общую точку построенных перпендикуляра и луча. По этой точке и вершинам В и С строим дугу 1, спрячем перпендикуляр, луч и их общую точку.

hello_html_2bf92261.gif

3. На отрезке ВС как на диаметре построим окружность 2, спрячем середину отрезка ВС.

4. Построим окружность 3 с центром в точке С и радиуса hc.

5. Построим точки пересечения окружностей 2 и 3. Обозначим через D ту из них, что лежит в одной полуплоскости с дугой 1 относительно прямой ВС, вторую – через D1, спрячем окружности 2 и 3.

6. Построим луч BD и найдем точку А, в которой луч BD пересекает дугу 1, спрячем луч BD.

7. Построим луч D1B и найдем точку А1, в которой луч D1B пересекает дугу 1, спрячем луч D1B и дугу 1.

8. Построим треугольники АВС и А1ВС, в которых в соответствии с построением ВС = а, ВАС = ВА1С = LMN и СD = CD1 = hc .

Во второй части найдем числовые значения искомых параметров, используя для этого вычислительные возможности среды «Живая геометрия» и полученные выше соотношения 4.1.1 – 4.1.5.

Подставим в соотношение 4.1.5 значение синуса угла С из 4.1.4, предварительно заменив в нем синус и косинус угла В на выражения, стоящие в правых частях соотношений 4.1.1 и 4.1.3. Получим следующее соотношение для нахождения параметра с:

hello_html_m18aec0a5.gif. (4.1.6)

В соотношении 4.1.6 знак, стоящий перед радикалом, зависит от значений данных параметров и того случая, который мы выберем для угла В. Используя соотношения 4.1.2 и 4.1.6 и возможности команды Калькулятор меню Вычисления среды «Живая геометрия», вычислим значения искомых параметров b и с. Сравним эти значения с теми, что получены в первой компьютерной модели и в первой части второй компьютерной модели. Для этого достаточно «потянуть» за конец одного из данных отрезков или за точку одной из сторон угла А. Значения искомого параметра окажутся равными. Это подтвердит нашу гипотезу о справедливости найденных соотношений.

В нижней части рабочего поля поместим ответ, в котором укажем информацию о том, в каких случаях задача не имеет решения, имеет единственное решение, имеет два решения. Для каждого случая, допускающего решение, приведем соответствующую формулу, выражающую b и с через параметры a, hc и угол при вершине А.


Исследовательские задания. Используя компьютерные модели задачи 4.1, выполните следующие задания:

1. Меняя в установочном модуле бейсик-программы числовые значения данных параметров в рамках установленных для этих параметров ограничений, найдите соответствующие им числовые значения искомых параметров, обратите особое внимание на те случаи, когда задача имеет одно или два решения.

2. Зафиксируйте в бейсик-программе или на «живом» чертеже длины отрезков а и hc, вычислите значения 1 = arcsin(hc/a) и 2 = - arcsin(hc/a). Проведите исследовательский эксперимент, связанный с проверкой числа решений задачи в зависимости от выбора промежутка изменения величины угла при вершине А. В частности, проверьте справедливость следующих утверждений:

а) задача не имеет решения, если hc a и A - arcsin(hc / a));

б) задача имеет единственное решение

b = hc/sinA; c=hcctgA + hello_html_m1b8a119c.gif,

если 0 < hc < a и arcsin(hc / a) < A < pi - arcsin(hc / a)

или hc = a и 0 < A < pi/2;

в) задача имеет два решения

b1 = hc / sinA; с1 = hc*ctgA + hello_html_m1b8a119c.gif,

b2 = hc / sinA; с2 = hc*ctgA - hello_html_m1b8a119c.gif,

если 0 < hc < a и 0 < A arcsin(hc / a).

3.Воспользуемся чертежом, который был построен для проведения компьютерного анализа. Для точек D и D1 зададим опцию Оставлять след. Задав анимацию для точки А, изучите следы точек D и D1. Как изменятся эти следы, если увеличить или уменьшить величину угла А? Задав дополнительно анимацию угла А, изучите полученное семейство следов.

4. Выяснить при каких числовых значениях данных элементов треугольник АВС является равнобедренным, равносторонним или прямоугольным.

5. Сформулируйте для задачи 4.1 задачи-аналоги.










4.2. Решение треугольника по стороне, радиусу вневписанной окружности и отношению полупериметра к радиусу другой вневписанной окружности.


Сформулируем более точно задачу, заявленную в заголовке пункта.

Задача 4.2. Дана сторона а треугольника АВС и радиус rа вневписанной окружности, касающейся этой стороны. Найти стороны b и c, если известно, что радиус rс вневписанной окружности, касающейся стороны с, совпадает с полупериметром р треугольника АВС, построить электронное изображение треугольника АВС и вневписанных окружностей, касающихся сторон а и с.


Кhello_html_m7678e76b.gif
омпьютерный анализ.
Итак, нам необходимо в треугольнике АВС, который задан параметрами а (длина стороны ВС) и ra (радиус вневписанной окружности wa, касающейся стороны ВС) и условием-ограничением f (равенство полупериметра р и радиуса rc), найти две другие стороны b и c. Компьютерный анализ начнем с того, что попытаемся ответить на следующий вопрос: влияет ли ограничение f на строение треугольника АВС и если да, то к какому типу относятся такие треугольники? Чтобы ответить на этот вопрос изобразим один из таких треугольников. Для этого построим на рабочем поле среды «Живая геометрия» прямую SH, выберем на ней точку, которая будет выполнять функцию вершины С. Вершина В находится на заданном расстоянии а от вершины С, поэтому построим пунктирной линией полуокружность w радиуса а (рис. 4.2.1). На w выберем точку В, на луче СH – произвольную точку А. Для треугольника АВС построим вневписанную окружность wcc центром в точке Ос и радиуса rc. Построим отрезок равный полупериметру треугольника АВС и отложим его на луче РОс, конец отрезка обозначим G. На рисунке 4.2.1 видно, что отрезок PG более чем в три раза превышает радиус rc. Перемещая вершину В по полуокружности w, найдем такое ее положение, при котором точки G и Oc совпадут.

Нhello_html_1d26f5ee.gif
а рисунке 4.2.2 приведено одно из таких положений. По чертежу видно, что угол при вершине
С – прямой. Перебирая различные значения для отрезков а и b, можно предположить, что совпадение полупериметра треугольника АВС и радиуса окружности wc происходит лишь в случае С = 90. Обоснуем предположение, используя для этого соответствующие утверждения геометрии.

Пусть L, Р и М – точки касания окружности wc с отрезком АВ, лучами СА и СВ, соответственно. Привлекая утверждение планиметрии о равенстве длин отрезков касательных, проведенных из одной точки к окружности, получаем AL = AP, BM = BL, CP = CM. Отсюда, АВ + ВС + АС = (AL + LB) + CB + CA = (AP + BM) + CB + CA = (CA + AP) + (CB + BM) = CP + CM = 2CP. Но тогда, СР = (АВ + ВС + АС) / 2 = р. Отметим, что поскольку наши выкладки носили общий характер, то аналогичное утверждение будет верно и для вершины А (В) и соответствующей вневписанной окружности wа (wb).

Итак, р = СР = СМ = МОс = РОс. Таким образом, СРОсМ – ромб, в котором углы при вершинах М и Р – прямые. Но тогда СРОсМ - квадрат и, следовательно, С = 90.

hello_html_m5ee8dcc6.gif

Завершим компьютерный анализ, предваряющий поиск необходимых соотношений. Для этого изобразим в среде «Живая геометрия» новый вспомогательный треугольник АВС с прямым углом при вершине С и некоторые дополнительные фигуры. Для этого выполним следующие построения:

1. Откроем новый чертеж и в верхней части его рабочего поля изобразим отрезок а, выведем на экран его числовое значение. Затем построим отрезок ra, который хоть и относится к категории данных параметров, но использоваться нами будет в качестве индикатора эксперимента. Выведем так же на экран числовое значение этого параметра.

2. В центре рабочего поля изобразим прямую SH, выберем на ней произвольную точку С, восстановим из этой точки перпендикуляр к прямой SH, отложим на нем от точки С отрезок ВС равный а. Выберем на луче СН произвольную точку А, получим вспомогательный прямоугольный треугольник АВС с «подвижной» вершиной А (рис. 4.2.3).

3. Построим для треугольника АВС вневписанную окружность w1 (окрашена голубым цветом), касающуюся стороны ВС и продолжения сторон АВ и АС, с центром в точке О1 и радиусом r1, который может не совпадать с радиусом ra.

4. Соотнесем с построенной конфигурацией окружность wa заданного радиуса ra так, чтобы она касалась лучей CS и СВ. Центр этой окружности обозначим Оа, точку касания с лучом СS обозначим Q. Отметим, что построенная окружность может не касаться продолжения стороны АВ.

hello_html_m2bd4ac1.gif

Приступим к проведению эксперимента. Перемещая точку А по лучу СН, найдем такое ее положение, при котором r1 = ra, одновременно Q1 = Q и О1 = Оа. Именно в этом случае треугольник АВС будет иметь вневписанную окружность с заданным радиусом ra.

На рисунке 4.2.4 показано положение точки А, при котором обе окружности совпадают. Анализируя полученное изображение, можно предположить, что для конструктивного способа построения треугольника АВС достаточно построить прямой угол SCB (СВ = а), вписать в него окружность заданного радиуса ra и построить на окружности точку Т, из которой отрезок ВОа виден под углом 90 (Т не лежит на ВС). Третья вершина А треугольника получится в результате пересечения лучей ТВ и CН. Таким образом, при подходящих значениях данных параметров а и ra задача будет иметь решение, причем единственное.


Пhello_html_4e543e2f.gif
оиск соотношений.
Выполним на листе бумаги чертеж, на котором изобразим прямоугольный треугольник АВС (С = 90) с заданным катетом ВС = а и вневписанную окружность wa с заданным радиусом ra, которая касается стороны ВС и продолжений сторон АС и АВ в точках Q и Т, соответственно (рис. 4.2.5).

Найдем соотношения, которые выражают искомые параметры b = АС и с = АВ через а и ra. Положим b = х. По теореме Пифагора hello_html_3d991924.gif. Найдем полупериметр р треугольника АВС:

hello_html_m6fdcf4bb.gif. (4.2.1)

При компьютерном анализе мы установили, что полупериметр р треугольника АВС равен расстоянию от любой его вершины до точек касания прямых, проведенных из этой вершины к окружности, касающейся противоположной стороны и продолжения прилежащих сторон. Отсюда,

р = АQ = АС + CQ = x + ra. (4.2.2)

Приравнивая правые части соотношений 4.2.1 и 4.2.2, получим после выполнения тождественных преобразований уравнение первой степени, из которого находим неизвестное х:

hello_html_787852c2.gif. (4.2.3)

Если положить АВ = y, тогда hello_html_4c697001.gif. Составляя по аналогии с предыдущими рассуждениями уравнение и решая его, получим:

hello_html_m23eeb7de.gif. (4.2.4)


Сопровождение в среде QBasic. Перейдем к составлению бейсик-программы, которая для заданных числовых значений параметров a и ra определит две оставшиеся стороны b и с треугольника АВС, затем построит треугольник АВС, вневписанные окружности wa и wc и выведет на экран числовые значения всех данных и искомых элементов треугольника.

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

В первом блоке установочного модуля поместим заголовок программы, зададим графический экран и значения основных коэффициентов и констант программы: коэффициента ki искажения экрана, коэффициента ku уменьшения изображения и числа :


REM Задача 4.2 (сторона a, радиус ra, соотношение p = rc)

REM У с т а н о в о ч н ы й м о д у л ь

SCREEN 9: ki = 1.28: ku = .5: pi = 4 * ATN(1)


Во втором блоке модуля программы поместим условие задачи:


REM Условие задачи.

REM В треугольнике АВС даны сторона a и радиус ra окружности wa.

REM Найти стороны b и с, если известно, что радиус rc окружности

REM wc совпадает с полупериметром р. Построить электронное изоб-

REM ражение треугольника АВС и вневписанных окружностей wa и wc.


В третьем блоке модуля зададим числовые значения данных по условию задачи элементов треугольника АВС.


REM Данные по условию задачи элементы треугольника

a = 6: ra = 4: p = rc


В последнем четвертом блоке модуля поместим ограничения на числовые значения данных параметров a и ra треугольника АВС.

Первое ограничение (вторая строка блока) связано с тем, что параметр ra не может быть меньше или равен нулю.

Ограничения в последних двух строках блока связаны с естественными условиями b > 0 и c > 0. Подставляя в эти неравенства соответствующие значения параметров b и с из соотношений 4.2.3 и 4.2.4, получим систему неравенств 2raa > 0 и ara > 0 или двойное неравенство ra < a < 2ra.

Во всех аномальных случаях на экран выводится соответствующая информация, выполнение программы приостанавливается:


REM Ограничения на числовые значения данных параметров

IF ra <= 0 THEN PRINT "ra <= 0 ?": SLEEP: END

IF a <= ra THEN PRINT "a <= ra ?": SLEEP: END

IF 2 * ra <= a THEN PRINT "2*ra <= a ?": SLEEP: END


Второй вычислительный модуль программы состоит из одного блока, в котором реализуется вычислительная часть решения задачи в соответствии с соотношениями 4.2.3 и 4.2.4. Блок можно представить в следующем виде:


REM В ы ч и с л и т е л ь н ы й м о д у л ь


REM Нахождение числовых значений искомых параметров

b = 2 * ra * (a - ra) / (2 * ra - a)

c = ((a - ra) ^ 2 + ra ^ 2) / (2 * ra - a)


В модуле визуализации построим необходимые изображения. В первом блоке модуля обратимся к соответствующим подпрограммам построения изображений треугольника, окружностей wa и wc и соответствующих лучей:


REM М о д у л ь в и з у а л и з а ц и и


REM Построение искомых изображений

cvet = 15: GOSUB tr: GOSUB ugolA

GOSUB ra: GOSUB lichAB: GOSUB lichAC

GOSUB rc: GOSUB lichCA: GOSUB lichCB


С помощью операторов второго блока модуля в левой верхней части дисплея выведем слово «ДАНО:» (вторая строка модуля), затем – числовые значения всех заданных параметров треугольника и условие-ограничение f (третья строка). Через пустую строку поместим слово «OTВЕT:», затем выведем значения искомых сторон b и с (пятая строка), полупериметра р и радиуса rc (шестая и седьмая строки), угла при вершине А (для проведения исследований). Завершим блок строкой, содержащей команды SLEEP (приостанавливает выполнение программы), CLS (очищает экран), GOTO konec (передает управление программой последней строке с меткой konec).


REM Вывод на экран значений данных и искомых параметров

LOCATE 1, 1: PRINT "ДАНО:"

PRINT "a ="; a: PRINT "ra ="; ra: PRINT "p = rc"

PRINT : PRINT "OTВЕТ:"

PRINT "b ="; b: PRINT "c ="; c

PRINT "p= "; (a + b + c) / 2

PRINT "rc="; (a * b) / (a + b - c)

PRINT "ugol A="; ugolA * 180 / pi; "гр."

SLEEP: CLS : GOTO konec


Дhello_html_79590c42.gif
алее идет блок, состоящий из подпрограмм
перехода к экранным координатам (метка uv), построение треугольника по трем сторонам (метка tr), построение вневписанных окружностей (метки оa и оc), лучей АВ, АС, СА и СВ (метки luchAB, luchAC, luchCA, luchCB), построение произвольного луча (метка luch2), вычисление угла при вершине А (метка ugolA) и деление отрезка в данном отношении (метка lamda).

Если «запустить» программу на выполнение, то на экране появится прямоугольный треугольник АВС с двумя вневписанными окружностями (рис. 4.2.6).


Сопровождение в ЦОР «Живая геометрия». Построим на рабочем поле среды живая геометрия «живой» чертеж. Для этого в меню Файл выберем команду Новый чертеж. В верхней части рабочего поля поместим условие задачи.

Остальную часть поля представим в виде двух частей.

В первой части найдем значения искомых параметров, используя для этого конструктивные возможности среды. Вначале построим два данных отрезка a и ra, выведем на экран длины этих отрезков.

Приступим к построению основного чертежа.

hello_html_m7c33265d.gif

1. Используя кнопку Прямая на панели инструментов, построим горизонтальную прямую, выберем на ней точку С и построим луч с началом в точке С и перпендикулярный прямой. Отложим на луче отрезок ВС равный а и построим окружность wa радиуса ra, касающуюся прямую и луч, окрасим внутреннюю область окружности голубым цветом. Точку касания wa и прямой обозначим через Q, центр окружности – Оа. Спрячем прямую и луч, построим луч QC (рис. 4.2.7).

2. Проведем к окружности wa из точки В касательную, отличную от ВС, найдем точку А пересечения этой касательной и луча QC. Соединим точки А, В и С отрезками, окрасим внутреннюю область полученного треугольника АВС желтым цветом. Выведем на экран длины b и с искомых сторон АС и АВ треугольника АВС.

3. Построим вневписанную для треугольника АВС окружность с, касающуюся стороны АВ и продолжений сторон АС и ВС, окрасим ее внутреннюю область зеленым цветом, обозначим радиус окружности rс, центр окружности - Ос. Выведем длину rс на экран. Вычислим полупериметр р треугольника АВС и убедимся в том, что он совпадает с радиусом rc.

Во второй части найдем числовые значения искомых параметров, используя для этого вычислительные возможности среды «Живая геометрия». Подсветим курсором находящиеся на экране значения данных параметров а и ra и обратимся к команде Вычислить. Используя полученные выше соотношения 4.2.3 и 4.2.4, найдем значения искомых параметров b и с. Сравнивая эти значения с теми, что получены в первой части, обнаружим их полное совпадение.

Возьмем другие значения параметров а и ra. Для этого достаточно «потянуть» за конец любого из данных отрезков, расположенных в верхней части рабочего поля. Значения искомых параметров, которые в первой и второй частях подсчитывались разными способами, окажутся равными. Это подтвердит нашу гипотезу о справедливости найденных соотношений.

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


Исследовательские задания. Используя компьютерные модели задачи 4.2, выполните следующие задания:

1. Меняя в установочном модуле бейсик-программы числовые значения данных параметров в рамках установленных для этих параметров ограничений, найдите соответствующие им числовые значения искомых параметров, обратите особое внимание на те значения параметров, при которых задача не имеет решений (a ra, a 2ra), согласуется ли это с конструктивным способом построения треугольника АВС.

2. Воспользуемся «живым» чертежом, который был построен для проведения компьютерного анализа. Задав анимацию для вершины А, изучите при каком отношении данных отрезков величина угла при вершине А будет равна 30, 45, 60. Получите соответствующие формулы.

3. Решите следующие задачи-аналоги для задачи 4.2:

Задача 4.2а. Дана сторона а треугольника АВС и радиус rа вневписанной окружности, касающейся этой стороны. Найти стороны b и c, если известно, что радиус rс вневписанной окружности, касающейся стороны с, в hello_html_m980c3de.gif меньше полупериметра р треугольника АВС, построить электронное изображение треугольника АВС и вневписанных окружностей, касающихся сторон а и с.

Эта задача решается по аналогии с рассмотренной выше. Вначале необходимо выяснить каким образом последнее условие-требование влияет на вид треугольника АВС, на величину угла при вершине С. Найдя значение угла АСВ, следует перейти к нахождению зависимостей искомых параметров от данных.

Задача 4.2б. В треугольнике АВС сторона а = 3, радиус вневписанной окружности, касающейся этой стороны rа = 2. Найти стороны b и c, если известно, что радиус rс вневписанной окружности, касающейся стороны с, совпадает с полупериметром р треугольника АВС, построить электронное изображение треугольника АВС и вневписанных окружностей, касающихся сторон а и с.

Эта задача решается с использованием соотношений, полученных в задаче 4.2.

Задача 4.2в. Дана сторона а треугольника АВС и угол при вершине А. Найти стороны b и c, если известно, что радиус rс вневписанной окружности, касающейся стороны с, в hello_html_m980c3de.gif меньше полупериметра р треугольника АВС, построить электронное изображение треугольника АВС и вневписанных окружностей, касающихся сторон а и с.

Эта задача сводится к задаче 4.2 простым переобозначением вершин треугольника АВС.


4.3. Задачи для самостоятельного решения


Формулировки задач.

4.3.1. Решить прямоугольный треугольник по катету b и прилежащему острому углу.

4.3.2. Решить прямоугольный треугольник по катету а и медиане mc, проведенной к гипотенузе.

4.3.3. Решить прямоугольный треугольник по катету а и медиане mb, проведенной к другому катету.

4.3.4. Решить прямоугольный треугольник по катету а и высоте hc, проведенной к гипотенузе.

4.3.5. Решить прямоугольный треугольник по гипотенузе с и сумме q катетов а и b.

4.3.6. Решить прямоугольный треугольник по катету b и расстоянию от центра О1 вписанной окружности до вершины А.

4.3.7. Решить прямоугольный треугольник по катету а и радиусу r вписанной окружности.

4.3.8. Решить прямоугольный треугольник по катету а и сумме q радиусов описанной и вписанной окружностей.

4.3.9. Решить прямоугольный треугольник по катету а и биссектрисе bC, проведенной из вершины прямого угла при вершине С.

4.3.10. Решить треугольник по стороне b и углу при вершине А, если сторона с совпадает с диаметром описанной окружности.

4.3.11. Решить треугольник по стороне b, медиане mb, проведенной к стороне b, если угол между стороной b и медианой mc, проведенной к стороне с, совпадает с углом при вершине А.

4.3.12. Решить треугольник по стороне а и медиане mb, проведенной к стороне b, если сторона с равна удвоенной медиане mc, проведенной к стороне с.

4.3.13. Решить треугольник по стороне а и радиусу ra вневписанной окружности, касающейся стороны а, если радиус rс вневписанной окружности, касающейся стороны с, равен полупериметру p треугольника.

4.3.14. Решить треугольник по стороне а, углу при вершине А и высоте hc, проведенной к стороне с.

4.3.15. Решить треугольник по стороне с и медианам mа и mb, проведенным к сторонам а и b, соответственно.

4.3.16. Решить треугольник по стороне а, радиусу R описанной окружности и углу при вершине В.

4.3.17. Решить треугольник по стороне с, углу при вершине А и сумме q стороны а и высоты hb, проведенной к стороне b.

4.3.18. Решить треугольник по стороне с, высоте hа, проведенной к стороне а и сумме f углов при вершинах А и В (f < 90).

4.3.19. Решить треугольник по стороне b, высоте hа, проведенной к стороне а, и углу при вершине В.

4.3.20. Решить треугольник по стороне а и углу при вершине В, если сторона b равна удвоенной высоте hс, проведенной к стороне с.

4.3.21. Решить треугольник по стороне с, углу при вершине А и сумме q сторон а и b.

4.3.22. Решить треугольник по стороне а и углу при вершине А, если биссектриса bA, проведенная из вершины А, совпадает со стороной с.

4.3.23. Решить треугольник по стороне b, если известны углы f и g, под которыми видны стороны АВ и ВС из центра вписанной окружности.


Рекомендации к решению задач.

4.3.6. Проведите О1D перпендикулярную АС и докажите, что DA равно разности br, воспользуйтесь теоремой Пифагора для треугольника О1DА.

4.3.8. Выразите R и r через стороны треугольника, воспользуйтесь затем указаниями к задаче 4.3.6.

4.3.9. В треугольнике ВСD найдите сторону ВD и В (CD = bC ).

4.3.17. Эта задача легко сводится к задаче 4.1. Действительно, по условию задачи 4.3.17 находим высоту hb: hb = csinA, отсюда, a = qhb. Итак, нам известна сторона а, противолежащий угол при вершине А и высота hb, проведенная к боковой стороне b. А это и есть условие задачи 4.1 с одной лишь небольшой поправкой, связанной с высотой. Высота «немного» не та, т.е. вместо hc дана hb. Понятно, что теперь достаточно в треугольнике АВС вершину А обозначить через В и, наоборот, В – через А.

4.3.18. Эта задача также легко сводится к задаче 4.1. Действительно, по условию задачи 4.3.18 можно найти угол при вершине С. Для этого достаточно из общей суммы углов треугольника, которая как известно, равна , вычесть данный угол . Итак, нам известна сторона с, противолежащий ей угол при вершине С и высота hа, проведенная к стороне а. А это и есть условие задачи 4.1, в котором надо лишь переобозначить вершины треугольника АВС.

4.3.19. Эта задача сводится к задаче 4.1 простым переобозначением вершин треугольника АВС.





§ 5. Решение треугольников, заданных тремя элементами,

не являющимися сторонами треугольника


Рассмотрим в этом параграфе решение треугольников, заданных тремя элементами, не являющимися сторонами треугольника. Для каждой такой задачи проведем компьютерный анализ, найдем метрические соотношения, которые выражают искомые параметры через данные. Затем, используя найденные соотношения, составим компьютерные модели или компьютерное сопровождение задач в средах QBasic и «Живая геометрия», сформулируем ряд исследовательских заданий.


5.1. Решение треугольника по высотам к двум сторонам и углу между этими сторонами.

Сформулируем более точно задачу, заявленную в заголовке пункта.

Задача 5.1. Найти стороны треугольника АВС, если заданы высоты ha и hc и угол АВС. Построить электронное изображение искомого треугольника и заданных высот.


Компьютерный анализ. Итак, необходимо в треугольнике АВС, который задан параметрами f (угол АВС), g (высота ha, проведенная из вершины А к прямой, содержащей сторону ВС) и h (высота hс, проведенная из вершины С к прямой, содержащей сторону АВ), найти стороны а, b и c.

Проведем анализ, связанный с определением конструктивного способа построения АВС и нахождением возможного числа решений, предваряющий поиск необходимых метрических соотношений. Для этого изобразим в среде «Живая геометрия» вспомогательный треугольник АВС и некоторые дополнительные фигуры. Выполним следующие построения:

1. Откроем новый чертеж и в верхней части его рабочего поля построим геометрический образ, соответствующий параметру f в виде конкретного угла KLM, его величину в градусах (числовое значение первого параметра f) выведем на экран. Именно такую величину должен будет иметь угол при вершине А вспомогательного треугольника АВС. Изобразим затем отрезки ha (соответствует второму параметру g) и hc (соответствует третьему параметру h), выведем на экран их длины (числовые значения параметров g и h, соответствующие построенным геометрическим образам этих параметров).

2hello_html_m4a1e4d5.gif. В центре рабочего поля изобразим точку В и фигуру F, представляющую собой два луча p и q с началом в точке В, образующим угол (p, q) равный KLM. В качестве точки А выберем произвольную точку луча q, в качестве C – произвольную точку луча p. Построим АВС, соединив вершины А, В и С отрезками, положим АВ = с, АС = b, ВС = а, длины искомых параметров выведем на экран, окрасим АВС желтым цветом (рис. 5.1.1). Обратим внимание на то, что во вспомогательном треугольнике АВС выполняется лишь одно ограничение, связанное с тремя данными по условию задачи параметрами, а именно, с параметром f. Ни одна из высот, проведенных из вершин А и С, вообще говоря, не совпадает с отрезками ha и hc, построенными в предыдущем пункте.

3. Построим высоты AD1 и СЕ1, соответствующие в треугольнике АВС параметрам g и h, соответственно. Длины отрезков AD1 и СЕ1 (числовые значения параметров g и h для АВС) выведем на рабочее поле чертежа.

4. Соотнесем со вспомогательным треугольником АВС первоначально заданные геометрические образы параметров g и h, изобразив их на основном чертеже в виде отрезков AD и СЕ, соответственно, где D принадлежит лучу AD1, Е принадлежит СЕ1, AD = ha, CE = hc.

Приступим к проведению эксперимента. Начнем перемещать вершину А по лучу q, а вершину С по лучу p, при необходимости можно задать анимацию этих точек. Если применить к точкам D и Е команду Оставлять след, то на экране дополнительно к построенным ранее фигурам добавятся два отрезка, представляющие собой следы точек D и E (рис. 5.1.2 (а)).

Найдем такое положение А и С, при котором D1 = D, E1 = E. Ясно, что это произойдет в том случае, когда след точки D пересечет луч p, а след точки Е – луч q. Именно в этом случае (рис. 5.1.2 (б)) треугольник АВС будет удовлетворять все трем ограничениям, соответствующим параметрам f, g и h.

Мhello_html_2a38a1b.gif
еняя значения данных параметров, приходим к предположению о том, что задача всегда имеет решение, причем – единственное. Кроме этого, рисунок 5.1.2 (а) подсказывает одно из конструктивных решений задачи: берется произвольная точка на луче р, от этой точки в направлении ко второму лучу q и перпендикулярно ему откладывается отрезок hc, через конец которого проводится прямая параллельная р, пересечение этой прямой с лучом q дает проекцию вершины С на сторону АВ. По этой проекции вершина С определяется однозначно. Аналогично, строится вершина А.

Следует отметить, что это не самый рациональный способ построения искомого треугольника с помощью циркуля и линейки. Если в качестве вспомогательного треугольника мы выбрали бы треугольник АВС, в котором вершина В совпадала с вершиной (p, q), вершина А находилась на расстоянии hа от луча р, а вершина С – на расстоянии hc от луча q, то мы бы получили в качестве инструмента исследования треугольник АВС, в котором, вообще говоря, не выполнялось бы ни одно из условий, соответствующих данным параметрам (рис. 5.1.3). Однако, несмотря на это обстоятельство, именно по тhello_html_5abb985.gifакой схеме в большинстве случаев происходит конструирование искомого треугольника. Действительно, если в этой компьютерной модели для вершин А и С задать опцию Оставлять след, то мы получим в качестве следов две прямые m и n, отстоящие от сторон угла (p, q) на расстоянии ha (от прямой, содержащей луч р) и hc (от прямой, содержащей луч q), соответственно.

Точка пересечения Х прямой m с лучом q и точка пересечения Y прямой n с лучом p и дадут две оставшиеся вершины искомого треугольника (рис. 5.1.3).

hello_html_65201f4d.gif

Поиск соотношений. Выполним на листе бумаги чертеж (рис.5.1.4), на котором изобразим искомый треугольник, проведем высоты AD = ha и CЕ = hc. Поскольку высота перпендикулярна стороне треугольника, к которой она проведена, то ее появление на чертеже позволяет привлечь к исследованию дополнительно два прямоугольных треугольника. В каждом из них известен, по крайней мере, один катет (данная высота).

Первое, на что необходимо направить свои усилия – это попытаться найти хотя бы в одном из этих двух треугольников еще один элемент, который вместе с известным катетом однозначно определит треугольник. В нашей задаче с высотой AD связаны два прямоугольных треугольника ABD и ACD. Если В не совпадает с D, то ABD однозначно определяется катетом AD = ha и углом АВD равным данному углу АВС (в случае, если угол АВС - острый) или hello_html_399d0bee.gif (если угол АВС - тупой). Гипотенузу АВ можно найти, используя для этого определение синуса:

hello_html_461dfdd4.gif. (5.1.1)

Отметим, что если B = D, то треугольник ABD вырождается в отрезок АВ. Однако в этом случае АВС = /2, SinB = 1 и, следовательно, c = ha, т.е. соотношение 5.1.1 верно и в этом случае.

Аналогично рассуждая, но уже в связи с рассмотрением второй данной высоты СЕ, из прямоугольного треугольника СВЕ находим вторую сторону треугольника:

hello_html_m7e1d50fe.gif(5.1.2)

Зная две стороны а и с и угол АВС между ними, можно найти оставшуюся сторону АС треугольника АВС. Для этого достаточно воспользоваться теоремой косинусов:

hello_html_6407a4e3.gif(5.1.3)


Сопровождение в среде QBasic. Перейдем к составлению бейсик-программы, которая для заданных числовых значений параметров В, ha и hc сначала определит все стороны треугольника АВС, затем построит изображение треугольника так, чтобы треугольник был максимально большим на экране компьютера.

Кроме этого, программа должна построить изображения двух данных высот и вывести на экран числовые значения всех заданных и искомых элементов треугольника.

В первых трех блоках установочного модуля поместим заголовок программы, зададим графический экран и значения основных констант программы: коэффициента искажения экрана ki, коэффициента уменьшения ku = 1, числа , сформулируем условие задачи и присвоим данным по условию задачи параметрам конкретные числовые значения:


REM Задача 5.1 (две высоты и угол)

REM У с т а н о в о ч н ы й м о д у л ь

SCREEN 9: ki = 1.28: ku = 1: pi = 4 * ATN(1)


REM Условие задачи.

REM Найти стороны треугольникa АВС, если

REM известны высоты ha, hc и угол АВС. Построить

REM изображение треугольника и заданных высот.


REM Числовые значения данных параметров

ugolB = pi / 3: ha = 12: hc = 8


В четвертом блоке модуля поместим ограничения на числовые значения заданных параметров. В нашей задаче, очевидно, что параметры ugolB, ha, и hc могут принимать лишь положительные значения. Кроме того, параметр ugolB, задающий величину угла АВС в радианах, должен быть меньше развернутого угла. Если хотя бы одно из этих условий не будет выполнено, то на экране высветится соответствующая информация и выполнение программы приостановится.

Четвертый блок установочного модуля может иметь следующий вид:


REM Ограничения на числовые значения данных параметров

IF ugolB <= 0 OR ugolB >= pi THEN PRINT "ugolB=?": SLEEP: END

IF ha <= 0 THEN PRINT "ha <= 0 ?": SLEEP: END

IF hc <= 0 THEN PRINT "hc <= 0": SLEEP: END


Вычислительный модуль будет состоять из одного блока, в котором, используя соотношения 5.1.1 – 5.1.3, реализуем вычислительную часть решения задачи:


REM В ы ч и с л и т е л ь н ы й м о д у л ь

REM Вычислительная часть решения задачи

sinB = SIN(ugolB): cosB = COS(ugolB)

c = ha / sinB: a = hc / sinB

b = SQR(a ^ 2 + c ^ 2 - 2 * a * c * cosB)


В модуле визуализации построим на экране компьютера необходимые изображения. В первом блоке модуля обратимся к соответствующим подпрограммам построения изображения треугольника (по трем сторонам), и изображения высот ha и hc:


REM М о д у л ь в и з у а л и з а ц и и

REM Построение искомых изображений

cvet = 15: GOSUB tr

cvet = 14: GOSUB ha

cvet = 4: GOSUB hc


Во втором блоке модуля выведем на экран значения всех данных и искомых параметров задачи:


REM Вывод на экран значений данных и искомых параметров

LOCATE 1, 1: PRINT "DANO:"

PRINT "ugol B ="; ugolB * 180 / pi; "grad."

PRINT "ha ="; ha: PRINT "hc ="; hc

PRINT : PRINT "OTVET:"

PRINT "a="; a: PRINT "b ="; b: PRINT "c ="; c

GOTO konec


Завершает программу блок, состоящий из следующих подпрограмм: Переход к экранным координатам (uv), Построение треугольника по трем сторонам (tr), Пересечение двух непараллельных прямых (mn), Построение высоты АН1 (ha) и Построение высоты CН3 (hc).

Еhello_html_m5590d002.gif
сли запустить программу на выполнение, то на экране появится остроугольный треугольник (рис. 5.1.5) и необходимый текст.


Сопровождение с ЦОР «Живая геометрия». Составим «живой» чертеж для рассматриваемой задачи (рис. 5.1.6). Это возможно, поскольку искомые элементы допускают построение циркулем и линейкой.

В раскрывающемся окне Файл выберем опцию Новый чертеж, перейдем в режим набора текста (кнопка А на панели инструментов), поместим в верхнюю часть рабочего поля условие задачи, данные и искомые параметры.

Рабочее поле чертежа представим в виде двух частей. В первой части, используя конструктивные возможности «Живой геометрии», построим по заданным элементам (ha, hc и В) треугольник АВС и выведем на экран длины искомых отрезков (а, b и с). Во второй части найдем длины этих же отрезков, используя уже вычислительные возможности Живой геометрии и соотношения 5.1.1 – 5.1.3. Затем сравним полученные результаты.

Приступим к реализации первой части. Первоначально изобразим данные по условию задачи элементы треугольника. Используя кнопку Отрезок на Панели инструментов, построим отрезки ha, hc и угол KLM, обозначив последний как В. Выделяя по очереди курсором каждый из построенных объектов и обращаясь к командам Длина и Угол меню Измерения, выведем на экран длины отрезков и величину угла.

Приступим к построению основного чертежа.

1. Используя кнопку Луч на Панели инструментов, строим горизонтально расположенный луч с началом в точке В. Используя команды Луч, Окружность по центру и радиусу, Пересечение, Отрезок меню Построения, от данного луча откладываем угол равный данному (можно воспользоваться алгоритмом построения треугольника по трем сторонам). Используя команду Спрятать объекты меню Вид, спрячем ненужные нам далее окружности, отрезки и точки.

2. В полуплоскости, содержащей вторую сторону угла, построим прямую параллельную горизонтальному лучу и находящуюся на расстоянии ha от него. Для этого можно воспользоваться следующими командами: Поместить новую точку на объект, Перпендикуляр, Окружность по центру и радиусу, Пересечение. Найдем пересечение построенной прямой и второй стороны угла. Полученную точку обозначим через А. Спрячем ненужные объекты, оставив по сути лишь точку А.

3. Построим по аналогии еще одну прямую, параллельную второй стороне угла и отстоящей от нее на расстоянии hc (в полуплоскости, содержащей горизонтальный луч). Найдем точку пересечения этой прямой с горизонтальным лучом, которую обозначим через С. Спрячем ненужные объекты, оставив лишь точки А, В и С.

4. Построим треугольник АВС, соединив точки А, В и С отрезками, изобразим высоты AD = ha и CP = hc, выведем на экран длины сторон треугольника.

Приступим к реализации второй части. Покажем, что длины построенных нами отрезков вполне могут быть найдены, если воспользоваться соотношениями 5.1.1 – 5.1.3.

Выделим курсором (подсветим) на рабочем поле величины ha, hc и В и обратимся к команде Вычислить … меню Измерения. В меню создадим выражения, представляющие собой правые части соотношений 5.1.1 и 5.1.2.

hello_html_40ab5f2d.gif

Выделим курсором величины а, с и В, создадим выражение, представляющее собой правую часть соотношения 5.1.3.

Сравним значения искомых параметров, полученных в первой и второй частях рабочего поля при разных значениях данных параметров. Для этого достаточно «потянуть» за один из концов данных отрезков или за одну из точек на сторонах угла KLM. Значения одноименных параметров окажутся равными.


Исследовательские задания. Используя компьютерные модели задачи 5.1, выполните следующие задания:

1. Меняя в установочном модуле бейсик-программы числовые значения данных параметров, проверьте, что искомый треугольник существует при условии выполнения сформулированных в четвертом блоке этого модуля ограничений.

2. Сохраняя в бейск-программе числовые значения двух данных параметров, и изменяя в цикле значения третьего, постарайтесь ответить на следующие вопросы:

  • какие элементы треугольника изменяются, а какие остаются без изменения?

  • какие числовые характеристики треугольника или его элементов остаются инвариантными?

  • какие тройки точек лежат на одной прямой при любых значениях параметров?

3. Используя обе компьютерные модели, выясните при каких числовых значениях данных элементов треугольник АВС будет:

  • равнобедренный (равносторонний),

  • прямоугольный,

  • тупоугольный.

4. На «живом» чертеже отметьте точку пересечения высот и задайте режим рисования этой точкой. Какую, по вашему мнению, линию вычертит эта точка, если:

  • изменять длину отрезка ha («потянув» за один из концов отрезка);

  • изменять длину отрезка hc («потянув» за один из концов отрезка);

  • изменять величину угла В («потянув» за выделенную точку на одной из сторон угла).

5. Сформулируйте для задачи 5.1 задачи-аналоги.









5.2. Решение прямоугольного равнобедренного треугольника

по радиусам двух концентрических окружностей, содержащих

его вершины.


Сформулируем более точно задачу, заявленную в заглавии пункта.

Задача 5.2. Найти стороны прямоугольного равнобедренного треугольника, если заданы радиусы двух концентрических окружностей, одна из которых содержит вершины одного из катетов, а вторая – третью вершину. Построить компьютерные модели треугольника и окружностей.


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

Итак, рассмотрим прямоугольный равнобедренный треугольник АВС (B = 90, АВ = ВС), который задан параметрами r1 и r2 и тремя условиями: 1) вершина А принадлежит окружности w1(O, r1)), 2) вершина B принадлежит окружности w2(O, r2), 3) вершина С принадлежит окружности w2(O, r2). Требуется найти стороны а, b и c.

Предваряя поиск необходимых метрических соотношений, проведем компьютерный эксперимент, связанный с нахождением зависимостей между исследуемыми параметрами, конструктивного способа построения АВС и, наконец, определением возможного числа решений. Основным средством для такого исследования будет служить вспомогательный «живой» треугольник АВС, удовлетворяющий, по меньшей мере, двум из трех, перечисленных выше условий, например, второму и третьему. Чтобы построить такой треугольник воспользуемся средой «Живая геометрия» и выполним следующие действия:

1. Откроем Новый чертеж и в верхней части его рабочего поля построим отрезки r1 и r2, длины этих отрезков выведем на экран.

2. В центре рабочего поля построим точку О и две окружности w1(O, r1) и w2(O, r2) с общим центром О и радиусами r1 и r2 (далее будем использовать более краткие обозначения для окружностей: w1 и w2).

3. Построим произвольные точки В и С, принадлежащие окружности w2 (тем самым обеспечим выполнение условий 2) и 3)).

4. Построим точку А так, чтобы треугольник АВС оказался прямоугольным и равнобедренным (B = 90, АВ = ВС), стороны треугольника обозначим а, b и c, длины этих отрезков выведем на экран, внутреннюю область треугольника АВС окрасим желтым цветом.

5hello_html_39146178.gif. Построим дополнительный отрезок ВА1, где А1 – пересечение луча ВА с окружностью w1. Обозначим отрезки ВА1 и СА1 через с1 и b1, их длины выведем на экран. Отметим, что для прямоугольного треугольника А1ВС выполняются почти все условия, сформулированные в задаче 5.2, в частности А1 принадлежит окружности w1, В и С – окружности w2. Исключение составляет лишь единственное, но достаточно существенное ограничение на прямоугольный треугольник – равенство катетов. Треугольник А1ВС в общем случае не является равнобедренным.

Приступим к проведению эксперимента. Начнем перемещать вершину С по окружности w2, подбирая такое положение точки С, чтобы вершины А и А1 совпали. В этом случае вершина А будет принадлежать окружности w1, отрезок b совпадет с отрезком b1, отрезок с – с отрезком с1, А1ВС – с АВС. Ясно, что треугольник АВС окажется искомым.

Нhello_html_m7a3a7370.gif
а рисунке 5.2.2 приведены два слайда (а) и (б), на которых изображены стоп-кадры в случаях принадлежности вершины А окружности w1. Отметим, что треугольники, полученные на слайдах (а) и (б), вообще говоря, не равны.

Если применить к точке А команду Оставлять след, то на экране, дополнительно к построенным ранее фигурам, добавится линия w, похожая на окружность и представляющая собой след точки А (рис. 5.2.3).

Несложно доказать, что полученный след является окружностью. Действительно, анализируя эту линию, можно заметить, что произвольная ее точка А является образом С при повороте плоскости вокруг В на угол 90. Поскольку С пробегает все точки окружности w2, то w – образ w2 при повороте плоскости RB90. Поскольку образом окружности при любом движении плоскости является окружность, отсюда следует справедливость нашей гипотезы.

Но тогда искомые третьи вершины треугольника будут представлять собой точки X и Y пересечения окружностей w и w1.

Меняя значения данных параметров r1 и r2, приходим к предположению о том, что задача либо не имеет ни одного решения, либо имеет одно или два решения.

Кhello_html_m6c65c408.gifроме этого результатом компьютерного анализа является конструктивный способ построения треугольника АВС по данным окружностям w1(O, r1) и w2(O, r2). Для этого достаточно построить:

  • произвольную точку В, принадлежащую w2;

  • образ О/ точки О при повороте плоскости вокруг В на угол 90;

  • окружность w с центром в точке О/ и радиуса r2;

  • любую точку А, принадлежащую пересечению окружности w с данной окружностью w1.

  • образ С вершины А при повороте плоскости вокруг точки В на угол минус девяносто градусов (т.е. по часовой стрелке). Соединив вершины А, В и С отрезками, мы получим искомый треугольник.


Поиск соотношений. Построим изображение прямоугольного равнобедренного треугольника АВС (АВС = / 2) и двух концентрических окружностей w1 и w2 с общим центром О, одна из которых, w1, содержит вершину А, а вторая, w2, – вершины В и С катета ВС (рис. 5.2.4). Обозначим радиусы окружностей w1 и w2 через r1 и r2, соответственно.

Поскольку треугольник АВС прямоугольный и равнобедренный, то для нахождения его сторон достаточно определить лишь длину одной из них, например, АВ. Искать ее будем, используя треугольник АВО, в котором нам известны стороны АО = r1 и ВО = r2. Если удастся найти косинус угла между этими сторонами, то для определения АВ достаточно будет воспользоваться теоремой косинусов.

Сhello_html_m608c81d8.gifовершим поворот плоскости вокруг точки В на угол 90. Под действием этого движения окружность 2 отобразится на окружность w2/ (на рисунке она изображена пунктиром), центр О окружности w2 – в точку Р, а вершина С треугольника АВС – в вершину А. Ясно, что АР = РВ = ВО = r2, а угол РВО = 90. Из прямоугольного равнобедренного треугольника РВО по его катетам находим гипотенузу РО = hello_html_m33c2f3ea.gif.

Рассмотрим треугольник АРО, в котором нам известны все стороны: АО = r1, АР = r2 и РО = hello_html_m33c2f3ea.gif. Используя теорему косинусов и основное тригонометрическое тождество, найдем косинус и синус угла АОР (положим АОР = φ):

hello_html_20e7f9b1.gif; hello_html_7c032c98.gif. (5.2.1)

Поскольку угол РОВ равен / 4, то угол АОВ (обозначим его ) равен hello_html_m175cdf32.gif. Используя формулу косинуса разности двух углов, получим:

hello_html_mfaac6ef.gif. (5.2.2)

Теперь у нас есть все необходимое для того, чтобы определить искомые стороны треугольника АВС:

hello_html_m7005cc82.gif; hello_html_3f8dd018.gif; hello_html_m77ee7c83.gif. (5.2.3)

Все ли решения охватываются этими соотношениями. Очевидно, нет. Из рисунка 5.2.5 следует, что в качестве вершины А искомого треугольника можно взять вторую точку пересечения окружностей w2/ и w1 (естественно, при условии, что такая точка существует).

Дhello_html_4fe03232.gifействительно, обозначим эту точку А1 и достроим отрезок ВА1 до прямоугольного равнобедренного треугольника, повернув для этого плоскость вокруг точки В на угол 90, но уже по часовой стрелке (т.е. на угол – 90). Из условия построения w2/ следует, что образ точки А1 окажется на окружности w2. Обозначим этот образ через С1. Ясно, что треугольник А1ВС1 удовлетворяет всем условиям задачи 5.2.

Поскольку треугольники АРО и А1РО равны, то алгоритм поиска сторон треугольника А1ВС1 будет отличаться от приведенного выше лишь формулой (5.2.2). Связано это с тем, что угол А1ОВ, который обозначен , будет равен не разности, а сумме углов / 4 и φ.

hello_html_m2bfb8101.gif. (5.2.4)


Сопровождение в среде QBasic. Перейдем к составлению бейсик-программы, которая для заданных числовых значений параметров r1 и r2 определит все стороны треугольника АВС. Кроме этого программа должна построить изображение треугольника, автоматически выбрав такой масштабный множитель mm изображения, чтобы треугольник был максимально большим на экране компьютера.

В первых трех блоках установочного модуля поместим заголовок программы, зададим графический экран и значения основных констант программы: коэффициента искажения экрана ki, коэффициента уменьшения изображения ku = 1, числа , сформулируем условие задачи и присвоим данным по условию задачи параметрам конкретные числовые значения:


REM Задача 5.2 (радиусы двух концентрических окружностей)

REM У с т а н о в о ч н ы й м о д у л ь

REM Задание графического экрана, коэффициентов и параметров

SCREEN 9: ki = 1.28: ku = 1: pi = 4 * ATN(1)


REM Условие задачи.

REM Найти стороны прямоугольного равнобедренного треугольника,

REM если даны радиусы r1 и r2 двух концентрических окружностей,

REM одна из которых содержит две вершины одного из катетов, а

REM вторая - третью вершину. Построить компьютерную модель.


REM Числовые значения данных параметров

r1 = 6: r2 = 4


В четвертом блоке модуля поместим ограничения на числовые значения заданных параметров. В нашей задаче, очевидно, что параметры r1 и r2 могут принимать лишь положительные значения.

Кроме того, параметр r1 не должен быть больше, чем сумма отрезков ОР и РА (рис. 5.2.5), так как в противном случае окружности w1 и w2/ не будут иметь общих точек. Поскольку ОР + РА = hello_html_m2ac25926.gif, отсюда получаем следующее ограничение на параметры: hello_html_m12f119e7.gif. В случае если окружность w1 окажется внутри w2, то r1 не может быть меньше ОР – РА, отсюда hello_html_m5d1d7bc9.gif или hello_html_m3facb9fa.gif.

Четвертый блок установочного модуля можно представить в виде:


REM Ограничения на данные элементы

IF r1 <= 0 OR r2 <= 0 THEN PRINT "r1 ili r2 <= 0 ?": SLEEP: END

IF r1>r2*(1 + SQR(2)) THEN PRINT "уменьшите r1 !!": SLEEP: END

IF r1увеличьте r1 !!": SLEEP: END


Вычислительный модуль будет состоять из двух блоков. В первом блоке модуля рассмотрим различные случаи решения нашей задачи. Для универсальности рассуждений заменим соотношения 5.2.2 и 5.2.4 на соотношение

hello_html_m2e6f9f25.gif, (5.2.5)

в котором, в зависимости от рассматриваемого случая, переменная znak принимает значения +1 или –1.

Если hello_html_62bc6b3b.gif или hello_html_6e4b70d6.gif, то в любом из этих случаев точки А и А1 совпадают, угол φ обращается в ноль, задача имеет единственное решение, для нахождения которого значение переменной znak не играет роли.

Возможен еще один случай, когда задача будет иметь единственное решение: r1 = r2. В случае совпадения радиусов окружностей треугольник АВС выродится в точку, невырожденным будет лишь треугольник А1ВС1, для которого hello_html_43ba9ba9.gif (или znak = – 1).

В остальных допустимых случаях задача имеет два решения, которые реализуются в последних двух строках первого блока вычислительного модуля:


REM В ы ч и с л и т е л ь н ы й м о д у л ь

REM Перебор различных вариантов решения задачи

IF r1 = r2 * (1 + SQR(2)) THEN znak = 1: GOSUB metka: END

IF r1 = r2 / (1 + SQR(2)) THEN znak = 1: GOSUB metka: END

IF r1 = r2 THEN znak = -1: GOSUB metka: END

znak = -1: GOSUB metka

znak = 1: GOSUB metka: END


Во втором блоке модуля, используя соотношения 5.2.1 – 5.2.5, реализуем вычислительную часть решения задачи:


REM Вычислительная часть решения задачи

metka:

cosFI = (r1 ^ 2 + r2 ^ 2) / (2 * SQR(2) * r1 * r2)

sinFI = SQR(1 - cosFI ^ 2)

cosPSI = COS(pi / 4) * cosFI + znak * SIN(pi / 4) * sinFI

c = SQR(r1 ^ 2 + r2 ^ 2 - 2 * r1 * r2 * cosPSI)

a = c: b = a * SQR(2)


В модуле визуализации построим на экране компьютера необходимые изображения. В первом блоке модуля обратимся к подпрограмме tr построения изображения треугольника и подпрограмме ko построения двух концентрических окружностей (специально для задачи 5.2):


REM М о д у л ь в и з у а л и з а ц и и

REM Построение искомых изображений

cvet = 15: GOSUB tr: cvet = 14: GOSUB ko


Во втором блоке модуля выведем на экран значения всех данных и искомых параметров задачи:


REM Вывод на экран значений данных и искомых параметров

LOCATE 1, 1: PRINT "DANO:"

PRINT "r1 ="; r1: PRINT "r2="; r2

PRINT : PRINT "OTVET:"

PRINT "a ="; a: PRINT "b ="; b: PRINT "c ="; c

SLEEP: CLS : RETURN

Ghello_html_m4ef48aac.gif
OTO
konec

Завершает программу блок, состоящий из подпрограмм Переход к экранным координатам (uv), Построение треугольника по трем сторонам (tr) Построение двух концентрических окружностей (ko).

Если запустить программу на выполнение, то на экране появится сначала один (рис. 5.2.6 (а)), а затем (после нажатия на любую клавишу) – второй треугольник АВС (рис. 5.2.6 (б)) и необходимый текст.


Сопровождение с ЦОР «Живая геометрия». Построим на рабочем поле среды «Живая геометрия» чертеж для рассматриваемой задачи (рис. 5.2.7). Такое построение осуществимо, поскольку искомые параметры задачи 5.2 допускают построение циркулем и линейкой.

Выберем Новый чертеж. Используя кнопку А на панели инструментов, перейдем к режиму ввода текста и поместим в верхней части рабочего поля условие задачи.

Рабочее поле чертежа представим в виде двух частей. В первой части, используя конструктивные возможности «Живой геометрии», построим по заданным элементам (r1 и r2) соответствующие треугольники АВС и А1ВС1 и выведем на экран длины искомых отрезков: для треугольника АВС обозначим их а, b и с, для треугольника А1ВС1a1, b1, c1. Во второй части найдем длины этих же отрезков, используя уже вычислительные возможности «Живой геометрии» и соотношения 5.2.1 – 5.2.4. Затем сравним полученные в обеих частях результаты.

Приступим к реализации первой части. Первоначально изобразим данные по условию задачи элементы треугольника. Используя кнопку Отрезок на панели инструментов, построим отрезки r1 и r2. Выделяя по очереди курсором каждый из построенных объектов и обращаясь к команде Длина меню Измерения, выведем на экран длины этих отрезков. Используя команду Вычислить … этого же меню, выведем на экран значения выражений hello_html_m2ac25926.gif или hello_html_m1926598d.gif, являющихся, соответственно, верхней и нижней границей для параметра r1.

Приступим к построению основного чертежа.

1. Построим в правой части экрана точку О, которая будет служить центром данных концентрических окружностей. Используя команду Окружность по центру и радиусу, построим изображения данных окружностей w1 и w2 радиусов равных выбранным отрезкам r1 и r2, соответственно. Построим на окружности w2 первую вершину искомых треугольников – точку B.

hello_html_m1eb86003.gif

2. Выделим курсором точку В и отметим в меню Преобразования центр поворота (команда Отметить центр). Подсветим окружность w2 и, обратившись к команде Повернуть … меню Преобразования, повернем выбранную окружность на 90. Получим новую окружность w2/. Найдем точки пересечения окружностей w1 и w2/ (если они существуют), обозначим их А и А1.

3. Построим отрезки АВ и А1В (команда Отрезок меню Построения). Выделим точку В и отрезок АВ, построим перпендикуляр к прямой АВ, проходящий через В (команда Перпендикуляр меню Построения), найдем вторую точку пересечения этого перпендикуляра с окружностью w2, обозначим ее С. Эта точка будет третьей вершиной искомого треугольника.

Аналогично строится вершина С1 второго треугольника А1ВС1, для которого выполняются все условия задачи. Выведем на экран длины сторон треугольников АВС и А1ВС1, обозначив их а, b, с и a1, b1, c1, соответственно. Спрячем ненужные вспомогательные фигуры, оставив лишь данные окружности и построенные треугольники.

Приступим к реализации второй части. Найдем длины искомых параметров (сторон треугольников АВС и А1ВС1), используя для этого соотношения 5.2.1 – 5.2.4, полученные с помощью метрических теорем планиметрии, и вычислительные возможности «Живой геометрии».

Выполним сначала небольшие тождественные преобразования в соотношениях 5.2.1 – 5.2.4.

Подставляя в равенство hello_html_7c032c98.gif значение косинуса φ из 5.2.1, получим:

hello_html_m30ba8c44.gif. (5.2.6)

Подставляя в 5.2.2 значения косинуса φ из 5.2.1, синуса φ из 5.2.6, косинуса и синуса /4, получим

hello_html_m7f2bbc9d.gif. (5.2.7)

Найденное в 5.2.7 значение косинуса подставим в первое соотношение 5.2.3, получим:

hello_html_m2687e779.gif. (5.2.8)

Аналогично получаем формулу для нахождения длины катета во втором треугольнике А1ВС1:

hello_html_m1f1239fa.gif. (5.2.9)

Используя соотношения 5.2.8 и 5.2.9, выведем на экран значения искомых параметров по заданным значениям данных параметров.

Сравним значения искомых параметров, полученных в первой и второй частях рабочего поля при разных значениях данных параметров. Для этого достаточно «потянуть» за один из концов данных отрезков. Значения одноименных параметров окажутся равными. Это подтверждает нашу гипотезу о том, что найденные нами соотношения являются верными.


Исследовательские задания. Используя компьютерные модели задачи 5.2, выполните следующие задания:

1. Меняя в установочном модуле бейсик-программы числовые значения данных параметров, проверьте, что искомый треугольник существует при условии выполнения сформулированных в четвертом блоке этого модуля ограничений.

2. Меняя на «живом» чертеже длину отрезка r1, проверьте, что искомые треугольники существуют всегда при условии, что длина изменяемого отрезка заключена в пределах от hello_html_m21fdeacf.gif до hello_html_m519e7d88.gif. Проверьте, что в случае совпадения длин данных отрезков, один из треугольников выродится в точку.

3. При каких значениях r1 и r2 точки А, В и С1 окажутся на одной прямой?

4. Постройте на «живом» чертеже середины отрезков ВС и ВС1. Задайте режим Оставлять следы для этих точек. Какое множество опишут середины отрезков ВС и ВС1, если r1 будет изменяться в допустимых пределах?

5. Постройте на «живом» чертеже середины отрезков ВА и ВА1. Задайте опцию Оставлять следы для этих точек. Какое множество опишут эти точки, если r1 будет изменяться в допустимых пределах?

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

7. Решите следующие задачи-аналоги для задачи 5.2.

5.2а. Найдите стороны прямоугольного равнобедренного треугольника, если заданы радиусы двух концентрических окружностей, одна из которых содержит вершины гипотенузы, а вторая – третью вершину. Постройте компьютерные модели искомого треугольника.

5.2б. Найдите стороны прямоугольного равнобедренного треугольника, если заданы радиусы двух окружностей, первая из которых содержит вершины одного катета, а вторая – вершины другого катета, и известно расстояние между центрами этих окружностей. Постройте компьютерные модели искомого треугольника.

5.2в. Найдите стороны прямоугольного треугольника, один катет которого в два раза больше второго, если заданы радиусы двух концентрических окружностей, одна из которых содержит вершины наименьшего катета, а вторая – третью вершину. Постройте компьютерные модели искомого треугольника.

5.2г. Найдите стороны прямоугольного треугольника, один катет которого в два раза больше второго, если заданы радиусы двух концентрических окружностей, одна из которых содержит вершины гипотенузы, а вторая – третью вершину. Постройте компьютерные модели искомого треугольника.

5.2д. Найдите стороны треугольника АВС, если дан угол при вершине В и отношение АВ : ВС = k, если заданы радиусы двух концентрических окружностей, одна из которых содержит вершину А, а вторая – вершины В и С. Постройте электронное изображение треугольника и окружностей.


5.3. Задачи для самостоятельного решения


Формулировки задач.

5.3.1. Решить треугольник, если дана медиана ma, угол f между стороной а и медианой mc (f < 90), и известно, что медианы mb и mc – взаимно перпендикулярны.

5.3.2. Решить прямоугольный треугольник по медиане mc, проведенной к гипотенузе с, если известно, что угол между стороной а и медианой mc в два раза больше угла между стороной b и медианой mc.

5.3.3. Решить прямоугольный треугольник (С=90) по углу при вершине В и расстоянию q между центром О1 вписанной окружности и вершиной А.

5.3.4. Решить прямоугольный треугольник по медианам mа, и mb, проведенным к катетам а и b.

5.3.5. Решить прямоугольный треугольник по медиане mc, проведенной к гипотенузе с и углу f (f > 90) между этой медианой и гипотенузой с.

5.3.6. Решить прямоугольный треугольник по полупериметру p и радиусу r вписанной окружности.

5.3.7. Решить прямоугольный треугольник по радиусу r вписанной окружности и радиусу rC вневписанной окружности, касающейся гипотенузы с.

5.3.8. Решить треугольник по углу при вершине А и высоте hc, проведенной к стороне с, если угол при вершине В равен углу между стороной b и высотой hc.

5.3.9. Решить треугольник по медиане mc и высоте hc, проведенным к стороне с, если угол при вершине В равен углу между стороной b и высотой hc.

5.3.10. Решить треугольник по полупериметру р и радиусу r вписанной окружности, если радиус rc вневписанной окружности, касающейся стороны с, равен полупериметру р.

5.3.11. Решить треугольник по медиане mа и высоте hа, проведенным к стороне а и углу при вершине В.

5.3.12. Решить треугольник по углу при вершине В и отрезкам m и n, на которые биссектриса угла АВС делит сторону АС.

5.3.13. Решить треугольник по медианам mа и mb, проведенным к сторонам а и b, соответственно, углу f (f – острый угол) между медианой ma и стороной с.

5.3.14. Решить треугольник по радиусу R описанной окружности, если известно, что центры О и О1 описанной и вписанной окружностей, соответственно, симметричны относительно стороны АВ.

5.3.15. Решить треугольник по его площади S, если известно, что совпадают высота hc и биссектриса bC, проведенные к стороне с, а также медиана ma и биссектриса bA, проведенные к стороне а.

5.3.16. Решить треугольник по сумме q = R + r радиусов его вписанной и описанной окружностей, если известно, что биссектриса bB, проведенная к стороне АС, перпендикулярна ей, а отношение стороны b к радиусу описанной окружности R равно hello_html_m3c8792a2.gif.

5.3.17. Решить треугольник по отрезку q = 0,5(ma + bB), если известно, что медиана ma, проведенная к стороне ВС, ей перпендикулярна, а высота hа равна сумме R + r радиусов вписанной и описанной окружностей.

5.3.18. Решить треугольник по отрезку q = (ma + bB + hc)/3, если известно, что 2hb = ahello_html_m3c8792a2.gif, а медиана mc совпадает с биссектрисой bc.

5.3.19. Решить треугольник по отрезку q равному расстоянию от вершины А до центра О1 вписанной окружности, если известно, что угол ВО1А = 120 и точка О1 принадлежит высоте hc, проведенной к стороне АВ.

5.3.20. Решить треугольник по высоте hа, проведенной к стороне ВС, если известно, что биссектриса bВ перпендикулярна стороне АС и угол, внешний углу АСВ равен двум углам при вершине С.



Рекомендации к решению задач.

5.3.6. Опустите перпендикуляры О1А1, О1В1, О1С1 из центра вписанной окружности О1 на стороны треугольника. Докажите, что СА1О1В1 – квадрат и p = c + r.

5.3.7. Смотри указание к задаче 5.3.6.

5.3.85.3.10. Прежде, чем решать задачи, определите вид треугольника относительно углов, используя третье условие задачи.

5.3.13. Найдите стороны треугольника АМВ.

5.3.14. Рассмотрите треугольник ОВС. Докажите, что он равнобедренный и выразите его углы через угол О1ВА.

5.3.15. Определите вид треугольника, используя два последних условия.

5.3.16. Используя условие задачи и теорему синусов, найдите угол при вершине В.

5.3.17. Докажите, что центры вписанной и описанной окружностей совпадают.

5.3.18. Найдите угол при вершине С.

5.3.19. Вычислите углы треугольника ВО1А.

5.3.20. Вычислите угол при вершине С, используя определение смежных углов.



















ПРИЛОЖЕНИЕ. Листинги программ на языке QBasic


Задачи 3.1, 3.2, 4.1, 4.2, 5.1, 52


REM Задача 3.1 (две стороны и радиус описанной окружности)


REM У с т а н о в о ч н ы й м о д у л ь

SCREEN 9: ki = 1: ku = 1: pi = 4*ATN(1)


REM Условие задачи.

REM Даны две стороны a, b и радиус R описанной окружности

REM треугольника АВС. Найти третью сторону с, построить

REM изображение треугольника и описанной окружности.


REM Числовые значения данных параметров

a = 18: b = 14: R = 12


REM Ограничения на числовые значения данных параметров

IF a = 2 * R AND b = a THEN PRINT "a=b=2R ?": SLEEP: END

IF a <= 0 THEN PRINT "a <= 0 ?": SLEEP: END

IF b <= 0 THEN PRINT "b <= 0 ?": SLEEP: END

IF R <= 0 THEN PRINT "R <= 0 ?": SLEEP: END

IF a > 2 * R THEN PRINT "a > 2R ?": SLEEP: END

IF b > 2 * R THEN PRINT "b > 2R ?": SLEEP: END


REM В ы ч и с л и т е л ь н ы й м о д у л ь

REM Перебор возможных случаев

IF a >= b THEN znakA = 1: znakB = 1: GOSUB metka

IF a = 2 * R THEN END

IF a > b THEN znakA = -1: znakB = 1: GOSUB metka

IF a < b THEN znakA = 1: znakB = 1: GOSUB metka

IF b = 2 * R THEN END

IF a < b THEN znakA = 1: znakB = -1: GOSUB metka

GOTO konec


REM Нахождение числовых значений искомых параметров

metka: sinA = a / (2 * R): cosA = znakA * SQR(1 - sinA ^ 2)

sinB = b / (2 * R): cosB = znakB * SQR(1 - sinB ^ 2)

sinC = sinA * cosB + cosA * sinB: c = 2 * R * sinC


REM М о д у л ь в и з у а л и з а ц и и

REM Построение искомых изображений

cvet = 15: GOSUB tr: cvet = 14: GOSUB oo


REM Вывод на экран значений данных и искомых параметров

LOCATE 1, 1: PRINT "ДАНО:"

PRINT "a ="; a: PRINT "b ="; b: PRINT "R ="; R

PRINT : PRINT "ОТВЕТ:"

PRINT "c ="; c

SLEEP: CLS : RETURN


REM Б л о к п о д п р о г р а м м

(uv, tr, mn, oo, okr)

konec: END


REM Задача 3.2 (две стороны и радиус вписанной окружности)


REM У с т а н о в о ч н ы й м о д у л ь

SCREEN 9: ki = 1.28: ku = 2 / 3: pi = 4 * ATN(1)


REM Условие задачи.

REM Даны две стороны b, с и радиус r вписанной окружности

REM треугольника АВС. Найти третью сторону а, построить

REM изображение треугольника и описанной окружности.


REM Числовые значения данных параметров

b = 6: c = 9: r = 3 / 2


REM Ограничения на числовые значения данных параметров

IF b <= 0 THEN PRINT "b <= 0": SLEEP: END

IF c <= 0 THEN PRINT "c<=0": SLEEP: END

IF r <= 0 THEN PRINT "r <= 0": SLEEP: END


REM В ы ч и с л и т е л ь н ы й м о д у л ь

a2 = -(b + c): a1 = 4 * r ^ 2 - (b - c) ^ 2

a0 = (b + c) * ((b - c) ^ 2 + 4 * r ^ 2): GOSUB korni3

IF det > 0 THEN

IF xx1 > 0 THEN a = xx1: GOSUB metka

IF xx2 > 0 THEN a = xx2: GOSUB metka

IF xx3 > 0 THEN a = xx3: GOSUB metka

END IF

IF det = 0 THEN

IF xx1 > 0 THEN a = xx1: GOSUB metka

IF xx2 > 0 THEN a = xx2: GOSUB metka

END IF

IF det < 0 THEN

PRINT "Uvelichte storonu b ili c treugolnika ABC"

IF xx1 > 0 THEN a = xx1: GOSUB metka

END IF: GOTO konec


REM М о д у л ь в и з у а л и з а ц и и

metka:

cvet = 15: GOSUB tr: cvet = 10: GOSUB vo


REM Вывод на экран значений данных и искомых параметров

LOCATE 1, 1: PRINT "DANO:"

PRINT "b="; b

PRINT "c="; c

PRINT "r="; r

PRINT : PRINT "OTVET:"

PRINT "a="; a

GOSUB ugolA: PRINT "ugol A ="; ugolA * 180 / pi; "grad."

SLEEP: CLS : RETURN


REM Б л о к п о д п р о г р а м м

uv, tr, vo, okr, lamda, korni3, ugolA, konec)

konec: END


REM Задача 4.1 (сторона a, противолежащий ей угол A и высота hc)


REM У с т а н о в о ч н ы й м о д у л ь

SCREEN 9: ki = 1.28: ku = 0.6: pi = 4 * ATN(1): cvet = 15


REM Условие задачи:

REM В треугольнике АВС даны сторона а, противолежащий ей угол

REM при вершине А и высота hc. Найти стороны b и c треугольника,

REM построить компьютерную модель треугольника АВС и высоты hc.


REM Данные по условию задачи элементы треугольника

a = 9: ugolA = pi / 6: hc = 8


REM Ограничения на данные элементы треугольника АВС

IF hc <= 0 THEN PRINT "hc <= 0 ?": SLEEP: END

IF a < hc THEN PRINT "a < hc ?": SLEEP: END

IF ugolA <= 0 THEN PRINT "ugol A <= 0 ?": SLEEP: END

IF ugolA >= pi THEN PRINT "ugol A >= pi ?": SLEEP: END

IF ugolA >= pi / 2 AND hc >= a * SIN(ugolA) THEN

PRINT "ugol A >= pi/2 AND hc >= a * sinA ?": SLEEP:GOTO konec

END IF


REM В ы ч и с л и т е л ь н ы й м о д у л ь

REM Перебор различных вариантов решения задачи

znakB = 1: GOSUB metka

IF ugolA >= pi / 2 THEN GOTO konec

IF hc <= a * SinA THEN GOTO konec

IF hc = a THEN GOTO konec

znakB = -1: GOSUB metka: GOTO konec


REM Вычислительная часть решения задачи

metka: sinA = SIN(ugolA): cosA = COS(ugolA)

b = hc / sinA

sinB = hc / a: cosB = znakB * SQR(1 - sinB ^ 2)

sinC = sinA * cosB + cosA * sinB

c = sinC * a / sinA


REM М о д у л ь в и з у а л и з а ц и и

REM Построение искомых изображений

GOSUB tr: cvet = 12: GOSUB hc


REM Вывод данных и искомых элементов треугольника

LOCATE 1, 1: PRINT "ДАНО:"

PRINT "a ="; a: PRINT "hc="; hc

PRINT "ugol A ="; ugolA * 180 / pi; "grad."

IF znakB=1 THEN PRINT "ugol B <=pi/2" ELSE PRINT "ugol B > pi/2"

PRINT : PRINT "OTВЕT:"

PRINT "b ="; b: PRINT "c ="; c

SLEEP: CLS : RETURN


REM Б л о к п о д п р о г р а м м

(uv, tr, hc, mn)

konec: END


REM Задача 4.2 (сторона а, радиус вневписанной окружности

REM ra и p = rc)


REM У с т а н о в о ч н ы й м о д у л ь

SCREEN 9: ki = 1.28: ku = .5: pi = 4 * ATN(1)


REM Условие задачи.

REM В треугольнике АВС даны сторона a и радиус ra вневписанной

REM окружности wa, касающейся стороны а и продолжения сторон b и REM с. Найти стороны b и с, если известно, что радиус rc

REM вневписанной окружности wc, касающейся стороны с и

REM продолжения сторон а и b, совпадает с полупериметром р.

REM Построить изображение треугольника и окружностей wa и wc.


REM Числовые значения данных параметров

a = 6: ra = 4: p = rc


REM Ограничения на числовые значения данных параметров

IF ra <= 0 THEN PRINT "ra <= 0 ?": SLEEP: END

IF a <= ra THEN PRINT "a <= ra ?": SLEEP: END

IF 2 * ra <= a THEN PRINT "2*ra <= a?": SLEEP: END


REM В ы ч и с и т е л ь н ы й м о д у л ь

REM Нахождение числовых значений искомых параметров

b = 2 * ra * (a - ra) / (2 * ra - a)

c = ((a - ra) ^ 2 + ra ^ 2) / (2 * ra - a)


REM М о д у л ь в и з у а л и з а ц и и

REM Построение искомых изображений

cvet = 15: GOSUB tr: GOSUB ugolA

GOSUB оa: GOSUB luchAB: GOSUB luchAC

GOSUB оc: GOSUB luchCA: GOSUB luchCB


REM Вывод на экран значений данных и искомых параметров

LOCATE 1, 1: PRINT "DANO:"

PRINT "a ="; a: PRINT "ra ="; ra: PRINT "p=rc="; (a + b + c) / 2

PRINT: PRINT "OTVET:"

PRINT "b ="; b: PRINT "c ="; c:

PRINT "p="; (a + b + c) / 2

PRINT "rc="; (a * b) / (a + b - c)

PRINT "ugol A="; ugolA * 180 / pi; "gr."

SLEEP: CLS : GOTO konec


REM Б л о к п о д п р о г р а м м

(uv, tr, oa, oc, okr, lamda, ugolA, luchAB, luchAC, luchCA, luchCB, luch)

konec: END




REM Задача 5.1 (угол и две высоты к прилежащим сторонам угла)


REM У с т а н о в о ч н ы й м о д у л ь

SCREEN 9: ki = 1.28: ku = 1: pi = 4 * ATN(1)


REM Условие задачи.

REM Найти стороны треугольникa АВС, если

REM известны высоты ha, hc и угол АВС. Построить

REM изображение треугольника и заданных высот.


REM Числовые значения данных параметров

ugolB = pi / 3: ha = 12: hc = 8


REM Ограничения на числовые значения данных параметров

IF ugolB <= 0 OR ugolB >= pi THEN PRINT "ugolB=?": SLEEP: END

IF ha <= 0 THEN PRINT "ha <= 0 ?": SLEEP: END

IF hc <= 0 THEN PRINT "hc <= 0": SLEEP: END


REM В ы ч и с л и т е л ь н ы й м о д у л ь

REM Вычислительная часть решения задачи

sinB = SIN(ugolB): cosB = COS(ugolB)

c = ha / sinB: a = hc / sinB

b = SQR(a ^ 2 + c ^ 2 - 2 * a * c * cosB)


REM М о д у л ь в и з у а л и з а ц и и

REM Построение искомых изображений

cvet = 15: GOSUB tr

cvet = 14: GOSUB ha

cvet = 4: GOSUB hc


REM Вывод на экран значений данных и искомых параметров

LOCATE 1, 1: PRINT "DANO:"

PRINT "ugol B ="; ugolB * 180 / pi; "grad."

PRINT "ha ="; ha: PRINT "hc ="; hc

PRINT : PRINT "OTVET:"

PRINT "a="; a: PRINT "b ="; b: PRINT "c ="; c

GOTO konec


REM Б л о к п о д п р о г р а м м

(uv, tr, mn, ha, hc)

konec: END


REM Задача 5.2 (радиусы двух концентрических окружностей)


REM У c т а н о в о ч н ы й м о д у л ь

REM Задание графического экрана, коэффициентов и параметров

SCREEN 9: ki = 1.28: ku = .7: pi = 4 * ATN(1)


REM Условие задачи.

REM Найти стороны прямоугольного равнобедренного треугольника

REM АВС, AB = BC, если даны радиусы r1, r2 двух концентрических

REM окружностей,одна из которых содержит две вершины одного

REM из катетов,а вторая - третью вершину. Построить электронное

REM изображение треугольника и концентрических окружностей.


REM Данные элементы треугольника

r1 = 6: r2 = 4


REM Ограничения на данные элементы

IF r1 <= 0 OR r2 <= 0 THEN PRINT "r1 или r2 <= 0 ?": SLEEP: END

IF r1>r2*(1 + SQR(2)) THEN PRINT "уменьшите r1 !!": SLEEP: END

IF r1увеличьте r1 !!": SLEEP: END

REM В ы ч и с л и т е л ь н ы й м о д у л ь

REM Перебор различных вариантов решения задачи

IF r1 = r2 * (1 + SQR(2)) THEN znak = 1: GOSUB metka: END

IF r1 = r2 / (1 + SQR(2)) THEN znak = 1: GOSUB metka: END

IF r1 = r2 THEN znak = -1: GOSUB metka: END

znak = -1: GOSUB metka

znak = 1: GOSUB metka: END


REM Вычислительная часть решения задачи

metka:

cosFI = (r1 ^ 2 + r2 ^ 2) / (2 * SQR(2) * r1 * r2)

sinFI = SQR(1 - cosFI ^ 2)

cosPSI = COS(pi / 4) * cosFI + znak * SIN(pi / 4) * sinFI

c = SQR(r1 ^ 2 + r2 ^ 2 - 2 * r1 * r2 * cosPSI)

a = c: b = a * SQR(2)


REM М о д у л ь в и з у а л и з а ц и и

REM построение треугольника и его элементов

GOSUB tr: cvet = 14: GOSUB ko


REM Вывод значений данных и искомых элементов треугольника

LOCATE 1, 1: PRINT "ДАНО:"

PRINT "r1 ="; r1: PRINT "r2="; r2

PRINT : PRINT "ОТВЕТ:"

PRINT "a ="; a: PRINT "b ="; b: PRINT "c ="; c

SLEEP: CLS : RETURN

GOTO konec


REM Б л о к п о д п р о г р а м м

(uv, tr, ko, okr)

konec: END


Треугольники


REM подпрограмма tr построения треугольника по трем сторонам

tr:

IF a>=b+c OR a<=ABS(b–c) THEN PRINT "a,b,c=?": SLEEP: END

co = (a ^ 2 + c ^ 2 - b ^ 2) / (2 * a * c)

x(1) = c * co - a / 2: y(1) = c * SQR(1 - co ^ 2): maxy = y(1)

x(2) = -a / 2: y(2) = 0: x(3) = a / 2: y(3) = 0

IF x(1)>=x(2) AND x(1)<=x(3) THEN maxx=x(3) ELSE maxx=ABS(x(1))

IF maxx > maxy THEN mm =300 /(ki*maxx) ELSE mm = 200/maxy

IF ku < = 0 OR ku > 1 THEN ku = 1

mm = mm * ku

FOR i = 1 TO 3: x = x(i): y = y(i)

GOSUB uv: u(i) = u: v(i) = v: NEXT i

PSET (u(3), v(3)): FOR i = 1 TO 3: LINE -(u(i), v(i)): NEXT i

LOCATE v(2) / 14 + 1, u(2) / 8: PRINT "B"

LOCATE v(3) / 14 + 1, u(3) / 8 + 1: PRINT "C"

IF v(1) <= 10 OR v(1) >= 340 THEN RETURN

IF u(1) <= 10 OR u(1) >= 630 THEN RETURN

LOCATE v(1) / 14, u(1) / 8: PRINT "A": RETURN


REM подпрограмма tr1 построения треугольника по трем сторонам

tr1:

IF a>=b+c OR a<=ABS(b–c) THEN PRINT "a,b,c=?": SLEEP: END

IF mm <= 0 THEN mm = 10

co = (a ^ 2 + c ^ 2 - b ^ 2) / (2 * a * c)

x(1) = c * co - a / 2: y(1) = c * SQR(1 - co ^ 2)

x(2) = -a / 2: y(2) = 0: x(3) = a / 2: y(3) = 0

FOR i = 1 TO 3: x = x(i): y = y(i)

GOSUB uv: u(i) = u: v(i) = v: NEXT i

PSET (u(3),v(3)): FOR i = 1 TO 3: LINE -(u(i),v(i)): NEXT i

RETURN


Медианы, центроид


REM подпрограмма mа построения медианы АM1 цвета cvet

mа: x = (x(2) + x(3)) / 2: y = (y(2) + y(3)) / 2

GOSUB uv: LINE (u(1), v(1))-(u, v), cvet

LOCATE v / 14 + 1, u / 8 + 1: PRINT "M1"

RETURN


REM подпрограмма mb построения медианы BM2 цвета cvet

mb: x = (x(1) + x(3)) / 2: y = (y(1) + y(3)) / 2

GOSUB uv: LINE (u(2), v(2))-(u, v), cvet

LOCATE v / 14 + 1, u / 8 + 1: PRINT "M2"

RETURN


REM подпрограмма mс построения медианы СM3 цвета cvet

mс: x = (x(1) + x(2)) / 2: y = (y(1) + y(2)) / 2

GOSUB uv: LINE (u(3), v(3))-(u, v), cvet

LOCATE v / 14 + 1, u / 8 + 1: PRINT "M3"

RETURN


REM подпрограмма ct построения центроида M треугольника АВС

ct: x = (x(1) + x(2) + x(3)) / 3

y = (y(1) + y(2) + y(3)) / 3

GOSUB uv: CIRCLE (u, v), 3, cvet

LOCATE v / 14 + 1, u / 8 + 1: PRINT "M"

RETURN


Высоты, ортоцентр


REM подпрограмма ha построения высоты AН1

ha: x1 = x(2): y1 = y(2)

xm = x(3) - x(2): ym = y(3) - y(2)

x2 = x(1): y2 = y(1)

xn = y(3) - y(2): yn = x(2) - x(3): GOSUB mn

GOSUB uv: LINE (u(1), v(1))-(u, v), cvet

IF u < 10 OR u > 630 OR v < 10 OR v > 340 THEN RETURN

LOCATE v / 14, u / 8: PRINT "H1": RETURN


REM подпрограмма hb построения высоты BH2

hb: x1 = x(1): y1 = y(1)

xm = x(3) - x(1): ym = y(3) - y(1)

x2 = x(2): y2 = y(2)

xn = y(3) - y(1): yn = x(1) - x(3): GOSUB mn

GOSUB uv: LINE (u(2), v(2))-(u, v), cvet

IF u < 10 OR u > 630 OR v < 10 OR v > 340 THEN RETURN

LOCATE v / 14, u / 8: PRINT "H2": RETURN


REM подпрограмма hс построения высоты СH3

hс: x1 = x(1): y1 = y(1)

xm = x(2) - x(1): ym = y(2) - y(1)

x2 = x(3): y2 = y(3)

xn = y(2) - y(1): yn = x(1) - x(2): GOSUB mn

GOSUB uv: LINE (u(3), v(3))-(u, v), cvet

IF u < 10 OR u > 630 OR v < 10 OR v > 340 THEN RETURN

LOCATE v / 14, u / 8: PRINT "H3": RETURN


REM подпрограмма ос построения ортоцентра H

ос: x1 = x(1): y1 = y(1)

xm = y(3) - y(2): ym = x(2) - x(3)

x2 = x(2): y2 = y(2)

xn = y(3) - y(1): yn = x(1) - x(3): GOSUB mn

GOSUB uv: CIRCLE(u, v), 3, 11

IF u < 10 OR u > 630 OR v < 10 OR v > 340 THEN RETURN

LOCATE v / 14, u / 8: PRINT "H": RETURN


Биссектрисы


REM подпрограмма ba построения биссектрисы AB1

ba: x1 = x(2): y1 = y(2): x2 = x(3): y2 = y(3)

lamda = c / b: GOSUB lamda: GOSUB uv

LINE (u(1), v(1))-(u, v), cvet

LOCATE v / 14 + 1, u / 8: PRINT "B1": RETURN


REM подпрограмма bb построения биссектрисы BB2

bb: x1 = x(1): y1 = y(1): x2 = x(3): y2 = y(3)

lamda = c / a: GOSUB lamda: GOSUB uv

LINE (u(2), v(2))-(u, v), cvet

LOCATE v / 14 + 1, u / 8: PRINT "B2": RETURN


REM подпрограмма bc построения биссектрисы CB3

bc: x1 = x(1): y1 = y(1): x2 = x(2): y2 = y(3)

lamda = b / a: GOSUB lamda: GOSUB uv

LINE (u(3), v(3))-(u, v), cvet

LOCATE v / 14 + 1, u / 8: PRINT "B3": RETURN


Серединные перпендикуляры к сторонам


REM подпрограмма sa построения серединного перпендикуляра к ВС

sa: x0 = (x(2) + x(3)) / 2: y0 = (y(2) + y(3)) / 2

xm = y(2) - y(3): ym = x(3) - x(2): t = 0

u = 1: v = 1: DO UNTIL POINT(u, v) < 0

t = t + .1: x = xm * t + x0: y = ym * t + y0: GOSUB uv

LOOP: u1 = u: v1 = v: t = 0

u = 1: v = 1: DO UNTIL POINT(u, v) < 0

t = t + .1: x = -xm * t + x0: y = -ym * t + y0: GOSUB uv

LOOP: LINE (u1, v1)-(u, v), cvet, , 101: RETURN

x = x0: y = y0: GOSUB uv: LOCATE v/14, u/8: PRINT "M1"

RETURN


REM подпрограмма sb построения серединного перпендикуляра к AС

sb: x0 = (x(1) + x(3)) / 2: y0 = (y(1) + y(3)) / 2

xm = y(1) - y(3): ym = x(3) - x(1): t = 0

u = 1: v = 1: DO UNTIL POINT(u, v) < 0

t = t + .1: x = xm * t + x0: y = ym * t + y0: GOSUB uv

LOOP: u1 = u: v1 = v: t = 0

u = 1: v = 1: DO UNTIL POINT(u, v) < 0

t = t + .1: x = -xm * t + x0: y = -ym * t + y0: GOSUB uv

LOOP: LINE (u1, v1)-(u, v), cvet, , 101

x = x0: y = y0: GOSUB uv: LOCATE v/14, u/8: PRINT "M2"

RETURN


REM подпрограмма sc построения серединного перпендикуляра к AB

sc: x0 = (x(1) + x(2)) / 2: y0 = (y(1) + y(2)) / 2

xm = y(1) - y(2): ym = x(2) - x(1): t = 0

u = 1: v = 1: DO UNTIL POINT(u, v) < 0

t = t + .1: x = xm * t + x0: y = ym * t + y0: GOSUB uv

LOOP: u1 = u: v1 = v: t = 0

u = 1: v = 1: DO UNTIL POINT(u, v) < 0

t = t + .1: x = -xm * t + x0: y = -ym * t + y0: GOSUB uv

LOOP: LINE (u1, v1)-(u, v), cvet, , 101: RETURN

x = x0: y = y0: GOSUB uv: LOCATE v/14, u/8: PRINT "M3"

RETURN


Описанная, вписанная и вневписанные окружности


REM подпрограмма oo построения описанной окружности

oo: x1 = (x(1) + x(2)) / 2: y1 = (y(1) + y(2)) / 2

xm = y(1) - y(2): ym = x(2) - x(1)

x2 = (x(1) + x(3)) / 2: y2 = (y(1) + y(3)) / 2

xn = y(1) - y(3): yn = x(3) - x(1)

GOSUB mn: x0 = x: y0 = y

GOSUB uv: u0 = u: v0 = v: CIRCLE (u0, v0), 3

rr = SQR((x(1) - x0) ^ 2 + (y(1) - y0) ^ 2): GOSUB okr

IF v0 > 330 OR u0 > 620 THEN RETURN

IF v0 < 20 OR u0 < 20 THEN RETURN

LOCATE v0 / 14, u0 / 8: PRINT "O": RETURN

REM подпрограмма vo построения вписанной окружности и ее центра

vo: p = (a + b + c) / 2

S = SQR(p * (p - a) * (p - b) * (p - c)): rr = S / p

x1 = x(2): y1 = y(2): x2 = x(3): y2 = y(3)

lamda = c / b: GOSUB lamda: x2 = x: y2 = y

x1=x(1): y1=y(1): CB1=SQR((x(3)-x2) ^ 2 + (y(3)-y2) ^ 2)

lamda = b / CB1: GOSUB lamda: x0 = x: y0 = y: GOSUB uv

u0 = u: v0 = v: cvet = 15: GOSUB okr: CIRCLE (u0, v0), 3

LOCATE v0 / 14 + 1, u0 / 8: PRINT "O1"

RETURN


REM подпрограмма oc построения вневписанной окружности при АВ

oc: p = (a + b + c) / 2

S = SQR(p * (p - a) * (p - b) * (p - c)): rr = S / (p - c)

x1 = x(2): y1 = y(2): x2 = x(3): y2 = y(3)

lamda = c / b: GOSUB lamda: xm = y - y(1): ym = x(1) - x

x1 = x(1): y1 = y(1): x2 = x(3): y2 = y(3)

lamda = c / a: GOSUB lamda: xn = y - y(2): yn = x(2) - x

x1 = x(1): y1 = y(1): x2 = x(2): y2 = y(2)

GOSUB mn: x0 = x: y0 = y: GOSUB uv: u0 = u: v0 = v

cvet = 13: GOSUB okr: CIRCLE (u0, v0), 3

x1=x(1): y1=y(1): xm=x(1)-x(3): ym=y(1)-y(3): GOSUB luch

x1=x(2): y1=y(2): xm=x(2)-x(3): ym=y(2)-y(3): GOSUB luch

IF v0 > 340 OR u0 > 620 THEN RETURN

IF v0 < 0 OR u0 < 20 THEN RETURN

LOCATE v0 / 14 + 1, u0 / 8: PRINT "Oc"

RETURN


REM подпрограмма ob построения вневписанной окружности при АC

ob: p = (a + b + c) / 2

S = SQR(p * (p - a) * (p - b) * (p - c)): rr = S / (p - b)

x1 = x(2): y1 = y(2): x2 = x(3): y2 = y(3)

lamda = c / b: GOSUB lamda: xm = y - y(1): ym = x(1) - x

x1 = x(1): y1 = y(1): x2 = x(2): y2 = y(2)

lamda = b / a: GOSUB lamda: xn = y - y(3): yn = x(3) - x

x1 = x(1): y1 = y(1): x2 = x(3): y2 = y(3)

GOSUB mn: x0 = x: y0 = y: GOSUB uv: u0 = u: v0 = v

cvet = 12: GOSUB okr: CIRCLE (u0, v0), 3

x1=x(1): y1=y(1): xm=x(1)-x(2): ym = y(1) - y(2): GOSUB luch

x1=x(3): y1=y(3): xm=x(3)-x(2): ym = y(3) - y(2): GOSUB luch

IF v0 > 340 OR u0 > 620 THEN RETURN

IF v0 < 0 OR u0 < 20 THEN RETURN

LOCATE v0 / 14 + 1, u0 / 8: PRINT "Ob"

RETURN


REM подпрограмма oa построения вневписанной окружности при BC

oa: p = (a + b + c) / 2

S = SQR(p * (p - a) * (p - b) * (p - c)): rr = S / (p - a)

x1 = x(1): y1 = y(1): x2 = x(3): y2 = y(3)

lamda = c / a: GOSUB lamda: xm = y - y(2): ym = x(2) - x

x1 = x(1): y1 = y(1): x2 = x(2): y2 = y(2)

lamda = b / a: GOSUB lamda: xn = y - y(3): yn = x(3) - x

x1 = x(2): y1 = y(2): x2 = x(3): y2 = y(3)

GOSUB mn: x0 = x: y0 = y: GOSUB uv: u0 = u: v0 = v

cvet = 11: GOSUB okr: CIRCLE (u0, v0), 3

x1=x(2): y1=y(2): xm=x(2)-x(1): ym=y(2) - y(1): GOSUB luch

x1=x(3): y1=y(3): xm=x(3)-x(1): ym=y(3) - y(1): GOSUB luch

IF v0 > 340 OR u0 > 620 THEN RETURN

IF v0 < 20 OR u0 < 20 THEN RETURN

LOCATE v0 / 14, u0 / 8: PRINT "Oa"

RETURN


Вспомогательные подпрограммы


REM подпрограмма uv перехода к экранным координатам

uv: u = ki * mm * x + 320

v = -mm * y + 220: RETURN


REM подпрограмма mn пересечения двух прямых (M1, m) и (M2, n)

mn: q1 = x1 * ym - y1 * xm: q2 = x2 * yn - y2 * xn

t = xm * yn - xn * ym: tx = xm * q2 - xn * q1

IF t = 0 THEN PRINT "прямые не пересекаются": END

ty = ym * q2 - yn * q1: x = tx / t: y = ty / t: RETURN


REM подпрограмма lamda деления отрезка M1M2 в отношении M1M/MM2

lamda: IF lamda = -1 THEN PRINT "lamda=?": SLEEP: END

x = (x1 + lamda * x2) / (1 + lamda)

y = (y1 + lamda * y2) / (1 + lamda)

RETURN


REM подпрограмма okr построения окружности цвета cvet

REM с центром в точке М0(x0,yo) и радиуса rr

okr: FOR t = 0 TO 2 * pi STEP .01

x = rr * COS(t) + x0: y = rr * SIN(t) + y0: GOSUB uv

IF t = 0 THEN PSET (u, v), cvet ELSE LINE -(u, v), cvet

NEXT t: RETURN


REM подпрограмма ugolA вычисления величины угла при вершине А

ugolA: cosA = (b ^ 2 + c ^ 2 - a ^ 2) / (2 * b * c)

sinA = SQR(1 - cosA ^ 2)

IF cosA > 0 THEN ugolA = ATN(sinA / cosA)

IF cosA < 0 THEN ugolA = pi + ATN(sinA / cosA)

IF cosA = 0 THEN ugolA = pi / 2

RETURN


REM подпрограмма ugolB вычисления величины угла при вершине В

ugolВ: cosВ = (a ^ 2 + c ^ 2 - b ^ 2) / (2 * a * c)

sinB = SQR(1 - cosB ^ 2)

IF cosB > 0 THEN ugolB = ATN(sinB / cosB)

IF cosB < 0 THEN ugolB = pi + ATN(sinB / cosB)

IF cosB = 0 THEN ugolB = pi / 2

RETURN


REM подпрограмма ugolC вычисления величины угла при вершине C

ugolC: cosC = (a ^ 2 + b ^ 2 - c ^ 2) / (2 * a * b)

sinC = SQR(1 - cosC ^ 2)

IF cosC > 0 THEN ugolC = ATN(sinC / cosC)

IF cosC < 0 THEN ugolC = pi + ATN(sinC / cosC)

IF cosC = 0 THEN ugolC = pi / 2

RETURN


REM подпрограмма luch построения луча с началом в точке

REM (x1, y1) и сонаправленного с вектором (xm,ym)

luch: x = x1: y = y1: GOSUB uv: u1 = u: v1 = v: t = 0

DO UNTIL POINT(u, v) < 0

t = t + .1: x = xm * t + x1: y = ym * t + y1: GOSUB uv

LOOP: LINE (u1, v1)-(u, v), , , &HFF00: RETURN


REM подпрограмма построения штрихового луча [AB) от А до точки

REM касания прямой АВ с вневписанной окружностью к стороне а

luchAB: x1 = x(1): y1 = y(1): x2 = x(2): y2 = y(2)

ll = .5 * (a + b + c): GOSUB luch2: RETURN


REM подпрограмма построения штрихового луча [AС) от А до точки

REM касания прямой АС с вневписанной окружностью к стороне а

luchAC: x1 = x(1): y1 = y(1): x2 = x(3): y2 = y(3)

ll = .5 * (a + b + c): GOSUB luch2: RETURN


REM подпрограмма построения штрихового луча [СA) от С до точки

REM касания прямой СА с вневписанной окружностью к стороне с

luchCA: x1 = x(3): y1 = y(3): x2 = x(1): y2 = y(1)

ll = .5 * (a + b + c): GOSUB luch2: RETURN


REM подпрограмма построения штрихового луча [СB) от С до точки

REM касания прямой СВ с вневписанной окружностью к стороне с

luchCB: x1 = x(3): y1 = y(3): x2 = x(2): y2 = y(2)

ll = .5 * (a + b + c): GOSUB luch2: RETURN


REM подпрограмма luch2 построения штрихового луча [M1M2) длины ll

luch2: dd = SQR((x2 - x1) ^ 2 + (y2 - y1) ^ 2)

x = x1 + ll * (x2 - x1) / dd: y = y1 + ll * (y2 - y1) / dd

GOSUB uv: u1 = u: v1 = v

x = x2: y = y2: GOSUB uv: u2 = u: v2 = v

LINE (u1, v1)-(u2, v2), cvet, , &HF000: RETURN


REM подпрограмма ko построения двух концентрических окружностей

ko: x0 = 0: y0 = -znak * SQR(r2 ^ 2 - a ^ 2 / 4): R = r2

x = x0: y = y0: GOSUB uv: u0 = u: v0 = v

CIRCLE (u0, v0), 3, 15: GOSUB okr

R = r1: GOSUB okr

IF v0 > 330 OR u0 > 620 THEN RETURN

IF v0 < 10 OR u0 < 10 THEN RETURN

LOCATE v0 / 14, u0 / 8: PRINT "O": RETURN


REM Подпрограмма korni3 корней уравнения x^3+a2*x^2+a1*x+a0=0

korni3:

pp = a1 - 1 / 3 * a2 ^ 2

qq = 2 / 27 * a2 ^ 3 - 1 / 3 * a1 * a2 + a0

det = -4 * pp ^ 3 - 27 * qq ^ 2

IF det > 0 THEN

aa = -qq / 2: bb = SQR(det / 108): cc = SQR(aa ^ 2 + bb ^ 2)

IF aa > 0 THEN alfa = ATN(bb / aa)

IF aa < 0 THEN alfa = pi - ATN(bb / aa)

IF aa = 0 THEN alfa = pi / 2

aa1 = (cc ^ (1 / 3)) * COS(alfa / 3)

bb1 = (cc ^ (1 / 3)) * SIN(alfa / 3)

xx1 = 2 * aa1 - 1 / 3 * a2

aa2 = -1 / 2 * aa1 - bb1 * (SQR(3) / 2)

xx2 = 2 * aa2 - 1 / 3 * a2

aa3 = -1 / 2 * aa1 + bb1 * (SQR(3) / 2)

xx3 = 2 * aa3 - 1 / 3 * a2

END IF

IF det < 0 THEN

uu1 = -qq / 2 + SQR(-det / 108)

IF uu1>=0 THEN uu = (uu1)^(1/3) ELSE uu = -(-uu1)^(1/3)

vv1 = -qq / 2 - SQR(-det / 108)

IF vv1>=0 THEN vv = (vv1)^(1/3) ELSE vv = -(-vv1)^(1/3)

xx1 = uu + vv - 1 / 3 * a2

END IF

IF det = 0 THEN

xx1 = 3 * qq / pp - 1 / 3 * a2

xx2 = -3 * qq / (2 * pp) - 1 / 3 * a2

END IF: RETURN



БИБЛИОГРАФИЧЕСКИЙ СПИСОК


1. Жафяров А.Ж. Параметрическая паутина. Математика. ЕГЭ-уровень С: Учебное пособие / А.Ж. Жафяров. – Новосибирск: Изд. НГПУ, 2007.– 457с

2. Джонассен Д.Х. Компьютеры как инструменты познания // Информатика и образование. - №4. 1996. С.116-131.

3. Елина А.М., Красниченко С.В., Савчкова Л.В. Решение треугольников методами элементарной геометрии. Методические указания / Елина А.М., Красниченко С.В., Савчкова Л.В. – Красноярск: изд. КГПУ, 1994. – 48 с.

4. Фискович Т.Т. Развитие ума средствами геометрических задач: Учебное пособие. М.: ИКД «Зерцало-М», 2009. – 160 с.

5. Майер В.Р. Компьютерная поддержка курса геометрии. ч.1. Геометрия на плоскости: Методическое пособие. Красноярск: КГПУ, 1995. – 72 с.

6. Федоренко Ю. Алгоритмы и программы на QBasic. Учебный курс. – СПб.: Питерб 2002. – 288 с.: ил.

Оглавление


Введение 3

§1. Параметры в геометрии и компьютер 5

1.1. Параметры в геометрических задачах 5

1.2. Информационные технологии в задачах с параметрами 8

1.3. Графические возможности языка QBASIC 13

1.4. Конструктивные возможности среды «Живая геометрия» 18

1.5. Компьютерный анализ в геометрических задачах с параметрами 26

§ 2. Компьютерное моделирование основных элементов

треугольника 33

2.1. Формулы и теоремы, используемые при решении 33

2.2. Компьютерное моделирование треугольника по трем сторонам 40

2.3. Медианы треугольника, центроид 49

2.4. Высоты треугольника, ортоцентр 51

2.5. Биссектрисы углов, вписанная, вневписанная и описанная окружности 55

§3. Решение треугольников, заданных двумя сторонами и

элементом, не являющимся стороной 64

3.1. Решение треугольника по двум сторонам и радиусу описанной окружности 65

3.2. Решение треугольника по двум сторонам и радиусу вписанной окружности 78

3.3. Задачи для самостоятельного решения 89

§4. Решение треугольников, заданных стороной и

двумя элементами, не являющимися сторонами 92

4.1. Решение треугольника по стороне, противолежащему углу и высоте к другой стороне 94

4.2. Решение треугольника по стороне, радиусу вневписанной окружности и отношению полупериметра к радиусу другой вневписанной окружности 109

4.3. задачи для самостоятельного решения 121

§5. Решение треугольников, заданных тремя элементами, не являющимися сторонами треугольника 124

5.1. Решение треугольника по высотам к двум сторонам и углу между этими сторонами 124

5.2. Решение прямоугольного равнобедренного треугольника по радиусам двух концентрических окружностей, содержащих его вершины 135

5.3. Задачи для самостоятельного решения 148

Приложение. Листинги бейсик-программ 152

Библиографический список 164













































Майер Валерий Робертович

Анциферова Анна Викторовна

Апакина Татьяна Витальевна



Решение треугольников с параметрами.

Компьютерное сопровождение



Учебное пособие




Редактор М.А. Исакова

Корректор Ж.В. Козупица

Верстка В.В. Курышев




660049, г. Красноярск, ул. А.Лебедевой, 89.

Редакционно-издательский отдел КГПУ,

222-12-89






Подписано в печать хх.yy.11. Формат 60х84/16.

Усл. печ.л. 10. Тираж 100 экз. Заказ ХХХ.


Цена свободная




Отпечатано ИПК КГПУ,

223-42-60



Решение треугольников с параметрами. Компьютерное сопровождение
  • Математика
Описание:

Пособие содержит теоретический и практический материал по одному из разделов курса геометрии, связанному с изучением метрических соотношений в планиметрических фигурах. На конкретных примерах показано применение информационных технологий при решении треугольников с параметрами. Пособие содержит авторскую методику использования интерактивной геометрической системы "Живая геометрия" и системы программирования QBasic при проведении компьютерного анализа и исследования задач с параметрами.

Содержит следующие параграфы:

1. Параметры в геометрии и компьютер.

2. Компьютерное моделирование основных элементов треугольника.

3. Решение треугольников, заданных двумя сторонами и элементом, не являющимся стороной треугольника.

4.  Решение треугольников, заданных стороной и двумя элементами, не являющимися сторонами треугольника.

5.  Решение треугольников, заданных тремя элементами, не являющимися сторонами треугольника.

Приложение. Листинги программ на языке QBasic.

Автор Майер Валерий Робертович
Дата добавления 08.01.2015
Раздел Математика
Подраздел
Просмотров 1423
Номер материала 44093
Скачать свидетельство о публикации

Оставьте свой комментарий:

Введите символы, которые изображены на картинке:

Получить новый код
* Обязательные для заполнения.


Комментарии:

↓ Показать еще коментарии ↓