ビジュアルベーシック初心者です。
タイトルでは誤解をうむと思いますが、やりたいことは以下のようなことです。
kigouという変数をstringsで宣言しそこに文字として算術記号を代入する。 例 kigou = "+"
このkigou変数を用いて、実際の計算をする。
例 i = 1 kigou 2
この場合、kigou変数には+が代入されているので、iの値は3になる。
このように、kigouに入れる算術記号を任意にかえ、kigouという変数を用いて実際の計算をさせたいのですが、正しい記述方法などがわかりません。方法はありますか?
No.4ベストアンサー
- 回答日時:
#3です。
プログラムは、どれだけ多く使われるかによって、作るのにどれだけ手間をかけてもよいか、が決まるものです。例えば、それだけの需要があれば、次のようなプログラムを作っても採算がとれるはずです。
例えば、
keisan (2, +, 3) よりも一歩進めて、keisan ("(2 + 3) * 4") の値が 20 となるような function keisan を作ることは可能です。中級者以上の練習問題に適していると思います。
No.3
- 回答日時:
Function keisan (x, kigou, y)
Select Case kigou
Case "+"
keisan = x + y
case "-"
keisan = x - y
End Select
End Function
のようにすれば keisan (2, +, 3) で 5 が返されるのでは?
(すみません、しばらくVBをやっていないので、合っているかどうか)
No.2
- 回答日時:
すいません。
Delphi、PHP、Perlしか経験がないのですが、VBって文を変数の中に入れても成立するんですか?
No1の方が、
>kigouの内容によって計算が変わるので、
と書いているので、質問の流れをあわせると、・・・出来るのかな!?
a := '<';
if 1 a 2 then
ShowMessage('OK');
ってコンパイル出来ます?
私が知らないだけかもしれませんが、どの言語でも出来ない気がします。
(あー、特殊な言語は別で。世の中には特殊な言語があるようなので。^^;
まえに、練習でDelphiで切符の4桁の四則演算(4つの数字を足して、0とか1にするやつ)を作りましたが、結局はいいアイディアが浮かばず、すべての例を挙げて、if文で条件分けするという、かっこの悪いものしか出来ませんでした。
Case文で分けてもいいですけど。
Delphiでも、文のなかに変数をいれて成立する方法があれば、その名前だけでも教えてください。
No.1
- 回答日時:
#計算式が文字列で与えられたりすれば文字列のparseから考えないといけませんが・・
kigouの内容によって計算が変わるので、Select Case kigouでcase分けをするしかありませんね。しょっちゅう使うようなら関数にするかな・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- Excel(エクセル) エクセルでセルに何らかの文字が入力されたらそれを任意の数値として認識させる方法がしりたいです。 3 2023/03/16 20:19
- C言語・C++・C# C言語 3 2022/10/04 15:07
- Visual Basic(VBA) VBAで時間(00:00形式)を積算(足し算)したい 1 2022/11/15 17:04
- 数学 数学 2b シグマ計算 添付の変形なのですが、私は Σk=1~n を計算し、 Σk=1 を引いて求め 1 2022/12/05 16:33
- 化学 有効数字の取り扱いについて 高校化学では、測定値同士の計算結果の有効数字は、測定値に合わせるようにな 4 2022/06/30 14:07
- Excel(エクセル) エクセル 関数について質問です。 2 2022/10/03 11:14
- その他(お金・保険・資産運用) 至急!【Wolt】各メニューの価格設定の簡単な計算方法 3 2023/03/05 11:58
- 情報処理技術者・Microsoft認定資格 応用情報処理技術者試験のシステム利用率の計算について 2 2022/03/28 07:43
- その他(プログラミング・Web制作) プログラミング 処理速度 1 2022/11/25 11:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語の課題で、1年の秒数を計...
-
65536は2の何乗なのでしょうか?
-
Excel VBAにてFFT
-
matlab計算での進捗状況を知りたい
-
入射角反射角
-
CRC8を教えてください
-
VBとVBAの違い
-
変化させるセルが変化しない
-
matlabで計算終了
-
2進数の乗算をc言語で計算した...
-
FORTRANで>>
-
骨折リスク評価のFRAXについて...
-
fortran πについて
-
VBAでの勤務時間計算
-
for文である数の倍数になるまで...
-
[急募]Pythonについてです。
-
VB6で正確なミリ秒を計測したい...
-
C言語についてです。 再帰を使...
-
CとFORTRANの計算速度はどちら...
-
ファイルサイズの単位 BYTE,MB...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
65536は2の何乗なのでしょうか?
-
VBAの再計算が反映されない件に...
-
排他的論理和 BCC(水平パリテ...
-
EXCELなどで「返す」という表現
-
バッチファイルでウインドウを...
-
モジュラス103の計算とは何でし...
-
傾いた四角形内の範囲の条件式
-
Visual C++でdebugとreleaseで...
-
変化させるセルが変化しない
-
骨折リスク評価のFRAXについて...
-
C# 計算処理中に実行中ウィン...
-
VBAでの勤務時間計算
-
べき乗の計算が遅い理由
-
C言語についてです。 再帰を使...
-
Excel VBAにてFFT
-
数値計算の高速化 (cos, sin, exp)
-
VBとVBAの違い
-
VB6で正確なミリ秒を計測したい...
-
スレッド処理からダイアログを...
-
matlabで計算終了
おすすめ情報