No7469 の記事


/ )  FORTRAN66版パイ計算プログラムの移植
□投稿者/ yosi 【211.1.206.108】(2016/03/27(Sun) 18:56:11)

    http://madlabo.oops.jp/MAD/0007/0007.htmにある
    FORTRAN66のプログラムを移植しています。
    実行しましたがパイとは違った数値が出力されてしまいます。
    修正すべきところはどこにあるのでしょうか?
    よろしくお願いします。

    //ここから
    『何桁まで計算しますか? (最大1000桁まで)』で尋ねる
    Aとは整数
    Bとは整数
    Cとは整数

    N15はそれ。
    N15回
    I=回数-1
    A\(I)は0
    B\(I)は0
    C\(I)は0
    NBは5
    N1は1
    デバッグ。
    (1)の間
    N0は1
    B\(0)は1
    N15回
    母艦のタイトルは「{N0} {N1} {NA} {NB} {KAZ0} {KAZ1}」
    待つ。
    K=回数-1
    NA=NB
    2回
    WARU(NA)
    N15回
    J=回数-1
    B\(J)=C\(J)
    もし、Kが1ならば抜ける。
    NA=N0
    WARU(NA)
    N0=N0+2
    (N1の符号)で条件分岐。
    -1ならば
    ADDA
    N1=N1*(-1)
    0ならば
    SUBA
    N1=N1*(-1)
    1ならば
    SUBA
    N1=N1*(-1)
    KAZ1=0
    N15回
    I=回数-1
    I0=N15+1-I
    KAZ0=A\(I0)*4+KAZ1
    KETA(KAZ0,KAZ1)
    A\(I0)=KAZ0
    もし、NBが239ならば
    デバッグ。
    X=『π=』
    N15回
    X=「{X}{A\(回数)}」
    抜ける。
    NB=239
    N1=-1

    Xのメモ記入

    ●WARU(NA)
    KAZ0=0
    KAZ1=1
    N15回
    I=回数-1
    KAZ1=KAZ0+B\(I)
    C\(I)=((KAZ1/NA)を切り上げ)
    KAZ0=KAZ1-C\(I)*NA
    KAZ0=KAZ0*10

    ●ADDA
    KAZ1=0
    N15回
    J=回数-1
    JC=N15+1-J
    JBB=JC-1
    KAZ0=A\(JC)+C\(JC)+KAZ1
    KETA(KAZ0,KAZ1)
    A\(JC)=KAZ0

    ●SUBA
    KAZ1=0
    N15回
    J=回数-1
    JC=N15+1-J
    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=KAZ0/10
    KAZ0=KAZ0-KAZ1*10

    ●KARI(KAZ0,KAZ1)
    KAZ0=KAZ0+10
    KAZ1=KAZ1-1
    //ここまで
返信 削除キー/
返信


Pass/

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