100 REM/Gate40.100/Honohan/11-Aug-90 101 CLS:CLEAR 102 P$="GATE! Global Air Time Estimator" 103 FORK=1TO40:PRINTMID$(P$,K,1); 104 FORD=1TO20:NEXT:NEXT:PRINT 105 Z$="+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+" 106 FORK=1TO40:PRINTMID$(Z$,K,1); 107 FORD=1TO20:NEXT:NEXT:PRINT 108 P=3.14159265358979 109 J=P/180:Q=180/P:E=24880 110 I=40:DIMX$(I) 111 FORK=1TOI 112 READX$(K):PRINTLEFT$(X$(K),3)+" "; 113 NEXT 114 PRINT:A$="1st":B$="2nd" 115 PRINT"ITY "; 116 PRINT"EGREES "; 117 PRINT"UMERIC "; 118 PRINT"UIT"; 119 INPUTK$ 120 IFK$="c"THENGOSUB200:GOTO130 121 IFK$="d"THENGOSUB182:GOTO130 122 IFK$="q"THENEND 123 CLS 124 PRINT"nUMERIC" 125 PRINT 126 INPUT">1st Lat";W 127 INPUT"> Lon";X:XX=X 128 INPUT">2nd Lat";Y 129 INPUT"> Lon";Z:ZZ=Z 130 A=SIN(W*J)*SIN(Y*J) 131 A=A+COS(W*J)*COS(Y*J)*COS((Z-X)*J) 132 IF(-A*A+1)<=0THENCLS:PRINT"!Err Div/0":GOTO114 133 D=(-ATN(A/SQR(-A*A+1))+(P/2))*Q 134 N=D*(10800/P)*J:M=D*(.5*(E/P))*J 135 B=SIN(Y*J)-SIN(W*J)*COS(D*J) 136 IF(SIN(D*J)*COS(W*J))=0THENC=0:GOTO141 137 B=B/(SIN(D*J)*COS(W*J)) 138 IF(-B*B+1)<=0THENC=0:GOTO141 139 C=(-ATN(B/SQR(-B*B+1))+(P/2))*Q 140 IFSIN((Z-X)*J)>=0THENC=360-C 141 C$="^":A=.603602:B=.001821 142 IFC>000THENC$="n" 143 IFC>045THENC$="e" 144 IFC>135THENC$="s" 145 IFC>225THENC$="w" 146 IFC>315THENC$="n" 147 IFC$="e"THENA=.625789:B=.001758 148 IFC$="s"THENA=.668288:B=.001757 149 IFC$="w"THENA=.598434:B=.001955 150 IFM<0150THENA=.324867:B=.003736 151 T=A+B*M:S=M/T 152 O=INT((XX+7.5)/15)-INT((ZZ+7.5)/15) 153 DA=5:LV=16:AR=LV+T+O 154 IFAR>24THENAR=AR-24:DA=DA+1:GOTO154 155 IFAR<00THENAR=AR+24:DA=DA-1:GOTO155 156 HR=INT(AR):MN=INT((AR-HR)*60+.5) 157 W$="montuewedthufrisatsun" 158 FORWD=1TO7 159 IFWD=DATHEND$=MID$(W$,WD*3-2,3) 160 NEXT 161 L$=MID$(STR$(HR),2) 162 R$=MID$(STR$(MN),2) 163 IFLEN(L$)<2THENL$="0"+L$ 164 IFLEN(R$)<2THENR$="0"+R$ 165 T$=L$+":"+R$ 166 W=INT(W*10+.5)/10 167 X=INT(X*10+.5)/10 168 Y=INT(Y*10+.5)/10 169 Z=INT(Z*10+.5)/10 170 T=INT(T*10+.5)/10 171 N=INT(N+.5) 172 M=INT(M+.5) 173 C=INT(C+.5) 174 S=INT(S+.5) 175 CLS 176 PRINTA$;B$;W;X;Y;Z 177 PRINT" ";N;"Nm";M;"Sm" 178 PRINT" ";C;C$;" @";O;"TZs" 179 PRINT" ";T;"Hrs @";S;"Mph" 180 PRINT" LV fri 16:00 AR ";D$;" ";T$ 181 GOTO114 182 CLS 183 PRINT"dEGREES @ DDDmmSSx" 184 PRINT 185 INPUT">1st Lat";X$:GOSUB190:W=V 186 INPUT"> Lon";X$:GOSUB190:X=V:XX=X 187 INPUT">2nd Lat";X$:GOSUB190:Y=V 188 INPUT"> Lon";X$:GOSUB190:Z=V:ZZ=Z 189 RETURN 190 IFLEN(X$)<8THENX$="0"+X$:GOTO190 191 V$=LEFT$(X$,LEN(X$)-5) 192 V=VAL(V$) 193 V$=MID$(X$,LEN(X$)-4,2) 194 V=V+VAL(V$)/60 195 V$=MID$(X$,LEN(X$)-2,2) 196 V=V+VAL(V$)/3600 197 IFRIGHT$(X$,1)="s"THENV=-V 198 IFRIGHT$(X$,1)="e"THENV=-V 199 RETURN 200 X$="***" 201 CLS 202 FORK=1TOI 203 PRINTLEFT$(X$(K),3)+" "; 204 NEXT:PRINT 205 INPUT">1st cITY";X$ 206 GOSUB225:GOSUB214 207 A$=X$:W=L:X=R:XX=X 208 IFMID$(X$(K),4,1)="-"THENXX=X-15 209 INPUT">2nd cITY";X$ 210 GOSUB225:GOSUB214 211 B$=X$:Y=L:Z=R:ZZ=Z 212 IFMID$(X$(K),4,1)="-"THENZZ=Z-15 213 RETURN 214 L$=MID$(X$(K),5,2) 215 L=VAL(L$) 216 L$=MID$(X$(K),7,2) 217 L=L+VAL(L$)/60 218 IFMID$(X$(K),9,1)="s"THENL=-L 219 R$=MID$(X$(K),10,3) 220 R=VAL(R$) 221 R$=MID$(X$(K),13,2) 222 R=R+VAL(R$)/60 223 IFMID$(X$(K),15,1)="e"THENR=-R 224 RETURN 225 FORK=1TOI 226 IFX$=LEFT$(X$(K),3)THENRETURN 227 NEXT 228 X$="***":K=1:RETURN 229 DATA ***+0000n00000w 230 DATA ams-5223n00454e 231 DATA ath+3758n02343e 232 DATA auc+3652s17446e 233 DATA bog+0434n07400w 234 DATA bue-3430s05820w 235 DATA cai+3030n03115e 236 DATA chi+4152n08738w 237 DATA cop+5541n01234e 238 DATA fra+5007n00840e 239 DATA hel+6015n02503e 240 DATA hkg+2211n11414e 241 DATA hnl-2120n15800w 242 DATA hou+2945n09522w 243 DATA joh+2610s02808e 244 DATA lax+3403n11814w 245 DATA lim+1200s07700w 246 DATA lis-3842n00910w 247 DATA lon+5130n00005w 248 DATA mad-4025n00345w 249 DATA mex-1924n09909w 250 DATA mia+2547n08017w 251 DATA mos+5545n03735e 252 DATA nyc+4045n07400w 253 DATA osl+5953n01052e 254 DATA par-4852n00220e 255 DATA pek+3950n11620e 256 DATA pra+5005n01422e 257 DATA rey-6410n02200w 258 DATA rio+2300s04312w 259 DATA rom+4154n01230e 260 DATA sfo+3747n12225w 261 DATA sto+5920n01893e 262 DATA syd+3353s15110e 263 DATA tah+1737s14927w 264 DATA tel+3203n03446e 265 DATA tok+3542n13946e 266 DATA vie+4820n01622e 267 DATA war+5213n02100e 268 DATA zur+4722n00832e