記事一覧

2010/08/08

なんとなくやってみた

続き

0からスタートし、+2、+1、-1、-2をランダムに1000回足す計算を行う
終了した時、最終値だけではなく、最大値、最小値、ランダムの回数も表示


計算開始→変数A~Jを0に変更 →ループ開始┬─変数Bが1000 →結果表示→計算終了
               ↑    │
┌→─────────────┘    └─上記以外┐
↑ ┌←─────────────────────←┘
│ └ランダム分岐→+2 →変数A+2─変数B+1─変数E+1┐
│     ││└→+1 →変数A+1─変数B+1─変数F+1┤
│     │└─→-1 →変数A-1─変数B+1─変数G+1┤
│     └──→-2 →変数A-2─変数B+1─変数H+1┴┐
│ ┌←──────────────────────←┘
│ └┬─変数A>変数C→ 変数C=変数A → 変数I=変数B ┐
│  ├─変数A<変数D→ 変数D=変数A → 変数J=変数B ┤
↑  └─上記以外──────────────────┴ループ終了┐
└←──────────────────────────────←┘



*計算
$計算数値=0
$計算回数=0
$最大値=0
$最小値=0
$計算+2=0
$計算+1=0
$計算-1=0
$計算-2=0
$最大値回数=0
$最小値回数=0
:\b[2]\_q計算開始。
>計算ランダム

*計算ランダム
>計算終了(計算回数)==1000
$計算数値=(計算数値)+1
$計算回数=(計算回数)+1
$計算+1=(計算+1)+1
:(計算回数)回目 最大(最大値) 最小(最小値) 現在(計算数値)
>最大値記録(最大値)<(計算数値)
>最小値記録(最小値)>(計算数値)
>計算ランダム

*計算ランダム
>計算終了(計算回数)==1000
$計算数値=(計算数値)+2
$計算回数=(計算回数)+1
$計算+2=(計算+2)+1
:(計算回数)回目 最大(最大値) 最小(最小値) 現在(計算数値)
>最大値記録(最大値)<(計算数値)
>最小値記録(最小値)>(計算数値)
>計算ランダム

*計算ランダム
>計算終了(計算回数)==1000
$計算数値=(計算数値)-1
$計算回数=(計算回数)+1
$計算-1=(計算-1)+1
:(計算回数)回目 最大(最大値) 最小(最小値) 現在(計算数値)
>最大値記録(最大値)<(計算数値)
>最小値記録(最小値)>(計算数値)
>計算ランダム

*計算ランダム
>計算終了(計算回数)==1000
$計算数値=(計算数値)-2
$計算回数=(計算回数)+1
$計算-2=(計算-2)+1
:(計算回数)回目 最大(最大値) 最小(最小値) 現在(計算数値)
>最大値記録(最大値)<(計算数値)
>最小値記録(最小値)>(計算数値)
>計算ランダム

*最大値記録
$最大値=(計算数値)
$最大値回数=(計算回数)
>計算ランダム

*最小値記録
$最小値=(計算数値)
$最小値回数=(計算回数)
>計算ランダム

*計算終了
:\_q
最終値 (計算数値)
最大値 (最大値)((最大値回数)回目)
最小値 (最小値)((最小値回数)回目)
+2 (計算+2)
+1 (計算+1)
-1 (計算-1)
-2 (計算-2)




実際の結果

珍しく一度もプラスにならなかった例

結果をグラフで表示できたら面白そう

ちなみにループ回数を1万回にすると数十秒固まる

コメント一覧

かさぶた - 2010/08/09 (月) 01:27 Edit

A+1=B
BをAに代入

コレを10万回繰り返すプログラム作ってレッツベンチマーク

- 2010/08/09 (月) 02:08 Edit

*ベンチマーク
$ベンチマーク回数=0
:ベンチマーク10万回を開始します。
>ベンチマークループ

*ベンチマークループ
>ベンチマーク終了(ベンチマーク回数)==100000
$ベンチマーク回数=(ベンチマーク回数)+1
>ベンチマークループ

*ベンチマーク終了
:(ベンチマーク回数)回、終了しました。

-----
やってみた。
ベースウェア側で異常と判断されて動作せず
1万回だったら動いたけど、5万回はだめだった