このプログラムは、「ウルトラテクニックのStage5 内分PC 及びスペシャルテクニックの中間PC」でご紹介しました中間PCの分割数が2,3,4...分割の問題の場合の平均走行速度を求めるプログラムです。
<使用方法>
5 'FILE NAME "N-PC" 10 CLEAR 20 INPUT "PC 分割数";BU 30 DIM A(BU) 40 FOR i=1 TO BU 50 PRINT I;:INPUT”バンメノ AVE(km/h)";A(i) 60 AV=(RCP(A(I))+AV) 70 NEXT i 80 AVE=RCP(AV)*BU 90 PRINT"ヘイキン AVE(km/h)";:PRINTUSING"###.####";AVE 100 FOR J=1 TO 5000:NEXT J
このプログラムは「スペシャルテクニックのチョット難しいPC」で紹介しました、手前PCの処理において、実際に車を走行させなくても、手前PC指示地点でのレスコン入力値(時間差)を自動的に計算するものです。
シャープBASIC FILE NAME BEF-PC
5 ’FILE NAME "BEF-PC" 10 CLEAR 20 INPUT"テマエPC ノ シジキョリ(km/h)";L 30 INPUT"テマエPC ノ シジ";A1 40 INPUT"ソウコウ シテキタ AVE(km/h)";A2 50 J1=ABS(L/A1-L/A2):J1=DMS(J1) 60 IF A1 > A2 THEN SEN$="センコウ サセル (-RC)” ELSE SEN$="オクラセル (+RC)" 70 PRINTUSING"##.####";J1;:PRINT"(60 シンホウ)";SEN$ 80 FOR I=1 TO 5000 :NEXT I
<fx-7200G用プログラム> <fxー502p,602P等 ,は入力しません> "MAENO AVE(km/h)" FP,C6-07,FP,C6-08,FP,C6-09,C0 ?→M:"PC〜NO AVE" C7-07,E2,C7-08,E4,01,C1,E1,C7-09 ?→P:"DISTANCE(km)" E2,C7-07,E5,FF-F7,FP ?→D:(M/P-1)*D/M*3600
5 'FILE NAME "ST-TIM" 10 CLEAR 20 INPUT"TRIP (キョリ:km) ";TRIP 30 INPUT"AVE (ソクド:km/h) ";AVE 40 INPUT"1ツマエノ PCノ スタートジカン(60シンホウ)";STT1 50 ' 60 SJ=TRIP/AVE 70 STT2=(DEG(STT1))+(SJ) 80 STT3=DMS(STT2) 90 STT4=DMS(SJ) 100 ' 110 CLS:PRINT" TRIP ";TRIP;"(km) AVE";AVE;"(km/H)" 120 PRINTUSING" 1ツ テマエ PCノ スタートジカン(60シンホウ) ##.####";STT1 130 PRINTUSING" * ショヨウジカン (60シンホウ) ##.######";STT4 140 PRINTUSING" * スタート タイム (60シンホウ) ##.######";STT3 150 FOR I=1 TO 5000 :NEXT I 160 END
このPCは「ウルトラテクニック の最後 STAGE7 ウルトラ順不同PC」で紹介しました一定の距離と時間ごとに前速度の何%または、何km/hのUP・DOWNしながら走行するという一番難しいPCを自動で計算してしまおうというプログラムです。ただ、突然の目標物PCには対応出来ませんので、あくまで、計算の補助と考えて下さい。単純な区間のみこのプログラムを使うようにして、基本的には表に距離とAVE、所用時間を記入しながら計算しましょう。
もっと良いプログラムを考案された方はご一報下さい。
<問題例>
この先10km地点まで
(1) 3kmごとにAVEを10%UPせよ。
(2) 5分走行ごとにAVEを10%UP・DOWNせよ。
(但しPCからのAVEは22km/h)
<使用方法>
漢字かなの部分はカタカナに直して下さい。 2 'FILENAME "J-K-PC" 4 CLEAR 10 INPUT"START-AVE スタート時の速度";SHOSOKU 20 INPUT"時間PCの指定時間数(min)":M 30 INPUT" % UP OR DOWN (ナシ=0)";PM 40 INPUT" (km/h) UP or DOWN (ナシ=0)";KM 50 INPUT"距離PCの指定の距離数 (km)";L 60 INPUT" % UP OR DOWN (ナシ=0)";PL 70 INPUT" (km/h) UP OR DOWN (ナシ=0)";KL 80 ' 100 IF PM=0 THEN GOTO 110 ELSE GOTO 120 110 IF PL=0 THEN GOTO 4000 ELSE GOTO 3000 120 IF PL=0 THEN GOTO 2000 ELSE GOTO 1000 130 '--------------------------------------------------- 1000 'SUBROUTINE (M-%:L-%) 1020 L1=L:M1=M 1030 JINVL=M*SHOSOKU/60 1040 IF L> JINVL THEN GOTO 1060 ELSE GOTO 1130 1050 ' 1060 PRINT:PRINTUSING"##.###";JINVL;:PRINTUSING"KMをAVE ##.### kmで走行する”;SHOSOKU 1070 L=L-JINVL 1080 M=M1 1090 SHOSOKU=SHOSOKU*(1+PL/100) 1100 INPUT "次の計算 -PUSH [RETURN] ";SG 1110 GOTO 1030 1120 ' 1130 PRINT:PRINTUSING"##.###";L;:PRINTUSING"kmをAVE ##.### km/hで走行せよ";SHOSOKU 1140 LINVJ=L/SHOSOKU*60 1150 SHOSOKU=SHOSOKU*(1+PL/100) 1160 M=LINVJ : M=M1-M 1170 L=L1 1180 INPUT" 次の計算 PUSH [RETURN]";SG 1190 GOTO 1030 1200 '-------------------------------------------------- 2000 'SUBROUTINE (M-%:L-KM) 2020 L1=L :M1=M 2030 JINVL=M*SHOSOKU/60 2040 IF L > JINVL THEN GOTO 2060 ELSE GOTO 2130 2050 ' 2060 PRINT:PRINTUSING"##.###";JINVL;:PRINTUSING"kmをAVE ##.### km/hで走行せよ";SHOSOKU 2070 L=L-JINVL 2080 M=M1 2090 SHOSOKU=SHOSOKU*(1+PM/100) 2100 INPUT"次の計算 PUSH [RETURN]";SG 2110 GOTO 2030 2120 ' 2130 PRINT:PRINTUSING"##.###";L;:PRINTUSING" kmを AVE ##.###km/hで走行する”;SHOSOKU 2140 LINVJ=L/SHOSOKU*60 2150 SHOSHOKU=SHOSOKU+KL 2160 M=LINVJ : M=M1-M 2170 L=L1 2180 INPUT "次の計算 PUSH [RETURN]";SG 2190 GOTO 2030 2200 '-------------------------------------------------- 3000 'SUBROUTINE (M-KM;L-%) 3020 L1=L :M1=M 3030 JINVL=M*SHOSOKU/60 3040 IF L > JINVL THEN GOTO 3060 ELSE GOTO 3130 3050 ' 3060 PRINT:PRINTUSING"##.###";JINVL;:PRINTUSING"kmをAVE ##.### km/hで走行せよ";SHOSOKU 3070 L=L-JINVL 3080 M=M1 3090 SHOSOKU=SHOSOKU+KM 3100 INPUT"次の計算 PUSH [RETURN]";SG 3110 GOTO 3030 3120 ' 3130 PRINT:PRINTUSING"##.###";L;:PRINTUSING" kmを AVE ##.###km/hで走行する”;SHOSOKU 3140 LINVJ=L/SHOSOKU(1+PL/100) 3150 SHOSHOKU=SHOSOKU+(1+PL/100) 3160 M=LINVJ : M=M1-M 3170 L=L1 3180 INPUT "次の計算 PUSH [RETURN]";SG 3190 GOTO 3030 3200 '------------------------------------------------- 4000 'SUBROUTINE (M-KM:L-KM) 4020 L1=L :M1=M 4030 JINVL=M*SHOSOKU/60 4040 IF L > JINVL THEN GOTO 4060 ELSE GOTO 4130 4050 ' 4060 PRINT:PRINTUSING"##.###";JINVL;:PRINTUSING"kmをAVE ##.### km/hで走行せよ";SHOSOKU 4070 L=L-JINVL 4080 M=M1 4090 SHOSOKU=SHOSOKU+KM 4100 INPUT"次の計算 PUSH [RETURN]";SG 4110 GOTO 4030 4120 ' 4130 PRINT:PRINTUSING"##.###";L;:PRINTUSING" kmを AVE ##.###km/hで走行する”;SHOSOKU 4140 LINVJ=L/SHOSOKU*60 4150 SHOSHOKU=SHOSOKU+KL 4160 M=LINVJ : M=M1-M 4170 L=L1 4180 INPUT "次の計算 PUSH [RETURN]";SG 4190 GOTO 4030 4200 '--------------------------------------------------
END OF PROGRAM-------------------------------------------
先頭のもどる
5.ODまでPCの処理プログラム FILE NAME"OD-PC"このプログラムはウルトラ テクニックのStage7でご紹介しましたOMCPまでにPCが出現する場合のアシストプログラムです。ODまでのPCでの未補正の積算トリップと、ラリーコンピューターで計算された補正係数「K」を入力することにより、自動的にOMCPまでの正解所用時間を計算するものです。
但しこのプログラムは、看板PC(目標物)、コマ図PCの処理が可能ですが、ODまでPC中の時間PC・距離PCには、対応していませんので、ご注意下さい。
<問題例>
ウルトラテクニック Stage7を参照して下さい。
<使用方法>
- OMCPまでのPC数を入力する。(但し、START,OMCPはPCには、数えない)
- ラリーコンピューターで求められた補正係数「K」を入力する。・・・(0.9244)
- STARTからPC1までのトリップ(km)・・・(2.00)
AVE(km/h)・・・(10) 入力する。- PC1からPC2までの、積算トリップ(km)・・・(5.35)
AVE(km/h)・・・(20) 入力する。- (2)の操作をOMCPまで繰り返す。
- 「K」で補正されたOMCPまでの所用時間が表示される。・・・(0.3015:30分15秒)
(2)(3)での数値の入力は、未補正積算トリップを入力すること。
(積算トリップをK補正したり、区間距離に直す操作は必要ありません。)
<プログラム>
5 'FILE NAME"OD-PC" 10 CLEAR 20 INPUT"OMCP マデノPC スウ”;PC:PCC=PC+1 30 INPUT"ホセイケイスウ K (ジシャTRIP/オフィシャルTRIP)”;L(1) 40 DIM L(PCC),V(PCC),LL(PCC) 50 PRINT:INPUT"START カラ PC1までのAVE (km/h) 60 INPUT"START カラ PC1までのAVE(km/h) ";V(I) 70 IF PC=1 THEN GOTO 120 ELSE GOTO 80 80 FOR I=2 TO PC 90 PRINT:PRINT"PC”;I-1;"カラ PC"I;:INPUT"マデノセキサンTRIP(km)";L(I) 100 PRINT"PC ";I-1;"カラPC ";I;INPUT"マデノAVE (km/h)";V(PCC) 110 NEXT I 120 PRINT:PRINT"PC";PC;” カラ OMCP";:INPUT” マデノセキサンTRIP(km)";L(PCC) 130 PRINT"PC";PC;" カラOMCP";INPUT"マデノAVE (km/h)”;V(PCC) 140 ' 150 FOR J=1 TO PCC 160 LL(J)=L(J)-L(J-1) 170 NEXT J 180 ’ 200 FOR I=1 TO PCC 210 LL(I)=LL(I)/K 220 JIKAN=LL(I)/V(I)+JIKAN 230 NEXT I 240 PRINT:PRINT"セイカイジカン(60進法)";:PRINTUSING"##.####";DMS(JIKAN) 250 FOR J=1 TO 5000:NEXT J 260 '-------END OF PROGRAM-----------