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
ありがとうございます
一通り終わってまたわからなかったら聞きに来ますね