/ 2階層)  FORTRAN66版パイ計算プログラムの移植
□投稿者/ うぇいく 【210.160.252.167】(2016/03/31(Thu) 13:24:03)

    こちらでは、以下のような感じのソースにしています。
    ※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 FORTRAN66版パイ計算プログラムの移植 / うぇいく (16/03/31(Thu) 13:24) [#7490] 【 表 示 内 容 】
│  └Nomal Re[3]: 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対応版