[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 05/09 23:35 / Filesize : 137 KB / Number-of Response : 439
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

BASICの宿題はお前にまかせた



1 名前:BASIC mailto:fh [2006/01/09(月) 15:35:00 ]
N人分のデータ(氏名、体重、身長、年齢)がDATA文で入力されているプログラムが
ある。これを用いて次のプログラムをBASICで作成しなさい
身長が160CM以上で170cm未満の人の名前を表示する


236 名前:デフォルトの名無しさん [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 10:49:57 ]
>>236
スロット

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

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

239 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:デフォルトの名無しさん [2007/02/18(日) 17:41:25 ]
>>239
遅くなりました!有り難うございます


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

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

242 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:デフォルトの名無しさん [2007/02/28(水) 00:14:40 ]
ありがとうございます!
おかげさまでとても助かりました!



245 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 06:34:10 ]
分散は平均値がわからないと出せないんじゃないの?
だから各データを配列変数とかにこっそりしまっておくのがいいとおもう

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

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

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

249 名前:デフォルトの名無しさん mailto:sage [2007/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 mailto:sage [2007/03/24(土) 10:56:42 ]
>>246
配列のプログラム書けないんだ
          _
      ミ ∠_)
         /
         /   \\
 ウイーン  Γ/了     | |
  ウイーン  |.@|    | | ガッガッガッ
       | / | .     人
       |/ |    <  >_Λ∩ >>245
      _/  | //. V`Д´)/
      (_フ彡           /


251 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 17:03:50 ]
>>250
書く気が無いの?それとも実現できないの?

252 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 19:57:53 ]
40行目間違ってた。

254 名前:デフォルトの名無しさん [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 21:36:12 ]
N = 標本数
T = 総和
S = 平方和
X = 変数
M = 平均
V = 分散
D = 標準偏差

256 名前:デフォルトの名無しさん mailto:age [2007/09/02(日) 00:20:12 ]
あげ

257 名前:デフォルトの名無しさん [2007/09/18(火) 15:28:04 ]
age

258 名前:デフォルトの名無しさん [2007/10/03(水) 19:57:36 ]
寿司食いたいフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフ

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

260 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:デフォルトの名無しさん [2008/01/21(月) 15:50:37 ]

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

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

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

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

264 名前:デフォルトの名無しさん [2008/01/24(木) 19:05:41 ]
訂正
社員でなく学生です



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

266 名前:デフォルトの名無しさん mailto:sage [2008/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 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 07:10:38 ]
>>266
ありがとう御座いました。

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


imepita.jp/20080129/564990

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

270 名前:デフォルトの名無しさん mailto:sage [2008/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 名前:デフォルトの名無しさん [2008/01/30(水) 08:49:06 ]
268 はライントレーサーです お願いします

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

丸投げにもほどがあるwwww

273 名前:デフォルトの名無しさん [2008/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 名前:デフォルトの名無しさん [2008/02/07(木) 09:32:12 ]
WAITってw



275 名前:デフォルトの名無しさん mailto:sage [2008/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 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 12:19:38 ]
>>272じゃなくて>>273だった。

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


278 名前:273 [2008/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 名前:デフォルトの名無しさん mailto:sage [2008/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 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 13:49:25 ]
おっとっと、最後のが間違ってる。
B = 1/2 + 1/2 * B(n-1) → B = 1/2 + 1/2 * Sqr(B(n-1))


281 名前:デフォルトの名無しさん [2008/02/08(金) 05:38:39 ]
Basicプログラム
science6.2ch.net/test/read.cgi/math/1202327409/

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
pc11.2ch.net/test/read.cgi/tech/1136788500/

よって終了。

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

283 名前:273 [2008/02/09(土) 00:47:20 ]
ありがとうございました。
解決しました。

284 名前:N88互換 [2008/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 名前:デフォルトの名無しさん mailto:sage [2008/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互換 [2008/02/19(火) 21:07:14 ]
返信遅くなりました!
かなり参考になりました。
ありがとうございました!!

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

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

問1
uproda11.2ch-library.com/src/1169912.jpg

問2
uproda11.2ch-library.com/src/1169913.jpg

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

289 名前:デフォルトの名無しさん mailto:sage [2008/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 名前:デフォルトの名無しさん [2008/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 名前:デフォルトの名無しさん [2008/06/21(土) 06:10:06 ]
充足問題を解くのか
動的計画法でいいんかな
微妙に単調増加っぽいけど忘れた

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

293 名前:デフォルトの名無しさん mailto:sage [2008/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 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 00:43:23 ]
メッセージの定義されていないエラーです。
行番号:130
と出て、71までの素数しか表示されないのですが・・・
せっかく答えていただいたのに文句言ってすいません。
どこを改良すればいいのでしょうか?




295 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 08:19:43 ]
>>292
>記憶容量は無視していいそうです。

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

296 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 23:17:12 ]
>無限に大きい配列を用意すればいい。

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


297 名前:デフォルトの名無しさん mailto:sage [2008/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 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 01:09:48 ]
できました!
これで単位落とさなくてすみそうです。
本当にありがとうございました。

299 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 08:36:57 ]
できた、じゃなくてやってもらった、だろ。

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

301 名前:デフォルトの名無しさん mailto:sage [2008/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 名前:学生 [2008/07/03(木) 00:49:58 ]
本当にありがとうございます!
もしよければ、まだ他にsin(30)=0.499999616987256(なぜ0.5でないのか?)
可能性があるとしたら何かありませんか?

303 名前:デフォルトの名無しさん mailto:sage [2008/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 名前:学生 [2008/07/03(木) 12:00:30 ]
本当にありがとうございます!




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

306 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 15:33:42 ]
コラコラ、普通科でも数学でBASICやるぞ。

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

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

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

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



308 名前:デフォルトの名無しさん [2008/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 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 00:47:04 ]
>>308
for x=&f7a to &h61 step -1 ってできなかったっけ?

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

311 名前:デフォルトの名無しさん mailto:sage [2008/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 名前:デフォルトの名無しさん mailto:sage [2008/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 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 18:33:58 ]
>>312
ありがとうございます。
助かりました。

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




315 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 22:24:59 ]
>>314
www.google.co.jp/

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

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

318 名前:デフォルトの名無しさん mailto:sage [2008/07/25(金) 03:23:53 ]
>>314
脳内。手作業でやる以外ないよ。


319 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 08:23:31 ]
Cでマクロを使え

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

とか

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

321 名前:245 mailto:sage [2008/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 名前:デフォルトの名無しさん [2008/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 名前:デフォルトの名無しさん mailto:sage [2008/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 名前:デフォルトの名無しさん [2008/09/26(金) 18:39:16 ]
誰か綺麗な花火のプログラム作ってくれ・・・・
授業聞いてなかったから/(^o^)\
学校ではN88互換BASICとかいうの使ってた



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

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

327 名前:デフォルトの名無しさん mailto:sage [2008/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

まあ何だ。以下を参考に自分で作った方がよさげですよ。
ttp://www.geocities.co.jp/Bookend-Kenji/7741/kesayume/photo/fireworks_basic.htm


328 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 06:29:24 ]
>>327
ちなみにそれを実行するのに必要なのはどれですか?

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

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

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

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

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

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

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


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

提出今日までです…

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

333 名前:デフォルトの名無しさん mailto:sage [2009/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 名前:デフォルトの名無しさん [2009/01/21(水) 15:37:21 ]
3×3行列ABの成分を入力し、それらの和の行列C、差の行列D、積の行列E
を計算するプログラムを作成せよ。
※DIM文、FOR〜NEXT文を使うこと。
※行列成分の入力にはFOR〜NEXT、とINPUT文(READ文)を組み
合わせること。

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



335 名前:デフォルトの名無しさん [2009/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 名前:デフォルトの名無しさん [2009/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 名前:デフォルトの名無しさん [2009/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 名前:デフォルトの名無しさん [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 17:59:15 ]
>>334-338
ありがとうございます神様

341 名前:デフォルトの名無しさん [2009/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 名前:デフォルトの名無しさん [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 19:16:42 ]
勝手に仕様を変更しないでくださいw

344 名前:デフォルトの名無しさん [2009/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 名前:デフォルトの名無しさん [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 11:38:14 ]
v$(k)の有効な要素数ってsize(v$(k))みたいな方法で取れないのかな

347 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 13:38:12 ]
>>344
上書きして情報減ってるような

348 名前:デフォルトの名無しさん [2009/01/22(木) 14:28:32 ]
>>344
>>347の言う通り
直すなら

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

とでもすべきだな

349 名前:デフォルトの名無しさん [2009/01/22(木) 20:22:42 ]
お願いします。

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

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

350 名前:デフォルトの名無しさん [2009/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についての参考資料
ja.wikipedia.org/wiki/%E6%A8%99%E6%BA%96%E4%BD%93%E9%87%8D
www.e-na.co.jp/passage/chek/
www11.plala.or.jp/jitensya-tuukin/diet/diet13_1.htm

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

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


354 名前:デフォルトの名無しさん mailto:sage [2009/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 名前:デフォルトの名無しさん [2009/02/15(日) 12:19:52 ]
>>354 
ありがとうございました しかし110行で「Eをここに書けません」と出たので110行目を消したできたんですけど
110行目を消しても問題ないですかね?


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

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

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

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

360 名前:デフォルトの名無しさん [2009/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 名前:デフォルトの名無しさん [2009/02/15(日) 20:23:04 ]
すみません
359の「ここ」というのはE=1とE-5の間のことです

362 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 15:08:53 ]
いまだに BASIC の宿題ってポケコン?

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

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



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

366 名前:デフォルトの名無しさん [2009/02/17(火) 21:37:40 ]
>>362
今時ポケコンは無いだろ、N88互換BASICとか十進数BASIC辺りじゃね。

367 名前:デフォルトの名無しさん [2009/02/20(金) 22:16:10 ]
ファイルに文字列で CHAR$(00) を混ぜて出力しようとしたけど無理だった。
BASICじゃー &h00 をファイルに出力するって出来なかったのかぁ。

368 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 18:26:55 ]
ファイルに文字列で CHA$(00) を混ぜて出力できた。

369 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 16:34:13 ]
CHR$ のことを言ってるんだろうか…。

370 名前:デフォルトの名無しさん [2009/04/28(火) 07:15:12 ]
>>360
答え出ますた
a= 0.051810637
b= -0.014019252
c= 0.067333510
d= 0.223948590
です。


371 名前:デフォルトの名無しさん [2009/07/19(日) 01:02:31 ]
10 input "n,b";n,b
20 x=1
30 f=x^n-b
40 d1=n*x^(n-1)
50 x1=x-f/d1
60 e=1*10^(-6)
70 if abs(f)<e then goto 100
80 x=x1
85 print x
90 goto 30
100 end

ニュートン法でbのn乗根を求めるプログラム。
これを、bを与えたときx/(x^2+1)=bとなるxを求めるプログラムに書き換えなさい。
また、そのように改変した理由も述べよ。

この問題、わかる人いますか?;;


372 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 10:44:39 ]
低脳

373 名前:デフォルトの名無しさん [2009/07/19(日) 13:11:42 ]
f(x) = x^n - b を
f(x) = x/(x^2 + 1) - b に

d1(x) = n*x^(n - 1) を
d1(x) = 1/(x^2 + 1) - 2*x^2*/((x^2 + 1)^2)に

変えたらいいんじゃね?

でも b > 0.5 や b < -0.5 では 解けないかもな


374 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 20:26:02 ]
すみません
問3. M個のデータのうち、その2番目の小さいデータと同じデータの個数を求めるアルゴリズムの流れ図を示せ。
という問題なんですが、だれか簡単に説明してくれませんか(´・ω・`)



375 名前:デフォルトの名無しさん [2009/07/27(月) 01:24:57 ]
>>374
プログラムでいうと ↓ な具合です

(defun countm (l)
(let ((n (car (remove (car (sort l #'<)) l))))
(length (remove-if #'(lambda (x) (/= x n)) l))))


仮に

>(defvar d '(3 9 8 0 8 0 6 6 8 2 6 6 1 4 0 9 1 5 1 8 9 7 1 8 8 1 5 5 8 5))
>(countm d)
とすると

5
>
となります。


376 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 01:46:25 ]
↑スレタイ読めバカ

377 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 06:55:43 ]
BASIC最近さわってねーから
「M個のデータのうち、その2番目の小さいデータと同じデータの個数を求める」関数って無かったっけ?
それがあれば f=「 M個のデータのうち、その2番目の小さいデータと同じデータの個数を求める」 っておいて
M個のデータ→f→2番目の小さいデータと同じデータの個数
になるんだけど

378 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 09:31:29 ]
@M個のデータの全部を検索して一番小さいデータの値を求める。
AM個のデータの全部を検索して二番目に小さいデータの値を求める。
BM個のデータの全部を検索して二番目に小さいデータの個数を求める。

もっと効率の良いアルゴリズムがあるのかもしれん


379 名前:デフォルトの名無しさん [2009/07/30(木) 12:41:36 ]
basicって今時文法を覚えてる人いないよね


380 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 13:09:51 ]
BASICの文法っても、10個ほどのコマンドを覚えるだけだから....
関数なんかはそのつど取説を参照するし

381 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 13:13:53 ]
max1=a(1) : max2 = a(1) : temp
for i=2 to m
if a(i) > max1 then temp = max1 : max1 = a(i) : max2 = temp
if a(i) > max2 and a(i) < max1 then max2 = a(i)
next i

382 名前:デフォルトの名無しさん [2009/08/02(日) 02:01:54 ]
10 dim a(10,11)
20 m=3
30 n=m+1
40 for i=1 to m
50 for j=1 to n
60 read d
70 a(i,j)=d
80 next j
90 next i
100 for k=1 to m
110 p=a(k,k)
120 for j=k to n
130 a(k,j)=a(k,j)/p

続く…

383 名前:デフォルトの名無しさん [2009/08/02(日) 02:02:55 ]
>>382続き

140 next j
150 for i=1 to m
160 if (i-k)=0 then goto 210
170 a1=a(i,k)
180 for j=k to n
190 a(i,j)=a(i,j)-a1*a(k,j)
200 next j
210 next i
220 next k
230 for i=1 to m
240 print "x(";i;")=",a(i,n)
250 next i
260 end
270 data 2,1,-3,1,4,1,-2,4,3,2,-1,6

問:4元の連立方程式を実際に解いてみよ。
またこのプログラムで計算できない連立方程式の例を与え,その理由を述べよ。


わかる方、お願いします!!

384 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 13:36:42 ]
とりあえず解けるかどうかは実行してみればいいとして
不能解か多重解か作ればいいの?
x+y+z+w=1
2x+2y+2z+2w=2
3x+3y+3z+3w=3
4x+4y+4z+4w=4
とか?



385 名前:デフォルトの名無しさん [2009/08/03(月) 00:59:59 ]
>>384

>>382-383です
回答ありがとうございます!
不能解や多重解を適当に作ればいいんですね!

あと、4元の連立方程式を解いてみよということは、270のdataに何か値を適当に入れるんですか?



386 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 15:36:56 ]
>>374
亀レスだが、処理方法案。
数値を一つずつ取り出し、その時点までで判っている、小さい方の3つの数値セットを持つ。
入力が '(3 9 8 0 8 0 6 6 8 2 6 6 1 4 0 9 1 5 1 8 9 7 1 8 8 1 5 5 8 5)なら、
3 <--- 3
3 9 <--- 9
3 8 9 <--- 8
0 3 8 <--- 0 直後の8,0は数値セットを入替不要
0 3 6 <--- 6 以下同様
0 2 3 <--- 2
0 1 2 <--- 1

上記より小さい方から2番目の数値は「1」と判る。
上記操作中に、小さい方3つの出現回数を都度数えておけば良い。
メリットは自分で考えてくれ。

387 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 21:08:37 ]
>>385
最近basic触ってないからうろ覚えだけど
read文はdata文を順番に読んでいくだけのハズだったし,readした値をa(i,j)に直接代入している(60-70行)し,
40-90行を見るとa(行数,列数)になっているので,

...
20 m=4
...
270 data 1,1,1,1, 1
280 data 2,2,2,2, 2
290 data 3,3,3,3, 3
300 data 4,4,4,4, 4

とか書けばいいのでは

388 名前:デフォルトの名無しさん [2009/08/25(火) 10:31:14 ]
Visual Basic の課題で困っております。
誰かお答えください。本当に助けてください。

1.Visual Basicの関数で数値を文字に直すCStr()とStr()の違いについて

2.戻り値の違いが確認できる方法を考え、戻り値の違いについて実際に確認し、
  その確認方法と違いを具体的に述べよ。
注意:実際にやったことと、確認した違いを簡潔かつ具体的に書くこと。

3.下記の計算結果などから、Visual Basicで計算できる数値の桁数について考察をまとめ、
  何故そのような制限があるかについて理由を答えよ
  1) 48 x 100 - 81
  2) 12 ÷ 9.3 x 247
  3) 0.2 - 12 ÷ 69
  4) -12 ÷ 100 + 100

389 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 11:11:37 ]
str は 古き懐かし BASIC (VisualじゃないBASIC) のころからあった関数だよな。
過去との互換性のために残してある、ってのが本音なんじゃないかな。
Str と Cstr の違いは、ヒント:先頭1文字目に違いがある。あとはマニュアルを読めカス!

390 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 11:16:41 ]
マルチポスト報告スレ
pc12.2ch.net/test/read.cgi/tech/1251165265/

ttp://pc12.2ch.net/test/read.cgi/tech/1225268851/688
ttp://pc12.2ch.net/test/read.cgi/tech/1158410544/183
ttp://pc12.2ch.net/test/read.cgi/tech/1245309571/793
ttp://pc12.2ch.net/test/read.cgi/tech/1136788500/388
ttp://pc12.2ch.net/test/read.cgi/tech/1200175247/601
ttp://pc12.2ch.net/test/read.cgi/tech/1249687283/408
ttp://pc12.2ch.net/test/read.cgi/tech/1239996587/711
ttp://pc12.2ch.net/test/read.cgi/tech/1248487404/279
ttp://pc12.2ch.net/test/read.cgi/tech/1193667819/60
ttp://pc12.2ch.net/test/read.cgi/tech/1164783092/937
ttp://pc12.2ch.net/test/read.cgi/tech/1206835319/963
ttp://pc12.2ch.net/test/read.cgi/tech/1247937958/547
ttp://pc12.2ch.net/test/read.cgi/tech/1247636661/861
ttp://pc12.2ch.net/test/read.cgi/tech/1249140049/420



391 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 11:19:29 ]
DEF FNCSTR$(A!) = MID$(STR$(A!), 2+(A!<0))
こんな感じだっけ・・・うろ覚え

392 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 12:29:06 ]
>>388
マルチすんな

393 名前:デフォルトの名無しさん [2009/08/26(水) 21:19:54 ]
十進BASICでのコンビネーションの計算をお願いします!!

394 名前:デフォルトの名無しさん [2009/09/03(木) 10:47:52 ]
BASIC繁栄時代があったらしい



395 名前:デフォルトの名無しさん [2009/09/04(金) 18:54:18 ]
変数名.N$ って、何を指したっけ?

396 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 19:42:33 ]
$は文字変数を意味する。

397 名前:デフォルトの名無しさん [2009/09/05(土) 19:40:10 ]
>>393
つ COMB(n,r)

398 名前:デフォルトの名無しさん [2009/09/23(水) 12:28:54 ]
なあ、セーブ機能付きレジ打ちのプログラム打ちたいんだが
お前らならどんなプログラム打つ?


399 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 12:42:45 ]
お前はプログラミングに向いてない

400 名前:デフォルトの名無しさん [2009/09/23(水) 16:38:53 ]
できたらやってあげたいがな…

401 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 18:41:31 ]
>>398
テストの前日になって質問ですかw
とりあえず学校こなくていいよ

402 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 17:37:29 ]
覆面算
ルール1
文字はそれぞれの桁の文字を表す
ルール2
異なる文字は異なる数字を表し、同じ文字は同じ数字を表す
ルール3
左端の数字は0ではない
ルール4
(パズルとしては)答えが一つとなる
下のプログラムはルール2を完全に考慮していない。
個々の文字は互いに異なるという条件があるからである。
この条件を取り入れるにはこのプログラムをどのように
直したらよいか。該当箇所の変更前と変更後を答えよ。
Option Explicit
Sub ex3()
Dim a As Integer, b As Integer, c As Integer, d As Integer
Dim x As Integer, y As Integer, z As Integer
For a = 1 To 9
For b = 0 To 9
For c = 0 To 9
For d = 1 To 9
x = a * 100 + b * 10 + b
y = d * 100 + d * 10 + c
z = a * 1000 + a * 100 + a * 10 + d
If x + y = z Then
MsgBox "a=" & a & ", b = " & b & ", c = " & c & ", d = " & d
End If
Next d
Next c
Next b
Next a
End Sub

403 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 16:39:57 ]
@subを用いて2つの分母の異なった(2/3+5/7など)分数の和を計算するプログラムを作成せよ。
実行結果は約分すること

A
Functionを用いてヘロンの公式を実装せよ。
三辺の長さから3角形の面積を求める
ただし、3編の長さより三角形が成立しない場合は、除外する仕様とせよ



404 名前:デフォルトの名無しさん [2009/10/03(土) 17:34:27 ]
age




405 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 17:56:38 ]
subとかFunctionなんてBASICにあったっけ
VBならしね

406 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 18:21:41 ]
>>403
BASICは方言が多いから環境を明示すべきだぜ。Aはこんな感じで(十進数BASIC用)
100 !問題2 ヘロンの公式
110 FUNCTION HERON(A,B,C)
120 LET S=(A+B+C)/2
130 LET S=S*(S-A)*(S-B)*(S-C)
140 IF S<0 THEN !三角形で無いなら-1を返す
150 LET HERON=-1
160 ELSE !三角形なら面積を返す
170 LET HERON=SQR(S)
180 END IF
190 END FUNCTION
200 PRINT "3辺の長さ(例 3,4,5):"
210 INPUT A,B,C
220 LET S=HERON(A,B,C)
230 IF S >=0 THEN
240 PRINT "面積:"; S
250 ELSE
260 PRINT "三角形ではない"
270 END IF
280 END

407 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 20:17:34 ]
面積0なら三角形じゃないだろうという本質ではないとこに突っ込んでみる

408 名前:デフォルトの名無しさん [2009/10/03(土) 22:48:57 ]
そうっすね

409 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 00:19:56 ]
本質的なところを突っ込んでください。
>>406だと変な値を入れても除外せずに面積計算しちゃう事があるのよね。

410 名前:デフォルトの名無しさん [2009/10/06(火) 11:17:08 ]
. 1. HTML    で検索した結果 1〜10件目 / 約5,040,000,000件
. 2. PHP      で検索した結果 1〜10件目 / 約2,970,000,000件
. 3. Java......   で検索した結果 1〜10件目 / 約 835,000,000件
. 4. Forth.    で検索した結果 1〜10件目 / 約 323,000,000件
. 5. Ruby..    で検索した結果 1〜10件目 / 約 275,000,000件
. 6. perl.....    で検索した結果 1〜10件目 / 約 245,000,000件
. 7. Python...   で検索した結果 1〜10件目 / 約 204,000,000件
. 8. pascal...   で検索した結果 1〜10件目 / 約 170,000,000件
. 9. Delphi    で検索した結果 1〜10件目 / 約 127,000,000件
10. VisualBasic...で検索した結果 1〜10件目 / 約 121,000,000件
11. lisp...      で検索した結果 1〜10件目 / 約.  26,700,000件
12. fortran     で検索した結果 1〜10件目 / 約.  21,300,000件
13. COBOL    で検索した結果 1〜10件目 / 約.  18,500,000件
14. HSP      で検索した結果 1〜10件目 / 約.  12,300,000件
15. FreeBasic.. で検索した結果 1〜10件目 / 約   6,320,000件
16. Tcl/Tk.     で検索した結果 1〜10件目 / 約   4,940,000件
17. QBasic     で検索した結果 1〜10件目 / 約   4,190,000件
18. VisualC....  で検索した結果 1〜10件目 / 約   1,360,000件
19. DarkBASIC. で検索した結果 1〜10件目 / 約   1,320,000件 ← ここ
20. BasicStudio で検索した結果 1〜10件目 / 約    304,000件
21. N88basic.   で検索した結果 1〜10件目 / 約    215,000件
22. f-basic     で検索した結果 1〜10件目 / 約    109,000件
23. ActiveBasic で検索した結果 1〜10件目 / 約.     89,800件
24. 99BASIC.... で検索した結果 1〜10件目 / 約.     11,500件

3Dprogramming で検索した結果 1〜10件目 / 約794,000件
2Dprogramming で検索した結果 1〜10件目 / 約. 57,400件

intel で検索した結果 1〜10件目 / 約729,000,000件
amd で検索した結果 1〜10件目 / 約355,000,000件

411 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 18:37:56 ]
. 4. Forth. Wwwww

412 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 18:47:27 ]
懐かしくてMindのサイト行ってみたけど
4番人気にしては寂しい状態だなw

正確にはForthじゃないけどw

413 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 19:16:10 ]
pc.watch.impress.co.jp/img/pcw/docs/319/824/html/328.jpg.html

414 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 19:17:21 ]
pc.watch.impress.co.jp/img/pcw/docs/319/824/html/333.jpg.html



415 名前:デフォルトの名無しさん [2009/10/07(水) 14:59:15 ]
すみません、プログラム超素人なんですけど、VisualBasicの質問もここでいいのでしょうか…?
VisualBasic2008ExpressEditionで、フィボナッチ数列の剰余の周期性の長さを求めるプログラムを組んだんですが、
一部正常に動作してくれない。詳しい方がいたら、修正点を教えてもらえないでしょうか。

プログラムは以下の通りなんだけど、周期の長さが80以上になるような場合だと正常に動作してくれない…
どうか修正点の指摘よろしくです。。

Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim a(1000), b(1000), c, n, x
a(1) = 1 : a(2) = 1 : n = 2
x = Val(TextBox1.Text)
Do
n = n + 1
Label1.Text = n
a(n) = a(n - 2) + a(n - 1)
Label2.Text = a(n)
b(n) = a(n) Mod x
Label3.Text = b(n)
a(n + 1) = a(n - 1) + a(n)
Label4.Text = a(n + 1)
b(n + 1) = a(n + 1) Mod x
Label5.Text = b(n + 1)
If b(n) * b(n + 1) = 1 Then
c = n - 1
Exit Do
End If
Loop
Label6.Text = c
End Sub
End Class


416 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 16:48:34 ]
ステップ実行しろ

417 名前:デフォルトの名無しさん [2009/10/07(水) 17:54:29 ]
>>416
ステップの実行って…?

418 名前:デフォルトの名無しさん [2009/10/07(水) 18:42:17 ]
homepage1.nifty.com/rucio/main/dotnet/shokyu/standard41.htm

419 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 18:51:15 ]
BASIC以前の問題だな

420 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 19:59:00 ]
VBってホント、ソースが醜いねぇ〜w

421 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 20:27:51 ]
      ↑
{ } 中カッコが無いとプログラミングできないひと?

422 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 20:39:56 ]
いいえ、行番号が無いとプログラミングできないひとです。

423 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 22:37:16 ]
いいえ、APIがないとプログラミングができないイキモノです(大爆笑)

424 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 23:29:02 ]
(核)



425 名前:デフォルトの名無しさん [2009/10/08(木) 09:27:39 ]
お前ら解答出来ないなら喋んなよ

426 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 09:40:37 ]
なんだ回答でてんじゃん

427 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 09:17:19 ]
>>425
そこまでロジック組めるなら、今度はデバックの仕方を学ぶべきだ
つか、>>415な汚いソースなんか誰も追う気にはなれない

428 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 06:00:51 ]
pc.watch.impress.co.jp/docs/column/nishikawa/20091013_320336.html

429 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 18:49:14 ]
>>415
> プログラムは以下の通りなんだけど、周期の長さが80以上になるような場合だと正常に動作してくれない…

"期待する正常動作、実際の動作"が不明だが、エスパーしてみると、数列の数値が大きすぎてオーバーフローしてると思われ。
周期80なら連続する2数値は、↓のはず。
8670007398507948658051921, 14028366653498915298923761

430 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 15:43:14 ]
pc.watch.impress.co.jp/docs/news/20091015_321777.html

431 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 05:05:08 ]
Yahoo!プログラミング言語検索ランキング(今回2009/10/16、前回2009/10/12)

《一般カテゴリ》
. 1(. 1) HTML.....    約5,030,000,000件(約5,020,000,000件)+
. 2(. 2) PHP...      約2,980,000,000件(約3,000,000,000件)--
. 3(--) BASIC..      約1,580,000,000件(....------------- )0
. 4(. 3) JAVA..      約 822,000,000件(約 832,000,000件)--
. 5(--) CGI.        約 551,000,000件(....------------- )0
. 6(--) C言語(*1).   約 399,000,000件(....------------- )0 (*1)C/C++とC#の検索件数の合計
. 7(. 4) FORTH..    約 323,000,000件(約 324,000,000件)-
. 8(. 6) PERL..     約 245,000,000件(約 245,000,000件)0
. 9(. 7) PYTHON..   約 213,000,000件(約 209,000,000件)++
10(. 8) PASCAL..   約 168,000,000件(約 168,000,000件)0
11(. 9) DELPHI.    約 128,000,000件(約 128,000,000件)0
12(11) LISP      約.  26,000,000件(約.  26,600,000件)--
13(12) FORTRAN.   約.  21,200,000件(約.  21,300,000件)-
14(13) COBOL.....   約.  16,800,000件(約.  17,100,000件)--
15(--) PROLOG    約.  13,800,000件(....------------- )0
16(14) HSP        約.  12,300,000件(約.  12,400,000件)-

《BASIC言語カテゴリ》
. 1(--) VisualBasic...  約 120,000,000件(約 121,000,000件)-
. 2(--) Hu-BASIC..  約.  15,000,000件(....------------- )0
. 3(--) QBASIC..    約   4,140,000件(約   4,160,000件)--
. 4(--) MSX-BASIC.....約   1,430,000件(....------------- )0
. 5(--) DarkBASIC .  約   1,310,000件(約   1,330,000件)--
. 6(--) CBM-BASIC. 約    944,000件(....------------- )0
. 7(--) BasicStudio   約    303,000件(約    302,000件)+
. 8(--) N88BASIC..  約    219,000件(約    218,000件)+
. 9(--) X-BASIC...   約.     40,400件(....------------- )0
10(--) 99BASIC....   約.     11,400件(約.     11,300件)+

432 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 09:24:07 ]
だから何だと?

433 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:13:47 ]
少数派では不安と考えるか、多数いると買い叩かれると考えるかで変わってくるんでは?

434 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 16:20:20 ]
50人のクラス(男子35人)から5人の委員をランダムに選ぶ。このとき選ばれた委員の中に男3人、女2人が入る確率をBASICで求めよ。


すいません、さっぱりわからないので教えてください。




435 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 13:43:37 ]
>>431
疑問なんだがなぜ今FORTHなんだ?

436 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 21:43:34 ]
>>434
まず、数学で問題をときます。
次にPC8801を起動してディスクを入れてリセットします。
BASICが起動したらautoと打ってリターン。
あとはBASICでプログラムを入力し
F5を押します

437 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 17:10:24 ]
>>434

Dim n(5)
Randmize(Left$(Time$,2))
For i=0 To 10000
m=0
f=0
For j=1 To 5
n(j) = Int(Rnd()*50)+1
If n(j) > 36 Then f=f+1 Else m=m+1
Next j

If m=3 And f=2 Then c=c+1
Print c*100/i
Next

438 名前:デフォルトの名無しさん [2010/01/05(火) 09:38:21 ]
普通に公式使って解けばいいじゃん






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<137KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef