Примеры программ на языке QBASIC


DECLARE FUNCTION CoordToN! (X&, Y&)
REM Вычисление номера узла по его координатам
INPUT "Введите координаты узла : ", X&, Y&
M& = CoordToN(X&, Y&)
PRINT "Его номер = "; M&
END

FUNCTION CoordToN (X&, Y&)
  IF X& <= Y& THEN 'если узел в левой полуплоскости
   IF X& >= 0 AND Y& > 0 THEN GOTO m12'случай 1
   IF X& < 0 AND Y& >= 0 AND Y& >= ABS(X&) THEN 'случай 2
     'обработка случаев 1 и 2
m12: x0 = -Y&: y0 = Y&: N& = (2 * x0) ^ 2'координаты и номер угла
     CoordToN = N& + x0 - X&: EXIT FUNCTION
   ELSE
'    обработка случаев 3 и 4
     x0 = X&: y0 = -X&: N& = (2 * x0) ^ 2
     CoordToN = N& + y0 - Y&: EXIT FUNCTION
   END IF
  END IF
' если узел в правой полуплоскости
   IF X& <= 0 AND Y& < 0 THEN GOTO mab' случай a
   IF X& >= 0 AND Y& < 0 AND ABS(Y&) >= X& THEN ' случай b
   ' обработка случаев a,b
mab: x0 = -Y& + 1: y0 = -Y&: N& = (2 * x0 - 1) ^ 2
     CoordToN = N& - x0 + X&: EXIT FUNCTION
   ELSE
'    обработка случаев c,d
     x0 = X&: y0 = -X& + 1: N& = (2 * x0 - 1) ^ 2
     CoordToN = N& + Y& - y0
   END IF
END FUNCTION