title fortranデバック助言システムadvisor : 利 …ºƒ i uari, 0. - 1. 0 l・lade ho...

28
Title FORTRANデバック助言システムADVISOR : 利用説明書 Author(s) 磯本, 征雄; 石桁, 正士; 江沢, 義典 Citation 大阪大学大型計算機センターニュース. 48 P.69-P.95 Issue Date 1983-02 Text Version publisher URL http://hdl.handle.net/11094/65559 DOI rights

Upload: phunghanh

Post on 28-Apr-2018

216 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Title FORTRANデバック助言システムADVISOR : 利 …ºƒ I UARI, 0. - 1. 0 l・lADE HO SUUCHI 0 "IllPUT" SHH 、 JASAI. KEISI,ll GA CHUUDAll SARE'l'A. =O.O ←ー一上の出力された症状に対して、上の説明文にあるように

Title FORTRANデバック助言システムADVISOR : 利用説明書

Author(s) 磯本, 征雄; 石桁, 正士; 江沢, 義典

Citation 大阪大学大型計算機センターニュース. 48 P.69-P.95

Issue Date 1983-02

Text Version publisher

URL http://hdl.handle.net/11094/65559

DOI

rights

Page 2: Title FORTRANデバック助言システムADVISOR : 利 …ºƒ I UARI, 0. - 1. 0 l・lADE HO SUUCHI 0 "IllPUT" SHH 、 JASAI. KEISI,ll GA CHUUDAll SARE'l'A. =O.O ←ー一上の出力された症状に対して、上の説明文にあるように

FORTRANデバッグ助言システム ADVISOR

ー一利用説明書

資料

大阪大学大型計算機センター隠も 本: 1正 雄:大阪電気通信大学工学部 ~ 桁; 正: ± 関西大学工学部 江沢義典

〔目的 J

本説明書は、 FORTRANプログラムのデバッグの助言をTSS端末より得るためのシステム

ADVISORの利用に関する説明を目的とするものです。なお、このADVISORによるデバッグ

は、コンパイレーション時の文法的誤りのデバッグは除外していて、 `実行されたが期待したとお

りの結果が出ない”ときなどの実行時の誤りのデバッグを対象としています。

〔機能〕

ADVISORは、誤った FORTRANプログラムの実行結果に対するデバッグに関する助言を与

えます。 ADVISORからの助言をもらうには次の 2通りの方法があります。

INQUIRY………エラーメッセージを入力して質問文を検索するもの。

(問い合わせ)

DIAGNOSE・ …••デバッグの視点を選択して、エラーの症状に関する問診を行うもの。(診断)

これら 2つのうち、どちらかの方法を利用者が選択しますと、システムの問診又はエラーメッセ

ージ入力を経た後に助言が始まります。質問応答が何回かくり返された後、最終的な助言が得られ

るようになっています。

〔呼び出し名〕

CONSULTANT△ ADVISOR (△は空白を示す。)

ADVISOR利用法の理解を容易にするために、具体的な FORTRANプログラムの例に基づい

て説明します。最初に正しいプログラムの実例を示し、後半の使用例では誤りのあるプログラムを

実例にして説明します。そして、この例によりADVISORによる適切な助言の得られる様子を示

し、これを参考にしてADVISORの使い方を学んで下さい。

大阪大学大型計算機センターニュース - 69 - Vol. 12 No. 4 1983-2

Page 3: Title FORTRANデバック助言システムADVISOR : 利 …ºƒ I UARI, 0. - 1. 0 l・lADE HO SUUCHI 0 "IllPUT" SHH 、 JASAI. KEISI,ll GA CHUUDAll SARE'l'A. =O.O ←ー一上の出力された症状に対して、上の説明文にあるように

FORTRANプログラムの例題

三角形の二辺の長さA, Bとその間の角度ANGLEをREAD文から読み込んで、

その三角形の他の一辺の長さとその面積を求める。

*正しいFORTRANプログラムの例

010C EX-4 020C A,B,ANGLE NO YOMil<OMI 030 REAf1(5,100)A,B,ANGLE 040 100 FORMAT(3F10.0) 050C S,C NO KEISAN 060 ANGLEョANGLE/180*3.1415070 T=A**2+B**2-2バ)*A*B*COS<ANGLE) 080 C=SQRT<T> 090 S=A*Ec*SIN (ANGLE) /2• 。100C A, Eり C, ND INSATSU 110 WRITE(6,200) A,B,C,ANGLE,S 120 200 FORMAT< 1HO心 HA=,E15.7心 X,2HB=,E1瓦 7心 X,2HC=,E15+7130 &/1H ,6HANGLE=,E15.7 140 &/1H ん H S=,E15.7) 150 STOP 160 END

籾UN=3,2,60 、, 入力子"ータ

以千鱈テ’` ータA= 0+3 OOOOOE+01 Br.:: 0+2000000Et01 Ceo 0+2645690Et01 ANGLE= 0.1047167Et01

Si::: 〇+2598030Et01

各々の変数に対しての定数は次のものが正しいものとしています。

[; : :: ANGLE= 6 0.0

大阪大学大型計算機センターニュース - 70 - Vol. 12 No. 4 1983ー2

Page 4: Title FORTRANデバック助言システムADVISOR : 利 …ºƒ I UARI, 0. - 1. 0 l・lADE HO SUUCHI 0 "IllPUT" SHH 、 JASAI. KEISI,ll GA CHUUDAll SARE'l'A. =O.O ←ー一上の出力された症状に対して、上の説明文にあるように

(例 1)誤りのある FORTRANプログラムの例(算術演算の誤りの例)

OlOC EX-4 020C n,B,ANGLE NO YOMIKONI 030 READ(S,lOO)A,B,ANGLE 040 100 FOR! ・!AT(3Fl0. 0) OSOC S,C NO KEISAN 060 星迫臨:=AHGLE/180*3,1415①

070 T=A**2+B**2-2.0*l¥*I3*COS(l¥HGLE) 080 C=SQR'l'('r) 090 S~A*B*SIN(ANGLE)/2.0 lOOC n,B,C, NO INSATSU 110 IVItITE(6,200) i¥,13,C,At、JGLE:,s120 200 FOnI-1AT{lH0,2IJA=,El5.7,2X,2IIB=,El5.7,2X,2HC=,El5.7

130 &/lH , 6Hl¥.l-lGLE= ,ElS. 7 140 &/lH ,6H S=,ElS.7) 1so s・roP 16 0 END

*RUN =3,2,60

A= 0.3000000E+Ol B= 0.2000000E+Ol C= 0.4942566E+Ol ②

ANGLE= 0,GOOOOOOE+02③

S= -0,9144319E+00④

~

②,③,④の変数C,ANGLE, Sの出力値が誤っている。

④の変数Sの出力値がマイナスになっている。

~ ①の算術式の左辺の変数名ANGLEをANGELと誤った。

次に、例 1についてADVISORを使用した様子を示します。

大阪大学大型計算機センターニュース - 71 - Vol. 12 No. 4 1983-2

Page 5: Title FORTRANデバック助言システムADVISOR : 利 …ºƒ I UARI, 0. - 1. 0 l・lADE HO SUUCHI 0 "IllPUT" SHH 、 JASAI. KEISI,ll GA CHUUDAll SARE'l'A. =O.O ←ー一上の出力された症状に対して、上の説明文にあるように

SYSTEH ?CONSULTANT ADVISOR , 呼び出し名, CONSULTANTADVISOR

****************************** *** WELCOME TO ADVISOR *** ******************************

と入力した。

=== STARr.r ADVISOR ===

TYPE IN I INQU I , I DIAG I , I CODE-NO I , I? I , OE I END I =DIAG ←__検索方法を選ぷ。

INQU ……•••エラーメッセージを入力して質問文を検索する方法。

DIAG …••••••デバッグの視点を選択して、エラーの症状に関する問診を行い診断する

方法。

CODE-NO・.. DIAGで症状の問診を終えてコード番号が出力された後、 ADVISOR

の使用を中断し、再び続けて使用したい時に、そのコード番号を入力し

て検索を続ける方法。

? ....... ………••それぞれの検索方法を説明する。

END……...... ADVISORの使用を中止する。

ここでは、 DIAGを選び、入力した。

"PROGIふH" SIIHWAH KAISHI.

***・******* "DEBUG" lJO SHI匹 11** * *** * * * ** * * * * * * * ***** * * ** ** * * *i'*;'* * * * * * * * "ERR011 llESSl,GE" ATII. * * (0) "ERROit I・lESSAGE" G入 ZIEIWUZI llI "OU四 U閏II SARE'l'ふ。** HEHSUU 110 II. り.'AI llO lゞ'.lAi-iARI. >< * (1) "CARD-READER" iil1.TM-Jlヽ "'i'SS'.f:ERtlINAL" Kl¥.RA NO "DlゞrA HlPU'L'" * * HO 醒 Ai!ARI. !!ATM広 "DATA IllI'l'IALIZ醒 ION" llO AYAillぶ I. * * (2) "LLlI.:-PRE!'.L'E滋 II l-JA四¥¥Ill'"上'SS TERHHJAL" EHO "OUTPUT" * * HO AY母 lARI。** (3) AYA!iAT'l'A SUUCIII ra:rsムil GA A RU.'" * YOSOU G,・1I 110 "OU匹 U'』 FORl!AT" HO応CAi-il,RI GT、ARU. * * (4) "LilJE-PRIN'l'ER" ill直'Am, "'l'SS'l'ERliillAL" r::1;0 "ou匹 U'.:.'11 Gふ** 1iAT'l'AKU lJll.I. * * (5) "OUTPU'l'DATA" i:iO "FOR!-ii1.T" NO AYAllARI. * * (6) "LillE-PRilJ'.L'ER" illゞrAm;. "Tss TEm-111mL" 110 SEIGYO uo AYAIIAr:r。** ll.YAril1四 ii.!:lYUSHYU四 URYOKU SOUCIH HO'.110RI ATSUKI1I * * (7) "fふGlJETIC ⑫ PE" !Jl¥Tl¥lJA "DISC PACK" KARA1JO/E1IO 11五訊II * * TEi・lSOU I-10 l¥YAiiARI。** (8) "JOB DECK" GA HA'l''l'AKU ZIKKOU SIi.RENAL * * SOl!O'.£ も** (9) UENO DORE DEHO NAI。**

* *************************************************************->'*******

WAKARAlJA.I TOKI WA,4? NO YOUliI "?" 0'I'SUKE'l'E "INPUT" SEYO.

HYOU HO NAKA KARA Bl',l,GOU O ERABE. =3 -上のデバッグの視点から各自のエラーの症状によって、 o~9 の番号を選びます。この例では、出力値が

""'""'

違っていて、その中のひとつの値がマイナスになっていたので、数値計算に誤りがあるのではないかと思

い、 3番を選び入力した。

大阪大学大型計算機センターニュース - 72 - Vol. 12 No. 4 1983-2

Page 6: Title FORTRANデバック助言システムADVISOR : 利 …ºƒ I UARI, 0. - 1. 0 l・lADE HO SUUCHI 0 "IllPUT" SHH 、 JASAI. KEISI,ll GA CHUUDAll SARE'l'A. =O.O ←ー一上の出力された症状に対して、上の説明文にあるように

TSUGI NI IMA ANATA GA ERANDA BUN DE OKORIURU

"ERROR" HO SHOUJOU O "OUTPUT" SHIHASU.

AUATA NI

ATEHAHARU BUU UARふ 1.0 o.o l心Ell!.!!ARANAI BUH HARA

HAKKilU SHil広 I UARI, 0. 0 - 1. 0 l・lADE HO SUUCHI

0 "IllPUT" SHH、JASAI.

KEISI,ll GA CHUUDAll SARE'l'A.

=O.O ←ー一上の出力された症状に対して、上の説明文にあるように 0.o-1.0の数値を入力する。

ここでは、計算は中断されなかったので、 0.0と入力した。

SUUCiiI UI GOSi'ふ Gi,OOI.

咆二←—数値に誤差があるが、誤差というより大きく値が違っているので、誤差と言えるかどうか

解らないので、 0.2と入力した。

SUUCilI Gh i迅'l".i.'AKU CII IGl、TT!.ATl,I HI U誼 TA.

=O 7 ,,,, .... :, .. ,,,,,, ,, 5つの出力値のうち 3つが違っていたので、 0.7と入力した。

HEl;-SUU IlO l,TAI GA S1¥I'l'EIGI Si、REl:ll,I.=旦_,_Q_ ←—一このような結果ではなかったので、 0.0 と入力した。11¥lRI訟 II lJUll l)I YOf:Al!l,I "OU匹 U''""'GAARU • =O 0

.,''~'''"

"CPU弐 HiE" GA llAGASUGIRU.

=O 0 ● "''""~--'

"DIAGllOS虚 II liO IZEIく恥間 TSUGI llO'l'OURI DESU.

KOIJO i恥 KA I~ARA "CODE" 認 llGOU O 1-'.i:SU ERABil'.A SAI.

(Cは35) 0.74 s1101:r "rふTA11 110 ATI,I HO l¥.YAl迅I:I.

(CI:36) 0。72 八1':U 名YOUKじU 1、10 IlOU'. 上~E:ISllIIZI O TOI'l'A.

(CR31) 0。70 Sl¥llJU'l'SU El:l ZAU 110 lゞ年ぶARI.

(CH34) 0。70 llCllSUU llEI l/0 lぐ:lAiiARI.

"CODE" JJふHGOU O "INPUT" SEYO.

"CODE" BAllGOU ; "ADVICE" KAISHI.

ClぶlUAGERE'l'UlUJ ; "DIAGNOSIS" UO YARil払OSHI.

=_f早ー症状の問診から、上のような 4つのことが考えられる。この中から助言されたいもののコ

ード番号を選ぷ。

ここでは、初期データの値の誤りはなく、悪条件の方程式もないようなので、算術演算の

誤りではないかと思いコード番号CR31を選び入力した。

大阪大学大型計算機センターニュース - 73 - Vol. 12 No. 4 1983-2

Page 7: Title FORTRANデバック助言システムADVISOR : 利 …ºƒ I UARI, 0. - 1. 0 l・lADE HO SUUCHI 0 "IllPUT" SHH 、 JASAI. KEISI,ll GA CHUUDAll SARE'l'A. =O.O ←ー一上の出力された症状に対して、上の説明文にあるように

"LET'S START YOUR ADVICES !"

==="START ADVICE"===

== FOLLmHNG SENTENCES GIVE AN ADVICE TO YOU ==

NUMBER ADVICE ' 1つ目の助言文

() SA11JUTSU ENZAlI 110 AYAHARI. () SANJUTSU ENZAN O AYA!-IARU TO SUUCHI GA NAT'l'AKU CHIG/1.'l'TA

A'l'、AI NI NARU. () SUUCl:!I GA HATTAKU CHIGATTA ATAI HI NATTA. (5) KAUSUU NO HIKISUU NO AYA!、IARI TO OMOWARE HASU. (17) HIKISUU llO HEllSUU l、!EI NI AYAMARI GA邸 u.(26) KANSUU 110 HIKISUU O TADASIIIKU SHITE KUD/,Sl、I.***'l'YPE IN YOUR AGREEMEl四***

=HOS,H17,ll26• 一助言で納得できるか、またはできないかを返答する。

納得できるもの : YとともにNUMBER欄の数字を 2桁で入力する。

納得できないもの: NとともにNUMBER欄の数字を 2桁で入力する。

ここでは、関数COS,SQRT, SINのそれぞれの引数は正しく誤っていな

いようなので、 N05,Nl7,N26と入力した。

-------------------- ilEX'l'ADVICES --------------------

== FOLLOWING SEllTEl!CEG GIVE Al1 ADVICE TO YOU --

NUi-lDER ADVICE , 2つ目の助言文

() SAlJJ-UTSU El⑭ ZAl~110 lヽYAHARI.( ) SAl!JU'l'SU CUZI,ll O AYAllARU TO SUUCI!I Gi1 ! 迅四AKU CIIIGI,TTA

ATAI HI lll¥.RU. ) SUUCHI Gl1. IふT四AKU CHIGATTA ATl¥.I llI l訊 TTA.

2) SAllJUTSU SHIKI NO IIENSUU !!EI HO llYAl-lARI TO m1mmrrn r-迅SU.

7) SAHJUTSU SHIKI HO UHEll i-iATAHI, Sl、HEH110 IIEllSUU !-iEI 110 AYAI-iARI.

(24) SANJUTSU SHIKI 110 HEHSUU !IEI O TADASHIKU SHITE KUDASl1.I.

***'.rYPE IN YOUR AGREEHEN'l'*** =.x.Ql ←—算術式の変数名が誤っていないかを見ていると、プログラムの行番号 0 6 0の算術式の左辺

の変数名を誤っているのが解り、 Y07と入力した。

大阪大学大型計算機センターニュース - 74 - Vol. 12 No. 4 1983-2

Page 8: Title FORTRANデバック助言システムADVISOR : 利 …ºƒ I UARI, 0. - 1. 0 l・lADE HO SUUCHI 0 "IllPUT" SHH 、 JASAI. KEISI,ll GA CHUUDAll SARE'l'A. =O.O ←ー一上の出力された症状に対して、上の説明文にあるように

--------------------NEXT ADVICES--------------------

== FOLLOWING SENTENCES GIVE AN ADVICE TO YOU~~

NUMBER ADVICE ' 最後の助言文

SANJUTSU EN ZAN NO AYAI-IARI.

SAHJU'rsu ENZAll O AYAr・IARU TO SUUCHI GA HATTAKU CHIGATTA

ATAI NI 1/ARU. SUUCHI GA HAT'I'l¥KU CHIGATTA ATAI NI NATTA.

SAl:JJUTSU SEIKI HO HENSUU MEI HO AYAHARI TO

OHOWARE I-II.SU. Sl,NJUTSU SHIKI HO UHEU HATAHA SAHElJ NO HEllSUU HEI

NO hYA!IARI. SAIJJUTSU SHIKI 110 HENSUU l、!EI O TADASHIKU SHITE

KUDASAI,

** TIIE ADVICES ARE FilJISHED **

COHTINUE(COUT) OR I::HD(EUD)?

=END • ―ADVISORを続けて使用するかどうかを選ぷ。

CONT・・・・・・・・・ADVISORを続けて使用する。

END・ …・・・・.. ・・ADVISORの使用を終わる。

ここでは、適切な助言が得られたので、 ENDと入力した。

**** li.DVISOR IS CLOSED ****

llODULE ?

=区亙] ←― CONSULTANTの他のモジュールを使用するかどうかを選ぷ。9● "● "●● ""● "● "● """'"● ""一••••

GOOD-BYE

SYSTEll ?

大阪大学大型計算機センターニュース

モジュール名を入力…•••それぞれのシステムを呼び出す。

区を押す••………·CONSULTANTの他のモジュールを使用しない。

- 75 - Vol. 12 No. 4 1983-2

Page 9: Title FORTRANデバック助言システムADVISOR : 利 …ºƒ I UARI, 0. - 1. 0 l・lADE HO SUUCHI 0 "IllPUT" SHH 、 JASAI. KEISI,ll GA CHUUDAll SARE'l'A. =O.O ←ー一上の出力された症状に対して、上の説明文にあるように

(例 2)誤りのある FORTRANプログラムの例 (WRITE文の変数並びの誤りの例)

010C EX-4 02()C A,B,ANGLE NO YOMIKOMI 030 READ< 5,100) A心 ,ANGLE040 100 FORMAT(3F10.0> 050C S,C NO KEISAN 060 ANGLE=ANGLE/180)1(3.1415 070 T=AU2+B**2-2+0*A*B*CDS<ANGLE> 980 C=E>QRT〈T)

090 S=A*BlkSIN<ANGLE)/2+0 100C い瓦C, NO INSATSU 110 WRITE (6, 20()) A, BバわANGLE汀

120 200 FORMAT(1H0,2HA==,E1か 7,2X,2HB=,E15.7,2X心 HC==,E15合7130 &/1H ,6HANGLE=,E15。7140 &/1H ,6H S=,E15會 7)150 STOP 160 END

*RUN =3,2,.60

A= 0,3000000E+01 Bu:: 0,2000000E+01 C::: 0,2645690Et01 ANGLE= 0+104716'7E+01

② S= 0+6999678Et01

②の変数Sの出力値が誤っている。

①のWRITE文の変数並びの変数SをTにまちがった。

次に、例 2についてADVISORを使用した様子を示します。

大阪大学大型計罪機センターニュース - 76 - Vol. 12 No. 4 1983-2

Page 10: Title FORTRANデバック助言システムADVISOR : 利 …ºƒ I UARI, 0. - 1. 0 l・lADE HO SUUCHI 0 "IllPUT" SHH 、 JASAI. KEISI,ll GA CHUUDAll SARE'l'A. =O.O ←ー一上の出力された症状に対して、上の説明文にあるように

SYSTEM'!'CONSULTANT A[IVISOR

****************************** *** WELCOME TD ADVISOR *** ****************************** === START ADVISOR """"""

TYPE IN'IN(m','DIAG','CODE-NO',''l'', OR'EN[I'

=DIA(ぅ , エラーの症状に関する問診を行なう検索方法を選んだので、 DIAGと入力した。

"PROGRAM" SHINDAN KAISHI+

**********汀l[BUG" NO SHITEN **************************************** * *

*• ERFWR MESSAGE• AR I・ ** (0) "ERROR MESSAGE" GA ZIKKOLIZI NI "OUTPUT" f.lARETA+ * * HENSUU NO ATAI NO AYAMARI・ ** (1) "CARD・-READER" MATAWA "TSS TERMINAL" KARA NO "DATA INPUT" * * NO AYAMAR:C, MATAWA "DATA INITIALIZATION" NO AYAMAFU・*

* (2) ・ LINE·-PF~INTER" MATAWA•ms TERMINAL" ENO ・OUTPUT" * * NO AYAMAFU. * * C3) AYAMATTA SUUCHI KEISAN GA ARll, * * YOSOU GAI NO "OUTPUT F@MAT" NO AYAMAFU GA AFW令 ** (4) 騎 LINE・千'RINTER. MAT AWA • ms TERMINAL霞 ENO "OUTPUT" GA * * MATTAKU NAI, * * <~i)• OUTPUT DATA" NO 員 FORMAT" NO AYAMARI, * *(い•l..INE .. ・PRINTER" MAT AWA• TSS TERMINAL" NO SEIGYO NO AYAMARI+ * * AYAMATTA NYUSHYUTf.lURYOKU SOUCHI NO TORI ATf.llJKAI * * (7) "MAGNETIC TAPE" MATAWA "DISC PACK" KARANO/ENO "DATA" * * TENSOU NO AYAMARI, * 氷 (8〉・ ,JOB DECK" GA MATTAKU ZIKKOLI SAF~ENAI • * * SDNOTA * * (9) UE NO DORE DEMO NAI + * * *

********************************************************************* WAKARANAI TOKI WA,4? NO YOUNI "'l'" Cl TSUKETE "INPUT" SEYO争

HYDU NONAKA KARA BANGOU O ERABE令

=.z.. -出力値のひとつの値が違っているので、 OUTPUTの時に誤まっているのではないかと思い 2を選んで

入力した。

TSU(うI NI IMA ANATA GA ERANDA BUN DE OKORIURU

"ERROF~ • NO SHOUJOU O "OUTPUT• SHIMASU令

ANATA NI

1.。o.。ATEHAMARU BUN NARA

ATEHAMARA NAI BUN NARA HAKKIRI SHINAI NARA O+O - 1.0 MADE NO SUUCHI

0 "INPUT" SHINASAI+

大阪大学大型計算機センターニュース - 77 - Vol. 12 No. 4 1983-2

Page 11: Title FORTRANデバック助言システムADVISOR : 利 …ºƒ I UARI, 0. - 1. 0 l・lADE HO SUUCHI 0 "IllPUT" SHH 、 JASAI. KEISI,ll GA CHUUDAll SARE'l'A. =O.O ←ー一上の出力された症状に対して、上の説明文にあるように

SUUCHI GA SUBETE "ZERO" NI NATTA. =O+。""''"-""''● ""'

SUUCHI GA MATTAKU CHIGAU.

=~ ←ー出力の値の一部が違っていたので、 0.6と入力した。

SUUCHI GOSA GA OOKI SUGIRU+ 弓旱←—数値の誤差というより、大きく値が違っていたので 0.3 と入力した。

SUUCHI NO TOKORO NI "***********" GA INZI SARETA. ヨ碑"INTEGER" "REAL" NO KUBETSU GA NASARETE INAI+

き 碑"OVERFLOW・"ZERO DIVHIE" NADD ND MOZI GA INSATSU SARETE IRU =O.。—... ,, .. ,,,,,, •PROGRAM• DE "WR I TE• BUN I GA I NO• OUTPUT" GA Af<ll + ::::〇.。--・-・・・-

"DIAGNOSES" NO KEKKA WA TSUGI NO TOUR! DESU+ KONO NAKA KARA "CODE" BANGOU O 1・-TSU ERABINA SAI +

(CR23) 0+90 SHOKICHI SETTE! NO AYAMARI+

CCR21) 0+75 KATA SENGEN NO AYAMARI+

(CR22) 0,54 DAINYUU BUN NI AYAMARI GA ARU+

(CR25) 0+51 騎WRITE" BUN NO HENSUU NARABI NO AYAMARI+

"CODE" BANGOU 0 員 INPUT" SEYCJ + •CODE• BANGOU ; •ADVICE" KA I SH I + CARRIAGE RETURN ; "DIAGNOSIS" NO YARINAOSHI +

:::L迂廷逗<—-—初期値設定、型宣言の誤りはないようなので、代入文またはWRITE文が考えられる。しか

しこの場合の計算式は与えられていたものなので、 WRITE文の変数並びの誤りの、 CR25

を選び入力した。

"LET'S START YOUR ADVICES !"

==="START ADVICE・===

== FOLLOWING SENTENCES GIVE AN ADVICE TO YOU==

NUMBER ADVICE •WRITE" f.tlJN NO HENSUU NARAB I ND AYAMAR I • HENSUU NARAf.1I O AYAMARU TO SlJUCHI GA MATTAKU CHIGATTARI, "*******" GA "OUTPUT" SARERU.

(4.) "OUTPUT鶴 NO ATAI GA "O<ZERD)" MATAWA "OUTPUT" NO KOSUU GA SUKUNAKU NATTA+

(7) HENSUU MEI NO AYAMARI+ (13) HENSUU MEI NO KANGAE KATA NO AYAMARI GA ARU. (18) "PROGRAM" NO NAKA NO TANO HENSUU NI NATTE IRU TO

OMOWARE MASU. (22) TAtlASHII HENSUU MEI NI SHITE KUIIASAI. *** TYPE IN YOUR AGREEMENT*** =~ -変数名の考え方の誤りはないと思ったので、 N13と入力した。

大阪大学大型計算機センターニュース - 78 - Vol. 12 No. 4 1983-2

Page 12: Title FORTRANデバック助言システムADVISOR : 利 …ºƒ I UARI, 0. - 1. 0 l・lADE HO SUUCHI 0 "IllPUT" SHH 、 JASAI. KEISI,ll GA CHUUDAll SARE'l'A. =O.O ←ー一上の出力された症状に対して、上の説明文にあるように

・-------------------- NEXT ADVICES --------------------

== FOLLOWING SENTENCES GIVE AN ADVICE TO YOU==

NUMBER ADVICE

() "WRITE" BUN NO HENSUU NARABI NO AYAMARI+

() HENSUU NARABI O AYAMARU TO SlJUCHI GA MATTAKU CHIGATTARI,

"*******" GA "OUTPUT" SARERU. < 4) "OUTPUT" NO ATAI GA 鱈 O(ZERO)" MATAWA "OUTPUT員 NO

KOSUU GA SUKUNAKU NATTA+

< 7) HENSUU MEI NO AYAMARI+

(12) AYAMATTE "PROGRAM" NONAKA NI SONZAI SHINAI HENSUU

MEI GA ARU.

(16) TSUGI NO YOUNA "MESSAGE" GA "OUTPUT" SAF~ETE IRUKA'l'

<W>412 n IS NOT DEFINED

(19) HENSUU NARABI NO HENSUU NO AIDA NO ・ COMMA• NO

KETSURAKU GA ARU+

(21) TAIIASHII HENSUU MEI NI SHITE KUIIASAI+

*** TYPE IN YOUR AGREEMENT***

=N12,N16 , プログラムの中に存在しない変数名はなく、くW)412 ?? IS NOT DEFINED

というメッセージはなかったので、 N12とNl6を入力した。

------・・--・・-・---臼・・--・--・・-・------NEXT ADVICES ----------------・-・・--・-・・-

== FOLLOWING SENTENCES GIVE AN ADVICE TO YOU==

NUMBER ADVICE

() "WRITE員 BUN NO HENSUU NARABI NO AYAMARI+

<) HENSUU NARABI O AYAMARU TO SUUCHI GA MATTAKU CHIGATTARI,

騎*******"GA 員OUTPUT" SARERU會

(4) "OUTPUT" NO ATAI GA ・0(ZERO)• MAT AWA• OUTPUT" NCI

KOSUU GA SUKLJNAKU NATTA+

(7) HENSUU MEI NO AYAMARI.

(11) "MISS PUNCH籠 NI YORU HENSUU MEI NO AYAMARI GA ARLJ.

(15) "PROGRAM" NONAKA NCI TANO HENSLJU NI NATTE IRU TO

CIMOWARE MASU.

(18) TADASHII HENSUU MEI NI SHITE KUDASAI.

*** TYPE IN YOUR AGREEMENT***

=N04パ11 ←—出力値が 0 や出力個数が少なくなっていないので、 N04 と入力し、ミスパンチによる変

数名の誤まりに気がついたので、 Y 1 1と入力した。

大阪大学大型計算機センターニュース - 79 - Vol. 12 No. 4 1983-2

Page 13: Title FORTRANデバック助言システムADVISOR : 利 …ºƒ I UARI, 0. - 1. 0 l・lADE HO SUUCHI 0 "IllPUT" SHH 、 JASAI. KEISI,ll GA CHUUDAll SARE'l'A. =O.O ←ー一上の出力された症状に対して、上の説明文にあるように

------------・--------NEXT ADVICES --------------------

== FOL.LOWIN(ぅSENTENCESGIVE AN A[IVICE TO YOU==

NUMBER A[IVICE ' 最終の助言"WRITE" BUN NO HENSUU NARABI NO AYAMARI, HENSUU NARABI O AYAMARU TO SUUCHI GA MATTAKU CHIGATTARI, "*******" GA "OUTPUT" SARERU令

) "OUTPUT" NO ATAI GA 目O(ZERO)" MATAIJA CHIGATTA ATAI NI NATTA. HENSUU MEI NO AYAMARI, "MISS PUNCH" NI YDRU HENSLJU MEI NO AYAMARI GA Af<ll,

) "PROGRAM" NONAKA NO TANCJ HENSUU NI NATTE IRU TO CJMOWARE MASU,

) TADASHII HENSUU MEI NI SHIH: KUDASAI令

** THE ADVICES ARE FINISHED **

CONTINUE< CONT> OR END (END)'f 疇←—一適切な助言が得られ、 ADVISOR の使用をやめるので、 END と入力した。

**** ADVISOR IS CLOSED****

MODULE'l' キャリッジ・リターンキーを入力した。

GODD・-BYE

SYSTEM'r

大阪大学大型計算機センターニュース - 80 - Vol. 12 No. 4 1983-2

Page 14: Title FORTRANデバック助言システムADVISOR : 利 …ºƒ I UARI, 0. - 1. 0 l・lADE HO SUUCHI 0 "IllPUT" SHH 、 JASAI. KEISI,ll GA CHUUDAll SARE'l'A. =O.O ←ー一上の出力された症状に対して、上の説明文にあるように

(例 3) 誤りのある FORTRANフ゜ログラムの例 (READ文の誤りの例)

010C EX・-4

020C A,B,ANGLE NO YOMIKOMI

030 READ⑤ 100>A玉_,ANGLE ①

040 100 FORMAT(3F10パ))

050C 釘 C NO KEISAN

060 ANGLE=ANGL.E/180)1(3,1415

070 T=A**2+B*氷2ー 2 心氷A*B*COS ぃ~NG匡)

080 C=SORT< T>

.090 S=A輝 *SIN(ANGLE)/2,0

100C A,B,C, NO Il"fSATSU

110 WRITE<6,200) A,B,C,ANGLE遠

120 200 FORMAT(1H0,2HA口 ,Ei5,7,2X心 HB=,E15,7心 X,2HC=,E15令 7

130 &/1H ,6HANGLE=,E1瓦 7

140 &/1H ,<狙 S=,E15.7)

150 STOP 160 END

*RUN SOURCE LINE 70

<l心・412 A IS NOT DEFINED

SOURCE LINE 70

<W>412 BIS NOT DEFINED

=:3,2・,60

A= O. , .

ANGLE= S=

② 距 o.0. 349055-6E-01⑤

か ⑥

③ C= 令゚

②,③,④,⑥の変数A,B, C, Sの出力値がゼロになっている。

⑤の変数ANGLEの出力値が誤っている。

①のREAD文の変数並びの変数名の間のコンマをつけ忘れた。

次に、例 3についてADVISORを使用した様子を示します。

大阪大学大型計算機センターニュース - 81 - Vol. 12 No. 4 1983-2

Page 15: Title FORTRANデバック助言システムADVISOR : 利 …ºƒ I UARI, 0. - 1. 0 l・lADE HO SUUCHI 0 "IllPUT" SHH 、 JASAI. KEISI,ll GA CHUUDAll SARE'l'A. =O.O ←ー一上の出力された症状に対して、上の説明文にあるように

SYSTEM ?CONSUL.TANT ADVISOR "'''''''"

****************************** *** WELCOME TO ADVISOR *** ****************************** ::::ヰ= START ADVISOF~"""""''

TYPE IN'INQU','DIAG','CODE・ 會・・NO,, , T, , cm , END' 弓狂笙←ーーエラーの症状に関する問診を行う検索方法を選んだので、 DIAGと入力した。

"PFWGRAM" SHINDAN KAISHI令

********** 汀:1EDUG" NO SHITEN ******************************火氷********* * * "ERFWf< MEBSAGE・Af<I令 ** (0)• ERF~(取 MESSAGE. GA ZIKKOUZI NI•ou· 「PUT" SARETA令 ** HENSUl.J NO ATAI NO AYAMAf<I令 ** (j_) "CARD・,・・READEf,. MAT AWA • TS~, n:r.;:MINAL. KARA NO • DATA INPし)T" * * NO AYAMAHI令 MATAWA "DATA INITIALIZATION" NO AYAMAf<I令** < 2)• U:NE····PRINTEf~ • MAT AWA "HlS TEF~MINAL• ENO• CJUTF'l.JT• * * NO AYAMAfn, * * (3) AYAMATTA SUUCHI t,EIGAN GA ARLJ, * * YOSCJU DAI ND "Dl.JTF'l.JT FORMAT" NO AYAMAFU GA AfW令 ** (4) "LINE····PRINTEf~• MATAWf.i "TSS TERMINAL" ENO "OUTPUT" (沿** MATTAKU NAI, * * (:'.'i)• OUTPUT DATA• NO "FOi文:MAT" NO AYAMAf<I令 **(も)•L.INE・・F'f,INTEl'i" MAT AWA• TSf:J・ 「ERMINAL.." ND SEIGYO NO AYAMAFn・** AYAMATTA NYUBHYl.JTSUFCfOKU~lDUCHI ND TOFU ATSl.JKAI * * (7) "M,':JGNETIC TAPE" MATAWA・r:irnc PACK" t,ARANO/ENO "DATA" * * TENSOU NO AYAMAIU令 ** (B) "JOB DECK" GA r恰 TTAKし) Zil<MJU f:JM~ENAI令** SONOTA * * (9) UE NO DOl:(E DEMO NA I令 *** ************辛ネ**氷**************************水*************************

WAKARANAI TOKI W(,, 4'1'NO YOUN I "'i'" 0 TSUKETE• INPUT" SEYO令

HYOU ND NAKA KARA BANGOU O Ef<ADE +

:::上←ー変数A,B,ANGLEのデータの読み込みに誤りがあるのではないかと思い、 1を選び入力した。

TSUGI NI IMA ANATA GA Er~ANDA BUN DE OKOF~IUFW "rnR@" NO SHOU,JOU O "OUTPUT" SHIMMU令

ANATA NI

ATEHAMAFW BUN NAl~A ATEHAMARA NAI BUN NARA HAKKIF<I SHINA! NARA

。• INPUT" SHI NASA I.

0

0

•* 1

0

*令*+

會゚ 0 .. ・ 1+0 MADE NO SUUCHI

大阪大学大型計算機センターニュース - 82 - Vol. 12 No. 4 1983-2

Page 16: Title FORTRANデバック助言システムADVISOR : 利 …ºƒ I UARI, 0. - 1. 0 l・lADE HO SUUCHI 0 "IllPUT" SHH 、 JASAI. KEISI,ll GA CHUUDAll SARE'l'A. =O.O ←ー一上の出力された症状に対して、上の説明文にあるように

• INPUT DATA• NO ATAI GA CHIGAU•

弓ュ立←一入カデータの値が全て違ったので、 1.0と入力した。

"INPUT DATA" GA 10 NO DEKIJYU DAI CHIGAU.

=O,。"COMPILE" NO SAINI "WARNING"令令 .UNDEFINED VARIADLE ARI,

弓碑--コンパイルの際にくw>エラーがあったので、 0.8と入力した。

"INPUT DATA" TO HENSUU MEI NO TAIOU NO MACHIGAI+

=1+0 <----入カデータと変数名の対応が正しくなかったので、 1.0と入力した。"""""""""

"IIATA INPUT" GA CHUUDAN SARETA會

=0,0 ""'""""

"DATA INPUT" GA ZIKKOU SAF~ETE INAI +

=0,0 ""●9● """'一"'""

"WRITE" BUN NI YORUMONCJ IGAI NO "OUTPUT" GA ARU,

::::皐+― WRITE文以外の出力があったので、 0.7と入力した。

"DIAGNOSES" ND KEKt<A WA TSUGI NO TOUF,I DESU,

KONO NAKA KARA ・CODE" BANGOU O 1-・・TSU Ef<ABINA SAI令

(CR11) 2+45 "READ• BUN NO AYAMARI,

< CR 113) 1. 34 "Er;:ROF, MESSAGE• GA AFW.

(CFU4) 1+26 "INPUT DATA" NO AYAMAFU,

(CFU6) 1, 09 HENSUU ND 「<ATA f:,ENGEN NO AYAMARI令

"CODE" BANGOU O "INPUT• SEYO令

"CODE" BANGOU ; "ADVICE" KAH>HI+

CARF,IAGE RETURN ; 翡 DIAC>NOSI!3" NO YARINAOf:,HI +

::: CR11 <-入カデータは正しく入力している。また、変数の型宣言も正しくされている。よってこの場

合は、 READ文の誤りのCR11を選び入力した。

"LET'S STAF<T YOUR ADVICES ! •

::::::: "STAF<T ADVICE"=::::,

::: == FOL.LOWING SENTENCES GIVE AN ADVICE TO YOU :::::::

NUMBER ADVICE

"F,EAD• BUN ND AYAMAF<I令

F<EAD < N, M)、.J:l.,.12

M FORMAT(2I3)

CNJ・........... -... ・SOUCHI BANGOU令

C:MJ・・・・.. ・・・・・・・・" FDF<MAT" BANGOU令

(6) "F<EAD" BUN NO•FORMAT" BANGOU GA• PFWGF<AM・CHUU NI

SONZA I SHINAKEF<EBA TSUGI NO YDUNA "MESSAGE" GA

"OUTPUT" SARE ZIKOU SAREMASLJ.

(1:3) CMESSAGEJ

FORMAT NUMBEF<'i''?'i'IS MISSING,

FORMAT(V) SIMULZATED

(33) TADASHII "FORMAT" BANGOU fJ SHITEISUFW KA MATAWA ・FORMAT・BUN GA NAKEREBA TSLJIKA SHINASAI+

*** TYF'E IN YOUF, AGF<EEMENT *** ヨ饂←— FORMAT番号は正しい番号が指定されているので、 N 06と入力した。

大阪大学大型計算機センターニュース - 83 - Vol. 12 No. 4 1983-2

Page 17: Title FORTRANデバック助言システムADVISOR : 利 …ºƒ I UARI, 0. - 1. 0 l・lADE HO SUUCHI 0 "IllPUT" SHH 、 JASAI. KEISI,ll GA CHUUDAll SARE'l'A. =O.O ←ー一上の出力された症状に対して、上の説明文にあるように

......... -.............................................. …• ●●●● ・・・NEXT ADVICES・・・・.. ・-・・・・・・・・.. ・・・-・・・・ い・-・-・--・・・・・--・-・・・・・

== FOLL.OWING SENTENCES GIVE AN ADVICE TO YOU•-===

NUMBER ADv'ICE •READ• BUN NO AYAMAFn +

READ<N,M).J:l,、.J2M FORMAT(2I:1)

[N J ・・,................. SOUCH I BANGOU • [MJ-.............. •For<MAT" BANGOU.

(2) "READ" BUN NO "FORMAT" BANGOU GA NAKEREB釦 HENSUU NO ATAI GA CHIGATTAFn 0("ZERO") NI NAF"<U,

(い門::·oRMAT• BANGOU GA NAt(El'~EE玲 TSUGI NO YOUNA "MESSAGE" GA "OUTPUT" SAF"<EMASU.

(12)

LIST EXCEEDS LOGICAL RECDl:rn LENGTH STOf~E ZEROS IN F~EMAININCJ L.IBT ITEMS FC:fl:05

(30) TADASHII "READ" BUN NO SDUCHI BANGDU D TSUKENASAI, *** TYPE IN YDしm AGF"<EEMENT ・***=NO幻 N06,N12 , FORMAT番号は正しく指定されていて、上のようなメッセージも出力されて

いないので、 N02,N06,Nl2と入力した。

-・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・-・・・・・・-・・・-・-・・・・・・・・-・・・・・・ …・NEXT ADVICEB・・・・・・・・・・-・・・-・・・・・・・・・・・・・-・・・・-・・・・・・・・・・・・・・・・・・・-・・・・・・・・・・・・・・・

:::= FOLL.OWING SENTENCE~; GIVE AN ADVICE TO YOU ::::::::

NUMBEr< ADVICE "F<EAD" BUN NO AYAMAFU令

READ (N, M > ,.J 1 , ,J2 M FDF<MAT<2I3)

[NJ・--・・--・・・--・.. SDUCHI DANGOU, [M]・・・・・・-・----・・・"FORMAT" BANGOU令

(2 > "f<EAD• BUN NO "FOF<MAT• BANGOU GA "OUTPUT" YOU NO "F(mMAT" BANGDU O TSUKEFWTO "OUTPUT" NO ATAI GA CHIGATTAFU "OUTPUT" TEISAI GA CJKASHIKU NAfW令

(5) ZIKOUZI NO "DAH1" NO "INPUT" NI DITE ・READ" BUN NO HENf~Ut.J NO KOSLJU YORIMO DOI, し) NO "INPUT" 0 YOLJKUU SHITEKUFW令

(11 > TSLJGI NO YOUNA "MES~;AGE• GA•OUTPUT• SAF<ETA,

END OF FILE READING FILE CODE 05 OPT ION AL F~ETLJRN NOT RECWEHTED

(26) TADASHII "F<EAD" BUN NO "FOF<MAT" BANGOU NI t,AKI NAOSHI NASAI會

*** TYPE IN YOLJF< AGF<EEMENT *** 弓些旦 •—- FORMATは正しいREAD文用のものを指定しているので、 NOZと入力した。

大阪大学大型計算機センターニュース - 84 - Vol. 12 No. 4 1983-2

Page 18: Title FORTRANデバック助言システムADVISOR : 利 …ºƒ I UARI, 0. - 1. 0 l・lADE HO SUUCHI 0 "IllPUT" SHH 、 JASAI. KEISI,ll GA CHUUDAll SARE'l'A. =O.O ←ー一上の出力された症状に対して、上の説明文にあるように

・--... •. .• ... . --. ..... ... .... ........... .... .... ....... .... NEXT ADV I CES ........ .... .... . -・・.._ . .. , ● ---●● - - ...... ●● ... .. -・.. ・ - ・・・-

== FOLLOWING SENTENCES GIVE AN ADVICE TO YOU==

NUMt:CR ADVICE

() "READ" BUN NO AYAMAF~I. <) F~EAD (NY M) ,J 1 , J2

M FORMAT(2I3)

[NJ .. ・・・・.. ・・・・・・・・・・・SOUCHI BANGOU + [M J-............... "FORMAT• BANGOU +

(;3)• F<EAD• BUN NO~,OUCH I BANGOU NO A YAMAF<I +

(7) SLIUCHI BANGOU O AYAMAFW TO TSUGI NO YOUNA "MESSAGE'GA

'OUTPUT" SAREfW + (11)

FILE'i''f NOT IN AFT+ ACCESS CALLED .. ・・

FUNCTION'!'

(21) SOUCHI BANGOU CJ [~jJ MAT(1WA [4l.J NI SEYO+

*** TYPE IN YOUR AGREEMENT***

:::: N03,NO万 N11 <----READ文の装骰番号は正しく指定されてあり、上のようなメッセージも出力さ

れていないので、 N03,N07,Nllと入力した。

.. -・・ ⇔ .................................. 會................................... NEXT AD'v'ICES ............... -........................................................... .

o-,:: FOLLOWING SENTENCES GIVE AN ADVICE TO YOU ==0-"

NUMBrn ADVICE

• f(EAD" BUN ND AYAMAFUゃ

READ<N,M),.J:I.,、.J2M FOf(MAT(2I3)

[NJ .............. 會● ●● ・・SOしJじHI BANOOU令

[M]・" ....... •rmmAT" BANGOU令

) "f(EAD• BUN NO•INPUT" HENSUU NAf~AB I O AYAMAFWTD HEN訊 JU MEI

TO SUUCHI NO TAIOU GA OKASHrnu NARし.J+

(2) HENSUU NARABI NO HE::N/3UU MEI NO AIDA ND "COMMA• (,)

GA KET!3!Jf(AKU SHITE IMM;CNKA'l'

< 5) "COMMA" GA KETSURAKU f:llJfW TD 2・+1ENSUU MEI GA 1 .. ・flENf:;uu MEI

TDSHITE SHOR I SAf(EMASU,

< 13) TSUGI ND YOUNA・MESSAGE" GA•ot.JTF'UT" SARETE

IMASENKA?

? IS NOT DEFINED

〈16) HENSUU NARABI D TASHIKAME ・COMMA" 0 TSUKENASAI+

*** TYPE IN YOUR AGREEMENT***

:::塩←—上のようなメッセージが出力されているので、 YOB と入力した。

大阪大学大型計算機センターニュース - 85 - Vol. 12 No. 4 1983-2

Page 19: Title FORTRANデバック助言システムADVISOR : 利 …ºƒ I UARI, 0. - 1. 0 l・lADE HO SUUCHI 0 "IllPUT" SHH 、 JASAI. KEISI,ll GA CHUUDAll SARE'l'A. =O.O ←ー一上の出力された症状に対して、上の説明文にあるように

● ........................ _ ... _ , い● ●● ........................ NEXT ADVICEf:l .... ●● に●● ● ・・-・-・・・・・-................................... ..

== FOLLOWING SENTENCES GIVE AN ADVICE TO YOU ー

NUMBEft ADV I CE () "READ" DUN NO AYAMARI,

f~EAD (N ,M),Ji, .J2 M FOmiAT(2I:3)

[NJ-... , ....... ●● ● ・・・SOし.JCHI DANGOしJ十

[M:J・--・・・"'●"'・,.."FDl'rnAT• DANGDしJ+

) "HEAD" BUN NO "INPUT" HEt.Jf:>UU NAHADI O AYAMAFWTCJ HENSUU MEI

TO !3t.JUCH I NO TA IOU GA DI¥ASII mu NAFW. ) HENSUU NAl'~AIH NO HENSUU MEI NO A IDA NCJ "COMMA• (,)

GA l<ETSUHAI¥U l:HHTE IMAl:iENl<:A1' ) "COMMA• GA l'(EH, し.mAl<U !3UfW TCJ 2 .. ・IIENSUl」MEI GA 1 .. +IENSUU MEI

TCJSH ITE f:,I IDIU SArtEMASU,

) TSUGI NO YCJUNA "Ml匹:;;f;AGE" C玲.()し.JTPUT" SAl'~E· 「l笠IMASENl<A1'

'i'IS NOT DEFINED

) HENSUU NAIやABI CJ TA!:iHII¥AME "COMMA• D TSUl<:ENASAI,

** THE ADVICES Ar~E FINISHED ** CONT I NUE (CONT) cm END (END)'i'

=END """'

* * * * A D V If:i Of~ If:i C U・・)S E D * * * * MODULE?

:::: I~ 叫GOOD・.. DYE

SYSTEM'P

大阪大学大型計算機センターニュース - 86 - Vol. 12 No. 4 1983-2

Page 20: Title FORTRANデバック助言システムADVISOR : 利 …ºƒ I UARI, 0. - 1. 0 l・lADE HO SUUCHI 0 "IllPUT" SHH 、 JASAI. KEISI,ll GA CHUUDAll SARE'l'A. =O.O ←ー一上の出力された症状に対して、上の説明文にあるように

(例 4)誤りのある FORTRANフ゜ログラムの例 (WRITE文変数並びの誤りの例)

010C EX-4

020C A,B,ANGLE NO YOMIKOMI

030 READ(~ わ 100>A,B,ANGLE

040 100 FORMAT<3F10令 0)

050C S,C NO KEISAN

060 ANGLEヨ ANGLE/180氷3,1415

070 T=A**2+B**2-2,0*A*E堺 COS<ANGLE)

080 C=SQRT(T)

090 S=A*B*SIN<ANGLE)/2,。100C Ad: りC, NO INSATSU

110 WRITE<c》,200) A直玉.!ANGLE, S ①

120 200 FOFmAT(1H0,2HA=:,E15,7,2X心 HB=,E15りり 2X心 HC=,E15,7

130 &/iH ,6HANGLE=,E1瓦 7

140 &/1H ,6H S=,E15,7)

150 STOP 160 END

*RUN SOURCE LINE 110

<W>412 BC IS NOT DEFINED =3v2,60

A= 十゚ 3000000Et01 B= _Q,

ANGLE= 0,2598030E・f-01④

S= ⑤

②の変数Bの出力値がゼロになっている。

③,④の変数C,ANGLEの出力値が誤っている。

⑤の変数Sの値が出力されない。

C= 0.1047167Et01 ③

①のWRITE文の変数並びの変数B, C間のコンマをつけ忘れた。

次に、例 4についてADVISORを使用した様子を示します。

大阪大学大型計算機センターニュース - 87 - Vol. 12 No. 4 1983-2

Page 21: Title FORTRANデバック助言システムADVISOR : 利 …ºƒ I UARI, 0. - 1. 0 l・lADE HO SUUCHI 0 "IllPUT" SHH 、 JASAI. KEISI,ll GA CHUUDAll SARE'l'A. =O.O ←ー一上の出力された症状に対して、上の説明文にあるように

SYSTEM'!'CONSlJl~TANT AJWI!30R

****************************** *** WELCOME TD ADVI!3@ *** ****************************** :: """"" !3TART ADVISOR ""'"'"''

TYPE IN'INm.J','DIAG','CODE-・NO', 1'?1, cm'END'

: o:DIAC・) ' エラーの症状に関する問診を行う検索方法を選んだので、 DIAGと入力した。

"F'fWGf(AM" Bt・IINDAN KAISHI令

**********汀tEBUG" ND SHITEN **************************************** * * * • Ef(紅)f(ME斑沿GE" Af(I・ * * (0)• ERROR MESSAGE'(玲 ZIKKCJUZI NI "OUTPUT" !3ARETh令 ** HEN訊 JU ND MAI NO AYAMARI, * * (1.) "(冷紅1--.. f(f.:.ADER" M叫伽..「!3S TEF(MINAL日 KARA ND "DATh INPUT" * * NO AYAMhRI令 MhTAWA "DATA INITIAI...IZ介rrnN・NO AYfiMAFn令** (2) "1...INE・・.. PFnNTI笠f(" MAT AWA "TB!3 TEf(MINAL.. • END• DUTPし)T" * * ND hYAMAFd令 ** (::1) AYAMATTA !3UUCHI KEif.lAN GA ARU, * * YOf.lDU GfiI ND• OUTPU'「FOf(MAT" NO AYAMAFn GA ARし )令** (4) "L..INE--··PHINTEF;:• MATAWA・ms TERMINAL." END "OUTPUT" GA 氷

* MATTAKU NhI令 ** ('.:i) "OUTPUT DATh" NO "FC)f(MAT" NO hYAMAHI・ **(ふ) "L.INE .... PIUNTEF(" MhTAWA ・ T!:>~l TEF(MINAL" NO f.lEIGYD ND AYAMMU令*氷 AYAMATTA NYUSHYUTSUF~YOKU !3DUCH I NO rem I (.i Tf:ll.Jl'(A I * * (?>• MAGNE'「IC TAPE" MATAWA "DHlC PACK" KAf(hNO/ENO "DATA" * * TENSOU NO AYAMMI, * * (B) .、.JOB DECK" GA MATTAKLJ ZIKl<OU SAf(ENAI令 ** !30NOTA * * (<?) l.JE NO DOf(E DEMO NA I・ ***

********************************************************************* WAKAF(ANAI TOKI WA, 4T NO YOUN I• T• 0 TSUKETE•INPUT" SEYCl令

HYCJl.J NO NAKA KAHA BANGOU Cl 日沿BE,

:::-L ←—ー出力値のうちの 1 つは正しいが、他の全ての出力値が違っていたので、 OUTPUTの時に誤りがあるのでは

ないかと考え、 2を選び入力した。

大阪大学大型計算機センターニュース - 88 - Vol. 12 No. 4 1983-2

Page 22: Title FORTRANデバック助言システムADVISOR : 利 …ºƒ I UARI, 0. - 1. 0 l・lADE HO SUUCHI 0 "IllPUT" SHH 、 JASAI. KEISI,ll GA CHUUDAll SARE'l'A. =O.O ←ー一上の出力された症状に対して、上の説明文にあるように

TSUGI NI IMA ANATA GA ERANDA BlJN DE 01<:DRIURlJ

•ERROR" ND SHDUJOU O "DlJTf.'lJT" SHIMASlJ +

ANATA NI

1 + 0 o.o

ATEHAMARU BUN NAF~A ATEHAMARA NAI BUN NARA

HAKKrnI SHINA! NARA 0. 0・-・1 + 0 MADE NO SUUCHI

0 "INPUT'SHINASAI+

SUUCHI GA !31.JBETE ・zrno・NI NATTA,

:::-~ <—―出力値のうちの 1 つが 0 になったので、 0.3 と入力した。

St.JUじHI GA MATTAKU CHIGAU,

:咆退 一出力値の 1つ以外は全て違っていたので、 0.8と入力した。

SUUCHI f;)[)~;A GA OOK I SI.JG mu. ::::色三 --誤差としては、数値があまりにも違いすぎるので、 0.3と入力した。

SUし.JCHI ND TOKOFW NI'***********• GA INZI SARE TA、弓せ立逗"I NTEGEF~ • "F~EcAL• ND KUBE'! ・$し) GA NASAF~I翌TE INAI,

: a:O• 0 "'""""

u ()し)EF~FLDW• • ZEHO DIV IDE" NADD ND MOZ I GA INS合rsuSARE'「E mu 戸"PFWGF~AM" DE'WFnTE" BUN J:GAI ND "OUTPUT" GA Am.J.

国 <---WRITE文以外の出力が少しあったので、 0.2と入力した。

"I:i:tAG紅)SES II ND KEKKA WA T!:H.JG I ND TCll.JfU DEf:,l.J令

l<ClNO NAKA KARA "CDDE" EtANGOl.J O :t.・・・・TSU EF<ABINA SAI,

(Cf<2:1.) :I., 2~5 KATA SENGEN NO AYAMAF<I令

(じF<翌;・3) :I., 22 SHDKIじHI SETTE I ND AYAMAF<I,

(CR25) 0,70 "WRITE" BUN NO HE:NSl.JU NMABI NO AYAMAFU,

(CF<22) 0,67 DAINYl.JU Etl.JN NI AYAMARI GA AFW令

• じODE" BANGDU O "INPUT" SEYO,

•cohE ・ BANGDU ; "ADVICE" KAHlHI+

CMしF<IAGE F~ETUFrn • u DI AGNDS rn. NO YAF~INAOSH I令

=CR因う 4—―型宣言に誤りはないようで、初期値設定を行っていないので、 WRITE文の変数並びの

誤りのCR25を選び、入力した。

大阪大学大型計算機センターニュース - 89 - Vol. 12 No. 4 1983-2

Page 23: Title FORTRANデバック助言システムADVISOR : 利 …ºƒ I UARI, 0. - 1. 0 l・lADE HO SUUCHI 0 "IllPUT" SHH 、 JASAI. KEISI,ll GA CHUUDAll SARE'l'A. =O.O ←ー一上の出力された症状に対して、上の説明文にあるように

"LET'S START YOUR ADVICES !'

:::::::: "l:lTAf(l'ADVICE"cs::::o::

::::: FOLLOWING SENTENCES GIVE AN ADVICE TO YOし):::::

NUMBER ADVICE

•WRITE" BUN ND HEN訊)l.l NARABI NO AYAMAFn會

HENSUU NAF<ABI O AYAMARU TD Sl.lUCHI GA MATTAKU CHIGATTARI, "*******" GA "OUTPUT" SARERU.

(4) "OUTPUT" NO ATAI GA "O(ZERO)• MATAWA ・()し)TF'しIT" NO KOSUU GA Sl.JKUNAKU NATTA令

(7) HENSI.Jl.J MEI ND AYAMAR I令

(1~~) HENSUU MEI NO KANGAE KATA ND AYAMARI GA ARLI令

(18)•PROGRAM" ND NAKA ND TANO HENSUU NI NA TTE mu TO OMDWAF<E MASU +

(22) TADA SH II HENSUU MEI NI SHITE KLIDASAI會

*** TYPE IN YOUR AGf<EEMENT *** 畔04,N:L~5 <-出力値が 0になり、出力の個数も少なくなったので、 YO4を入力し、変数名の考え

方の誤りはないようなので、 N13と入力した。

.... ・-・-・・・・・・・-・・・・-・・.. ・・・・-・・・・・・・--・・・・NEXT ADVICES・・・・・--・・・-・・-・・・・--・・... -........... ..

::::::: FOLLOWING SENTENCES GIVE AN ADVICE TD YOU::::::::

NUMBER ADVICE "WRITE・BUN ND HENSUU NAf(ABI ND AYAMAFU + HEN訊JU NARABI D AYAMARU TO SUUCHI GA MATTAKU CHIGATTAF(!,

"*******" GA ・ OUTPUT• SAREFW令

) "OUTPUT" NO ATAI GA "O<ZERD>" MATAWA ・OUTPUT" NO KOSUU GA SUKUNAKU NATTA,

) HENSUU MEI NO AYAMAFa令

3) AYAMATTE ・ PR0f3F(AM• NO NAKA NI SONZA I SHINA I HENSUU

MEI GA AFW+ (4) TSUGI NO YOUNA•MESSAGE• GA• OUTPUT・SARETE IHUKM

<W>412'n IS NOT DEFINED

(6) HENSUU NARABI NO HENSUU ND AIDA NO "COMMA" NO

KETSURAKU GA AF~U, () TADASHI I HENSUl」MEI NI SHITE KUDASAI +

*** TYPE IN YOUR AGREEMENT***

::: NO:hY<)4 <-ープログラム中に存在しない変数名は使っていないようなので、 NO3と入力し、上の

ようなメッセージが出力されていたので、 Y04と入力した。

大阪大学大型計算機センターニュース - 90 - Vol. 12 No. 4 1983-2

Page 24: Title FORTRANデバック助言システムADVISOR : 利 …ºƒ I UARI, 0. - 1. 0 l・lADE HO SUUCHI 0 "IllPUT" SHH 、 JASAI. KEISI,ll GA CHUUDAll SARE'l'A. =O.O ←ー一上の出力された症状に対して、上の説明文にあるように

-----------・--・--・---・--・- NEXT ADVICES --------・・・・・-・--・---・-・・----

==四LLDWI NG BENTEN(荘ES GIVE AN ADVIC.E TD YOU ,.:::::

NUMBEF¥ ADV I CE

員WF¥ITE" BUN NO HENE,UU NAl'¥AB I ND AYAMAFU,

HE:Nf:ll.JLJ NARABI Cl AYAMARU TO !'llJUCHI GA MATTAKLJ CHI紐 r「AFH,

'*******" GA ・OLJTF'UT'SAREFW,) "OUTPUT員 NO ATAI GA ・O<ZEFW)" MATAWA ・OUT訊JT'ND

!'(OSI.JU GA SUKUNAl'(lJ NATT A,

) HENSUU MEI NO AY介MAFH,

• MISS PUNCH. NI Ym-::u HENSUU MEI NO AYAMAFH GA AfW.

TS UGI ND YD UNA "ME!:lSAGE'GA•OUTPUT'SAf1ETE rnLJKA'?

<W:>412'?'? I!:l NOT DEFINED

) HENSUU NAFしABI ND HENSLJU NO AIDA ND'図)MMA'NO

KETSI.Jf/AKU GA Al'W, ) TADASHI I HEN!:'JUU MEI NI SHITE KUDが3AI.

** THE ADVICEB Af¥E FINISHED **

じONTI NLJE (CONT) cm END〈END)?

吐謳

**** ADVISOR IS CLOSED****

MODULE'?

= 図図GODD・・・BYE

SYSTEM'r

謝辞

本システムの開発整備のために、大阪電気通信大学工学部経営工学科 前田進氏の協力を得まし

た事につき、感謝致します。

大阪大学大型計算機センターニュース - 91 - Vol. 12 No. 4 1983-2

Page 25: Title FORTRANデバック助言システムADVISOR : 利 …ºƒ I UARI, 0. - 1. 0 l・lADE HO SUUCHI 0 "IllPUT" SHH 、 JASAI. KEISI,ll GA CHUUDAll SARE'l'A. =O.O ←ー一上の出力された症状に対して、上の説明文にあるように

C付録 1J

入力部説明

① 検索方法を選ぶ

INQU ……………•••エラーメッセージを入力して質問文を検索する方法。

DIAG………………デバッグの視点を選択して、エラーの症状に関する問診を行い検索

する方法。

CODE-NO・ ……・・DIAGで症状の問診を終えてコード番号が出力された後、 ADVI

SORの使用を中断し、再び続けて使用したい時にそのコード番号

を入力して検索を続ける方法。

? ……………………それぞれの検索方法を説明する。

END ………•………··ADVISOR の使用を中止する。

② デバッグ視点を選ぶ

表の中から各自のエラーの種類によって o~g を選び、入力する。

⑧ ェラーの症状に関する問診

当てはまるなら........................1. 0

当てはまらな tヽなら・・・・・・・・・・・・・・・・・・0.0症状に対して

はっきりしなしヽなら・・・・・・ ············o.o~1.0

例,どちらともいえないなら…… 0.5を入力して下さい。

④ 診断の結果の中から助言されたいものを選ぶ。

コード番号を入力…………助言が開始される。

キャリッジ・リターン……①の検索方法を選ぶところから開始される。

⑥ 助言文で納得できるか、またはできないかを返答する。

納得できるものは、 YとともにNUMBER欄の数字を入力する。

納得できないものは、 NとともにNUMBER欄の数字を入力する。

R ただし、 NUMBER欄の数値が 1桁の場合は、数値の前に 0(ゼロ)をつけて

入力すること。

⑥ ADVISORを続けて使用するかどうかを選ぶ。

CONT………………ADVISORを続けて使用する。

END…………………ADVISORの使用を終わる。

⑦ CONSULTANTの他のモジュールを使用するかどうかを選ぶ。

モジュール名を入力………それぞれのシステムを呼び出す。

◎ を押す………………CONSULTANTの他のモジュールを使用しない。

大阪大学大型計算機センターニュース - 92 - Vol. 12 No. 4 1983-2

Page 26: Title FORTRANデバック助言システムADVISOR : 利 …ºƒ I UARI, 0. - 1. 0 l・lADE HO SUUCHI 0 "IllPUT" SHH 、 JASAI. KEISI,ll GA CHUUDAll SARE'l'A. =O.O ←ー一上の出力された症状に対して、上の説明文にあるように

〔付録2J

誤りをおかす時は、それを知ってやる人はいない。とくにプログラムのバグは常にそうである。

このようなものをまとめてみると次のようになる。(ここではコンパイレーション時に何もメッセ

ージを受けないものでエラーのあるものである。)

誤りの種類

あいまいな記憶

思 い込み

誤りの原因の例

既に一時ファイルとして装置番号 06を使ってしまったので、ライン

プリンター出力を装置番号 43に割り当てました。

WRITE (43, 100)A, B, C

100 I FORMAT(lHl, "A=", Fl0.3,5X, "B=",

& Fl0 .. 3,"C=",Fl0.3)

このプログラムの実行結果としては、何らエラーメッセージもなく、

正常に終了していました。しかし、 WRITE(43,100)によるA,B,

Cの出力結果がありません。マニュアルで調べなおしたら、

[ 42 : ラインプリンター, 4 3 : カードせん孔装置

であり、記憶まちがいにより結局、カードパンチとして出力されてしま

いカード代金を取られたうえに、ジョプはやりなおしです。

データファイルADVISORよりA,B,Cを読み込み、その計算結果

S,T,Uをラインプリンターに出力しました。またD,E,Fをカードリ

ーダより読み込んで、計算を行った。

CALL ATTACH(Ol,11ADVISOR;",1,o,

I STAT,) ;

READ (1, 200) A, B, C

WRITE(6, 200)S,T,U

READ(5,100) D,E,F

大阪大学大型計算機センターニュース - 93 - Vol. 12 No. 4 1983-2

Page 27: Title FORTRANデバック助言システムADVISOR : 利 …ºƒ I UARI, 0. - 1. 0 l・lADE HO SUUCHI 0 "IllPUT" SHH 、 JASAI. KEISI,ll GA CHUUDAll SARE'l'A. =O.O ←ー一上の出力された症状に対して、上の説明文にあるように

誤りの種類

うっかりミス

1 0 0

200

誤りの原因の例

FORMAT (3 F 10. 2)

FORMAT (lHLJ, 2F 10. 2, lOX, F7. 2)

STOP

END

このプログラムの実行結果としては、何らエラーメッセージもなく、

正常に終了していました。しかし、 WRITE(6, 200)による S,T,

Uの出力結果で、予想していた出力値があまりにも違い、桁数もばらば

らであった。友人に相談してみるとA,B,Cを読み込む READ文の

FORMAT番号が 200になっている。 200は出力用FORMATであ

り、データの読み込み段階で誤っていると指摘されました。ここで初め

て、 FORMAT番号 100とつけるところを200とつけ誤っているのが

解りました。

意外な思い込みによって、 CPU料金などを多く使っただけです。

配列Bの値を 10倍して、配列Aにその値を格納しました。

100

DATA Io, 11, 12 / 3, 12, 5 /

DO 100 IO=l, 10

A (I O) =B (IO)* 1 0 . 0

CONTINUE

このプログラムの実行結果としては、何らエラーメッセージもなく、

正常に終了していました。しかし、配列Aの内容を出力させると、 A(3)

以外の値は総て 0(ゼロ)になっていた。後輩にプログラムを見てもら

ったら、 DO範囲内の配列Aの宣言子添字を IOとしなければならない

ところを、うっかりしたミスで Ioとミスタイプをしているのが解りま

した。 Oと0のようなうっかりした間違いは、ずいぶん見つけにくいも

のです。

大阪大学大型計算機センターニュース - 94 - Vol. 12 No. 4 1983-2

Page 28: Title FORTRANデバック助言システムADVISOR : 利 …ºƒ I UARI, 0. - 1. 0 l・lADE HO SUUCHI 0 "IllPUT" SHH 、 JASAI. KEISI,ll GA CHUUDAll SARE'l'A. =O.O ←ー一上の出力された症状に対して、上の説明文にあるように

誤りの種類

勝手な解釈

誤りの原因の例

DATA文により毎回A,B,Cの初期設定を行い、 READ文でD,E

を読み込み計算を行った。

100 I =O

DATA A, B, C / 0. 0, o. 0, o. 0 /

I=I+l

READ (5 , 2 O O) D, E

GOTO 100

このプログラムの実行結果としては、何らエラーメッセージもなく、

正常に終了していました。しかし、結果は自分が思っていた結果ではなく、

一番最初の値しか正しくなく、あとは総て間違っていた。プログラム相談

室に行くと、 DATA文はコンパイル時にだけ定義されるだけで、再定義

はされないことが解った。このような DATA文の特徴を知らずに勝手

な解釈をしてしまいました。

このことを覚えておいて損はないはずです。このマニュアルを読んで

おけば忘れませんょ。

大阪大学大型計算機センターニュース - 95 - Vol. 12 No. 4 1983-2