Король имеет положение на доске a,b, где а - положение по горизонтали, b - по вертикали.Правая верхняя клетка имеет координаты (8,8). Король начинает двигаться по спирали. Он делает один шаг вверх, затем один влево, два вниз, два вправо и так далее.
Определите, сколько шагов сделает король, прежде, чем окажется за пределами доски.
ЯЗЫК Paython
Пусть Δ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. в случаях, когда надо выполнить не следующий по порядку оператор, а какой-нибудь другой, отмеченный меткой (например выйти из цикла)
4. "следование", "ветвление", "цикл с предусловием"
5. для осуществления на него безусловного перехода;
6. для вывода графики
7. для очистки экрана
8. операторы присваивания, безусловный оператор, оператор вызова процедуры, пустой оператор
9. power(x,y)
10. integer
11. :=
12. F9
13. write и writeln
14. Раздел описаний
16. операторы, не содержащие никаких других операторов
17. операторы присваивания, безусловный оператор, оператор вызова процедуры, пустой оператор
18. for; while.. do; repeat...until
19. текстовые файлы; типизированные файлы; нетипизированные файлы
опрераторов if и case of
29. writeln без параметров
30. :
31. закрашивает замкнутую область, используя текущие стиль и цвет закраски.
32. вывод на экран прямоугольников
33. Объяснения програмиста.
34. Никаких действий не выполняет, нужен для осуществления на него безусловного перехода
35. покомандный анализ, обработку и выполнение исходной программы
36. Никлаус Вирт в 1968—1969
37. весь блок, в котором объявлена данная метка, за исключением внутренних блоков
38. Отметьте, из каких элементов состоит алгоритмический язык?
39. Program
40. Var
41. Set of
42. Шесть: следование; ветвление; цикл с предусловием; цикл с постусловием; цикл с параметром; вариант.
43. Укажите приоритет операций в языке Паскаль.
44. 26 латинских строчных и прописных букв; знак подчеркивание; 10 цифр; знаки операций; ограничители; спецификаторы; служебные слова; пробел.
45. 26 латинских строчных и прописных букв; знак подчеркивание; 10 цифр; знаки операций; ограничители; спецификаторы; служебные слова; пробел.
47. предложение языка программирования, задающее полное описание некоторого действия, которое может выполнить компьютер
48. данные, необходимые для выполнения оператора
49. begin ... end
50. S - начиная с позиции курсора, выводится значение S (строка или массив символов)
51. имя метки и двоеточие после него
52. компилятор - это программа-переводчик, читает всю программу целиком, делает ее перевод и создает законченный вариант программы на машинном языке, который затем и выполняется