BASICの宿題はお前にまかせたat TECH
BASICの宿題はお前にまかせた - 暇つぶし2ch152:デフォルトの名無しさん
06/09/30 15:11:30
同じ様なデータに番号つけて扱うのが配列。

例えば a という配列があったとしたら
a の 1 番目の要素は a(1)
a の 2 番目の要素は a(2)
a の 3 番目の要素は a(3)
って感じ。

で、ここからポイント。

★配列の何番目を使いたいかを示す番号(添字という)★
★には、変数を使うことが出来る。。。★

例えば a1, a2, a3 という変数を作って
d 番目の変数を使いたいからって ad なんてやってもそれは別の変数になってしまう。

ところが配列の場合は

a(d)

と書けば「a という配列の d 番目」を使える。



dim 命令はそんな配列を使うために使うのさ。

153:デフォルトの名無しさん
06/09/30 15:43:52
>>151
サンクス!そのままだと構文エラー出まくるんで何とか意味理解してみる…

>>152
なるほど…配列からバラバラに引き出せるとはなんと便利な…


154:デフォルトの名無しさん
06/09/30 16:03:15
>>151-152
出来ました!
配列使うとホントに無駄が無いんですね…ありがとうございました!

155:デフォルトの名無しさん
06/09/30 16:09:36
>>154
考え方が逆でして、今回は無駄があるところを配列を使って纏められただけです
なので有効性を考えずに配列を使うのはバカの一つ覚えになりますぉ

156:句読点書けないバカをサマージャンボする俺 ◆9NQzQ21lx.
06/09/30 16:35:45
>>155


157:デフォルトの名無しさん
06/10/23 10:10:56
ファイルダイアログみたいなのでファイル指定して、読み込みたいのですが
だれか御教授ください。

n=FreeFile()
i=0
FileOpen(n,"data.dat",OpenMode.Input)
Do While Not EOF(n)
input(n,a(i))
i +=1
loop
FileClose(n)
としたとき、ファイルを指定("data.dat")するのではなくて、ファイルダイアログで指定したいのです。
おねがいします。 vb.netです。

158:デフォルトの名無しさん
06/10/23 10:14:20
URLリンク(dobon.net)
で色々探してみて

159:デフォルトの名無しさん
06/10/25 08:59:57

ありがとうありがとうありがとう ほんまありがとう めちゃ助かった!!!

160:デフォルトの名無しさん
06/10/30 20:48:24
VB.netについてです。
ボタン1を押すと”別ウィンドウに”グラフが描画されるようにしたいのですが、どなたか御教授ください。

Form1にはボタンがあって、それを押すと別のフォームが出現して、そこにあるpictureBoxにグラフが出力できるようにしたいのです。


161:デフォルトの名無しさん
06/11/10 16:01:33
F-BASICのエラーなんですが
ビルド方法が指定されていません。
て出るんですけどどうすれば解決されるんでしょうか

162:なぽ
06/11/29 04:55:15
4行4列の行列AとBの積の計算のプログラムをおそえてくださーーーい

163:デフォルトの名無しさん
06/11/29 23:45:00
>>162
MAT C = A * B

164:デフォルトの名無しさん
06/11/30 19:26:32
問.2次元配列を使用して以下の計算をしなさい。
            行の和→
   01 02 03 04 05 06 07 08 09 10  55
列 11 12 13 14 15 16 17 18 19 20 155  ←和は出せたのですが、
の              ・                 ここに表示させる方法が
和              ・                 分かりません。
↓              ・
   91 92 93 94 95 96 97 98 99 100 955
  460 470       ・・・・・          5050


01 02 03 04 05 06 07 08 09 10  0
11 12 13 14 15 16 17 18 19 20  10
           ・              29   ←これは全然分かりません。
           ・
81          ・
91 92 93 94 95 96 97 98 99 100 414
0  91 173      ・・・・・         505
     ↑右斜め下方向の和

どうかお願いしますm(_ _)m

165:デフォルトの名無しさん
06/12/01 15:48:01
>>164
いやもう帰っていいよ
ほんとに

166:デフォルトの名無しさん
06/12/02 01:39:48
>>164
10 DIM A(11,11):N=10:FOR I=1TO N:FOR J=1TO N: A(I,J)=(I-1)*N+J:NEXT:NEXT:Z=0:FOR I=1TO N:X=0:Y=0:
20 FOR J=1TO N:X=X+A(I,J):Y=Y+A(J,I):NEXT:A(I,N+1)=X:A(N+1,I)=Y:Z=Z+X:NEXT:A(N+1,N+1)=Z:FOR I=1TO N+1:
30 FOR J=1TO N+1:PRINT USING" ####";A(I,J);:NEXT:PRINT:NEXT:FOR I=1 TO N+1:X=0:Y=0:FOR J=I TO N:
40 X=X+A(J,J-I+1):Y=Y+A(J-I+1,J):NEXT:A(N+1,N-I+2)=X:A(N-I+2,N+1)=Y:NEXT:FOR I=1TO N+1:FOR J=1TO N+1:
50 PRINT USING" ####";A(I,J);:NEXT:PRINT:NEXT

167:デフォルトの名無しさん
06/12/03 00:10:16
>>166
ありがとうございます!
助かりました。

168:何卒よろしくお願いします
06/12/06 09:32:13
標準正規分布を使った仕入れ最適問題です。(Windows板N88BASIC)
1個40円で仕入れ100円で売る。売れ残った物は1個15円で引き取ってもらう。
統計によれば1日に売れる物は平均800標準偏差120の正規分布に従っている。
1日にいくつ仕入れれば利益が最大になるか。
プログラムの一部を下に書きます。何処か写し間違えがあるかもしれませんがよろしくお願いします。
(s:仕入れtotal:粗利計k:客数a:余りの部数)
for s=600 to 1000 step 20
total=0
for day=1 to 500
gosub *nomal(所定の正規分布乱数を作ってrに入れて戻る)
k=int(120*r+80)
if s<=k then (何処かの行番号)
arari=100*s-40*s
else
a=s-k
arari=100*k-40*s+15*a
tatal=total+arari
next day

169:デフォルトの名無しさん
06/12/06 10:34:52
>>168
tatalとはなでふおどろおどろしきこと哉

170:デフォルトの名無しさん
06/12/06 12:54:45
>>169
すいません、言ってる事がわかりません><

171:デフォルトの名無しさん
06/12/07 07:33:16
> 何処か写し間違えがあるかもしれませんが
> tatal=total+arari
> tatal=total+arari
> tatal=total+arari

172:デフォルトの名無しさん
06/12/07 09:53:38
>>171
その通りです。誰か助けてください><

173:デフォルトの名無しさん
06/12/08 01:47:00
>>168
XT=0:XS=0
FOR S=600 TO 1000 STEP 20
TOTAL=0: KT=0
FOR DAY=1 TO 500
GOSUB *NOMAL
K=INT(120*R+800)
IF S<=K THEN
ARARI=100*S-40*S
ELSE
A=S-K
ARARI=100*K-40*S+15*A
END IF
TOTAL=TOTAL+ARARI: KT=KT+K
NEXT DAY
IF TOTAL>XT THEN XT=TOTAL:XS=S
PRINT "仕入れ/日: ";S,"粗利計:";TOTAL,"客数平均:";KT/500
NEXT S
PRINT "利益が最大になったのは";XS;"個仕入れたとき"
END
*NOMAL
R=(RND+RND+RND+RND+RND+RND+RND+RND+RND+RND+RND+RND)-6
RETURN

174:デフォルトの名無しさん
06/12/08 01:53:23
プログラミング自体全然分かってないです(>_<)
それでも課題はやらなきゃいけない・・・・
誰か助けてください

その①
『入力された3桁の自然数aに対し、aの一の位、十の位、
 百の位の和Sと、Sを3で割ったときの余りを表示する
 プログラムを作れ』

その②
『自然数nに対し、n以外の正の約数の和がnに等しいと
 き、nを完全数という。10,000以下の全ての完全数を、
 プログラムを作って求めよ』

教えてくださいお願いします!!

175:Nw
06/12/08 02:15:02
BASICで書いて頂けませんか?
10: 20: ってな感じで・・
1.数A,B,Cを入力してA>BかつB>CならA*B*Cの計算を、A>BかつB≦Cなら
 A+B+Cの値を、A≦BならA/B+Cの値を求めるプログラム。
2.1+2+3+・・・・+X の合計が初めて200を超える X の値を表示するプログラム。
3.1,3,5,7,9,・・・・, X までの和を求め、和が1000を超えない X の最大値を表示するプログラム。
4.X,Yを入力し、X=1でY=2なら"A"と、X=3でY=4なら"B"と、X=5でY=6なら"C"と表示し、
 上記以外の数字の組み合わせを入れたときはプログラムの最初に戻るプログラム。
5.2つの数XとYを入力し、両方マイナスのときは√(X*Y)を、どちらか一方がプラスのときはX*Yを、
 両方プラスのときはX/Yのそれぞれの値を表示するプログラム。
6.自然数MからNmでの和と平均を求めるプログラム。(NとMの値は入力するものとし、M<Nとする)
S=M+・・・・+N
7.Y=3X^3 +2X^2 +X +15 において、Xの値を-10から10まで、0.5刻みで変化させてYの値を求めるプログラム。
8.AAB+BB=BAA つまり、(100×A+10×A+B)+(10×B×B)=(100×B+10×A+A)となるAとBを
 求めるプログラム。(A,Bは一桁の整数)
9.ABA×B=BCBつまり(100×A+10×B+A)×B=(100×B+10×C+B)となるA,B,Cを求めるプログラム。
10.三角形の辺A,B,Cにおいて、それぞれを1から20まで変化させたとき、直角三角形となる組み合わせをすべて
 求めるプログラム。
11.Y=6X^2 - 5X - 9 の式において、-10≦X≦10 の範囲でYの最大値を求めるプログラム。
 (Xは、0.2刻みとする)

自分でやるべきなのですが、分からなくて・・
早急に解答が欲しいのですが、教えて頂ける方がおられましたら
どうか宜しくお願いします

176:デフォルトの名無しさん
06/12/08 02:56:23
>>174
>>174
>その①
100 INPUT "N";N
110 W=(N MOD 10)+(INT(N/10) MOD 10)+(INT(N/100) MOD 10)
120 PRINT W, W MOD 3

>その②
100 FOR A=1 TO 10000
110 C=0
120 FOR B=1 TO A-1
130 IF ((A MOD B) = 0) THEN C=C+B
140 NEXT
150 IF C=A THEN PRINT A
160 NEXT


177:デフォルトの名無しさん
06/12/08 02:58:25
>>175
10 PRINT "糞して寝ろ"

178:デフォルトの名無しさん
06/12/09 04:21:21
>>175

11 INPUT A,B,C:IF A>B AND B>C THEN PRINT A*B*C ELSE IF A>B AND B<=C THEN PRINT A+B+C ELSE PRINT A/B+C

21 X=X+1:T=T+X:IF T>200 THEN PRINT X ELSE 21

31 FOR I=1 TO 500 STEP 2:T=T+I:IF T>1000 THEN PRINT I-2 ELSE NEXT

41 INPUT X,Y:IF X=1 AND Y=2 THEN PRINT "A" ELSE IF X=3 AND Y=4 THEN PRINT "B" ELSE IF X=5 AND Y=6 THEN PRINT "C" ELSE 10

51 INPUT X,Y:IF X<0 AND Y<0 THEN PRINT SQR(X*Y) ELSE IF X>=0 AND Y>=0 THEN PRINT X*Y ELSE PRINT X/Y

61 INPUT M,N:IF M<N THEN PRINT (N^2-M^2+M+N)/2,(N+M)/2

71 FOR I=-100 TO 100 STEP 5:X=I/10:PRINT 3*X^3+2*X^2+X+15:NEXT

81 FOR A=1 TO 9:FOR B=1 TO 9:IF A*99=B*88 THEN PRINT A,B
82 NEXT:NEXT

91 FOR A=1 TO 9:FOR B=1 TO 9:FOR C=1 TO 9:IF (A*101+B*10-101)*B=C*10 THEN PRINT A,B,C
92 NEXT:NEXT:NEXT

101 FOR A=1 TO 20:FOR B=1 TO 20:FOR C=1 TO 20:IF A*A+B*B=C*C OR B*B+C*C=A*A OR C*C+A*A=B*B THEN PRINT A,B,C
102 NEXT:NEXT:NEXT

111 YM=-1.E23:FOR I=-100 TO 100 STEP 2:X=I/10:Y=6*X^2-5*X-9:IF Y>YM THEN YM=Y
112 NEXT: PRINT YM



179:デフォルトの名無しさん
06/12/10 00:07:39
xの値が-2~2変化したときの、関数f(x)=sin(1/x)のグラフと、
xの値が0~4変化したときの、関数f(x)=cos(x^2)のグラフを描く
プログラムを教えてください。どうかお願いします。

180:デフォルトの名無しさん
06/12/10 01:54:40
>>179
! f(x) = sin(1/x)
DEF f(x) = SIN(1/x)
SET WINDOW -2,2,-2,2
DRAW GRID(0.5,0.5)
FOR x=-2 TO 2 STEP 0.01
WHEN EXCEPTION IN
PLOT LINES: x, f(x);
USE
PLOT LINES
END WHEN
NEXT x
END

! f(x) = cos(x^2)
DEF f(x) = COS(x^2)
SET WINDOW -0.1,4,-2.05,2.05
DRAW GRID(0.5,0.5)
FOR x=0 TO 4 STEP 0.01
WHEN EXCEPTION IN
PLOT LINES: x, f(x);
USE
PLOT LINES
END WHEN
NEXT x
END


181:デフォルトの名無しさん
06/12/10 15:14:22
>>180
やってもらった後で大変申し訳無いんですが、
N88互換BASICで出来るものをお願いします。
書き忘れててすいません。

182:デフォルトの名無しさん
06/12/10 16:09:45
>>181
100 DIM A$(21):ON ERROR GOTO 130
110 FOR I=1 TO 41:A$(I)=SPACE$(20)+"|"+SPACE$(20):NEXT:A$(11)=STRING$(20,"-")+"+"+STRING$(20,"-")
120 FOR I=-20 TO 20:J=INT(SIN(10/I)*10):MID$(A$(11-J),I+21,1)="*":NEXT:FOR I=1 TO 21:PRINT A$(I):NEXT:END
130 RESUME NEXT

100 DIM A$(21):ON ERROR GOTO 130
110 FOR I=1 TO 41:A$(I)="|"+SPACE$(40):NEXT:A$(11)="+"+STRING$(40,"-")
120 FOR I=0 TO 40:J=INT(COS(I*I/100)*10):MID$(A$(11-J),I+1,1)="*":NEXT:FOR I=1 TO 21:PRINT A$(I):NEXT:END
130 RESUME NEXT

183:デフォルトの名無しさん
06/12/10 18:00:28
>>182
psetやlineを使わないといけないみたいなんです。
たびたびで本当に申し訳無いんですが、
どうかお願いします。

184:デフォルトの名無しさん
06/12/10 19:09:21
>>183
条件は最初に全部書け
て言うかもう問題文全部そのまま晒せ

185:デフォルトの名無しさん
06/12/10 20:16:49
>>184
本当に申し訳無いです・・・
問題文は、
1.xの値を-2~2変化したときの、関数f(x)=sin(1/x)のグラフを作成しなさい。
2.xの値を0~4変化したときの、関数f(x)=cos(x^2)のグラフを作成しなさい。
です。
この課題が出される前に説明されたことは、
locate、line、pset、circleについてです。


186:デフォルトの名無しさん
06/12/10 22:31:19
>>185
>1.xの値を-2~2変化したときの、関数f(x)=sin(1/x)のグラフを作成しなさい。
100 cls:line(0,0)-(400,200),7,b:line(0,100)-(400,100),7:line(200,0)-(200,200),7
120 locate 25,7:print"0":locate 0,7:print"-2":locate 50,7:print"2":
123 locate 25,0:print"1":locate 25,13:print"-1"
136 for x=-2 to 2 step 0.001:if x<>0 then pset(x*100+200,100-sin(1/x)*100)
140 next:end

>2.xの値を0~4変化したときの、関数f(x)=cos(x^2)のグラフを作成しなさい。
100 cls:line(0,0)-(400,200),7,b:line(0,100)-(400,100),7:
122 locate 1,7:print"0":locate 50,7:print"4"
126 locate 1,0:print"1":locate 0,13:print"-1"
137 for x=0 to 4 step 0.001:if x<>0 then pset(x*100,cos(x^2)*100+100)
140 next:end


187:デフォルトの名無しさん
06/12/11 19:56:50
>>186
何度もご迷惑をおかけしました・・・
ありがとうございます。

188:デフォルトの名無しさん
06/12/25 02:16:06
1.次の連立一次方程式を解きなさい。
    2x+ y+ z=2
  { 2x+2y+ z=4
    x+ y+3z=1

処理は以下の手順で行なう。
①  2  1  1  2
②  2  3  1  4
③  1  1  3  -1    処理方法             処理順
-------------------------------------------------------
④  1 0.5 0.5  1    ①を2(=a11)で割る           1
⑤  0  2  0  2    ④を2(=a21)倍し、②から引く     2
⑥  0 0.5 2.5  -2    ④を1(=a31)倍し、③から引く     3
-------------------------------------------------------
⑦  1  0 0.5 0.5    ⑧を0.5(=a12)倍し、④から引く    2
⑧  0  1  0  1    ⑤を2(=a22)で割る           1
⑨  0  0 2.5 -2.5    ⑧を0.5(=a32)倍し、⑥から引く    3
-------------------------------------------------------
⑩  1  0  0  1    ⑫を0.5(=a13)倍し、⑦から引く    2
⑪  0  1  0  1    ⑫を0(=a23)倍し、⑧から引く     3
⑫  0  0  1  -1    ⑨を2.5(=a33)で割る          1

2.作成したプログラムの一部を変更して6元連立1次方程式を解きなさい。
  値は自作する。

どうかよろしくお願いします!

189:デフォルトの名無しさん
06/12/25 03:17:41
1.
100 N=3
110 DIM A(N,N+1)
120 '
130 FOR J=1 TO N: FOR K=1 TO N+1: READ A(J,K): NEXT K: NEXT J
140 FOR J=1 TO N: FOR K=1 TO N+1: PRINT A(J,K);:NEXT K: PRINT: NEXT J:PRINT
150 '
160 FOR I=1 TO N
170 T = A(I,I): FOR K=1 TO N+1: A(I,K) = A(I,K) / T: NEXT K
180 FOR J=1 TO N
190 IF J<>I THEN T = A(J,I): FOR K=1 TO N+1: A(J,K) = A(J,K) - T*A(I,K):NEXT K
200 NEXT J
210 FOR J=1 TO N: FOR K=1 TO N+1: PRINT A(J,K);:NEXT K: PRINT: NEXT J:PRINT
220 NEXT I
230 '
240 FOR I=1 TO N: PRINT A(I,N+1): NEXT I
250 '
260 DATA 2, 1, 1, 2
270 DATA 2, 3, 1, 4
280 DATA 1, 1, 3, -1

2.
100 N=3 → N=6

190:デフォルトの名無しさん
06/12/25 16:00:53
>>189
ありがとうございます!

191:デフォルトの名無しさん
06/12/25 22:32:47
問.整数n(49以下の奇数とする)を入力し、寸法nの魔方陣を作成し表示しなさい。
   魔方陣とは1からn^2までの整数n×nの正方行列の形にならべたもので、
   それぞれの行要素、列要素の和、および対角線の和が等しいものをいう。
   プログラムは寸法nが奇数の場合、ド・ラ・ルーブルの方法を用いる。
   その方法は以下である。
   結果は、n=3、n=7、「適当な次元」の3つを提出する。

  ○1 ○    ○1 ○    ○1 ○     1.第1行中央列に1を書く。
  ○○○ →  ○○○ →  3○○     2.次の数字を右斜め上に書く。
  ○○○    ○○2     ○○2    2.を適用できない場合は、以下の規則に従う。
                            3.右斜め上にすでに数字がある場合と、
    ○1○    ○1 6    ○1 6        右斜め上が右上隅の角である場合、
 → 3○○ → 3 5○ → 3 5 7        今書いた数字の真下に書く。
    4○2    4○2    4○ 2      4.右斜め上が上側に出る場合、
                              1つ右の列の最下段に書く。
    8 1 6    8 1 6 15         5.右斜め上が右側に出る場合、
 →  3 5 7 →  3 5 7 15 ←行の和     1つ上の行の最左端に書く。
    4 ○2    4 9 2 15
            15 15 15 15 ←対角線の和
              ↑
             列の和

どうしてもわかりません・・・
どうか宜しくお願いします。

192:デフォルトの名無しさん
06/12/25 23:17:33
>>191
>>34

193:デフォルトの名無しさん
06/12/26 17:22:44
>>192
>>34を参考にして繰り返し内の文を簡単にしようと
自分でやってみたんですが、このように表示されてしまいます→ 0 1 0
おかしい所の訂正をお願いします。                  0 0 0
                                        0 0 0
100 color 0,7:cls
110 dim a(99,99)
120 input "n";n
130 if n mod 2=0 then print "( ´,_ゝ`)プッ":end
140 x=n\2+1:y=1
150 for i=1 to n*n
160  a(y,x)=i
170  if i mod n=0 then y=y+1 else goto 180
180  if y=1 then y=n and x=x+1 else goto 190
190  if x=n then y=y-1 and x=1 else goto 200
200  if y<>1 and x<>n then y=y-1 and x=x+1
210 next i
220 for i=1 to n
230  for j=1 to n
240   print a(i,j);
250  next j
260 print
270 next i
280 end


194:デフォルトの名無しさん
06/12/26 19:30:22
>>193
170~200行

何もせずに次の行に行くときは「else goto NNN」は不要。

複数の文を続けて書くときは「:」で区切ること。
and は論理演算子なので、例えば180行目の「y=n and x=x+1」は
y に n を代入し、x に x+1 を代入する
ではなく
y に n と 「x と x+1が等しいかどうかの結果(常に偽=0)」との論理積 を代入する
という意味になる。

x, y の移動先の判別も少々怪しい。
まずx, yを次の位置に移動させておいて、その位置が n×n のマス目から外れていれば
補正するようにした方が良い。

195:デフォルトの名無しさん
06/12/26 21:41:34
>>194
できました!
アドバイスありがとうございます。

196:デフォルトの名無しさん
06/12/27 15:07:46
明日までの宿題ができなくて困ってます。
どなたかBASICに詳しい方教えていただけないでしょうか。

電卓のプログラミングなんですが、
一応1+2=3や5×3=15のような簡単な計算はできるようになりました。

しかし、=のあとに数字を打って新しく計算を始めたり
(例えば1+2=7-8=という計算をしたとき、37-8=というようになってしまう)
1+2+3=という計算をするときに、1+2+と打った時点で電卓に3が表示されなくて、
3+3=6という計算結果にすることができません。

どなたかお願いします。

197:デフォルトの名無しさん
06/12/27 15:43:43
>196
=を選んだ時点でStringに入れていて
そのまま計算を続行してるからですよ

計算処理時は計算対象が何の変数に入っているのか
解るようにしておきましょう

198:デフォルトの名無しさん
06/12/27 16:15:19
>>197
出来ました!
これで提出できます。
本当にありがとうございました!!

199:デフォルトの名無しさん
07/01/04 19:46:43
ヨーグレット

200:デフォルトの名無しさん
07/01/06 21:16:30
どなたか助けてください。
簡単なことなようなのに、どうしてもできないのです。

”tanX=c/X”を求めようとして調べている間に「高校数学の窓」というページを見つけ、
質問「1126」で下記のようなプログラムを見つけましたが、
このプログラムは”tanX=c/X”ではなくて”tanX=X”を求めるプログラムなのです。
自分で”tanX=c/X”用にアレンジしようとしたのですが、どうして良いのかわかりません。
Basicに詳しいどなたか、どういう風に書き換えればよいのか教えてください。
どうぞよろしくお願いします。

DEF f(x)=x-tan(x)
DEF g(x)=-(tan(x))^2 ! g(x)=f'(x)
INPUT a
LET x=a
LET E=0.000001
DO
LET x1=x-f(x)/g(x)
PRINT x1
IF ABS(x1-x)<E THEN EXIT DO
LET x=x1
LOOP
END

201:200
07/01/06 22:04:49
計算法的なやりかたとしては、f(x) = tan(x)-c/xとおいて,f(x)を微分し,f'(x)=g(x) = 1/cos(x)2+c/x2とお
くと思います。
よろしくおねがいします。

202:デフォルトの名無しさん
07/01/06 22:24:11
>>200-201
そこまで考えたのなら、そのまま書いて試してみればいいじゃない。

DEF f(x)=TAN(x)-c/x
DEF g(x)=COS(x)^(-2)+c*x^(-2) ! g(x)=f'(x)
INPUT c, a
LET x=a
LET E=0.000001
DO
LET x1=x-f(x)/g(x)
PRINT x1
IF ABS(x1-x)<E THEN EXIT DO
LET x=x1
LOOP
END

203:200
07/01/06 22:58:42
>>202
ありがとうございます!!。
できてるっぽいです!!。
Basicの言語がわからないので、とても困っていました。
私は「1/cos(x)2+c/x2」をそのままプログラムへ入れました。
やはり表記法が変でしたか・・・?。
ずうずうしくて恐縮なのですが、もう一つ教えてください。
f(x) = tan(x)-c/xとおいた場合の、f(x)の微分「f'(x)=g(x) = 1/(cos(x))^2+c/x^2」と書くのでしょうか?。

204:200
07/01/06 23:30:06
ごめんなさい。最後の行だけ訂正します

f(x) =c/x-tan(x)おくと,f(x)の微分は,f'(x)=g(x) = -c/x^2-1/(cos(x))^2で正しいのでしょうか?。


205:デフォルトの名無しさん
07/01/07 00:00:29
URLリンク(ja.wikipedia.org)


206:デフォルトの名無しさん
07/01/17 05:11:57
正月早々に近所の創価学会員一家が夜逃げしたことがわかりました。この夜逃げは私の住む地域で騒ぎになりました。
創価学会の人たちが「あの一家は信心が無かった」と宣伝して回っていますが真っ赤な嘘です。近所ではよく知られた熱心な信者でした。
羽振りの良い時期にはおだて上げて散々使いまわして、いざ破綻になれば他人事で切り捨てる。
創価学会というのは冷酷な組織だということがつくづくわかりました。

追記 アムウェイやスリムドカン等の代理店をやっていた時期もあったそうです。
スレリンク(manage板)

207:デフォルトの名無しさん
07/01/18 13:27:41
URLリンク(c-docomo.2ch.net)

208:デフォルトの名無しさん
07/01/23 23:44:57
xの値を0度~360度、刻み10度で変化したときの、
関数f(x)=sin(x)、f(x)=cos(x)のグラフを作成しなさい。
(1つの画面に2つのグラフを描く、演算子はlocate、line、circle、psetのみ)

よろしくお願いします!!><



209:デフォルトの名無しさん
07/01/24 00:03:35
>演算子はlocate、line、circle、psetのみ
難しすぎて出来ません!!><

210:208
07/01/24 00:28:59
>>209
あっ!図形を描くために使う演算子がlocate、line、circle、psetのみであって
for文とか四則演算子も使えます!よろしくお願いします!!

211:デフォルトの名無しさん
07/01/24 01:14:01
>図形を描くために使う演算子がlocate、line、circle、psetのみ
難しすぎて出来ません!!><

212:デフォルトの名無しさん
07/01/24 16:20:38
漸化式の計算ってどうすんの?

213:デフォルトの名無しさん
07/01/24 22:26:06
>>212
つ for

214:デフォルトの名無しさん
07/01/25 05:54:54
計算したいものがありまして、
見よう見まねでプログラムを作っていますが、どうしてもコンパイルできません。
また、式の最初のπ以降のカッコ内は元の式では、∑1/n^2exp(-(t*n^2*PI()^2/R/C/L^2))となっています。
For文をうまく組み込めばこの部分ももっと級数を増やして計算できるのかもしれませんが、
組み方もわからないので、非常に困っています。

どなたか手直し等をしてくださいませんか?。
よろしくお願いいたします。


Let I=1.33
Let L=1
Let E=0.0008

Input "Cを入力してください。",C
Input "Rを入力してください。",R

For t=1 to 2500

V=E+/1000*(I*(t/C*L+R*L/3-2*R*l/PI()^2*(1/1^2/EXP(1^2*PI()^2*t/R/C/L^2)+1/2^2/EXP(2^2*PI()^2*s/R/C/L^2)+1/3^2/EXP(3^2*PI()^2*t/R/C/L^2)))))

Print V

Next t



215:デフォルトの名無しさん
07/01/25 17:04:45
>>214

E+/1000 ←ここがおかしい

216:デフォルトの名無しさん
07/01/25 17:08:03
十進BASICはこれで動いた。意図する式かどうかは

Let I=1.33
Let L=1
Let E=0.0008

Input PROMPT "Cを入力してください。":C
Input PROMPT "Rを入力してください。":R

For t=1 to 2500

LET V=E/1000*(I*(t/C*L+R*L/3-2*R*l/PI^2*(1/1^2/EXP(1^2*PI))))^2*t/R/C/L^2+1/2^2/EXP(2^2*PI^2*s/R/C/L^2)+1/3^2/EXP(3^2*PI^2*t/R/C/L^2)

Print V

NEXT t
END

217:デフォルトの名無しさん
07/01/25 21:05:55
>>213
遅かったがサンクスw

218:デフォルトの名無しさん
07/01/27 00:07:17
>>215
あっそうでした。ありがとうございました。

>>216
これで良さそうです。ありがとうございました。

219:デフォルトの名無しさん
07/01/27 00:13:47
度々すみません。
前のプログラムを応用して、別のプログラムを作ったのですが、
tanx=c/xを計算する部分の組み込みがうまくいかず、どうしても計算結果が違ってしまいます。
お願いするばかりで恐縮なのですが、どうぞよろしくご教授ください。


220:219
07/01/27 00:15:47
こちらが自作のプログラムです。

Let Iapp=1.33
Let Ei=0
Let Cs=1
Let Rs=0.001
Input "Cを入力してください。",CtL
Input "Rを入力してください。",RtL
For t = 1 to 1300
For n=1 to 100
Let a=n*PI()
Let c=Cs/CtL
DEF f(x)=TAN(x)-c/x
DEF g(x)=COS(x)^(-2)+c*x^(-2)
LET x=a
LET E=0.000001
DO
LET x1=x-f(x)/g(x)
IF ABS(x1-x)<E THEN EXIT DO
LET x=x1
LOOP
S=0
S=S+cos(X1)*EXP(-t*X1^2/RtL/CtL)/(X1*((CtL+Cs)*sin(X1)+X1*CtL*cos(X1)))
Next n
V=Ei+1/1000*(Iapp*(Rs+2*t/(2*CtL+Cs)+RtL*CtL^2*(8*CtL+5*Cs)/(6*(2*CtL+Cs)^2)-2*RtL^2*S))
Print V
Next t
END

221:217
07/01/27 01:57:24
問題点がわかりました。
級数の数を決定するステップでFor文を使用してしまった為に、
tanx=c/xがちゃんと計算できてないだけでした。
しかし、For文の他に何度も計算させるコマンドがわかりません。
どうしたら良いでしょうか?。

222:デフォルトの名無しさん
07/01/27 01:59:14
IF と GOTO 使え。
それが基本(w

223:デフォルトの名無しさん
07/01/27 02:03:14
DO LOOP
DO WHILE
LOOP WHILE
LOOP UNTIL

などたくさんある

224:217
07/01/27 02:25:51
>>222
>>223

アドバイスありがとうございました。
自分で調べてやってみましたが、どうもまだ違うようです。
どこを間違えたのでしょうか?。
また手直しをしてください。お願いします。 ↓

225:217
07/01/27 02:26:36
Print"Rs(単位 Ω)=(=γ*RtL)=",Rs
Print"Cs(単位 F)=(=θ*CtL)=",Cs
Input "CtLを入力してください(単位 F).",CtL
Input "RtLを入力してください(単位 Ω).",RtL
Print "Emeas/V"
For t = 1 to 1300
n=0
While n <=100
n=n+1
Let a=n*PI()
Let c=Cs/CtL
DEF f(x)=TAN(x)-c/x
DEF g(x)=COS(x)^(-2)+c*x^(-2)
LET x=a
LET E=0.000001
DO
LET x1=x-f(x)/g(x)
IF ABS(x1-x)<E THEN EXIT DO
LET x=x1
LOOP
S=0
S=S+cos(x1)*EXP(-t*X1^2/RtL/CtL)/(x1*((CtL+Cs)*sin(x1)+x1*CtL*cos(x1)))
Wend
Emeas=Ei+1/1000*(Iapp*(Rs+2*t/(2*CtL+Cs)+RtL*CtL^2*(8*CtL+5*Cs)/(6*(2*CtL+Cs)^2)-2*RtL^2*S))
Print a
Next t
END

226:デフォルトの名無しさん
07/01/27 03:05:34
>>225
何をしたいのかよくわからんな。
ニュートン法か?
計算の元になる文献かPDFへのリンクを貼ってくれないか?

こういうエラーは文法エラーではなく論理エラーと言う物で、
文法的には誤りがないため、元の文献を参照できないと
どこが間違っているのかわからない。

227:デフォルトの名無しさん
07/01/27 03:07:05
まあ多分
S=0
S=S+cos(x1)*EXP(-t*X1^2/RtL/CtL)/(x1*((CtL+Cs)*sin(x1)+x1*CtL*cos(x1)))

の所で、S=0を別の所に置かないとだめなんだろうぐらいは予想できるけど。

228:217
07/01/27 04:37:29
>>226
ニュートン法の部分に関しましては、
高校数学の窓というページの質問番号1126を参照して作りました。
他の部分につきましては、申し訳ないのですが、リンクがありません。

229:217
07/01/27 05:27:18
>>226

その部分もこちらで教えていただきました。

>>200-202を参照してください。

230:217
07/01/27 05:40:41
>>227
それは、どうしてなのでしょうか?。

231:デフォルトの名無しさん
07/01/27 07:59:44
そうじゃなくって、>>225のどこが間違ってるのかって
こっちが聞きたいって意味。式の意味が全然把握できないから。
それがわからない以上、誰も答えられないでしょう。

232:217
07/01/27 12:08:48
>>231

大変失礼いたしました。

最初のFor文は、秒数に関する設定です。
問題は次のWhile文にあるようなのですが、
ここではtanX=c/x (a=n*PI()、c=Cs/CtL )を計算してから、級数部分(s)
を計算させるつもりで作りました。
最後の行に「Print a」とありますが、これは 「Print Emeas」の間違いです。

色々な計算途中の値を表示させてみましたら、
十行目に「Let a=n*PI()」のところで
n=?の回数だけ級数の計算が為されているようなのですが、
n(n=1,2,3となってほしい。)
がきちんとnがPI()にかけられてないみたいなのです。

どこを間違えてしまったのか、この説明でわかるでしょうか?。
教えてください。
よろしくお願いします。



233:217
07/01/28 14:27:05
tanx=c/xの部分は、カウンターを組み込むことでクリアできました。
しかし、Sの計算でつまづいてしまいました。
t=1から1000までの間、Sの値が変化しないのです。
何故でしょうか?。
どなたか教えてください。



234:デフォルトの名無しさん
07/01/30 12:01:21
ニュートン法を教えてください

235:デフォルトの名無しさん
07/01/30 21:09:54
>>234
DEF f(x) = x^2 - 2
DEF df(x) = 2*x
LET EPS = 0.000001
LET IMAX = 1000
LET x = 2
FOR i=1 TO IMAX
LET x1 = x - f(x) / df(x)
IF ABS(x1 - x) < EPS THEN EXIT FOR
LET x = x1
NEXT i
IF i < IMAX THEN PRINT x1
END

236:デフォルトの名無しさん
07/02/02 23:51:26
10CLEAR :CLS
20DIM A(2),B(2)
30FOR J=0 TO 2
40A(J)= RND 6-1
50NEXT
60*MAIN
70LOCATE 0,0
80FOR J=0 TO 2
90IF B(J)=0 LET A(J)=(A(J)+1) MOD 6
100PRINT MID$ ("$*\7+&",A(J)+1,1);
110NEXT
120C= ASC INKEY$ -49
130IF C>-1 AND C<3 IF B(C)=0 LET D=D+1,B(C)=1
140IF D<3 GOTO *MAIN
150IF A(0)=A(1) AND A(1)=A(2) PRINT " GOOD"
160CALL 48381
170GOTO 10

このプログラムはどのような物か教えてください。
どの命令がどのような意味を持っているのか分からないのでお願いします。

237:デフォルトの名無しさん
07/02/09 10:49:57
>>236
スロット

238:デフォルトの名無しさん
07/02/18 11:52:37
サイコロをK回振ったとする。100回振ったとき、それぞれの目が出た回数をコンピュータでシュミレーションせよ。横軸に出た目、縦軸に出た回数をプロットし、折れ線グラフをかけ。

どうやって解けばいいでしようか
どなたかお願いします

239:デフォルトの名無しさん
07/02/18 15:51:52
>>238
100 CLS 3:DIM D(6):FOR I=1 TO 6:D(I)=0:NEXT I:RANDOMIZE 10
110 FOR I=1 TO 100:N=INT(RND*6)+1:D(N) = D(N) + 1:NEXT I
120 LINE (100,10)-(100,300),7:LINE(100,300)-(580,300),7
130 FOR I=1 TO 6:LOCATE 11+10*I,19:PRINT I;:NEXT I
140 FOR I=0 TO 6:LOCATE 9,18-I*3:PRINT I*5;:NEXT I
150 PSET(180,300-D(1)*10),7
160 FOR I=1 TO 6
170 LINE-(I*80+100,300-D(I)*10),7
180 LOCATE I*10+10,18-INT(D(I)*3/5):PRINT D(I);
190 NEXT I
200 LOCATE 0,20

240:デフォルトの名無しさん
07/02/18 17:41:25
>>239
遅くなりました!有り難うございます


241:デフォルトの名無しさん
07/02/25 18:31:08
簡単な自分の好きなゲームを2つ作りなさい。
ただし数当てゲームは無しとする。

どうしたらいいか全くわかりません!
どなたか助けていただけないでしょうか?
今週の水曜日までなので…

242:デフォルトの名無しさん
07/02/25 19:24:41
>>241

10 REM TAIPINGU GE-MU
20 A$ = "RENSYUU SHITAI MOZIRETSU"
30 PRINT A$
40 INPUT B$
50 IF A$ = B$ THEN 80
60 PRINT "TIGAIMASU"
70 GOTO 30
80 PRINT "OWARI"
90 END

100 'NOURYOKU TORE-NINGU
110 SCREEN 0,1:CONSOLE ,,0,1:CLS 3:DEFINT A-Z
130 SIZ = 9:MAX = 100 : WAITCOUNT =10000
140 RANDOMIZE VAL(RIGHT$(TIME$,2))
150 FOR I=0 TO SIZ
160 Q(I) = RND(MAX):ANS = ANS + Q(I)
170 NEXT
180 FOR I=0 TO SIZ
190 PRINT Q(I)
200 GOSUB *SWAIT
210 CLS
220 NEXT
230 INPUT "GOUKEI";G$
240 IF VAL(G$) = ANS THEN PRINT "SEIKAI!":END
250 PRINT "ZANNEN!":END
300 *SWAIT
310 FOR S=0 TO WAITCOUNT :NEXT
320 RETURN

243:デフォルトの名無しさん
07/02/25 20:43:42
>>241
10 REM 4,6で左右移動
20 CONSOLE 0,14,0,1:CLS 3:X=320:Y=199:K=0:W=0
30 A$=INKEY$
40 IF A$="4" THEN X=X-1:IF X<0 THEN X=0
50 IF A$="6" THEN X=X+1:IF X>639 THEN X=639
60 FOR I=1 TO 10:PSET(RND(1)*640,399),3:NEXT
70 ROLL 1 'ActiveBasicの場合は ROLL 0,-1
80 IF POINT(X,Y)=3 THEN PRINT "走行距離";K;"m":END ELSE K=K+1
90 PSET(X,Y),1:FOR I=1 TO W:NEXT:GOTO 30

100 REM じゃんけんゲーム
110 CLEAR:DIM A$(3),B$(3),H(3,3),S(3)
120 A$(1)="グー":A$(2)="チョキ":A$(3)="パー":S(1)=0:S(2)=0:S(3)=0
130 B$(1)="あいこ":B$(2)="あんたの勝ち":B$(3)="あんたの負け"
140 H(1,1)=1:H(1,2)=2:H(1,3)=3:H(2,1)=3:H(2,2)=1:H(2,3)=2:H(3,1)=2:H(3,2)=3:H(3,3)=1
150 CLS:PRINT "じゃんけんゲーム"
160 INPUT "(1:グー, 2:チョキ, 3:パー, 0:やめる)"; N1
170 IF N1=0 THEN GOTO 220 ELSE IF N1>=1 AND N1<=3 THEN GOTO 190
180 GOTO 160
190 N2=INT(RND(1)*3)*Z+N1-1:IF N2<1 THEN N2=3
200 K=H(N1,N2):S(K)=S(K)+1
210 PRINT "あんた:";A$(N1), "俺:"A$(N2)," ";B$(K):PRINT:GOTO 160
220 PRINT S(2);"勝", S(3);"敗", S(1);"引き分け":END


244:デフォルトの名無しさん
07/02/28 00:14:40
ありがとうございます!
おかげさまでとても助かりました!

245:デフォルトの名無しさん
07/03/22 23:32:51
統計の平均と標準偏差をポケコン(PC-G850)で計算したいんだけど、
プログラムをすっかり忘れたので教えて。

変数は
D データ
M 平均
S 標準偏差
SUM 総和
V 分散
N サンプル数
こんな感じで、

10 INPUT D
20 N=N+1
30 SUM=SUM+D
40 M=SUM/N
50 PRINT M
60 GOTO 10
みたいなプログラムを作りたいんだけど、初めからN数が分かっていない場合に、
分散ってどうやって計算したらよい?
出来ればデータを入力するたびに平均、標準偏差を出力したい。
エレガントな必要は全く無いので、よろしく頼みます。

246:デフォルトの名無しさん
07/03/23 06:34:10
分散は平均値がわからないと出せないんじゃないの?
だから各データを配列変数とかにこっそりしまっておくのがいいとおもう

247:デフォルトの名無しさん
07/03/23 07:45:35
それについては
各データの自乗の総和から平均の自乗のN倍を引けば良いんじゃないかと・・・?
∑(Di-M)^2を変形して出来ない?

248:デフォルトの名無しさん
07/03/23 08:48:39
>出来ればデータを入力するたびに平均、標準偏差を出力したい。

これをどう解釈するかだな

249:デフォルトの名無しさん
07/03/23 20:30:21
Dの自乗の総和を変数SUM2(?)としといて
35 SUM2=SUM2+D^2
45 V=(SUM2-M^2)/N
46 S=SQR V
55 PRINT S

ダメ?

250:245
07/03/24 10:56:42
>>246
配列のプログラム書けないんだ
          _
      ミ ∠_)
         /
         /   \\
 ウイーン  Γ/了     | |
  ウイーン  |.@|    | | ガッガッガッ
       | / | .     人
       |/ |    <  >_Λ∩ >>245
      _/  | //. V`Д´)/
      (_フ彡           /


251:デフォルトの名無しさん
07/03/24 17:03:50
>>250
書く気が無いの?それとも実現できないの?

252:デフォルトの名無しさん
07/03/27 01:01:13
ポケコンってSUMみたいな名前は変数に使えないっけ?

10 INPUT X
20 N=N+1
30 S=S+X
40 R=Q+X^2
45 IF N=1 THEN 10
50 M=S/N
60 V=R/N-M^2
70 D=SQR V
80 PRINT "標本数",N
90 PRINT "平均",M
100 PRINT "分散",V
110 PRINT "標準偏差",D
120 GOTO 10


>>251
配列の構文を知らない

253:デフォルトの名無しさん
07/03/28 19:57:53
40行目間違ってた。

254:デフォルトの名無しさん
07/06/04 21:32:17
10 N=0
20 T=0
30 S=0
40 INPUT X
50 N=N+1
60 T=T+X
70 S=S+X^2
80 IF N=1 THEN 10
90 M=T/N
100 V=(S-T^2/N)/(N-1)
110 D= SQR V
120 PRINT "標本数",N
130 PRINT "平均",M
140 PRINT "分散",V
150 PRINT "標準偏差",D
160 GOTO 10
170 END

255:デフォルトの名無しさん
07/06/04 21:36:12
N = 標本数
T = 総和
S = 平方和
X = 変数
M = 平均
V = 分散
D = 標準偏差

256:デフォルトの名無しさん
07/09/02 00:20:12
あげ

257:デフォルトの名無しさん
07/09/18 15:28:04
age

258:デフォルトの名無しさん
07/10/03 19:57:36
寿司食いたいフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフ

259:某高専生
07/12/07 15:01:08
えーとDIMとFOR~NEXTで繰り返しのたびに順々に数値を読んでくやつ教えてくれ。
テストに出たが忘れた・・・

260:デフォルトの名無しさん
07/12/07 19:24:22
10 DIM A(10)
20 FOR I=1 TO 10:READ A(I):NEXT
30 NEW
40 DATA 1,2,3,4,5,6,7,8,9,10


261:デフォルトの名無しさん
08/01/21 15:50:37

問 以下の処理を1つのプログラムで記述します。プログラムは1つです。

1.5行5列の行列[A]にデータを入力し、表示しなさい。
データは不規則な値とする。
2.行列[A]の転置行列を行列[B]に代入し表示しなさい。
3.行列[A]+行列[B]の計算をして表示しなさい。
4.行列[A]-行列[B]の計算をして表示しなさい。
5.行列[A]*行列[B]の計算をして表示しなさい。
プログラムと結果を提出します

どうしてもわかりません…
お願いします。

262:デフォルトの名無しさん
08/01/24 15:07:13
10 OPTION BASE 1
20 FOR I=1 TO 5
30 FOR K=1 TO 5
40 READ A(I,K)
50 NEXT:NEXT
60 GOTO 0

263:デフォルトの名無しさん
08/01/24 19:05:09
VISUAL BASIC で学生人数の平均を出す
プログラムを作りたいのですが、どういうようなコードを
書けばいいかわかりません・・・・・。
コマンドボタンを押すと、Text欄に社員が10人の平均が出力されるような・・・ものです。
自分何とかで調べたのですが、演算(+, /, * )を使うまではわかりました。

264:デフォルトの名無しさん
08/01/24 19:05:41
訂正
社員でなく学生です

265:デフォルトの名無しさん
08/01/24 21:04:14
問題12
xの値を0~360度、10度刻みで変化したときの、関数f(x)=sin(x)、f(x)=cos(x)のグラフを同画面上に描きなさい。
N88互換BASICでよろしくお願いします。

266:デフォルトの名無しさん
08/01/24 23:02:23
>>265
10 CLS
20 YS1=INT(-100*SIN(0)+200)
30 YC1=INT(-100*COS(0)+200)
40 X=0
50 FOR I=10 TO 360 STEP 10
60 S=3.14159/180*I
70 YS2=INT(-100*SIN(S)+200)
80 YC2=INT(-100*COS(S)+200)
90 LINE(X,YS1)-(I,YS2),2
100 LINE(X,YC1)-(I,YC2),3
110 YS1=YS2
120 YC1=YC2
130 X=I
140 NEXT I
150 LINE(0,200)-(360,200),1
160 END

267:デフォルトの名無しさん
08/01/25 07:10:38
>>266
ありがとう御座いました。

268:デフォルトの名無しさん
08/01/29 15:53:57
これ最短でゴールするようにプログラムつくってくれませんか?
できればゴール後パフォーマンスもお願いします


URLリンク(imepita.jp)

269:デフォルトの名無しさん
08/01/29 23:57:59
国旗(何でもよし。でもちょっとだけ手間かかるほうがいいかも)2つ書くプログラミングと、
簡単なゲームのプログラミング(それか実行押すと絵が変わるのとかの)どなたかお願いします!!
単位かかってて切実です・・・
お願いします!

270:デフォルトの名無しさん
08/01/30 01:18:44
>>269
フランスとチェコの国旗(N88互換BASIC用)
10 CLS
20 LINE(15,100)-(115,300),1,BF
30 LINE(115,100)-(215,300),7,BF
40 LINE(215,100)-(315,300),2,BF
50 FOR Y=100 TO 200
60 XM=225+Y
70 LINE(325,Y)-(XM,Y),1
80 LINE(XM,Y)-(625,Y),7
90 NEXT Y
100 FOR Y=200 TO 300
120 XM=625-Y
120 LINE(325,Y)-(XM,Y),1
130 LINE(XM,Y)-(625,Y),2
140 NEXT Y
150 END

271:デフォルトの名無しさん
08/01/30 08:49:06
268 はライントレーサーです お願いします

272:デフォルトの名無しさん
08/01/31 04:53:44
>>268は、ライントレーサーでハードウェアの仕様もAPIもわからずに、
どうやって解けとwwwww

丸投げにもほどがあるwwww

273:デフォルトの名無しさん
08/02/07 04:53:46
TINY Basic について
a1=√(1/2)
a2=√(1/2)×√((1/2)+(1/2)√(1/2))
a3=√(1/2)×√((1/2)+(1/2)√(1/2))
  ×√((1/2)+(1/2)((1/2)+(1/2)√(1/2)))
… とするとき、
nを入力すればanが出力されるプログラムってどう書くのですか?

274:デフォルトの名無しさん
08/02/07 09:32:12
WAITってw

275:デフォルトの名無しさん
08/02/07 12:09:57
>>272
式を生成するんじゃなくて数値を計算するんだよね?
こんな感じでどうかな。
n = 1
Do Until n = 0
Input "n (0で終了)"; n
If n<> 0 Then Print A(n)
Loop
End
Function A(n)
If n = 1 Then
A = Sqr(1/2)
Else
A = A(n-1) * Sqr(B(n))
End If
End Function
Function B(n)
If n = 1 Then
B = Sqr(1/2)
Else
B = 1/2 + 1/2 * B(n-1)
End If
End Function

276:デフォルトの名無しさん
08/02/07 12:19:38
>>272じゃなくて>>273だった。

277:273
08/02/07 12:41:36
>>275
ご協力ありがとうございます。
申し訳ありません… "2/an を出力" でした。
"print 2/A(n)"と書きかえればよろしいでしょうか。
2/anの極限はπ(=3.1415…)になるそうですが…


278:273
08/02/07 12:47:33
たびたびすみません。
a3=√(1/2)×√((1/2)+(1/2)√(1/2))
  ×√((1/2)+(1/2)√((1/2)+(1/2)√(1/2)))
です。すみません

279:デフォルトの名無しさん
08/02/07 13:46:29
3行直せば大丈夫。

If n<> 0 Then Print A(n) → If n > 0 Then Print 2/A(n)
B = Sqr(1/2) → B = 1/2
B = 1/2 + 1/2 * B(n-1) → 1/2 + 1/2 * Sqr(B(n-1))



280:デフォルトの名無しさん
08/02/07 13:49:25
おっとっと、最後のが間違ってる。
B = 1/2 + 1/2 * B(n-1) → B = 1/2 + 1/2 * Sqr(B(n-1))


281:デフォルトの名無しさん
08/02/08 05:38:39
Basicプログラム
スレリンク(math板)

1 :暇人:2008/02/07(木) 04:50:09
TINY Basic について
a1=√(1/2)
a2=√(1/2)×√((1/2)+(1/2)√(1/2))
a3=√(1/2)×√((1/2)+(1/2)√(1/2))
  ×√((1/2)+(1/2)((1/2)+(1/2)√(1/2)))
… とするとき、
nを入力すればanが出力されるプログラムってどう書くのですか?



2 :132人目の素数さん:2008/02/07(木) 04:54:15
>>1
スレリンク(tech板)

よって終了。

282:デフォルトの名無しさん
08/02/08 13:04:32
いや、このスレは漏れが課題を貰うためのスレだし。

283:273
08/02/09 00:47:20
ありがとうございました。
解決しました。

284:N88互換
08/02/15 00:48:30
25 input n
35 if n=1 then goto 25
40 x=n MOD 2
50 if x=1 then 70
60 if x=0 then 90
70 n=n*3+1
75 print n;
80 goto 35
90 n=n/2
95 print n;
100 goto 35

この処理でどの数字も最後は1になるのですが、この処理を上手く使って
五桁の整数で1になるまで、計算処理回数が最も多い値を求めるにはどう
すれば良いのでしょうか?

分からなくて困ってしまってます・・・
お願いします。

285:デフォルトの名無しさん
08/02/15 08:20:16
>>284
昔それの一般解出そうとして死んだなぁ

素朴な方法としては,5桁の数値を総当りする方法だな

maxcnt=0
theninit=0
for init=1 to 99999
  n=init
  cnt=0
  *loop
  if n=1 goto *out
  reminder=n mod 2: cnt=cnt+1
  if reminder=1 then n=n*3+1: cnt=cnt+1: print n: goto *loop
  if reminder=0 then n=n/2: cnt=cnt+1: print n: goto *loop
  *out
  if maxcnt<cnt then maxcnt=cnt: theninit=init
next
print "計算処理回数がもっとも多い値="; theninit

286:N88互換
08/02/19 21:07:14
返信遅くなりました!
かなり参考になりました。
ありがとうございました!!

287:デフォルトの名無しさん
08/02/20 21:07:56
文字列変数に[,]が入れたときに動作不良を起こさないのってどうすればいいの?

288:デフォルトの名無しさん
08/03/06 11:03:29
次のフローチャートに入るものがなにか
わからないので、解答をどなたかお願いします;

問1
URLリンク(uproda11.2ch-library.com)

問2
URLリンク(uproda11.2ch-library.com)

見にくくて申し訳ありませんが
よろしくお願いします。

289:デフォルトの名無しさん
08/03/06 11:21:22
>>288
問1
(1)D(M)
(2)80
(3)C1+1 -> C1
(4)C2+1 -> C2
(5)C3+1 -> C3

問2
(1)D -> S
(2)N > 0
(3)D > B
(4)D < S


290:デフォルトの名無しさん
08/06/21 05:20:35
長さが2cm、5cm、7cmの竹ひごがそれぞれたくさんあります。

 いま、これらの竹ひごを合計30本使って、1本の長い棒を作ることにします。(1本も使わない長さの竹ひごがあっても構いません)(※)

 では、 長い棒の長さとして考えられる数は何通りあるでしょうか。


※・・・例えば、「2cmを30本、5cmを0本、7cmを0本」なら60cm、「2cmを2本、5cmを10本、7cmを18本」なら180cmの長い棒ができますね。

この問題を解くためのプログラムを教えてください。お願いします。

291:デフォルトの名無しさん
08/06/21 06:10:06
充足問題を解くのか
動的計画法でいいんかな
微妙に単調増加っぽいけど忘れた

292:デフォルトの名無しさん
08/06/27 00:55:42
質問しつれいします。
素数のリストを、有限の自然数N以下に限定しないで次々に書き出す
プログラムを書きたいのですが、どのようにすればいいのでしょうか?
Nを限定した時はDIMを使えば出来たのですが、上のような時はどうすればいいのか。
記憶容量は無視していいそうです。
どなたか回答お願いします。

293:デフォルトの名無しさん
08/06/27 16:28:08
>>292

100 ' SOSUU PRINT
110 N=1
120 'SOSUU TYEKKU
130 FOR M=2 TO N-1
140 IF (N MOD M) = 0 THEN GOTO 170
150 NEXT
160 PRINT N;
170 N=N+1
180 GOTO 120
300 END

294:デフォルトの名無しさん
08/06/28 00:43:23
メッセージの定義されていないエラーです。
行番号:130
と出て、71までの素数しか表示されないのですが・・・
せっかく答えていただいたのに文句言ってすいません。
どこを改良すればいいのでしょうか?


295:デフォルトの名無しさん
08/06/28 08:19:43
>>292
>記憶容量は無視していいそうです。

無限に大きい配列を用意すればいい。

296:デフォルトの名無しさん
08/06/28 23:17:12
>無限に大きい配列を用意すればいい。

どうすればいいんでしょうか?


297:デフォルトの名無しさん
08/06/29 00:52:56
>>292

100 PRINT 2
110 PRINT 3
120 N=5
130 IF (N MOD 3)=0 THEN GOTO 190
140 I=6 :M=INT(SQR(N))+1
150 IF I>M THEN PRINT N :GOTO 190
160 IF (N MOD (I-1))=0 THEN GOTO 190
170 IF (N MOD (I+1))=0 THEN GOTO 190
180 I=I+6 :GOTO 150
190 N=N+2 :GOTO 130


298:デフォルトの名無しさん
08/06/29 01:09:48
できました!
これで単位落とさなくてすみそうです。
本当にありがとうございました。

299:デフォルトの名無しさん
08/06/29 08:36:57
できた、じゃなくてやってもらった、だろ。

300:学生
08/07/02 14:07:14
プログラミングの授業でsin30°の値を出したときに0.499999616987256という値が出てきたのですが・・・
普通だったら0.5だがなぜこの値になったのか理由を示せといわれました。
自分には全然わからなかったので是非教えていただきたいのですが、
よろしいでしょうか?

301:デフォルトの名無しさん
08/07/02 18:13:21
大卒ニートによる回答
結論から言うと、計算時に誤差が発生しているから。
おそらくπが3.14159と定義されている。

三角関数(SINとか)は確か引数にラジアン単位で指定したような気がした。
ラジアンと度数の変換は「度数×円周率(π)÷180」で出来る。
円周率は無限小数だから、コンピュータ上でそのままの値を扱うのは困難。
なので、πはπそのものではなく、近い数値が割り当てられている。

10 p1=3.1415 : p2=3.14159 : p3=3.1415926535897
20 print sin(30*p1/180) : print sin(30*p2/180) : print sin(30*p3/180)
これの実行結果で発生する誤差を確認の事

302:学生
08/07/03 00:49:58
本当にありがとうございます!
もしよければ、まだ他にsin(30)=0.499999616987256(なぜ0.5でないのか?)
可能性があるとしたら何かありませんか?

303:デフォルトの名無しさん
08/07/03 10:50:15
誤差以外に思い当たることはないなぁ。

処理系によって実装の仕方が違うと思うし、どのBASICなのか明示されてないから、これ以上詳しくはわからない。
パソコン上のBASICだと三角関数の引数にはラジアンで指定してやるのが普通。(だった気がする)
ポケコン上のBASICなら度数で指定してやれるものもあった気がする。使った事無いけど。

度数からラジアンに変換して計算する限り、誤差が発生する。
計算結果が小数点以下15位まで求められるのに、それよりもずっと低い精度でπが定義されてるとか。
十分な精度でπが定義されていれば、計算結果を修正して表示する処理系もある。(ような気がする)

もし、sin(30)と指定できて、0.49999616987256が帰って処理系があるとすれば、次のような感じではないだろうか。
・内部的には30°をラジアンに変換している
・変換に使用するπは3.14159と定義されている
・求まる答えは0.49999961698725570...である
・有効桁は小数点以下15位までなので、16位で四捨五入し、0.49999616987256が返ってくる。
もし、有効桁数が小数点以下5位あたりまでであれば、四捨五入されて0.5が返ってきたんじゃないかと。

304:学生
08/07/03 12:00:30
本当にありがとうございます!


305:デフォルトの名無しさん
08/07/04 14:10:01
BASICを勉強しているのは工業系の高校ですか?
普通科高校卒の僕はBASICの宿題がある事を今知りました

306:デフォルトの名無しさん
08/07/04 15:33:42
コラコラ、普通科でも数学でBASICやるぞ。

307:デフォルトの名無しさん
08/07/13 16:34:53
質問です。次のようなプログラムを組むにはどうしたらいいのでしょうか?
どれか1つでもいいので分かる方お願いします。

1.八十八夜の月日を求めるプログラムをWHILE繰り返し分を使って作成し、実行しなさい
結果は次のように出力すること
この問題の八十八夜は 月 日となります

2.2の平方根を出力しなさい(二分法による平方根の計算) δ=0.0001とする

3.2の平方根を出力しなさい(ニュートン・ラプソン法による平方根の計算) δ=0.0001とする



308:デフォルトの名無しさん
08/07/14 00:43:52
宿題してるんですけど質問させてください
10 for x=&h61 to &h7A
20 print chr$(x);
30 next x
40 end

run
abcdefghijklmnopqrstuvwxyz

になるんですけど
これを逆順に表示する方法ありますかね
10 for x=0 to 25
20 print chr$(122-x);
30 next x
40 end
な感じでもできるっちゃできるんですけど

アスキーコード?使ってできないですかね。
さっきベーシックはじめて触って苦戦してます。
教えていただきたいです。お願いいたします~。

309:デフォルトの名無しさん
08/07/14 00:47:04
>>308
for x=&f7a to &h61 step -1 ってできなかったっけ?

310:デフォルトの名無しさん
08/07/14 01:06:15
>>309
あ、できましたっ
ありがとうございました!w

311:デフォルトの名無しさん
08/07/20 16:57:54
等差数列のプログラムがうまくいかないので、御伝授下さい。


100 REM 等差数列
110INPUT N, A, D
120 S=N{2A+(N-1)*D}/2
130 PRINT "項数=" ; N
140 PRINT "初項=" ; A
150 PRINT "公差=" ; D
160 PRINT "総和=" ; S
170 END

312:デフォルトの名無しさん
08/07/20 17:26:19
>>311
> 110INPUT N, A, D
# 110 INPUT N, A, D

> 120 S=N{2A+(N-1)*D}/2
# S=N*(2*A+(N-1)*D)/2

313:デフォルトの名無しさん
08/07/20 18:33:58
>>312
ありがとうございます。
助かりました。

314:デフォルトの名無しさん
08/07/24 16:28:20
C言語をBASICに翻訳するソフトをどこで手に入るか教えてください


315:デフォルトの名無しさん
08/07/24 22:24:59
>>314
URLリンク(www.google.co.jp)

316:デフォルトの名無しさん
08/07/24 22:33:52
いやいや、まずないと思うし
万が一あったとしてもBASICとして読んでもわからないプログラムに変換されてるだろ

317:デフォルトの名無しさん
08/07/25 00:22:26
まあ今時BASICなんて方言だらけだし
Cと互換性のあるBASICを自分で作っちゃえばいいんじゃね?

318:デフォルトの名無しさん
08/07/25 03:23:53
>>314
脳内。手作業でやる以外ないよ。


319:デフォルトの名無しさん
08/07/27 08:23:31
Cでマクロを使え

#define if(x) IF (x) THEN
#fefine for(x) FOR _Bas=1 TO x

とか

320:デフォルトの名無しさん
08/07/27 11:03:50
むしろアセンブラからBASICのpeek pokeに変換すればいいんでね?

321:245
08/08/05 18:51:42
今日見たら間違えてたことに気が付いた

10 N=0
20 T=0
30 S=0
40 INPUT X
50 N=N+1
60 T=T+X
70 S=S+X^2
80 IF N=1 THEN 40
90 M=T/N
100 V=(S-T^2/N)/(N-1)
110 D= SQR V
120 PRINT "標本数",N
130 PRINT "平均",M
140 PRINT "分散",V
150 PRINT "標準偏差",D
160 GOTO 40
170 END

N = 標本数, T = 総和, S = 平方和, X = 変数
M = 平均, V = 分散, D = 標準偏差

322:デフォルトの名無しさん
08/09/16 06:31:43
半径1の円に内接する正6・2^n角形の1辺の長さをa(n)とすると

a(n)+1=√2-√4-a^2(n)

である、この式を用いると、2から2に極めて近い値を引くことになり
計算の精度が失われる、そこでこの形を採用しないで

a(n)+1=a(n)/√2+√4-a^2(n)
を用いて計算する。

Q・この考え方にしたがってプログラムを作成し、πの近似値を計算せよ。

丸投げで悪いと思ってるんだ…でも自分じゃチンプンカンプンでさっぱりでした。

誰かわかる人頼みます。。。

323:デフォルトの名無しさん
08/09/17 02:35:56
>>322
10 A=1:FOR I=1 TO 10:A=A/SQR(2+SQR(4-A*A)):NEXT:PRINT "PI=";A*3072

324:デフォルトの名無しさん
08/09/26 18:39:16
誰か綺麗な花火のプログラム作ってくれ・・・・
授業聞いてなかったから/(^o^)\
学校ではN88互換BASICとかいうの使ってた

325:デフォルトの名無しさん
08/09/26 23:29:19
だれか頼むぜ・・・・・・・・・・・・やはり無理なのだろうか

326:デフォルトの名無しさん
08/09/27 07:57:53
>>325
まずは自分で作ってうpしてね!

327:デフォルトの名無しさん
08/11/15 01:59:15
>>324
打ち上げ花火のつもり、縦線はヒューと花火が上がっていくところを表現し
その先端を中心に広がる3つの円はぱっと咲いた花火を表現

10 CLS
20 FOR I = 64 TO 576 STEP 64
30 X=I+12-24*RND : H = 50+RND(1)*100 : R = 50+RND(1)*50
40 CL = 1+RND(1)*7
80 LINE (X,400)-(X,H),CL
90 DR = R/3: R = DR : CF = 1+RND(1)*7
110 CIRCLE (X,H),R,CF
120 R = R + DR : CF = 1+RND(1)*7
130 CIRCLE (X,H),R,CF
150 R = R + DR : CF = 1+RND(1)*7
160 CIRCLE (X,H),R,CF
170 NEXT I
180 END

まあ何だ。以下を参考に自分で作った方がよさげですよ。
URLリンク(www.geocities.co.jp)


328:デフォルトの名無しさん
08/12/24 06:29:24
>>327
ちなみにそれを実行するのに必要なのはどれですか?

Tiny Basicと仮称(十進)Basicじゃエラーになるけど・・・

329:デフォルトの名無しさん
08/12/24 08:17:35
>>329
N88-BASICか、99BASICならいくんじゃない?
試してないけど

330:デフォルトの名無しさん
08/12/24 08:50:16
>>327
スクリーンモードはいったいいくつなのよ

331:デフォルトの名無しさん
08/12/24 21:18:11
>>330
すいません。質問の意味すらわかりません。
BASIC面白そうだって思って始めようとしたのですがネット上に入門がほとんどない。
C言語の入門はネット上にいくらでもあるのに。
高校でやるならネット上に入門があってもいいような気もするけど。
で、何も知らないのにこのスレを見てロードしてみたと。

>>329
N88互換BASIC for Windowsでやっとこいった。
99BASICはコピペができなかったんで未確認。

たった13行であのグラフィックはすごいですね。

入門書探したけどJustBASICのチュートリアルぐらいしか見つからない。
英語だけど我慢してやってみる・・・


332:デフォルトの名無しさん
09/01/15 06:14:14
サイコロを二つを10000回振って出た
合計の数(2~12)を配列に記憶して、
最後に2~12が何回出たか合計を表示するプログラム
basicで作ってください

提出今日までです…

サイコロ二つはa=rnd(6)+1:b=rnd(6)+1で作れって書いてあります
さっぱりわからないです…お願いします。。

333:デフォルトの名無しさん
09/01/16 08:21:34
>>332

10 DIM AR(10000)
20 FOR N=1 TO 10000 30
30 A=RND(6)+1:B=RND(6)+1
40 AR(N)=A+B
50 IF AR(N) >= 2 AND AR(N) <=12 THEN J=J+1
60 NEXT
70 PRINT J
80 END

334:デフォルトの名無しさん
09/01/21 15:37:21
3×3行列ABの成分を入力し、それらの和の行列C、差の行列D、積の行列E
を計算するプログラムを作成せよ。
※DIM文、FOR~NEXT文を使うこと。
※行列成分の入力にはFOR~NEXT、とINPUT文(READ文)を組み
合わせること。

全くわからん・・・誰か・・・

335:デフォルトの名無しさん
09/01/21 16:41:27
>>334
こういうことかな
1 rem 行列変数準備
2 dim a(3,3)
3 dim b(3,3)
4 dim c(3,3)
5 dim d(3,3)
6 dim e(3,3)
7 rem 行列A読み込み
8 for i = 1 to 3
9 for j = 1 to 3
10 read a(i,j)
11 next j
12 next i
13 rem 行列B読み込み
14 for i = 1 to 3
15 for j = 1 to 3
16 read b(i,j)
17 next j
18 next i

長いので続く

336:デフォルトの名無しさん
09/01/21 16:42:21
>>335 続き
19 rem 行列計算
20 for i = 1 to 3
21 for j = 1 to 3
22 c(i,j) = a(i,j) + b(i,j)
23 d(i,j) = a(i,j) - b(i,j)
24 e(i,j) = a(i,j) * b(i,j)
25 next j
26 next i
50 rem 行列A-data
51 data 1,2,3
52 data 4,5,6
53 data 7,8,9
60 rem 行列B-data
61 data 1,2,3
62 data 4,5,6
63 data 7,8,9


337:デフォルトの名無しさん
09/01/21 16:53:09
>>336 続き
input文を使うなら
10 read a(i,j) を
10 input "行列A(";i;",";j;")=",a(i,j)

16 read b(i,j) を
16 input "行列B(";i;",";j;")=",b(i,j)

にして
50 以下のdataを削除


338:デフォルトの名無しさん
09/01/21 17:27:01
>>336
積の計算間違えた
19~26をこちらに修正

19 rem 行列計算
20 for i = 1 to 3
21 for j = 1 to 3
22 c(i,j) = a(i,j) + b(i,j)
23 d(i,j) = a(i,j) - b(i,j)
24 for k = 1 to 3
25 e(i,j) = e(i,j) + a(i,k) * b(k,j)
26 next k
27 next j
28 next i


339:デフォルトの名無しさん
09/01/21 17:36:00
自然数k,p,qについて
k=mp+nq(m,nは「0以上の整数」)を満たす(m,n)の組の数をv(k)とするとき
p=3, q=7, kが1から100までのときの結果vの一覧を出力したいです
どのように書いたらいいですか?

340:デフォルトの名無しさん
09/01/21 17:59:15
>>334-338
ありがとうございます神様

341:デフォルトの名無しさん
09/01/21 18:27:01
>>339
v(k)に複数のn,mがある可能性があるので
条件に一致した時に常時表示していくって感じで
こんなのは?

1 p = 3
2 q = 3
3 k_hit = 100
4 m_max = 100
5 n_max = 100
6 for m = 0 to m_max
7 for n = 0 to n_max
8 k = m * p + n * q
9 if k <= k_hit then print "k=";k;" m=";m;" n=";n
10 next n
11 next m


342:デフォルトの名無しさん
09/01/21 18:35:13
>>341
微修正
2 q=7
9 if k=> 1 and k <= k_hit then print "k=";k;" m=";m;" n=";n

343:デフォルトの名無しさん
09/01/21 19:16:42
勝手に仕様を変更しないでくださいw

344:デフォルトの名無しさん
09/01/21 19:29:26
表示されてるのがv(k)の一覧になってるんじゃないの?

1 p = 3
2 q = 7
3 k_hit = 100
4 m_max = 100
5 n_max = 100
6 dim v$(100)
7 for m = 0 to m_max
8 for n = 0 to n_max
9 k = m * p + n * q
10 if k => 1 and k <= k_hit then v$(k) = "(";m;",";n;") "
11 next n
12 next m
13 for k = 1 to k_hit
14 print "k=";k;" ";v$(k)
15 next


345:デフォルトの名無しさん
09/01/21 19:35:34
>>344
6 dim v(100)
10 if k => 1 and k <= k_hit then v(k) = v(k) + 1
14 print "k=";k;" ";v(k)

組み合わせの個数だけが知りたいのなら上記3ヶ所をこのように変更するだけ


346:デフォルトの名無しさん
09/01/22 11:38:14
v$(k)の有効な要素数ってsize(v$(k))みたいな方法で取れないのかな

347:デフォルトの名無しさん
09/01/22 13:38:12
>>344
上書きして情報減ってるような

348:デフォルトの名無しさん
09/01/22 14:28:32
>>344
>>347の言う通り
直すなら

10 if k => 1 and k <= k_hit then v$(k) = v$(k) + "(";m;",";n;") "

とでもすべきだな

349:デフォルトの名無しさん
09/01/22 20:22:42
お願いします。

標準体重と実際の体重に対するコメントを表示するプログラムを作成する。
入力情報:名前name、身長(cm)h、体重(kg)w
出力情報:標準体重sw、コメント
プログラムの終了:名前が"end"のとき終了
標準体重:身長(m)^2*22

(コメント)
-20%未満:やせすぎ
-20%以上-10%未満:やややせている
-10%以上10%未満:正常
10%以上20%未満:やや太っている
20%以上:太りすぎ

350:デフォルトの名無しさん
09/01/23 14:58:25
10 REM 標準体重計算
20 INPUT "名前=";NAME$
30 INPUT "身長(cm)=";H
40 INPUT "体重(kg)=";W
50 DEF_W = (H/100)^2 * 22
60 PRINT "標準体重=";DEF_W
70 CH_W = ((W / DEF_W) - 1) * 100
80 IF CH_W < -20 THEN PRINT "やせすぎ"
90 IF CH_W => -20 AND CH_W < -10 THEN PRINT "やややせている"
100 IF CH_W => -10 AND CH_W < 10 THEN PRINT "正常"
110 IF CH_W => 10 AND CH_W < 20 THEN PRINT "やや太っている"
120 IF CH_W => 20 THEN PRINT "太りすぎ"
130 IF NAME$ <> "end" THEN 20

もしかしたら
出題者の意図によっては
70 CH_W = W - DEF_W
なのかもしれないが、コメントの判断基準が%(割合)なので
このようにしてある

何かと疑問の残る問題文ではあったがたぶんこんな感じだと思う

↓↓↓疑問点↓↓↓
・コメントを出力するための値(BMI)が指定されていない
 コメント出力には BMI=体重(kg)/身長(m)^2 がよく用いられる

BMIについての参考資料
URLリンク(ja.wikipedia.org)
URLリンク(www.e-na.co.jp)
URLリンク(www11.plala.or.jp)

351:デフォルトの名無しさん
09/01/25 14:59:37
349です。
>>350
ありがとうございました。

352:デフォルトの名無しさん
09/01/31 14:13:27
   A B C 合計 平均
1  80 90 85
2  75 87 54
3  95 78 45
4  58 98 85
合計
平均

この、縦横の合計平均を十進BASICで誰かお願いできないでしょうか?
月曜にテストあるんで・・・

353:デフォルトの名無しさん
09/02/12 18:45:39
f(x)=x^4-2.03790x^3-15.4245x^2+15.6696x+35.4936=0
の最大解をニュートン法で求めよ。 という課題が出て困ってます。
誰か教えてください。  無理ならニュートン法での4次方程式の解き方
だけでもいいので教えてください。


354:デフォルトの名無しさん
09/02/13 20:44:16
>>353
十進数BASIC用
100 LET X=5
110 LET E=1E-5
120 DO
130 LET X0=X
140 LET FX0=X^4-2.03790*X^3-15.4245*X^2+15.6696*X+35.4936
150 LET FDX=4*X^3+3*( -2.03790) *X^2+2*( -15.4245) *X+15.6696
160 LET X=X0-FX0/FDX
170 LET FX=X^4-2.03790*X^3-15.4245*X^2+15.6696*X+35.4936
180 PRINT X ;FX
190 LET DFX = ABS(FX-FX0)
200 LOOP WHILE DFX > E
210 END

355:デフォルトの名無しさん
09/02/15 12:19:52
>>354 
ありがとうございました しかし110行で「Eをここに書けません」と出たので110行目を消したできたんですけど
110行目を消しても問題ないですかね?


356:デフォルトの名無しさん
09/02/15 12:23:39
>>354
あと一応結果は4.・・・というのが左に7個と右にいろいろ出ました

357:デフォルトの名無しさん
09/02/15 19:01:31
それは本気で言ってるのか?
計算ループの終了条件に使われてるんだから、消して良いわけないだろ。

358:デフォルトの名無しさん
09/02/15 20:03:39
でも消さないと実行できなかったんですけど・・・
ちなみに十進ベーシックです

359:デフォルトの名無しさん
09/02/15 20:08:46
すみません今、実行できました。 
LET E=1 E-5
^ここにスペースを入れてしまったので実行できなかったんですね
ありがとうございました

360:デフォルトの名無しさん
09/02/15 20:21:10
次の連立一次方程式の解をGaussの消去法で求めよ。(有効数字8桁)
3421a+1234b+736c+124d=365
1202a+3575b+874c+210d=256
422a+543b+3428c+428d=444
116a+256b+488c+3627d=868
というのもあるのですが、よかったら教えてくれませんか?


361:デフォルトの名無しさん
09/02/15 20:23:04
すみません
359の「ここ」というのはE=1とE-5の間のことです

362:デフォルトの名無しさん
09/02/16 15:08:53
いまだに BASIC の宿題ってポケコン?

363:デフォルトの名無しさん
09/02/17 01:00:09
>>360
長いのでC宿題スレのロダに上げといた。結果が科学的表記法で表示されるのは
有効数字8桁で表示するため、7.5102566E-02=7.5102566*10^-2=0.075102566
URLリンク(kansai2channeler.hp.infoseek.co.jp)

364:デフォルトの名無しさん
09/02/17 18:45:53
>>362
高校の選択学習とかいう留年にかかわる面倒な課題ですわ

365:デフォルトの名無しさん
09/02/17 18:47:24
>>363
ありがとうございます
一通り終わってまたわからなかったら聞きに来ますね


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch