投稿
5×2×(2+1)=30 といったような、かっこを使った計算をさせるプログラムを教えてー
4そうだね
プレイ済み
返信[1]
親投稿
そのまま打ち込む… ではなくてINPUTで入力を受けるのですか?
0そうだね
プレイ済み
返信[2]
親投稿
はい
0そうだね
プレイ済み
返信[3]
親投稿
ツララ LongIceSword
やりたいことは計算順の優先度を変えたいということですよね。 計算式をいったん文字列化してINSTR()で"("と")"で囲まれた部分を探して取り出し先に計算して、変数に格納したあと元の場所に戻して残りの計算をしてやれば上手くいくのでは?
1そうだね
プレイ済み
返信[4]
親投稿
Oskar oskar_liebig
いんちきな方法ならこんなのがあるよ。 (スロット1を勝手に消して使うので注意) INPUT X$ PRGEDIT 1 PRGDEL -1 PRGSET "COMMON DEF I():RETURN "+X$+":END" USE 1 Y=I() PRINT Y
0そうだね
プレイ済み
返信[5]
親投稿
ツララs»その方法がわからないんです >_<
0そうだね
プレイ済み
返信[6]
親投稿
ツララ LongIceSword
まずLEN()で文字列全体の文字数を取得してその回数分FORで繰り返して、FORループ内でINSTR()を使い"("と")"の場所を探してLEFT$()で分割して別の文字列変数に格納。 分割した残りの文字列に対して同じ処理を繰り返し、という風にすれば上手くいくのでは・・・ 自分も実際にコードを書いて検証してないので確証は無いのですが間違っていたらゴメンナサイ。 INSTR()は該当文字列が見つかった最初の位置だけを返して来るので、都度LEFT$()で取り出して元の文字列から引き算して分割してやらないと"("と")"が幾つあるのか判別できないのがちょっと面倒ですね。
0そうだね
プレイ済み