Вычислить площадь четырехугольника - QBasic
Формулировка задачи:
Задано случайное количество точек. Вычислить площадь четырехугольника, вершины которого составляют правый верхний угол экрана и три наиболее близкие к нему точки из заданного множества
Решение задачи: «Вычислить площадь четырехугольника»
textual
Листинг программы
- CLS
- 10 INPUT "Wedit kilkist tochok N="; N
- IF N < 4 OR N > 100 THEN 10
- IF N <> INT(N) THEN 10
- Xmin = 0
- Xmax = 1000
- Ymin = 0
- Ymax = 1000
- DIM X(1 TO N)
- DIM Y(1 TO N)
- RANDOMIZE TIMER
- SCREEN 12
- VIEW (20, 20)-(460, 460), , 2
- WINDOW (Xmin, Ymin)-(Xmax, Ymax)
- FOR i = 1 TO N
- X(i) = INT(Xmin + RND * (Xmax - Xmin))
- Y(i) = INT(Ymin + RND * (Ymax - Ymin))
- PSET (X(i), Y(i)), 3
- NEXT
- FOR i = 1 TO N
- FOR j = 1 TO N
- A = SQR((Xmax - X(i)) ^ 2 + (Ymax - Y(i)) ^ 2)
- B = SQR((Xmax - X(j)) ^ 2 + (Ymax - Y(j)) ^ 2)
- IF A < B THEN SWAP X(i), X(j): SWAP Y(i), Y(j)
- NEXT j
- NEXT i
- FOR i = 1 TO 3
- FOR j = 1 TO 3
- ugol1 = (Ymax - Y(i)) / (Xmax - X(i))
- ugol2 = (Ymax - Y(j)) / (Xmax - X(j))
- IF ugol1 < ugol2 THEN SWAP X(i), X(j): SWAP Y(i), Y(j)
- NEXT
- NEXT
- LINE (Xmax, Ymax)-(X(1), Y(1)), 1
- LINE (X(1), Y(1))-(X(2), Y(2)), 2
- LINE (X(2), Y(2))-(X(3), Y(3)), 3
- LINE (X(3), Y(3))-(Xmax, Ymax), 4
- L1a = SQR((X(1) - X(2)) ^ 2 + (Y(1) - Y(2)) ^ 2)
- L2a = SQR((X(2) - Xmax) ^ 2 + (Y(2) - Ymax) ^ 2)
- L3a = SQR((Xmax - X(1)) ^ 2 + (Ymax - Y(1)) ^ 2)
- Pa = (L1a + L2a + L3a) / 2
- PloschaA = SQR(Pa * (Pa - L1a) * (Pa - L2a) * (Pa - L3a))
- L1b = SQR((X(3) - X(2)) ^ 2 + (Y(3) - Y(2)) ^ 2)
- L2b = SQR((X(2) - Xmax) ^ 2 + (Y(2) - Ymax) ^ 2)
- L3b = SQR((Xmax - X(3)) ^ 2 + (Ymax - Y(3)) ^ 2)
- Pb = (L1b + L2b + L3b) / 2
- PloschaB = SQR(Pb * (Pb - L1b) * (Pb - L2b) * (Pb - L3b))
- PRINT "Ploscha = "; PloschaA + PloschaB
- END
Объяснение кода листинга программы
Вот что делает код:
- Считывает число N, которое представляет собой количество вершин четырехугольника.
- Проверяет, что N находится в допустимом диапазоне (от 4 до 100).
- Генерирует случайные координаты для каждой вершины четырехугольника.
- Рисовает четырехугольник на экране.
- Проводит три диагонали для четырехугольника и вычисляет длины этих диагоналей.
- Вычисляет площадь четырехугольника, используя формулу площади четырехугольника по длинам его диагоналей.
- Выводит общую площадь четырехугольника.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д