プロジェクトオイラーというサイトがあります。
https://projecteuler.net/
数学的なクイズを出題するサイトで、手計算だけでは解けずプログラム併用を必須とする問題ばかりです。しばらくは遊んで数十問ほど解きましたが。。。
Basic使用者はごく少数でC++やJavaが多く、正解すると他正解者のプログラム紹介等を見れるようになってますが、ごくごくシンプルなプログラムで解いてます。極端な例では2,3行、確かRuby。調べてみるとVBAは関数の数値範囲が狭く、他言語ではメモリ範囲内で無限なんていうのもありました。数列で値が1000桁に達する添え字を求めよとか、なかなか歯ごたえある問題ばかりだと思ってましたが、Basic以外ではすんなり解いてるようなのです。
要するにVBAの数値範囲が狭い、あるいは遅いがために工夫して解く部分が多過ぎるのです(これも楽しみと言えなくもありませんが)。この先、500問もの問題を解くというのに2桁レベルで躓いており、他言語ではこんなに簡単に解いてる、モチベーションが一気に下がりました。プログラム紹介見なけりゃよかったと後悔してます。
みなさんだったら、どうします?乗り換えますか?VBAだけで解けそうですか?
愚痴みたいな質問ですみません。
No.2ベストアンサー
- 回答日時:
こんにちは。
別に、VBAを選択というよりも、使用環境が限定されているから、VBAを使っているという人がほとんどではありませんか?
>みなさんだったら、どうします?乗り換えますか?VBAだけで解けそうですか?
VBA使用者というのは、ド素人集団だから、仮に言語を換えても、やっぱりその換えた時点ではド素人そのものなんだと思います。もしVBAで、うまくないから、言語を換えて解決という話にはならないことだと思います。
>要するにVBAの数値範囲が狭い、あるいは遅いがために工夫して解く部分が多過ぎるのです
VBAというよりも、限定的ではあるけれども、VB6なのですよね。だから、VB6のいろんな諸問題をどう解決してきたかという記録からみて取れるのは、その言語に対する期待感からの構築された技術だと思うのです。つまり、大勢の人の努力による積重ねの無形の財産をだったわけです。
それで、逆に、言語換えて、解決していくかというと、まったく目処が立たないのではないかと思うのです。ただ、そもそも、VBAは、アプリの中で操作するものですから、臨時に、言語として単独で利用しているだけにすぎません。
>他言語ではこんなに簡単に解いてる、モチベーションが一気に下がりました。
これは、私自身の感覚的なこともしれませんが、たぶん分かる人は分かってくれると思います。
ひとつは、問題は情報量なのだと思います。
あえて、能力的な話はしませんが、様々な問題に対して、VBAまでサイズダウンしてまで、解法が降りてこないのです。昨今、VB6での解決方法というのは、一切情報として上がってこないので、私などは「VBレスキューの花ちゃん」ぐらいです。
もうひとつは、やはりアルゴリズムなどを利用した解法は、VBAユーザーには不慣れだということです。
もし、プログラミング言語をやりたいのでしたら、今すぐでも、中途半端なVBAなどやめて、本格的なプログラミング言語に挑戦すべきだと思います。
むろん、VBAには、VBAでしか解決しない問題はあるのは承知の上での見切りです。数学的な問題解決に、VBAが、使えれば使えばよいということにすぎないと思います。
ありがとうございます。
情報が乏しいことによる不利というのがあるのですね。やっぱりマイノリティだからですか?
>アルゴリズムなどを利用した解法は、VBAユーザーには不慣れ
私もVBA片手間プログラマですが、大部分はデータ読込、切り貼り、エクセル様様です。アルゴリズムが必要になることはほとんどありません。
サイトの方は、行けるところまで行きます。BASICユーザはランキング上位でも200問程度です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語 3 2022/10/04 15:07
- 数学 高校数学の質問です 文字を消去したり、置き換えたりしたら、残った文字に範囲がつくかどうか調べるという 4 2023/05/03 18:18
- 統計学 統計検定2級の過去問について 1 2023/01/04 16:40
- 高校 対数方程式につきまして 4 2022/05/05 07:55
- 数学 『数は実在するのか』 6 2023/06/04 15:15
- 高校 有効数字計算 確定した値を含む 2 2023/01/18 06:03
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
- 数学 最大エントロピー原理をpythonで実装したい 2 2022/06/21 13:10
- 数学 【 数Ⅰ 2次関数 】 問題 関数y=mx²+4x+m-3において,yの値が 常に負であるという条件 2 2022/10/01 15:08
- 高校受験 数学の問題いくつか捨てても大丈夫?残り1ヶ月、点数が取れない教科ばっか勉強しても大丈夫? 高校受験 2 2023/01/07 17:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
楽しくて最高のプログラミング...
-
プログラムに書かれる"%"記号の...
-
Pythonって何を意識した言語な...
-
UNITY Float型の接尾辞fって
-
Int('1234') で、strをかんたん...
-
最新のプログラム言語を学ぶに...
-
C言語、C+、C++、C#の違い
-
rpa化する言語としてら何があり...
-
HTMLとCSSを初心者ながらProgat...
-
質問失礼します。 プログラム言...
-
プログラミング言語の制作方法...
-
UWSCはどのプログラミング言語?
-
vbaとc言語の関連性について
-
C言語とhtmlの違いを どな...
-
COBOLで文字タイプを数字...
-
なぜコンピューターをよく知っ...
-
C# でソフト開発をした事のある...
-
簡単な将棋ソフト作成
-
if文がbegin - endな訳は?
-
プログラミング言語の読み方を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語、C+、C++、C#の違い
-
質問失礼します。 プログラム言...
-
最新のプログラム言語を学ぶに...
-
COBOLでのNOT = の AND条件
-
C言語って古いですか?
-
rpa化する言語としてら何があり...
-
UNITY Float型の接尾辞fって
-
TO_CHARで小数点以下がある場合...
-
プログラミング言語の制作方法...
-
COBOLで文字タイプを数字...
-
プログラムに書かれる"%"記号の...
-
C言語とhtmlの違いを どな...
-
Int('1234') で、strをかんたん...
-
C++ ってなんて読む?
-
Excel VBAで文字化けする (英語...
-
C言語 解答について。
-
VBSでDim、Private、Publicの違い
-
Excelの開発言語ってなんですか?
-
C# でソフト開発をした事のある...
-
C#とC++のざっくりとした違いを...
おすすめ情報