/ 3階層)  FORTRAN66版パイ計算プログラムの移植
□投稿者/ yosi 【211.1.206.108】(2016/04/06(Wed) 19:22:32)

    No7490に返信(うぇいくさんの記事)
    > こちらでは、以下のような感じのソースにしています。
    > ※TABが詰まったりしているのでインデントに注意。
    > メイン以外の関数について、単体テスト形式で動作確認を行った関係で、メイン部分が(単体テスト時に実行されないように)関数内に乗せてあります。
    > ------------
    > //ここから
    > N15とは整数
    > Aとは整数
    > Bとは整数
    > Cとは整数
    >
    > PI算出
    >
    > ●PI算出
    > Xとは文字列
    > 『何桁まで計算しますか? (最大1000桁まで)』で尋ねる
    > N15はそれ
    > X=メイン処理(N15)
    > Xのメモ記入
    >
    > ●メイン処理(N15)
    > Xとは文字列
    > N15回
    > I=回数-1
    > A\(I)は0
    > B\(I)は0
    > C\(I)は0
    > NBは5
    > N1は1
    > (1)の間
    > N0は1
    > B\(0)は1
    > N15回
    > 母艦のタイトルは「{回数} {N1} {NA} {NB}」
    > 待つ。
    > K=回数-1
    > NA=NB
    > 2回
    > // B()/NAをC()に設定
    > WARU(NA)
    > // C()をB()にコピー
    > N15回
    > J=回数-1
    > B\(J)=C\(J)
    > もし、Kが0ならば抜ける。
    > NA=N0
    > WARU(NA)
    > N0=N0+2
    > (N1の符号)で条件分岐。
    > -1ならば
    > SUBA
    > N1=N1*(-1)
    > 0ならば
    > ADDA
    > N1=N1*(-1)
    > 1ならば
    > ADDA
    > N1=N1*(-1)
    > // A()*4をA()に設定
    > KAZ1=0
    > N15回
    > I=回数-1
    > I0=N15+1-回数-1
    > KAZ0=A\(I0)*4+KAZ1
    > KETA(KAZ0,KAZ1)
    > A\(I0)=KAZ0
    > もし、NBが239ならば
    > #デバッグ。
    > X=『π=』
    > N15回
    > X=「{X}{A\(回数-1)}」
    > 抜ける。
    > NB=239
    > N1=-1
    > それはX
    >
    > // B()/NAをC()に設定する
    > ●WARU(NA)
    > KAZ0=0
    > KAZ1=0
    > N15回
    > I=回数-1
    > KAZ1=KAZ0+B\(I)
    > C\(I)=IDIV(KAZ1,NA)
    > KAZ0=KAZ1-C\(I)*NA
    > KAZ0=KAZ0*10
    >
    > // A()+C()をA()に設定する
    > ●ADDA
    > KAZ1=0
    > N15回
    > J=回数-1
    > JC=N15+1-回数-1
    > KAZ0=A\(JC)+C\(JC)+KAZ1
    > KETA(KAZ0,KAZ1)
    > A\(JC)=KAZ0
    >
    > // A()-C()を行い、A()に設定する
    > ●SUBA
    > KAZ1=0
    > N15回
    > J=回数-1
    > JC=N15+1-回数-1
    > JBB=JC-1
    > KAZ0=A\(JC)-C\(JC)
    > もしKAZ0が0以上ならば
    > A\(JC)=KAZ0
    > 違えば、
    > KAZ1=A\(JBB)
    > KARI(KAZ0,KAZ1)
    > A\(JBB)=KAZ1
    > A\(JC)=KAZ0
    >
    > ●KETA({参照渡し}KAZ0,{参照渡し}KAZ1)
    > KAZ1=IDIV(KAZ0,10)
    > KAZ0=KAZ0-KAZ1*10
    >
    > ●KARI({参照渡し}KAZ0,{参照渡し}KAZ1)
    > KAZ0=KAZ0+10
    > KAZ1=KAZ1-1
    >
    > ●IDIV(I,J)
    > それは((I-(I%J))/J)
    > //ここまで
    >
    このコードを参照しつつ修正したら動きました!
    ありがとうございました!
解決済み!
削除キー/

 
関連内容&回答

Nomal FORTRAN66版パイ計算プログラムの移植 / yosi (16/03/27(Sun) 18:56) [#7469]
Nomal Re[1]: FORTRAN66版パイ計算プログラムの... / yosi (16/03/30(Wed) 21:18) [#7485]
│├Nomal Re[2]: FORTRAN66版パイ計算プログラムの... / 雪乃☆雫 (16/03/31(Thu) 23:51) [#7492]
│└Nomal Re[2]: FORTRAN66版パイ計算プログラムの... / うぇいく (16/03/31(Thu) 13:24) [#7490]
│  └Nomal FORTRAN66版パイ計算プログラムの移植 / yosi (16/04/06(Wed) 19:22) [#7535] 解決済み! 【 表 示 内 容 】
Nomal Re[1]: FORTRAN66版パイ計算プログラムの... / うぇいく (16/03/28(Mon) 18:15) [#7479]



Name/
E-Mail/
Title/
URL/
Icon/ (画像を選択/サンプル一覧)
削除キー/ (半角8文字以内)
確認キー/ (”質問掲示板”と記入)
解決済み! BOX/ 解決したらチェック
 

Pass/

BBS CGI RSS CGI
Child Tree RSS/SPAM対応版