Oblicznie azymutu ze współrzędnych - listing programu w Basicu
‘Program Az1.BAS

 ' Obliczenie azymutu ze wspolrzednych
' Podaje sie wspolrzednie 2 punktow
' x1, y1
' x2, y2
 pi = 4.0 * ATN(1.0)   ' Obliczenie Pi
 rg = 200.0 / pi         ' Ro gradowe
 rs = 180.0 / pi         ' Ro stopniowe
CLS
PRINT "Oblliczenie azymutu ze wspolrzednych 2 punktow: "
PRINT "Dane: x1, y1,  x2, y2"
PRINT
 INPUT "x1 "; x1        ' wprowadzenie danych x1 punktu 1-go
 INPUT "y1 "; y1        ' wprowadzenie danych y1 punktu 1-go
 INPUT "x2 "; x2        ' wprowadzenie danych x2 punktu 2-go
 INPUT "y2 "; y2        ' wprowadzenie danych y2 punktu 2-go
DX = x2 - x1            ' Obl. DX
dy = y2 - y1            ' Obl. DY
PRINT
PRINT "Obliczenia i wydruki kontrolne - testowanie cwiartek wspolrzednych"
PRINT
IF DX = 0 THEN  ' 1)  Warunek gdy dx = 0
 PRINT "poczatek dx=0"  ' Wydruk
  IF dy > 0 THEN     ' 2) dy>0 T
   a = pi / 2
   ELSE
   a = 1.5 * pi
  END IF            ' 2)  Koniec dy >0
 PRINT "Koniec dx=0"
ELSE            ' dx <> 0
 PRINT "else - poczatek dx<>0"
 a = ATN(dy / DX)
   IF DX < 0 THEN  ' 11) dx  <0
     a = a + pi
    ELSE          ' dx >0
      IF dy < 0 THEN  '12
       a = a + 2 * pi
      END IF          ' 12) dy <0
    PRINT "Koniec dx <> 0"
    END IF         '11  Koniec dx < 0
END IF        ' 1 dx <>0
azg = a * rg    ' Przeliczenie azymutu z radianow na grady
azs = a * rs    ' Przeliczenie azymutu z radianow na stopnie (i ulamki stopnia)

' Koniec obliczen - wydruki wynikoe
PRINT    ' Wydruk pustej linii
PRINT "Wyniki obliczen"
PRINT "dx = "; DX
PRINT "dy="; dy
PRINT
PRINT "az [grad]  = "; azg
PRINT "az [stopn] = "; azs
PRINT
INPUT "Nacisnij Enter"; a$     ' Oczekiwanie na nacisniecie klawisza
END

 

 

 

' Program Az2.bas
'Obliczenie azymutu ze współrzędnych - metoda czwartaków pi = 4.0*atn(1.0) ' Obliczenie Pi
 rg=200/pi         ' Ro gradowe  
 rs=180/pi         ' Ro stopniowe  
Input "x1 " ;x1    ' Wprowadzanie danych 
input "y1 " ; y1
input "x2 "; x2
input "y2 "; y2
dx=x2-x1            ' Obl. DX
dy=y2-y1
print "dx=";dx
print "dy=";dy

if dx=0 then        ' Warunek gdy DX=0  if dy> 0 then
    az = pi/2
   else
   az=1.5*pi
  end if
else                ' Gdy DX <> 0
czw= atn(dy/dx)    ' Obl. czwartaka w radianach
czw=abs(czw)
czwg=czw*rg        ' Zamiana na grady
czws=czw*rs        ' Zamiana na stopnie
print "pi=";pi     ' Wydruk Pi
print "czwart=";czwg; "[grad] ="; czws; "[st]"
if dx>0 and dy>0 then cw=1
if dx<0 and dy>0 then cw=2
if dx<0 and dy<0 then cw=3
if dx>0 and dy<0 then cw=4
select case cw        ' Wariant ćwiartki
 case 1
  az=czw                ' ćwiartka I
  print "case="; cw
 case 2                 ' ćwiartka II  
   az=pi-czw
   print "case=";cw
 case 3
   az=pi+czw
    print "case=";cw
 case 4
   az=2*pi-czw        ' ćwiartka IV
    print "case=";cw
 end select
end if           
azg=az*rg        ' Zamina na grady
azs=az*rs        ' Zamiana azymutu na stopnie dziesietne
print "dx = ";dx
print "dy="; dy
print "azg[grad]=";azg
print "azs[st]  =";azs