Решите на языке си с клавиатуры ввести три действительных числа. затем округлить их значение для близких целых чисел. определить наименьшее общее кратное (нок) полученных целых чисел. если оно равно произведению этих чисел, то вывести соответствующее сообщение.
Пусть ΔABC - равнобедренный, АВ = с - его основание, АС = ВС = b - боковые стороны. По условию треугольник симметричен относительно горизонтальной оси, так что его основание АВ должно быть перпендикулярно горизонтальной оси и при этом АО = ОВ, а вершина С попадет на горизонтальную ось. Разместим ΔABC так, чтобы основание попало на вертикальную ось.
Окружность, описанная вокруг треугольника, пройдет через все три его вершины. Точка М - центр описанной окружности, - лежит на пересечении перпендикуляров, проведенных из середин сторон треугольника. Поскольку ΔABC равнобедренный, то ОС - его высота и отрезок МС, равный радиусу окружности R, также лежит на горизонтальной оси.
Найдем высоту ОС, обозначив её через h, по теореме Пифагора.
ОС - это катет ΔAOC, AO ⊥ OC.
Площадь ΔABC находим по формуле
Для нахождения радиуса R = MC рассмотрим прямоугольные ΔAOC и ΔMDC, имеющие общий угол АСО = α
Теперь легко сделать необходимое построение.
Для этого откладываем от начала координат по горизонтальной оси отрезок ОМ и проводим из него, как из центра, окружность радиуса R. Соединяем между собой три точки пересечения окружностью осей координат и получаем треугольник с длинами сторон, равными заданным.
Ниже приводится программа на языке Microsoft QBasic, позволяющая рассчитать длину отрезка ОМ (Mx - координату х точки М) и радиус описанной окружности R по заданной длине основания с и длине боковой стороны b.
INPUT "Основание: ", c
INPUT "Боковая сторона: ", b
h = SQR(b ^ 2 - (c / 2) ^ 2)
R = b ^ 2 / (2 * h)
Mx = h - R
PRINT "Радиус равен "; R, "Координата центра равна "; Mx
Тестовое решение:
Y:\qbasic>QBASIC.EXE
Основание: 6
Боковая сторона: 5
Радиус равен 3.125 Координата центра равна .875
Чтобы продолжить, нажмите любую клавишу
1
1. Ввод числа n с клавиатуры(пользователем)
2. Переменная res принимает значение 'NO'
3. Переменная a1 принимает значение 0
4. Переменная а2 принимает значение 0
5. Пока n больше 0 выполнять цикл:
6. Переменная a1 принимает значение остатка от деления введенного числа на 10
7. Переменная а2 принимает значение остатка от целочисленного деления введенного числа на 1(пример целочисленного деления: 12 // 5 = 2)
8. Если переменная а1 равна переменной а2, то выполнить условие
9. Переменная res принимает значение 'YES'
10. Введенное число нацело делится на 10.
11. Вывести переменную res
2
1. Ввод числа n с клавиатуры
2. Переменная res принимает значение 'NO'
3. Переменной d1 присваивается значение 0
4. Переменной d2 присваивается значение 0
5. Пока введенное число больше 0 выполнять цикл:
6. Переменная d1 принимает значение остатка от деления введенного числа на 10
7. Переменная m принимает целочисленное деление переменной d2 на 10
8. Пока переменная m больше 0 выполнять цикл:
9. Переменной d2 присвоить значение остатка от деления m на 10
10. Если переменная d1 равна переменной d2, то выполнить условие:
11. Переменной res присвоить значение 'YES'
12. Присвоить переменной m значение целочисленного деления m на 10
13. Присвоить переменной n результат целочисленного деления n на 10
14. Вывести переменную res
Вроде ничего не упустил.