LoginSignup
2
0

日本語プログラミング言語Mind8で十進数計算(小数対応3)

Last updated at Posted at 2024-04-25

割り算を作りました。

共通処理

L小数の商とは (L小数、L小数、小数桁数、端数処理 → L小数 )
    小数Aは 構造体情報
    小数Bは 構造体情報
		精度は  変数
		端数処理区分は 変数
    整数Aは 構造体 L小数型
    整数Bは 構造体 L小数型		
		小数桁数Aは 変数
		小数桁数Bは 変数
		小数桁数は 変数
		分子の桁上げは 変数		
		W商は 構造体 L小数型
		W余りは 構造体 L小数型
	小数Aと 小数Bと 精度と 端数処理区分に 入れる
	精度が 0より 小さい
		ならば 0を 精度に 入れる
	つぎに
	小数Aの L小数桁数を 小数桁数Aに 入れる
	小数Bの L小数桁数を 小数桁数Bに 入れる
	MAX(小数桁数A,小数桁数B)を 小数桁数に 入れる
	小数桁数に 精度を 加え 分子の桁上げに 入れる
	小数Aを 分子の桁上げ L小数を指定桁桁上げし	整数Aに 入れる
	小数Bを 小数桁数だけ L小数を指定桁桁上げし	整数Bに 入れる
	整数Aの L符号に 1を 入れる
	整数Bの L符号に 1を 入れる 
	整数Aと 整数Bの L正数の商と余りを W商と W余りに 入れる
	端数処理区分が 1と 等しい
		ならば ※ 四捨五入
			W余りの L整数の二倍と 整数Bを L整数の大小比較し	0 以上
				ならば W商と L正整数に一加算結果を W商に 入れる
				つぎに
		さもなければ
			端数処理区分が 2と 等しい
				ならば ※ 切り上げ
					W余りと  Lゼロを L整数の大小比較し	1 以上
						ならば W商と L正整数に一加算結果を W商に 入れる
						つぎに
				つぎに
		つぎに
	小数Aの L符号に 小数Bの L符号を 掛けて W商の L符号に 入れる
	W商を 精度だけ L小数を指定桁桁下げし	返す。

切り捨て、四捨五入、切り上げ

L桁未満切り捨てた商とは (L小数、L小数、小数桁数 → L小数 )
    0の L小数の商を 返す。

L桁未満四捨五入した商とは (L小数、L小数、小数桁数 → L小数 )
    1の L小数の商を 返す。
	
L桁未満切り上げした商とは (L小数、L小数、小数桁数 → L小数 )
    2の L小数の商を 返す。

テスト

L小数1は 構造体 L小数型。
L小数2は 構造体 L小数型。
L小数6は 構造体 L小数型。
メインは        ( ・ --> ・ )
  W文字列は 文字列実体
	「2つの小数の割り算をします。(空入力で終了)」と 表示し 改行し
	ここから
		「小数1=」と 表示し
         文字列入力し W文字列に 入れる
		W文字列が 空列?
			ならば 打ち切り
			つぎに
 		W文字列を L小数変換し L小数1に 入れる
		「小数2=」と 表示し
			文字列入力し W文字列に 入れる
		W文字列を L小数変換し L小数2に 入れる
		L小数1と L小数2の 4桁 L桁未満切り捨てた商を L小数6に 入れる
  	「切り捨て商=」と 表示し L小数6を L小数文字列変換し 表示し
		L小数1と L小数2の 4桁 L桁未満四捨五入した商を L小数6に 入れる
  	「四捨五入商=」と 表示し L小数6を L小数文字列変換し 表示し			
		L小数1と L小数2の 4桁 L桁未満切り上げした商を L小数6に 入れる
  	「切り上げ商=」と 表示し L小数6を L小数文字列変換し 表示し	
		 改行する		
	繰り返す。

実行結果

c:\mind8\pmind\sample>lnum-sub03
2つの小数の割り算をします。(空入力で終了)
小数1=100
小数2=3
切り捨て商=+33.3333四捨五入商=+33.3333切り上げ商=+33.3334
小数1=200
小数2=3
切り捨て商=+66.6666四捨五入商=+66.6667切り上げ商=+66.6667
小数1=123.456
小数2=111.111
切り捨て商=+1.1111四捨五入商=+1.1111切り上げ商=+1.1112
小数1=8
小数2=5
切り捨て商=+1.6000四捨五入商=+1.6000切り上げ商=+1.6000
小数1=8
小数2=9
切り捨て商=+0.8888四捨五入商=+0.8889切り上げ商=+0.8889
小数1=123456789
小数2=11111
切り捨て商=+11111.2221四捨五入商=+11111.2221切り上げ商=+11111.2222
2
0
24

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0