• ベストアンサー

プログラムの見本を示してください!!

数学プログラムの授業をしています。:プログラム言語は「Basic」です。 今から問題と、少しやれたものについては、プログラムを記してみました。 問題の最後の 「※」部分が質問したいところです。ない場合は、何もわからないところです。 (1)DIMを用いて 5つの値をキーボードから入力して、そのうち最大の値を表示するプログラム ※90行目以降の「最大値」の表示の仕方がいまいちわかりません。   10:DIM (5) 20:FOR I=0 TO 4 30:INPUT I 40:NEXT I 50:S=0 60:FOR L=0 TO 4 70:S=S+A 80:NEXT L 90:PRINT ??? (2)FOR,NEXT分を使い、 S=2+(2+3)+(2+3+4)+ ........+(2+4+5+6+7+8+9+10) の計算をして Sを表示するプログラムを作りたい。 以上お願いいたします。

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

  • ベストアンサー
  • eatern27
  • ベストアンサー率55% (635/1135)
回答No.3

#1です。訂正です。回答した直後に気が付きました。 (2) 全てを訂正します これ以降です。まあ最初から書きますと、 10:S=0 20:L=0 30:FOR N=2 TO 10 40:LET S=S+N 50:LET L=L+S 60:NEXT N 70:PRINT L 80:END 10:S=0 もう間違いはないと思います。 (1) >60~80行目は何をやっているのか分かりません 正確には、何をやっているのかは分かるのですが、こうすることに意味が無いのです。例えば、{1,2,3,4,5}の最大値を求めよといわれて1+2+3+4+5とはやりませんよね?これが、どこかに書いていたのなら、私の解釈が悪かったと思うので、60~80行目を正確に書いて下さい。

lifebird
質問者

補足

その他の回答 (3)

  • adjective
  • ベストアンサー率17% (241/1356)
回答No.4

まず(1) スミマセン10年以上使ってないので自信はない。 10番で5回インプトしようとしているけど? 30 INPUT”数値入力=”;C  Cの値を入力する 35 DIM(I)=C       その値を行列に代入する。 のつもりじゃないですか? 50~80が気になりますけど?何がしたいのか? 大きいのを選ぶのは 100 FOR B=0 TO 4 110 IF DIM(B)>DIM(B+1) THEN SWAP DIM(B),DIM(B+1) 120 NEXT B 130 PRINT DIM(4) 110で DIM(0)の値とDIM(1)の値を比べて最初の値が大きければ入れ替える。 それを5回やるとDIM(4)が一番大きい値になります。 入力値が「6:5:2:8:2」だったら最初の6と5を比べて6の方が大きいので入れ替える、次に6と2お比べて・・・・ 「5:6:2:8:2」→「5:2:6:8:2」→「5:2:6:8:2」→ 「5:2:6:2:8」と順繰りに大きい数を右に送って行くわけね。 で最後に DIM(4)=8を表示すればよい。

lifebird
質問者

補足

回答No.2

(1)のプログラム   10:DIM A(5) 20:FOR I=0 TO 4 30:INPUT A(I) 40:NEXT I 50:Max=A(0) 60:FOR L=1 TO 4 70:IF Max<A(L) Then Max=A(L) 80:NEXT L 90:PRINT Max (2)のプログラム 10:S=0 20:SS=0  30:FOR I=2 TO 10 40:SS=SS+I 50:S=S+SS 60:NEXT I 70:PRINT S

  • eatern27
  • ベストアンサー率55% (635/1135)
回答No.1

(1) まずこのプログラムは10行目でエラーになります。10行目は 10:DIM A(5) ということでよろしいでしょうか それから、70行目は意味がありません。なぜならA=0です。S=S+0何度計算してもSの値は変わりません70行目は 70:S=S+A(L) でよろしいでしょうか。ただ、仮にこうだとしても60~80行目は何をやっているのか分かりません。ということで60行目から書きます。 60:S=A(0) 70:FOR L=1 TO 4 80: IF A(L)>S THEN 90: LET S=A(L) 100: END IF 110:NEXT L 120:PRINT S 130:END (2) 10:S=0 20:FOR N=2 TO 10 30:LET S=S+N 40:NEXT N 50:PRINT S 60:END 試してませんが、これで動くと思います。

lifebird
質問者

補足

関連するQ&A

専門家に質問してみよう