2020-11-12 20:44:29
Re①:計算履歴の残る計算
計算させたいだけなのか、文字列処理の実験として計算させたいのか、でだいぶかわってくると思います。 計算させたいだけなら、エディタの内容が計算式であることをチェックして「ナデシコする」のが簡単。 (……ひまわりにあった「計算する」命令ってなくなった?) 文字列処理をしたいなら条件分岐とか。 #----------------------------------------------------------------------- 計算エディタとはエディタ そのテキストは「5+9*2」 計算ボタンとはボタン 計算ボタンをクリックした時は 式は計算エディタのテキスト //式であることのチェック(てきとう) 式の「[0123456789\+\-\*\/]」を「」にワイルドカード置換 もしそれが空ならば 式をナデシコする 結果はそれ 「{式}={結果}」を表示 違えば 「式じゃない」を表示 #----------------------------------------------------------------------- #----------------------------------------------------------------------- //乗除の優先はひとまず無視して、ヒトケタの数値と+-*/記号を左から計算する 計算エディタとはエディタ そのテキストは「5+9*2」 計算ボタンとはボタン 計算ボタンをクリックした時は カウンタは、計算エディタの文字数-1 データは計算エディタを文字列分解したもの 結果はデータ¥0 Iで0からカウンタまで繰り返す J=I+1 データ¥Iで条件分岐 「+」ならば、結果=結果+データ¥J 「-」ならば、結果=結果-データ¥J 「*」ならば、結果=結果*データ¥J 「/」ならば、結果=結果/データ¥J 違えば、//特になし 計算エディタのテキストを表示 結果を表示 #----------------------------------------------------------------------- |