最小値 ひろ 2007/09/30 22:11:46 ├!これは、参考になりますか。おもちゃですが... SECOND 2007/09/30 23:32:09 ├そのまま繋げればいいかと思います。 山中和義 2007/10/01 10:11:45 └SECOND様、山中和義様 ひろ 2007/10/01 23:07:40
最小値 ひろ 2007/09/30 22:11:46 ツリーへ
最小値 |
返事を書く ノートメニュー |
ひろ <ryqneoodws> 2007/09/30 22:11:46 | |
以前にもお世話になったのですが、また質問させてください。
あるデータを読みだし、その最小値を求めたいのですが、 試行錯誤したのですがどう繋げていいのかどこに入れれば良いのかが分かりません。 100 DIM a(10000),b(10000),c(10000) 110 OPEN #1:NAME "sample.CSV", ACCESS INPUT , RECTYPE INTERNAL 120 LET n=1 130 DO 140 READ #1,IF MISSING THEN EXIT DO: a(n) 150 LET n=n+1 160 LOOP 170 CLOSE #1 最小値を求めるプログラムは以下を考えました。 実際には、データは100個程あるのですが。 100 DIM a(5) 110 LET a(1)=5 120 LET a(2)=8 130 LET a(3)=100 140 LET a(4)=2 150 LET a(5)=0.1 160 LET MIN=1000 170 FOR n=1 TO 5 STEP 1 180 IF MIN>a(n) THEN 190 LET MIN = a(n) 200 END IF 210 NEXT n 220 PRINT MIN プログラミングが素人なもので、教えていただけないでしょうか。 |
├!これは、参考になりますか。おもちゃですが... SECOND 2007/09/30 23:32:09 ツリーへ
Re: 最小値 |
返事を書く ノートメニュー |
SECOND <cszcthjjdj> 2007/09/30 23:32:09 | |
!これは、参考になりますか。おもちゃですが。
!テスト用、サンプル sample.CSV の作成。 !----- OPEN #1:NAME "sample.CSV" ERASE #1 FOR n=1 TO 100 PRINT #1 :RND !乱数を、100個 書いてみる。 NEXT n CLOSE #1 !サンプル sample.CSV を、モニターしながら、最小値を探す。 !----- LET MIN=9999 LET n=1 OPEN #1:NAME "sample.CSV", ACCESS INPUT DO READ #1, IF MISSING THEN EXIT DO: a PRINT USING "###) #.######" :n, a IF a < MIN THEN LET MIN = a LET num=n END IF LET n=n+1 LOOP CLOSE #1 !サンプル sample.CSV の中の、最小値。 !----- PRINT USING "###) #.###### is Minimum" :num, MIN END |
├そのまま繋げればいいかと思います。 山中和義 2007/10/01 10:11:45 ツリーへ
Re: 最小値 |
返事を書く ノートメニュー |
山中和義 <drdlxujciw> 2007/10/01 10:11:45 | |
そのまま繋げればいいかと思います。
最初のプログラムは、配列変数a()にデータを設定しています。 これは、2番目のプログラムの前半部(100〜150)と同じです。 したがって、データをまとめて読み込んで、その後、目的の処理(最小値を求める)を行うと考えると、 100 DIM a(10000),b(10000),c(10000) 110 OPEN #1:NAME "sample.CSV", ACCESS INPUT, RECTYPE INTERNAL 120 LET n=1 130 DO 140 READ #1,IF MISSING THEN EXIT DO: a(n) 150 LET n=n+1 160 LOOP 170 CLOSE #1 PRINT "n=";n !※注意. 1つ多い !!!200 DIM a(5) !削除. 上の処理と等価 !!!210 LET a(1)=5 !!!220 LET a(2)=8 !!!230 LET a(3)=100 !!!240 LET a(4)=2 !!!250 LET a(5)=0.1 260 LET MIN=1000 270 FOR i=1 TO n-1 STEP 1 !※変更. カウンタを読み込んだ個数に対応 280 IF MIN>a(i) THEN !※変更 290 LET MIN=a(i) !※変更 300 END IF 310 NEXT i !※変更 320 PRINT MIN END また、SECONDさんのように、データを読みながら行うこともできます。 その場合、配列変数(a(10000))ではなく変数1つ(a)で処理できます。 |
└SECOND様、山中和義様 ひろ 2007/10/01 23:07:40 ツリーへ
Re: 最小値 |
返事を書く ノートメニュー |
ひろ <ryqneoodws> 2007/10/01 23:07:40 | |
SECOND様、山中和義様
ありがとうございます。 お二方のやり方でできました。 プログラミングの勉強をしたいと思います。 |