まったくの初学者です。
BASICの基本の命令文(IF,FOR~NEXTなど)を理解できる程度です。
次のような課題が出まして、かなり苦しんでいます。
問題の丸投げをするつもりはありませんが、周りに詳し知人もおらず困ってます。
解法の道筋をご教授願えたらうれしいです。
次の3連1次方程式を解くプログラムを作成しなさい。
ただし、X、Y、Zは整数とし、その範囲を-100<X、Y、Z<100とする。
8X+7Y+3Z=-2
2X-5Y+9Z=-8
-4X+2Y-7Z=12
問題文の条件でX、Y、Zの範囲が指定されているので、ループ(FOR~NEXT~)とIFを使えば、いいのかなあと考えまして、試行錯誤したのですが、まったくだめでした。
No.2ベストアンサー
- 回答日時:
これだと行列で考えたほうが分かりやすいですね(^^;
sinkichiさんが、もし高校2年生以上なら、これはかろうじて理解できると思います。
http://next1.cc.it-hiroshima.ac.jp/MULTIMEDIA/nu …
ただ、この場合
「問題文の条件でX、Y、Zの範囲が指定されている」ので、おそらくはFor文で判定しろ、というのが題意でしょう。
ベタで書いたらこんな感じですね。
for x= -100 to 100
for y= -100 to 100
for z= -100 to 100
if ((8*x+7*y+3z)=-2) and
((2*x-5*y+9*z)=-8) and
((-4*x+2*y-7*z)=12) then
x1=x:y1=y:z1=z '答えを保存
x=100:y=100:z=100 'ループを即抜けするため
next z:next y:next x
print x1,y1,z1 '答えの表示
すばやいご解答ありがとうございました。
おかげさまで自分の作ったプログラムのミスに気づくことができました。
これで課題は完成できます。
ありがとうございました。
No.3
- 回答日時:
「課題」ということなので、大学か専門学校のプログラミングの授業であるとか思います。
私も#1の方と同じく、3元連立1次方程式は三角行列を利用した「ガウスの消去法」で解くのが、良いと思います。
※「ガウスの消去法」についてはココを参照してください。
http://cml.me.seikei.ac.jp/~sueda/kyouzai/kyozai …
その他、検索エンジンでたくさん出てきます。
肝心のプログラム・ソースについては、FortranやC言語で
書かれたものがウェブにはたくさんあります。アルゴリズムは同じです。
Basicプログラム・ソースは、参考URLを見てください。
初学者さんということなので、if文、入れ子のfor~next文のほかに「配列」を使うところが難しいと思います。
参考URL:http://www-ku.magma.ne.jp/~yamanari/index.html
ありがとうございます。
>if文、入れ子のfor~next文のほかに「配列」を使うところが難しいと思います。
まさにそのとおりで、試行錯誤して走らせても「エラー」続きでして・・・
本当に助かりました。
また、ここに質問することで理解が深めることができたと思います。
No.1
- 回答日時:
とりあえず解法のヒントです。
この連立方程式を解くためには、行列を用いた『消去法』を用いてはいかがでしょうか?
この連立方程式を拡大係数行列で表現し、それをDIM命令語で2次元(行=3:列=4)の配列に格納します。
後は行列の行基本変形をプログラム上で再現してみてください。
こういった感じでいかがでしょうか?
すばやいご解答ありがとうございます。
プログラムの勉強は数学の勉強とほぼ等しいということを今回の課題で感じました。
連立方程式を解く解法がこんなにいろいろあるとは感心しました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 大学受験 ある大学の数1,Aの過去問なのですが回答に解説がなく困っています。誰か解説をつけて欲しいです(><) 1 2022/11/05 12:57
- 物理学 移流熱拡散方程式の解き方 フーリエ変換 1 2022/08/15 15:25
- 大学受験 ある大学の数1Aの問題なのですが、回答に解説がなく 困ってます。誰か解説をつけて欲しいです 2つのx 3 2022/11/11 22:50
- 数学 【 数I 二次方程式の実数解 】 問題 ※写真の(2) 解答 いずれか一方のみが実数解を持つため に 1 2022/06/25 17:36
- 数学 高2 数2 3 2022/06/20 21:39
- 数学 『因数に分解するということ』 9 2022/06/27 06:14
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
- 中学校 数学の問題について教えてください。 10 2022/12/04 16:28
- 数学 高校数学の問題について 2次方程式x²-2(m-2)x-m+14=0が、次のような異なる解をもつとき 7 2023/05/05 21:03
- 数学 数学の問題でモヤモヤしてます 7 2023/08/15 21:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フローチャートで 変数に代入す...
-
フローチャートの菱形が狭い。。。
-
あるプログラムのコマンドライ...
-
C言語の課題で、1年の秒数を計...
-
Excelで4096点以上のFFTの方法
-
0除算して、落ちるプログラムと...
-
「Outlookが他のプログラムによ...
-
C++ で、「)」が必要 というエ...
-
バッチファイルでUSB挿入時に実行
-
graph.hがincludeできない
-
正しい五十音順について
-
読み込み中にアクセス違反が発...
-
アプリのプログラムを見るには...
-
このプログラミング誰か教えて...
-
65536は2の何乗なのでしょうか?
-
XnViewにwebpを「いつも開く」...
-
JCLの基本について教えてください
-
C++でアボート(Abort)で処理が...
-
プログラムを斜めに並べる
-
VBAで仕様書は書きますか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フローチャートの菱形が狭い。。。
-
フローチャートで 変数に代入す...
-
フローチャート以外の設計方法
-
フローチャートで。
-
サブルーチンのフローチャート...
-
Delphiで配列をファイルに出力...
-
フローチャート
-
フローチャートの解き方が分か...
-
C++で二次方程式のプログラム
-
初心者のフローチャート
-
Rの質問です。 x<-rnorm(n=100,...
-
fortran90/95における計算結果...
-
for文のフローチャート
-
FORTRAN★DO WHILE★の問題
-
フローチャート
-
学校でフローチャートって教わ...
-
FORTRAN subroutineと配列と繰...
-
【fortran】フーリエ級数について
-
C言語のプログラミングに関する...
-
正しい五十音順について
おすすめ情報