Вычислить площадь четырехугольника - 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

Объяснение кода листинга программы

Вот что делает код:

  1. Считывает число N, которое представляет собой количество вершин четырехугольника.
  2. Проверяет, что N находится в допустимом диапазоне (от 4 до 100).
  3. Генерирует случайные координаты для каждой вершины четырехугольника.
  4. Рисовает четырехугольник на экране.
  5. Проводит три диагонали для четырехугольника и вычисляет длины этих диагоналей.
  6. Вычисляет площадь четырехугольника, используя формулу площади четырехугольника по длинам его диагоналей.
  7. Выводит общую площадь четырехугольника.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.154 из 5
Похожие ответы