
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
>変数aをつかった計算とは具体的にはどのようになるのですか?
簡単なんだけど
前に紹介したサンプルで説明すると
まず、前の計算結果を保存する変数aを定義して初期化しておきます。
number が数値の文字列を数値に変換している関数で、
このままでは数値や演算子以外は書式エラーになるので、
文字"a"が出てきたら変数aの内容を number の戻り値として
返すように変更します。
main関数は数式の計算結果xを表示してから変数aに代入して、
繰り返すように変更する、"q"が入力されたら、
繰り返しループから抜け出して終了する。
おまけで、sinなどの関数を計算させるなら number の中で
文字列"sin"が出てきたら、後の内容を expression で読み出して(再帰呼び出し)
その値をsin関数で計算して number の戻り値で返すようにすればできます。
ただし、このプログラムは先にも説明したように、
数式の演算子の優先順位を考慮して計算する実用的な物です。
課題の求めている解答とは趣旨が違うかも知れませんよ。
アルゴリズムを理解して説明できないと
自分でやったとは認めてくれないんじゃないかな?
No.4
- 回答日時:
補足です、先にアドバイスしたのは演算子の優先順位を考慮して
計算式 "1+2*4+sin30" を計算するアルゴリズムです。
ここまではできているという話ですか?
>+2とかしたら続けて計算でき、qを押すと終了する
>プログラムーソースを教えてください。
+2というのが単純に数値の+2か、前の計算式に加算するのか区別できませんね。
仕様があいまいです。
符号の+は省略できますが、-2だったらどうします?
数値の-2の入力と、前の計算式に-2するのをどう区別しますか?
私なら前の計算式を保存する変数aを加えて
a-2やa+2などと計算できるようにしますね。
No.3
- 回答日時:
はい、これね。
http://www.sra.co.jp/people/miyata/algorithm/
http://www.sra.co.jp/people/miyata/algorithm/eva …
原典は「C言語による最新アルゴリズム事典」
http://oku.edu.mie-u.ac.jp/~okumura/algo/
そのソースリスト
http://www.vector.co.jp/soft/data/prog/se002453. …
基本的に頭から式の要素を処理していくのですが、
途中で括弧とか乗除算など優先される演算子が出てくると、
その中身を先に再帰呼び出しで処理していく感じです。
このソースは四則演算と括弧しかできないけど、
これを応用すれば関数も計算できるようにできます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Application.Volatile利用(excel2003) 1 2023/02/06 10:11
- 時計・電卓・電子辞書 電卓この関数電卓を使ってsin 14、2°を計算したいんですけど14、2の°の出し方がわかりません。 3 2023/07/26 13:44
- C言語・C++・C# C言語 3 2022/10/04 15:07
- 化学 化学のエンタルピ変化を求め方について ある例題では各物質のモール数を換算して計算することもあり、ある 1 2022/06/20 23:22
- 計算機科学 電卓で一度に計算するやり方 9 2022/06/11 14:06
- 時計・電卓・電子辞書 電卓 2 2023/04/20 21:44
- 高校 有効数字計算 確定した値を含む 2 2023/01/18 06:03
- 夫婦 1、ジャージの裾あげについて質問です。 私は、ジャージやズボンを買うとき、お店に裾あげをお願いしてい 1 2023/02/06 15:34
- 数学 α,β,γはα+β+γ=πを満たす正の実数とする。 A=2sinαsinβsinγ B=(β+γ-α 1 2022/06/24 20:20
- Visual Basic(VBA) visual basic初心者です。 visual studioで電卓を作成しています。 実行時にテ 1 2023/02/08 00:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
POSTを使って、アプリを操作したい
-
65536は2の何乗なのでしょうか?
-
VBAの再計算が反映されない件に...
-
MathematicaのNDSolveで連立常...
-
めちゃきれい
-
VBAでの勤務時間計算
-
Perlでのルートの計算
-
移動平均を計算するプログラム
-
時間(ミリ秒を含む)の引き算
-
VBでReplace
-
0xf0=256?
-
functionを含んだプログラムを...
-
Vb6.0で三角関数が使えない
-
VBA入力フォームで労働時間の計...
-
EXCELなどで「返す」という表現
-
C言語についてです。 再帰を使...
-
変化させるセルが変化しない
-
傾いた四角形内の範囲の条件式
-
なぜオーバーフローになるので...
-
【fortran77】データ行数のカウ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
65536は2の何乗なのでしょうか?
-
VBAの再計算が反映されない件に...
-
排他的論理和 BCC(水平パリテ...
-
EXCELなどで「返す」という表現
-
変化させるセルが変化しない
-
エクセルで特定のセルのみを任...
-
CとFORTRANの計算速度はどちら...
-
モジュロ
-
バッチファイルでウインドウを...
-
Visual C++でdebugとreleaseで...
-
y=(x^2 +3x+1)^4を微分の定義を...
-
入射角反射角
-
スレッド処理からダイアログを...
-
60進数の四則計算
-
Javaと他言語比較について
-
VBAで関数をつくる
-
C言語 Σをつかったプログラム
-
CRC8を教えてください
-
C言語についてです。 再帰を使...
-
C言語について 下の画像は do-w...
おすすめ情報