N人分のデータ(氏名、体重、身長、年齢)がDATA文で入力されているプログラムが
ある。これを用いて次のプログラムをBASICで作成しなさい
身長が160CM以上で170cm未満の人の名前を表示する
探検
BASICの宿題はお前にまかせた
■ このスレッドは過去ログ倉庫に格納されています
2006/01/09(月) 15:35:00
133デフォルトの名無しさん
2006/07/06(木) 14:15:06 on time gosub が使える BASIC があると思うので、その BASIC を使いなさい。
134デフォルトの名無しさん
2006/07/09(日) 18:31:48 >>132
INKEY$を使えばできるよ
INKEY$を使えばできるよ
135デフォルトの名無しさん
2006/07/12(水) 13:41:26136デフォルトの名無しさん
2006/07/18(火) 21:43:05 waveファイルをリピート再生したいんですけど
mcisound "open "+chr$(34)+"D:\test.wav"+chr$(34)+" type waveaudio alias test
mcisound "play test notify",at
Do
if at=1 then mcisound "stop test":mcisound "seek test to start":mcisound "play test notify",at:at=0:
Loop
ではリピートに間ができてしまいます…
なんとかならないでしょうか?
mcisound "open "+chr$(34)+"D:\test.wav"+chr$(34)+" type waveaudio alias test
mcisound "play test notify",at
Do
if at=1 then mcisound "stop test":mcisound "seek test to start":mcisound "play test notify",at:at=0:
Loop
ではリピートに間ができてしまいます…
なんとかならないでしょうか?
137名無しさん
2006/07/23(日) 13:55:30 各桁の数字に、桁数乗したものの和が、
元の数字になるものを求める。こんなものをBASICで書いてもらえませんでしょうか??
1^3+5^3+3^3=153(←こんなようなの)
よろしくお願いします!!
元の数字になるものを求める。こんなものをBASICで書いてもらえませんでしょうか??
1^3+5^3+3^3=153(←こんなようなの)
よろしくお願いします!!
138デフォルトの名無しさん
2006/07/23(日) 16:40:04 誰かおながい
139デフォルトの名無しさん
2006/07/23(日) 17:38:09 >>137
110 I0=0:FOR I1=1 TO 9:FOR I3=1 TO 9:FOR I5=1 TO 9:FOR I2=1 TO 9
120 FOR I4=1 TO 9:FOR I8=1 TO 9
130 I6=I8^I5+I4^I3+I2^I1:I7=100*I8+10*I4+I2
140 IF I7=I6 THEN I0=I0+1:PRINT I0,I8;"^";I5;"+";I4;"^";I3;"+";I2;"^";I1;"=";I6
150 NEXT:NEXT:NEXT:NEXT:NEXT:NEXT
160 END
110 I0=0:FOR I1=1 TO 9:FOR I3=1 TO 9:FOR I5=1 TO 9:FOR I2=1 TO 9
120 FOR I4=1 TO 9:FOR I8=1 TO 9
130 I6=I8^I5+I4^I3+I2^I1:I7=100*I8+10*I4+I2
140 IF I7=I6 THEN I0=I0+1:PRINT I0,I8;"^";I5;"+";I4;"^";I3;"+";I2;"^";I1;"=";I6
150 NEXT:NEXT:NEXT:NEXT:NEXT:NEXT
160 END
140名無しさん
2006/07/23(日) 22:11:08 >>139
ありがとうございます!
桁数を自分で指定して計算させられるようにできませんでしょうか??
3桁以外も計算してみたいので。。。
わがままいって申し訳ございません・・・
よろしくお願いします!
ありがとうございます!
桁数を自分で指定して計算させられるようにできませんでしょうか??
3桁以外も計算してみたいので。。。
わがままいって申し訳ございません・・・
よろしくお願いします!
141デフォルトの名無しさん
2006/07/23(日) 22:39:12 >>140
求めたい桁数に合わせて自分で改造すれ
求めたい桁数に合わせて自分で改造すれ
142名無しさん
2006/07/23(日) 22:42:49143デフォルトの名無しさん
2006/07/24(月) 00:14:24 ベキ乗の指数を桁数に合わせるなら
DIM n(11)
MAT n = ZER
INPUT keta
IF keta<0 OR 10<keta THEN STOP
LET n(keta) = 1
DO
FOR i=1 TO keta+1
LET n(i) = n(i) + 1
IF n(i) >= 10 THEN LET n(i)=0 ELSE EXIT FOR
NEXT i
IF n(keta+1)<>0 THEN EXIT DO
LET x = 0
LET y = 0
FOR i=1 TO keta
LET x = x + n(i)^keta
LET y = y + n(i)*(10^(i-1))
NEXT i
IF x=y THEN
FOR i=keta TO 2 STEP -1
PRINT "("; n(i); "^"; keta;") + ";
NEXT i
PRINT "("; n(1); "^"; keta; ") ="; x
END IF
LOOP
END
昔のM$系ではループ処理がめどいので十進BASICでやった。
つーか、質問する時はどの処理系でやるのかまで指定しろよ。
BASICったって色々あるし、処理系によって文法も違うんだから。
DIM n(11)
MAT n = ZER
INPUT keta
IF keta<0 OR 10<keta THEN STOP
LET n(keta) = 1
DO
FOR i=1 TO keta+1
LET n(i) = n(i) + 1
IF n(i) >= 10 THEN LET n(i)=0 ELSE EXIT FOR
NEXT i
IF n(keta+1)<>0 THEN EXIT DO
LET x = 0
LET y = 0
FOR i=1 TO keta
LET x = x + n(i)^keta
LET y = y + n(i)*(10^(i-1))
NEXT i
IF x=y THEN
FOR i=keta TO 2 STEP -1
PRINT "("; n(i); "^"; keta;") + ";
NEXT i
PRINT "("; n(1); "^"; keta; ") ="; x
END IF
LOOP
END
昔のM$系ではループ処理がめどいので十進BASICでやった。
つーか、質問する時はどの処理系でやるのかまで指定しろよ。
BASICったって色々あるし、処理系によって文法も違うんだから。
144名無しさん
2006/07/24(月) 01:43:18 >>143さん
ありがとうございます!
すみません。処理系を書くのをわすれていました。
当方は、UBASICを使用しておりまして、少し十進BASICとは異なるようです。。。
もしお時間がございましたら、そちらでも書いていただけたら幸いです。
ありがとうございます!
すみません。処理系を書くのをわすれていました。
当方は、UBASICを使用しておりまして、少し十進BASICとは異なるようです。。。
もしお時間がございましたら、そちらでも書いていただけたら幸いです。
146デフォルトの名無しさん
2006/07/24(月) 22:00:55 >>144
さすがにあんたのためだけにソフト入れて試してる暇はない。
大して特殊なことはしてないから自分で直せ。
MAT n = ZER → FOR I=1 TO 11: N(I)=0: NEXT
DO 〜 LOOP → WHILE 1 〜 WEND または GOTO を使った無限ループ
EXIT FOR, EXIT DO → それぞれ FORループ, DO〜LOOPループを抜けるGOTO
IF 〜 END IF → 1行の IF文にまとめる
UBASICはどうか知らんが、これで大抵の処理系で実行できるだろう。
さすがにあんたのためだけにソフト入れて試してる暇はない。
大して特殊なことはしてないから自分で直せ。
MAT n = ZER → FOR I=1 TO 11: N(I)=0: NEXT
DO 〜 LOOP → WHILE 1 〜 WEND または GOTO を使った無限ループ
EXIT FOR, EXIT DO → それぞれ FORループ, DO〜LOOPループを抜けるGOTO
IF 〜 END IF → 1行の IF文にまとめる
UBASICはどうか知らんが、これで大抵の処理系で実行できるだろう。
147デフォルトの名無しさん
2006/08/03(木) 18:39:50 Format関数で通貨記号付きで、3桁ごとのカンマ区切り、且つ小数点以下切捨てで変数を出力する、Format関数を書け
VisualBasicの課題でこれだけわからないのでお願いします。
VisualBasicの課題でこれだけわからないのでお願いします。
148デフォルトの名無しさん
2006/08/04(金) 22:54:42149デフォルトの名無しさん
2006/08/12(土) 11:06:43 あとは SQL を BASIC で実装すればおしまいだね。
150デフォルトの名無しさん
2006/09/30(土) 13:48:49 サイコロを何回も投げて次々出目を入力した時に各自の出た回数を表示するプログラムを作れ
ただし入力終了の合図は0を入力した時とする
一晩頑張りましたがdim使えの一言で突っ返されました
習い始めで全く理解出来ません…誰かお願いします
↓これ出して突っ返されました
10 input "サイコロの目=",d
20 if d=0 goto 110
30 if d=1 then a=a+1
40 if d=2 then b=b+1
50 if d=3 then c=c+1
60 if d=4 then e=e+1
70 if d=5 then f=f+1
80 if d=6 then g=g+1
90 if d>6 then print "無効な数値"
100 goto 10
110 print "1の目",a,"回 2の目",b,"回 3の目",c,"回 4の目",e,"回 5の目",f,"回 6の目",g,"回"
120 end
ただし入力終了の合図は0を入力した時とする
一晩頑張りましたがdim使えの一言で突っ返されました
習い始めで全く理解出来ません…誰かお願いします
↓これ出して突っ返されました
10 input "サイコロの目=",d
20 if d=0 goto 110
30 if d=1 then a=a+1
40 if d=2 then b=b+1
50 if d=3 then c=c+1
60 if d=4 then e=e+1
70 if d=5 then f=f+1
80 if d=6 then g=g+1
90 if d>6 then print "無効な数値"
100 goto 10
110 print "1の目",a,"回 2の目",b,"回 3の目",c,"回 4の目",e,"回 5の目",f,"回 6の目",g,"回"
120 end
151デフォルトの名無しさん
2006/09/30(土) 14:52:12 basicは完全に忘れちゃったので、概要だけ
dim dice(6)
loop:
input "サイコロの目=",d
id d=0 then goto exit
if 1<=d and d<=6 then dice(d)=dice(d)+1: goto loop
print "無効な数値"
goto loop
exit:
for i=1 to 6
print i;"の目=";dice(i)
next
こんな感じ
dim dice(6)
loop:
input "サイコロの目=",d
id d=0 then goto exit
if 1<=d and d<=6 then dice(d)=dice(d)+1: goto loop
print "無効な数値"
goto loop
exit:
for i=1 to 6
print i;"の目=";dice(i)
next
こんな感じ
152デフォルトの名無しさん
2006/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 命令はそんな配列を使うために使うのさ。
例えば a という配列があったとしたら
a の 1 番目の要素は a(1)
a の 2 番目の要素は a(2)
a の 3 番目の要素は a(3)
って感じ。
で、ここからポイント。
★配列の何番目を使いたいかを示す番号(添字という)★
★には、変数を使うことが出来る。。。★
例えば a1, a2, a3 という変数を作って
d 番目の変数を使いたいからって ad なんてやってもそれは別の変数になってしまう。
ところが配列の場合は
a(d)
と書けば「a という配列の d 番目」を使える。
dim 命令はそんな配列を使うために使うのさ。
153デフォルトの名無しさん
2006/09/30(土) 15:43:52154デフォルトの名無しさん
2006/09/30(土) 16:03:15155デフォルトの名無しさん
2006/09/30(土) 16:09:36156句読点書けないバカをサマージャンボする俺 ◆9NQzQ21lx.
2006/09/30(土) 16:35:45157デフォルトの名無しさん
2006/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です。
だれか御教授ください。
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デフォルトの名無しさん
2006/10/23(月) 10:14:20159デフォルトの名無しさん
2006/10/25(水) 08:59:57 ↑
ありがとうありがとうありがとう ほんまありがとう めちゃ助かった!!!
ありがとうありがとうありがとう ほんまありがとう めちゃ助かった!!!
160デフォルトの名無しさん
2006/10/30(月) 20:48:24 VB.netについてです。
ボタン1を押すと”別ウィンドウに”グラフが描画されるようにしたいのですが、どなたか御教授ください。
Form1にはボタンがあって、それを押すと別のフォームが出現して、そこにあるpictureBoxにグラフが出力できるようにしたいのです。
ボタン1を押すと”別ウィンドウに”グラフが描画されるようにしたいのですが、どなたか御教授ください。
Form1にはボタンがあって、それを押すと別のフォームが出現して、そこにあるpictureBoxにグラフが出力できるようにしたいのです。
161デフォルトの名無しさん
2006/11/10(金) 16:01:33 F-BASICのエラーなんですが
ビルド方法が指定されていません。
て出るんですけどどうすれば解決されるんでしょうか
ビルド方法が指定されていません。
て出るんですけどどうすれば解決されるんでしょうか
162なぽ
2006/11/29(水) 04:55:15 4行4列の行列AとBの積の計算のプログラムをおそえてくださーーーい
163デフォルトの名無しさん
2006/11/29(水) 23:45:00 >>162
MAT C = A * B
MAT C = A * B
164デフォルトの名無しさん
2006/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
行の和→
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デフォルトの名無しさん
2006/12/01(金) 15:48:01166デフォルトの名無しさん
2006/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
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デフォルトの名無しさん
2006/12/03(日) 00:10:16168何卒よろしくお願いします
2006/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
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デフォルトの名無しさん
2006/12/06(水) 10:34:52 >>168
tatalとはなでふおどろおどろしきこと哉
tatalとはなでふおどろおどろしきこと哉
170デフォルトの名無しさん
2006/12/06(水) 12:54:45 >>169
すいません、言ってる事がわかりません><
すいません、言ってる事がわかりません><
171デフォルトの名無しさん
2006/12/07(木) 07:33:16 > 何処か写し間違えがあるかもしれませんが
> tatal=total+arari
> tatal=total+arari
> tatal=total+arari
> tatal=total+arari
> tatal=total+arari
> tatal=total+arari
172デフォルトの名無しさん
2006/12/07(木) 09:53:38 >>171
その通りです。誰か助けてください><
その通りです。誰か助けてください><
173デフォルトの名無しさん
2006/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
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デフォルトの名無しさん
2006/12/08(金) 01:53:23 プログラミング自体全然分かってないです(>_<)
それでも課題はやらなきゃいけない・・・・
誰か助けてください
その@
『入力された3桁の自然数aに対し、aの一の位、十の位、
百の位の和Sと、Sを3で割ったときの余りを表示する
プログラムを作れ』
そのA
『自然数nに対し、n以外の正の約数の和がnに等しいと
き、nを完全数という。10,000以下の全ての完全数を、
プログラムを作って求めよ』
教えてくださいお願いします!!
それでも課題はやらなきゃいけない・・・・
誰か助けてください
その@
『入力された3桁の自然数aに対し、aの一の位、十の位、
百の位の和Sと、Sを3で割ったときの余りを表示する
プログラムを作れ』
そのA
『自然数nに対し、n以外の正の約数の和がnに等しいと
き、nを完全数という。10,000以下の全ての完全数を、
プログラムを作って求めよ』
教えてくださいお願いします!!
175Nw
2006/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刻みとする)
自分でやるべきなのですが、分からなくて・・
早急に解答が欲しいのですが、教えて頂ける方がおられましたら
どうか宜しくお願いします
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デフォルトの名無しさん
2006/12/08(金) 02:56:23177デフォルトの名無しさん
2006/12/08(金) 02:58:25 >>175
10 PRINT "糞して寝ろ"
10 PRINT "糞して寝ろ"
178デフォルトの名無しさん
2006/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
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デフォルトの名無しさん
2006/12/10(日) 00:07:39 xの値が-2〜2変化したときの、関数f(x)=sin(1/x)のグラフと、
xの値が0〜4変化したときの、関数f(x)=cos(x^2)のグラフを描く
プログラムを教えてください。どうかお願いします。
xの値が0〜4変化したときの、関数f(x)=cos(x^2)のグラフを描く
プログラムを教えてください。どうかお願いします。
180デフォルトの名無しさん
2006/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
! 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デフォルトの名無しさん
2006/12/10(日) 15:14:22182デフォルトの名無しさん
2006/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
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デフォルトの名無しさん
2006/12/10(日) 18:00:28184デフォルトの名無しさん
2006/12/10(日) 19:09:21185デフォルトの名無しさん
2006/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についてです。
本当に申し訳無いです・・・
問題文は、
1.xの値を-2〜2変化したときの、関数f(x)=sin(1/x)のグラフを作成しなさい。
2.xの値を0〜4変化したときの、関数f(x)=cos(x^2)のグラフを作成しなさい。
です。
この課題が出される前に説明されたことは、
locate、line、pset、circleについてです。
186デフォルトの名無しさん
2006/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
>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デフォルトの名無しさん
2006/12/11(月) 19:56:50188デフォルトの名無しさん
2006/12/25(月) 02:16:06 1.次の連立一次方程式を解きなさい。
2x+ y+ z=2
{ 2x+2y+ z=4
x+ y+3z=1
処理は以下の手順で行なう。
@ 2 1 1 2
A 2 3 1 4
B 1 1 3 -1 処理方法 処理順
-------------------------------------------------------
C 1 0.5 0.5 1 @を2(=a11)で割る 1
D 0 2 0 2 Cを2(=a21)倍し、Aから引く 2
E 0 0.5 2.5 -2 Cを1(=a31)倍し、Bから引く 3
-------------------------------------------------------
F 1 0 0.5 0.5 Gを0.5(=a12)倍し、Cから引く 2
G 0 1 0 1 Dを2(=a22)で割る 1
H 0 0 2.5 -2.5 Gを0.5(=a32)倍し、Eから引く 3
-------------------------------------------------------
I 1 0 0 1 Kを0.5(=a13)倍し、Fから引く 2
J 0 1 0 1 Kを0(=a23)倍し、Gから引く 3
K 0 0 1 -1 Hを2.5(=a33)で割る 1
2.作成したプログラムの一部を変更して6元連立1次方程式を解きなさい。
値は自作する。
どうかよろしくお願いします!
2x+ y+ z=2
{ 2x+2y+ z=4
x+ y+3z=1
処理は以下の手順で行なう。
@ 2 1 1 2
A 2 3 1 4
B 1 1 3 -1 処理方法 処理順
-------------------------------------------------------
C 1 0.5 0.5 1 @を2(=a11)で割る 1
D 0 2 0 2 Cを2(=a21)倍し、Aから引く 2
E 0 0.5 2.5 -2 Cを1(=a31)倍し、Bから引く 3
-------------------------------------------------------
F 1 0 0.5 0.5 Gを0.5(=a12)倍し、Cから引く 2
G 0 1 0 1 Dを2(=a22)で割る 1
H 0 0 2.5 -2.5 Gを0.5(=a32)倍し、Eから引く 3
-------------------------------------------------------
I 1 0 0 1 Kを0.5(=a13)倍し、Fから引く 2
J 0 1 0 1 Kを0(=a23)倍し、Gから引く 3
K 0 0 1 -1 Hを2.5(=a33)で割る 1
2.作成したプログラムの一部を変更して6元連立1次方程式を解きなさい。
値は自作する。
どうかよろしくお願いします!
189デフォルトの名無しさん
2006/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
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デフォルトの名無しさん
2006/12/25(月) 16:00:53 >>189
ありがとうございます!
ありがとうございます!
191デフォルトの名無しさん
2006/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 ←対角線の和
↑
列の和
どうしてもわかりません・・・
どうか宜しくお願いします。
魔方陣とは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デフォルトの名無しさん
2006/12/25(月) 23:17:33193デフォルトの名無しさん
2006/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
>>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デフォルトの名無しさん
2006/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 のマス目から外れていれば
補正するようにした方が良い。
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デフォルトの名無しさん
2006/12/26(火) 21:41:34196デフォルトの名無しさん
2006/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という計算結果にすることができません。
どなたかお願いします。
どなたかBASICに詳しい方教えていただけないでしょうか。
電卓のプログラミングなんですが、
一応1+2=3や5×3=15のような簡単な計算はできるようになりました。
しかし、=のあとに数字を打って新しく計算を始めたり
(例えば1+2=7−8=という計算をしたとき、37−8=というようになってしまう)
1+2+3=という計算をするときに、1+2+と打った時点で電卓に3が表示されなくて、
3+3=6という計算結果にすることができません。
どなたかお願いします。
197デフォルトの名無しさん
2006/12/27(水) 15:43:43 >196
=を選んだ時点でStringに入れていて
そのまま計算を続行してるからですよ
計算処理時は計算対象が何の変数に入っているのか
解るようにしておきましょう
=を選んだ時点でStringに入れていて
そのまま計算を続行してるからですよ
計算処理時は計算対象が何の変数に入っているのか
解るようにしておきましょう
198デフォルトの名無しさん
2006/12/27(水) 16:15:19199デフォルトの名無しさん
2007/01/04(木) 19:46:43 ヨーグレット
200デフォルトの名無しさん
2007/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
簡単なことなようなのに、どうしてもできないのです。
”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
201200
2007/01/06(土) 22:04:49 計算法的なやりかたとしては、f(x) = tan(x)-c/xとおいて,f(x)を微分し,f'(x)=g(x) = 1/cos(x)2+c/x2とお
くと思います。
よろしくおねがいします。
くと思います。
よろしくおねがいします。
202デフォルトの名無しさん
2007/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
そこまで考えたのなら、そのまま書いて試してみればいいじゃない。
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
203200
2007/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」と書くのでしょうか?。
ありがとうございます!!。
できてるっぽいです!!。
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」と書くのでしょうか?。
204200
2007/01/06(土) 23:30:06 ごめんなさい。最後の行だけ訂正します
f(x) =c/x-tan(x)おくと,f(x)の微分は,f'(x)=g(x) = -c/x^2-1/(cos(x))^2で正しいのでしょうか?。
f(x) =c/x-tan(x)おくと,f(x)の微分は,f'(x)=g(x) = -c/x^2-1/(cos(x))^2で正しいのでしょうか?。
205デフォルトの名無しさん
2007/01/07(日) 00:00:29206デフォルトの名無しさん
2007/01/17(水) 05:11:57 正月早々に近所の創価学会員一家が夜逃げしたことがわかりました。この夜逃げは私の住む地域で騒ぎになりました。
創価学会の人たちが「あの一家は信心が無かった」と宣伝して回っていますが真っ赤な嘘です。近所ではよく知られた熱心な信者でした。
羽振りの良い時期にはおだて上げて散々使いまわして、いざ破綻になれば他人事で切り捨てる。
創価学会というのは冷酷な組織だということがつくづくわかりました。
追記 アムウェイやスリムドカン等の代理店をやっていた時期もあったそうです。
http://money4.2ch.net/test/read.cgi/manage/1158633593/
創価学会の人たちが「あの一家は信心が無かった」と宣伝して回っていますが真っ赤な嘘です。近所ではよく知られた熱心な信者でした。
羽振りの良い時期にはおだて上げて散々使いまわして、いざ破綻になれば他人事で切り捨てる。
創価学会というのは冷酷な組織だということがつくづくわかりました。
追記 アムウェイやスリムドカン等の代理店をやっていた時期もあったそうです。
http://money4.2ch.net/test/read.cgi/manage/1158633593/
207デフォルトの名無しさん
2007/01/18(木) 13:27:41208デフォルトの名無しさん
2007/01/23(火) 23:44:57 xの値を0度〜360度、刻み10度で変化したときの、
関数f(x)=sin(x)、f(x)=cos(x)のグラフを作成しなさい。
(1つの画面に2つのグラフを描く、演算子はlocate、line、circle、psetのみ)
よろしくお願いします!!><
関数f(x)=sin(x)、f(x)=cos(x)のグラフを作成しなさい。
(1つの画面に2つのグラフを描く、演算子はlocate、line、circle、psetのみ)
よろしくお願いします!!><
209デフォルトの名無しさん
2007/01/24(水) 00:03:35 >演算子はlocate、line、circle、psetのみ
難しすぎて出来ません!!><
難しすぎて出来ません!!><
210208
2007/01/24(水) 00:28:59211デフォルトの名無しさん
2007/01/24(水) 01:14:01 >図形を描くために使う演算子がlocate、line、circle、psetのみ
難しすぎて出来ません!!><
難しすぎて出来ません!!><
212デフォルトの名無しさん
2007/01/24(水) 16:20:38 漸化式の計算ってどうすんの?
213デフォルトの名無しさん
2007/01/24(水) 22:26:06 >>212
つ for
つ for
214デフォルトの名無しさん
2007/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
見よう見まねでプログラムを作っていますが、どうしてもコンパイルできません。
また、式の最初のπ以降のカッコ内は元の式では、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デフォルトの名無しさん
2007/01/25(木) 17:04:45216デフォルトの名無しさん
2007/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
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デフォルトの名無しさん
2007/01/25(木) 21:05:55 >>213
遅かったがサンクスw
遅かったがサンクスw
219デフォルトの名無しさん
2007/01/27(土) 00:13:47 度々すみません。
前のプログラムを応用して、別のプログラムを作ったのですが、
tanx=c/xを計算する部分の組み込みがうまくいかず、どうしても計算結果が違ってしまいます。
お願いするばかりで恐縮なのですが、どうぞよろしくご教授ください。
前のプログラムを応用して、別のプログラムを作ったのですが、
tanx=c/xを計算する部分の組み込みがうまくいかず、どうしても計算結果が違ってしまいます。
お願いするばかりで恐縮なのですが、どうぞよろしくご教授ください。
220219
2007/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
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
221217
2007/01/27(土) 01:57:24 問題点がわかりました。
級数の数を決定するステップでFor文を使用してしまった為に、
tanx=c/xがちゃんと計算できてないだけでした。
しかし、For文の他に何度も計算させるコマンドがわかりません。
どうしたら良いでしょうか?。
級数の数を決定するステップでFor文を使用してしまった為に、
tanx=c/xがちゃんと計算できてないだけでした。
しかし、For文の他に何度も計算させるコマンドがわかりません。
どうしたら良いでしょうか?。
222デフォルトの名無しさん
2007/01/27(土) 01:59:14 IF と GOTO 使え。
それが基本(w
それが基本(w
223デフォルトの名無しさん
2007/01/27(土) 02:03:14 DO LOOP
DO WHILE
LOOP WHILE
LOOP UNTIL
などたくさんある
DO WHILE
LOOP WHILE
LOOP UNTIL
などたくさんある
224217
2007/01/27(土) 02:25:51225217
2007/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
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デフォルトの名無しさん
2007/01/27(土) 03:05:34 >>225
何をしたいのかよくわからんな。
ニュートン法か?
計算の元になる文献かPDFへのリンクを貼ってくれないか?
こういうエラーは文法エラーではなく論理エラーと言う物で、
文法的には誤りがないため、元の文献を参照できないと
どこが間違っているのかわからない。
何をしたいのかよくわからんな。
ニュートン法か?
計算の元になる文献かPDFへのリンクを貼ってくれないか?
こういうエラーは文法エラーではなく論理エラーと言う物で、
文法的には誤りがないため、元の文献を参照できないと
どこが間違っているのかわからない。
227デフォルトの名無しさん
2007/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を別の所に置かないとだめなんだろうぐらいは予想できるけど。
S=0
S=S+cos(x1)*EXP(-t*X1^2/RtL/CtL)/(x1*((CtL+Cs)*sin(x1)+x1*CtL*cos(x1)))
の所で、S=0を別の所に置かないとだめなんだろうぐらいは予想できるけど。
228217
2007/01/27(土) 04:37:29230217
2007/01/27(土) 05:40:41 >>227
それは、どうしてなのでしょうか?。
それは、どうしてなのでしょうか?。
231デフォルトの名無しさん
2007/01/27(土) 07:59:44232217
2007/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()にかけられてないみたいなのです。
どこを間違えてしまったのか、この説明でわかるでしょうか?。
教えてください。
よろしくお願いします。
大変失礼いたしました。
最初の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()にかけられてないみたいなのです。
どこを間違えてしまったのか、この説明でわかるでしょうか?。
教えてください。
よろしくお願いします。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 米大統領報道官「日本と強固な同盟維持、中国とも協力」 [少考さん★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★2 [蚤の市★]
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ [冬月記者★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 [Hitzeschleier★]
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ ★2 [蚤の市★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- 【悲報】維新の政治資金でガールズバー、高市首相「良いか悪いかは国民の皆さまが判断されること」 [115996789]
- 【マギレコ】VIPでマギアレコード&マギアエクセドラ【まどドラ】
- 中国人、ガチ超正論。「日本人がアイヌに対してやったことを『問題ない』とするなら、中国が日本人に同じことをしても文句ないだろう?」 [314039747]
- 【速報】俳優の三浦春馬さん、自宅で死亡 自殺とみられる←この衝撃を超える速報テロ、いまだない
- 衛生的に気持ち悪くて性風俗店行ったこと無いんだ
- 【悲報】タンパク質さん、寿命を縮めることが判明
