分数同士の加減乗除のプログラム morino 2005/02/11 20:48:49 └有理数モードを使うと自分で通分、約分をプ... 青木太一 2005/02/12 06:53:55 ├青木さんありがとう もりの 2005/02/12 09:13:36 ├あれれ もりの 2005/02/12 10:32:06 └青木さんへ もりの 2005/02/12 23:25:21 └なんのことやらわかりません。もっと詳細に... 青木太一 2005/02/14 10:23:18 └あ、もしかして。実行するとユーザーが数式... 青木太一 2005/02/14 10:29:43 └ふたつの数字を もりの 2005/02/14 12:42:16 └1.特に入力を受けるプログラムにはせず、ソ... 青木太一 2005/02/14 14:45:14 └アドバイスありがとう もりの 2005/02/14 15:25:33
分数同士の加減乗除のプログラム morino 2005/02/11 20:48:49 ツリーへ
分数同士の加減乗除のプログラム |
返事を書く |
morino 2005/02/11 20:48:49 | |
十進で 分数同士の加減乗除 のプログラムはできるのでしょうか? できれば 答えは 約分し 仮分数で表示しますか? 帯分数で表示しますか? と 答えの出し方を選択できるとうれしいです。 よろしくお願いします。^^ |
└有理数モードを使うと自分で通分、約分をプ... 青木太一 2005/02/12 06:53:55 ツリーへ
Re: 分数同士の加減乗除のプログラム |
返事を書く |
青木太一 2005/02/12 06:53:55 | |
有理数モードを使うと自分で通分、約分をプログラムしなくていいので楽できます。 ---- option arithmetic rational call kabun( 3/4 +7/11 ) call taibun( 3/4 + 7/11 ) call kabun( 1/4 +7/11 ) call taibun( 1/4 + 7/11 ) call kabun( 7/12 -101/15 ) call taibun( 7/12 -101/15 ) sub kabun(f) print "仮分数:";f end sub sub taibun(f) print "帯分数:"; LET f$=str$(f) LET slash_pos=pos(f$,"/") LET numer=val(f$(1:slash_pos-1)) !分子 LET denom=val(f$(slash_pos+1:len(f$)))!分母 print int(numer/denom);"+";mod(numer,denom);"/";denom end sub END ---- 実行結果---- 仮分数: 61/44 帯分数: 1 + 17 / 44 仮分数: 39/44 帯分数: 0 + 39 / 44 仮分数:-123/20 帯分数:-7 + 17 / 20 ---- 帯分数の表示は面倒なので「符号あり整数 + 正の分数」という表示にしました。 本当の帯分数の表記とは違うかな。 |
├青木さんありがとう もりの 2005/02/12 09:13:36 ツリーへ
Re: 有理数モードを使うと自分で通分、約分をプ... |
返事を書く |
もりの 2005/02/12 09:13:36 | |
青木さんありがとう 対分数の表示は本当のものとはちがいますが 説明するときにはセマンテックが大事なので とてもいいとおもいます 来週6年生の練習問題を指導しますので そのとき試しにつかってみますね もし普通の帯分数の表示もできれば ありがたい |
├あれれ もりの 2005/02/12 10:32:06 ツリーへ
Re: 有理数モードを使うと自分で通分、約分をプ... |
返事を書く |
もりの 2005/02/12 10:32:06 | |
あれれ 青木さんの作ってくれたプログラム 貼り付けてやってみたら うごかない 入力まちになってしまいました 僕のやり方がいけないのかな? 僕のパソコンはwin98 バリュースターnxですが・・・ xpでもやってみたいと思いますが ?? |
└青木さんへ もりの 2005/02/12 23:25:21 ツリーへ
Re: 有理数モードを使うと自分で通分、約分をプ... |
返事を書く |
もりの 2005/02/12 23:25:21 | |
青木 さんへ 実行すると書き込み禁止になって しまうので どうしたら入力できるの? |
└なんのことやらわかりません。もっと詳細に... 青木太一 2005/02/14 10:23:18 ツリーへ
Re: 青木さんへ |
返事を書く |
青木太一 2005/02/14 10:23:18 | |
なんのことやらわかりません。もっと詳細に状況を書いてください。 十進BASICで私のコードを実行しようとすると、「書き込み禁止」というエラーダイアログが出るのですか? 「書込み禁止」だけでなくもっと他に何か書いてありませんか? たとえば、以下のプログラムではエラーが出ますか? 二つのそれぞれについてお答えください。 プログラム1 print 10+1/2 END プログラム2 option arithmetic rational print 10+1/2 END |
└あ、もしかして。実行するとユーザーが数式... 青木太一 2005/02/14 10:29:43 ツリーへ
Re: なんのことやらわかりません。もっと詳細に... |
返事を書く |
青木太一 2005/02/14 10:29:43 | |
あ、もしかして。実行するとユーザーが数式の入力を促されるようなプログラムをご想像ですか? そういうプログラムではありません。実行するとコードに埋め込まれて書かれた計算い終了するだけです(「入力待ち」にはならないはず)。 埋め込まれているのは 「3/4 +7/11」 「1/4 +7/11」 「7/12 -101/15」 私が書いたプログラムでは上の三つの数式です。 他の数式を計算したかったらエディタで直接コードをいじって処理したい数式を書き換えてください。 (私の想像が間違っていたらごめんなさい) |
└ふたつの数字を もりの 2005/02/14 12:42:16 ツリーへ
Re: あ、もしかして。実行するとユーザーが数式... |
返事を書く |
もりの 2005/02/14 12:42:16 | |
ふたつの数字を いろいろかえて 計算したいんです どこをなおせばいいのかな? |
└1.特に入力を受けるプログラムにはせず、ソ... 青木太一 2005/02/14 14:45:14 ツリーへ
Re: ふたつの数字を |
返事を書く |
青木太一 2005/02/14 14:45:14 | |
1.特に入力を受けるプログラムにはせず、ソースコード中の数式を直接いじる。 2.inputを使う。 分数の形では数値を入力できないようなので、分子分母を分けて入力したり、文字列として与えるなどの工夫が必要。 |
└アドバイスありがとう もりの 2005/02/14 15:25:33 ツリーへ
Re: 1.特に入力を受けるプログラムにはせず、ソ... |
返事を書く |
もりの 2005/02/14 15:25:33 | |
アドバイスありがとう でも自分ではリライトできないかも プログラム例があると できるかもしれませんね |