• ベストアンサー

3連1次方程式を解くプログラミングについて

最近プログラミングの勉強を始めたばかりの者です。 エラーが出ても、どこがいけないのか、自分では見つけられません。 よろしくお願いいたします。 次の3連1次程式を解くプログラムを作成しなさい。 ただし、X、Y、Zは整数とし、その範囲を-100<X、Y、Z<100とする。 4X+2Y-6Z=-28 7X-5Y-8Z=-20 5X+Y-Z=2 という問題です。 以前の質問の中で同じような問題の質問(QNo.1005159)があり、参考にさせていただいたのですが、エラーばかりで・・・ 100 FOR X=-100 TO 100 110 FOR Y=-100 TO 100 120 FOR Z=-100 TO 100 130 IF (4*X+2*Y-6*Z=-28) AND (7*X-5*Y-8*Z=-20) AND (5*X+Y-Z=2) THEN 140 140 NEXT Z 150 LET Z=Z1 160 NEXT Y 170 LET Y=Y1 180 NEXT X 190 LET X=X1 200 PRINT "X,Y,Z=";X1,Y1,Z1 END

質問者が選んだベストアンサー

  • ベストアンサー
  • noah2000
  • ベストアンサー率100% (1/1)
回答No.3

> ただし、X、Y、Zは整数とし、その範囲を-100<X、Y、Z<100とする。 > 4X+2Y-6Z=-28 > 7X-5Y-8Z=-20 > 5X+Y-Z=2 手で解いてみましたか?解が無いので問題に誤りがあると思われます。 > 100 FOR X=-100 TO 100 > 110 FOR Y=-100 TO 100 > 120 FOR Z=-100 TO 100 題意と違っています。-100と100は含みません。 他はNo.1さん、No.2さんのご指摘のとおりです。 > 200 PRINT "X,Y,Z=";X1,Y1,Z1 ここは処理されると思うのですが・・・ > エラーというか、実行しても何も表示されないのです・・・ ひょっとして、実行中?

yumeponyo
質問者

お礼

実行中でした・・・。 お騒がせしてすみませんでした。 皆さんありがとうございました。

その他の回答 (2)

  • salsberry
  • ベストアンサー率69% (495/711)
回答No.2

・130行目のIFの条件が成立してもしなくても140行目に進むので、130行目を812万回ほど実行するまでループから抜けることがない。 ・150行目で唐突に変数Z1を参照しているが、それ以前にZ1には値が代入されていない。170行目のY1、190行目のX1も同様。 ・150行目で変数Zに値を代入しても、その後Zが参照されることはないので無意味。170行目のY、190行目のXも同様。

yumeponyo
質問者

お礼

ご指摘ありがとうございます。 組みなおしてみようと思います。

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

エラーばかりと言われてもどこなのかを提示しないと。。。 ですけど、 >130 IF (4*X+2*Y-6*Z=-28) AND (7*X-5*Y-8*Z=-20) AND (5*X+Y-Z=2) THEN 140 って 130 IF ((4*X+2*Y-6*Z)=-28) AND ((7*X-5*Y-8*Z)=-20) AND ((5*X+Y-Z)=2) THEN 140 の方がいいのではないかと思うのですが。。。 違っていたらスル~して下さい。

yumeponyo
質問者

補足

エラーというか、実行しても何も表示されないのです・・・ すみません、ご指摘ありがとうございます。

関連するQ&A