Форум программистов, компьютерный форум, киберфорум
QBasic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8

Критерий степени подобия треугольников

06.05.2016, 14:22. Показов 928. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Эта программа рисует один треугольник.
Потом рисует 40 случайных точек. Потом она выбирает
(рандомно) из этих точек две точки и в совокупности с
третьей точкой (300; 400) рассчитывает насколько данный
треугольник будет близок по степени подобия к первому
треугольнику
ОПРЕДЕЛЕНИЕ:
Степень подобия этих треугольников
определяется по формуле:
D = |A1 - A2| + |B1 - B2| + |C1 - C2|
Где A1, B1, C1; A2, B2, C2 - углы треугольников, взятых в порядке
их возрастания или убывания (соответственно)
примечание:
Степень подобия треугольников не зависит от линейных размеров самих треугольников.

QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
REM
REM  Даны два треугольника с углами 
REM       (A1, B1, C1) и (A2, B2, C2)
REM  причем A1 >= A2, B1 >= B2, C1>= C2
REM  D - Степень подобия этих треугольников 
REM        D = |A1 - A2| + |B1 - B2| + |C1 - C2|
REM        При D = 0 треугольники подобны!!
REM 
 
DECLARE FUNCTION p! (x1!, y1!, x2!, y2!)
DECLARE FUNCTION u! (a!, b!, c!)
 
CLS
SCREEN 11
RANDOMIZE TIMER
CONST c1 = .4636476
CONST c2 = 1.107149
CONST c3 = 1.570796
DIM x(1 TO 40)
DIM y(1 TO 40)
 
FOR i = 1 TO 40
   x(i) = 400 * RND + 220
   y(i) = 400 * RND
   PSET (x(i), y(i))
NEXT i
 
LINE (20, 40)-(20, 400)
LINE -(200, 400)
LINE -(20, 40)
 
x3 = 300
y3 = 400
D = 7
 
FOR i = 1 TO 39
FOR j = i + 1 TO 40
   a = p(x(i), y(i), x(j), y(j))
   b = p(x(j), y(j), x3, y3)
   c = p(x3, y3, x(i), y(i))
   ua = u(a, b, c)
   ub = u(b, c, a)
   uc = u(c, a, b)
 
   IF ua < ub THEN SWAP ua, ub
   IF ua < uc THEN SWAP ua, uc
   IF ub < uc THEN SWAP ub, uc
 
   dd = ABS(ua - c3) + ABS(ub - c2) + ABS(uc - c1)
 
   IF D > dd THEN
      D = dd
      x1 = x(i)
      y1 = y(i)
      x2 = x(j)
      y2 = y(j)
   END IF
NEXT j, i
 
LINE (x1, y1)-(x2, y2)
LINE -(x3, y3)
LINE -(x1, y1)
 
END
 
FUNCTION p (x1, y1, x2, y2)
   p = SQR((x1 - x2) ^ 2 + (y1 - y2) ^ 2)
END FUNCTION
 
FUNCTION u (a, b, c)
   z = (b ^ 2 + c ^ 2 - a ^ 2) / (2 * b * c)
   IF 1 - z ^ 2 <= 0 THEN
      u = 1.570796
   ELSE
      u = 1.570796 - ATN(z / SQR(1 - z ^ 2))
   END IF
END FUNCTION
 
REM Автор предлагает вам удивительную по красоте программу
REM Эта программа - Откровение богов, к коим автор причисляет и себя
REM Вы - Счастливейшие из живущих под Солнцем.
REM Вам выпал шанс видеть Великое Творение Разума!
REM
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.05.2016, 14:22
Ответы с готовыми решениями:

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

Какой признак подобия треугольников лучше использовать при заданной реализации?
type TVector2D = record private _X, _Y: real; function GetLen() := Sqrt(Sqr(_X) + Sqr(_Y)); public ...

Критерии устойчивости САУ. Логарифмический критерий и критерий Найквиста
Добрый день. Возникла такая проблема: не могу точно определиться с устойчивостью/неустойчивостью замкнутой системы Передаточная функция:...

2
Заблокирован
06.05.2016, 14:44
Цитата Сообщение от geh Посмотреть сообщение
причем A1 >= A2, B1 >= B2, C1>= C2
О Великий Творенец, хорошо ли подумали?
Может быть, всё же A1 >= B1 >= C1, аналогично и для второго?
1
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
06.05.2016, 15:15  [ТС]
Shersh
Спасибо! Это я видимо на солнышке перегрелся...
Конечно правильно так:
A1 >= B1 >=C1 и A2 >= B2 >= C2
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.05.2016, 15:15
Помогаю со студенческими работами здесь

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

Дано целое число N (> 0). Найти сумму 1в N степени + 2 в степени N−1 + … + Nв 1 степени.
Дано целое число N (&gt; 0). Найти сумму 1в N степени + 2 в степени N−1 + … + Nв 1 степени. в авс паскале

Вывести на экран таблицу значений функции f(x)=x в 4 степени+3х в 3 степени +5х во второй степени+7 х=1,2..10
18. Вывести на экран таблицу значений функции f(x)=x в 4 степени+3х в 3 степени +5х во второй степени+7 х=1,2..10

Доказать, что 7 в степени n умножить на 2 в степени 3k минус 2 в степени 2k кратное 47
Доказать что 7 в степени n умножить на 2 в степени 3k минус 2 в степени 2k кратное 47 Для набора математических выражений пользуйтесь...

В матрице С хранятся стороны 10-ти треугольников. В одномерный массив S записать площади треугольников, если
В матрице С хранятся стороны 10-ти треугольников. В одномерный массив S записать площади треугольников, если они существуют, и ноль- в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача №1: при указании работ (справочник РаботыПоРемонтуСпецтехники),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru