• ベストアンサー

BASIC言語 配列変数

問題21. 読み込んだデータから「最高点」を表示せよ. 5 READ N     → データ数の読み込み  10 DIM SEISEKI(N)  → 配列の宣言  20 FOR I=1 TO N  30 READ SEISEKI(I)  40 LET S=S+SEISEKI(I)   → 配列の合計  50 NEXT I  60 LET HEIKIN=S/N   → 平均値  70 PRINT HEIKIN  80 DATA 8             → データ数  90 DATA 80,90,100,85,78,64,72,86 → 成績データ  END

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

  • ベストアンサー
  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.1

質問がよく判らないのですが…。 「最高点」を出すだけなら、 ・ループの外で変数「MAX」に0を代入する。 ・成績データを読み込んだら、成績データとMAXを比較し、成績データの方が大きかったら成績データをMAXに代入する。 ・最後に、MAXの値を表示する。 だけです。

関連するQ&A

  • BASIC言語  分散の出し方

    BASIC言語の問題が分からないので、教えてください。 分散がうまく出せません(+o+) 下に問題と自分の回答を張り付けたので、お願いしますm(__)m <演習問題2> 最小二乗法(直線のあてはめ)を用いて回帰式と相関係数を算出する。 作成手順:   1. READ~DATA 文によるデータの配列変数への読み込み   2. Xi の和、Yi の和、Xi の平均値 (Xav) 、Yi の平均値 (Yav) の算出   3. (Xi -Xav)^2 の和、(Yi -Yav)^2 の和、(Xi -Xav)(Yi -Yav) の和の算出   4. y=a*x+bのa, b, r(相関係数) の算出 テストデータと計算結果  データ数:4    X Y    Xの平均 2.5    1 5    Yの平均 8     傾き a=1.6    2 8    Xの分散 1.25   切片 b=4    3 9    Yの分散 3.5   相関係数 r=0.956    4 10    共分散  2 下が自分の回答です。 5 READ n > DIM A(2,N) > 10 FOR i=1 TO 2 > 15 LET S=0 > 20 FOR j=1 TO n > 30 READ A(i,j) > 40 LET s=s+a(i,j) > 50 NEXT j > 60 LET h=s/n > 70 IF i=1 THEN > PRINT h,bunsan > ELSEIF i=2 THEN > PRINT h,bunsan > END if > 75 NEXT i > 80 DATA 4 > 90 DATA 1,2,3,4 > DATA 5,8,9,10 > END

  • エクセルVBA 必要な数だけ配列を確保する方法は?

    Dim a(10,1)と宣言して、セルにある10個のデータを配列aに代入したいのですが、セルに何個のデータがあるかはプログラムを書いているときには分かりません。 セルにあるデータは、プログラムを走らせるとn個あることが分かります。 それからDim a(n,1)と宣言できれば、必要な数の配列が確保できるのですが、このように必要な数だけ配列を確保するにはどうすれば良いのでしょうか?

  • VBAの配列

    VBAの配列の処理でこまっています。 dim test as Variant test = Array( _ Array("Aさん", 65, 70, 45), _ Array("Bさん", 80, 10, 90)) とした成績データがありまして、あとから(定義の段階でなく)、"Cさん", 70, 70, 75をtest変数に追加したい場合、どのようにすればよいのでしょうか? また、これ(test)を戻り値にした場合、正しく左辺値にはいるのでしょうか?オブジェクトの解放などの問題も知りたいです。 function seiseki () as variant ... 上の処理 seiseki = test end function ...  dim cp as Variant cp = seiseki() 'cp変数にコピーされるのでしょうか?

  • fortran allocateを使って配列宣言を

    今変数 aについて考えています.aは i,jの2次元の座標におけるデータです. a(1,1)は10個配列を持ちたい a(1,2)は5配列を持ちたい a(i,j)はn個配列を持ちたい このような場合どのように配列を定義すれば良いのでしょうか? 例えば 2次元の大きさが3x3の場合で,それぞれの位置に配列したいデータ個数をnとします. nには既に個数が定義されているとします.このとき aの配列は nを使ってどのように定義すれば良いのでしょうか? integer n(3,3) integer i,j real, allocatable :: a(:,:,:) do j=1,3 do i=1,3 n(i,j)=i*j end do end do do j=1,3 do i=1,3 allocate (a(n(i,j),3,3)) end do end do では aの宣言が重複するためエラーになってします. 何方か良い方法を教えて下さい.

  • basicプログラムです。

    100 DIM A(5) 110 FOR J=1 TO 5 120 READ A(J)   130 NEXT J   140 FOR I=1 TO 4  150 LET K=I    160 FOR J=I+1 TO 5  170 IF A(J)<A(K) THEN LET k=J  180 NEXT J    190 LET T=A(I)    200 LET A(I)=A(K)   210 LET A(K)=T    220 FOR J=1 TO 5   230 PRINT A(J);   240 NEXT J     250 PRINT      260 NEXT I     270 DATA 5,3,7,2,1,  280 END このようなプログラムがあります。 いろいろ調べたのですがそれぞれの文の意味と 何を求めるプログラムか教えて下さい。 5つの数の組み合わせで小さい数から順番に4個 かなと思ったのですが???

  • 数学のBasicなのですが・・。

     数学のコンピューターを独学でやり始めたのですが、分からないことがたくさんあって、頼れる人がいなくて質問したのですが、  配列変数とかいうのがよく分からなくて、   DIM 変数名(n)  っていうのは、番号つき変数を0からn番まで用意するということは分かりました。  ○配列変数→大量のデータを一気に出力という題目のところがありまして、  ■N個の数値を入力して、逆の順序で出力するプログラム  10 INPUT ”データ数”;N  20 DIM A(N)  30 FOR K=1 TO N  40 INPUT ”データ”;A(K)  50 NEXT K  60 FOR K=1 TO N  70 I=N+1-K  80 PRINT A(I);  90 NEXT K  100 END  で まず、 10行目はデータ数って書いてあって、40行目はデータと書いてあって、その違いが分かりません。    それとFOR~NEXT文は挟まった動作を繰り返すんですよね!?  で、60行目と90行目は2文挟まっているのですが、この2文とも繰り返すということなのでしょうか?  分かってる方にとってはくだらない質問と思いますが、どうか教えてください。  お願いします。

  • VB.net 引数で配列変数を渡す際の要素数

    VB.net 2010 の質問です。 配列変数を他のプロシージャに引数で渡す際の、配列変数の要素数をあらかじめ宣言していないとエラーになります。 Dim Hairetsu() As String ' ←エラー Dim Hairetsu(100) As String ' ←正常 Public Sub aaa(ByRef Hairetsu() As String) Hairetsu(0) = "Test" '←正常の場合と、エラーの場合 End Sub Hairetsu(100) のように、要素数を宣言していると、エラーにならないのですが、 プログラム中、要素数がどこまで増加するか、分かりません。 Hairetsu()のように、要素数未確定の配列変数を渡すことは出来ないのでしょうか。 ご存知の方がいらっしゃいましたら、なにとぞアドバイスの程、よろしくお願いいたします。

  • VBAの動的配列について

    いつもお世話になっております。 エクセルVBAを学習中の者です。 動的配列についてお伺いします。 添付資料を見て頂きたいのですが、 シート名1~4に同一レイアウトの表があります。 これらの表をを2次元配列に格納し、その後、同一レイアウトのシートに一括転記したいと考えています。 転記の事を考えて、条件としては、 シート1から2行目以降のデータを配列『data』に格納、変数『dataCnt』が転記先の行番号と同じになるように考えています。 当初は、配列の定義を『Dim data(100,3) As Variant』と、多めに要素数を定義して、コードを記述していました。 正直、凄く気持ちが悪い感じでした・・・ 最近、動的配列を学習しまして、 シートごとにデータの行数を変数『lastRow』に格納して、配列を再定義して【データ数=要素数】とならないか? と思い、下記のようなコードを書いてみました。 が、『ReDim Preserve~』で実行エラーが発生してしまいます。 原因がなぜかわかりません! そもそも、動的配列はこのような使い方は出来ないのでしょうか? Sub テスト() Dim data() As Variant Dim x As Long Dim i As Long Dim ii As Long Dim lastRow As Long Dim dataCnt As Long dataCnt = 2 For x = 2 To 5 Worksheets(x).Activate lastRow = Cells(Rows.Count, 1).End(xlUp).Row If x = 2 Then ReDim data(2 To lastRow, 3) Else ReDim Preserve data(2 To dataCnt + lastRow - 1, 3) End If For i = 2 To lastRow For ii = 1 To 3 data(dataCnt, ii) = Cells(i, ii) Next ii dataCnt = dataCnt + 1 Next i Next x End Sub どなたかご指導をよろしくお願いいたします。

  • プログラム作成に関して

    配列にn個のa(1),a(2),…a(n)という値が与えられているとき、 このn個の値の最小値を求めるプログラムの作成 DIM A(n) LET k=1 FOR i=1 TO n  IF A(i)<A(k) THEN   LET min=A(i)  END IF NEXT i END ※DIM A(n)はn個の配列 minは最小値である。 としたのですが、 A()の読み込みを表すには 出力を表すには どのようにしたらいいのですか? できるだけ詳しく教えてください。よろしくお願いします。

  • 配列を用いて、次のFibonacciの数列{a(n)}n=1,2・・・を計算するプログラムを作りなさい。

    配列を用いて、次のFibonacciの数列{a(n)}n=1,2・・・を計算するプログラムを作りなさい。 a(n+2)=a(n+1)+a(n),a(1)=1,a(2)=1 で、私が作ったプログラムは DIM a(n) INPUT n LET a(1)=1   print 1,a(1) let a(2)=1 print 2,a(2) for i=3 to n let a(i)=a(i-1)+a(i-2) print i,a(i) next i end なのですが、うまくいきません。 どこを改善したらいいかを教えてください。 よろしくおねがいします。