1 :
BASIC :
2006/01/09(月) 15:35:00 N人分のデータ(氏名、体重、身長、年齢)がDATA文で入力されているプログラムが ある。これを用いて次のプログラムをBASICで作成しなさい 身長が160CM以上で170cm未満の人の名前を表示する
10 PRINT "斉藤" 20 PRINT "鈴木" 30 PRINT "ゴンザレス" 40 END
☀
5 :
BASIC :2006/01/15(日) 16:26:34
N人分のデータ(氏名、体重、身長、年齢)がDATA文で入力されているプログラムが ある。これを用いて次のプログラムをBASICで作成しなさい 身長が160CM以上で170cm未満の人の名前を表示する
6 :
デフォルトの名無しさん :2006/01/15(日) 16:41:53
10 READ $NAME 20 READ $WAIT 30 READ $HEIGHT 40 READ $OLD 60 IF ($HEIGHT>=160)*($HEIGHT<170) THEN PRINT $NAME;$CHR(13) 50 IF (READ<>"END")*($WAIT<>0)*($HEIGHT<>0)*($OLD<>0) THEN 10 70 END 100 REM --BODY INFORMATION-- 110 DATA "SUZUKI",67,150,15 120 DATA "SATOU",80,180,24 130 DATA "ITO",74,170,18 140 DATA "TANAKA",90,190,20 150 DATA "YAMADA",45,168,16 160 DATA "SIMIZU",68,165,18 170 DATA END,0,0,0 180 REM --INFORMATION END--
7 :
デフォルトの名無しさん :2006/01/15(日) 16:44:31
$の位置が逆じゃね?
8 :
デフォルトの名無しさん :2006/01/15(日) 16:55:11
デバッグしますた。(´・ω・`)ショボーン 10 READ NAME$ 20 READ WAIT 30 READ HEIGHT 40 READ OLD 60 IF (HEIGHT>=160)*(HEIGHT<170) THEN PRINT NAME$;CHR$(13) 50 IF (NAME$<>"END")*(WAIT<>0)*(HEIGHT<>0)*(OLD<>0) THEN 10 70 END 100 REM --BODY INFORMATION-- 110 DATA "SUZUKI",67,150,15 120 DATA "SATOU",80,180,24 130 DATA "ITO",74,170,18 140 DATA "TANAKA",90,190,20 150 DATA "YAMADA",45,168,16 160 DATA "SIMIZU",68,165,18 170 DATA END,0,0,0 180 REM --INFORMATION END--
9 :
デフォルトの名無しさん :2006/01/15(日) 17:02:15
MZ-1200 SP-5030なら上で動くはずだけど、下の場合は動かない。 でも、Tiny Basic for Windowsだとエラーがでた。 下でないとエラーが出る。 10 READ NAME$ 20 READ WAIT 30 READ HEIGHT 40 READ OLD 50 IF (HEIGHT>=160) and (HEIGHT<170) THEN PRINT NAME$;CHR$(13) 60 IF (NAME$<>"END") and (WAIT<>0) and (HEIGHT<>0) and (OLD<>0) THEN 10 70 END 80 REM --BODY INFORMATION-- 110 DATA "SUZUKI",67,150,15 120 DATA "SATOU",80,180,24 130 DATA "ITO",74,170,18 140 DATA "TANAKA",90,190,20 150 DATA "YAMADA",45,168,16 160 DATA "SIMIZU",68,165,18 170 DATA "END",0,0,0 180 REM --INFORMATION END--
N人分のデータ(氏名、体重、身長、年齢)がDATA文で入力されているプログラムが ある。これを用いて次のプログラムをBASICで作成しなさい 年齢が30歳以下の人の、体重と身長の平均値を計算し表示する
1 N=10 2 FOR I=1 TO N: READ NA$,W,H,A:IF A<=30 THEN WA=WA+W: HA=HA+H: M=M+1:NEXT 3 IF M<>0 THEN PRINT "30歳以下の平均体重、身長:"; WA/M, HA/M 4 DATA (以下略)
お願いします。 N個のデータがエクセルで入力されている。OPEN文を用いて、最大値と 平均値を求めるプログラムをBASICで作成しなさい。 データはこんな感じで並んでいます。 2 4 6 8 9 3 1 7 5
エクセルがあるんならエクセルで計算しろよ
ぬるぽ
>>16 さんガッなの!
\___ ___/ ミ'' ''ヽ
V ミ ', - - ――
― ┼―ヽl ,、 l/ ミ;ヽ ミ ', ― \ /
〃")' ~´ヘヘ)"ヽ ミ; , l\ :: ', \ ,-、,-、/
- - ― !( ソノ八)ヽ) ソ '' :,ヽ\:: lヽ ̄―-('∀`;)―
- - ―――ヾl._゚ヮノ!. .-[/二──― -_C O)
>>6 (二====O===O三二=[!=!●二二二二==-○  ̄三二=−―
- - ――― ./ソ、j、iヾ. ヘゝ. -[\二── ̄ ,―ノ ̄ノ -
- - ―――~(_/ '-'~ ,,; ,''//:: .lノ ―┼( )― -
彡 'l/ :: ,' ― / /.:^⌒^ ゚ \丶
- - ――― ┼― 彡:;, ノ 彡 ,' -
彡 ,' - - ――
―― 彡,, ,,ノ
キーボードより入力したデータの中で最大値と最小値を求める プログラムを作成しなさい。0を入力した場合に終了
10 INPUT "C:>",KEY$ 20 IF KEY$="0" THEN END 30 NEW
N人分のデータ(氏名、体重、身長、年齢)がDATA文で入力されているプログラムが ある。これを用いて次のプログラムをBASICで作成しなさい 最も体重の軽い人の名前を表示する
110 N=5:DIM NA$(N) 120 FOR I = 1 TO N 130 READ NA$(I),W,H,A 140 PRINT "No.";I,"体重";W 150 NEXT 160 INPUT "一番体重の軽い番号を入力して下さい:", X 170 IF X <= 0 OR N < X THEN 160 180 PRINT "一番体重の軽い人は "; NA$(X); " です." 190 END 200 DATA "SUZUKI",67,150,15 210 DATA "SATOU",80,180,24 220 DATA "ITO",74,170,18 230 DATA "TANAKA",90,190,20 240 DATA "YAMADA",45,168,16
10 REM
>>21 20 PRINT "WAROTA"
22 GOTO 23
N人分のデータ(氏名、体重、身長、年齢)がDATA文で入力されているプログラムが ある。これを用いて次のプログラムをBASICで作成しなさい 体重が60kg以上で、身長が150cm未満の人の名前を表示する
N人分のデータ(氏名、住所、電話番号)がDATA文で入力されているプログラムが ある。 氏名を入力すると、住所と電話番号が表示されるプログラムをBASICで作成 しなさい
10 INPUT "氏名を入力して下さい"; NA$ 20 PRINT "個人情報保護の観点からお答えできません。ご了承下さい。" 30 END
10 INPUT "氏名を入力して下さい"; NA$ 20 PRINT "データに無い人の住所とか表示できません。" 30 PRINT "データにある人の住所だったらデータをそのまま読んだ方が早いです。" 40 END
N人分のデータ(氏名、体重、身長、年齢)がDATA文で入力されているプログラムが ある。これを用いて次のプログラムをBASICで作成しなさい 体重が60kg以上で、身長が150cm未満の人の名前を表示する
>>28 先生、作ったら、名前を表示された人が自殺しました。
デスノート型のPCで表示したお前が悪い。
31 :
デフォルトの名無しさん :2006/01/22(日) 17:22:19
奇数n*nの魔方陣をnを入力するだけで作るプログラムを誰か作って。
>>31 奇数×奇数の魔方陣の作り方
1. 上段の中央を1にする
2. 右上に次の数字を置いていく(最上段の上は最下段になる。)
3. 右上が埋まっていたら一つ下に次の数字を置く
4. 再び右上へと数字を埋めていく
5. 後は3,4の繰り返しで完成
それはわかるけどそれをどうやるかわからん。 二次元配列?
>>33 10 DIM A(99,99):INPUT "n";N:IF N MOD 2 = 0 THEN PRINT "( ´,_ゝ`)プッ":END
20 X=N\2+1:Y=1:FOR I=1TO N*N:A(Y,X)=I:X=(X+(I MOD N=0)) MOD N+1:Y=Y+(I MOD N<>0)*2+1-((Y-(I MOD N=0)*2-1)=0)*N:NEXT
30 FOR I=1TO N:FOR J=1TO N:PRINT A(I,J);:NEXT:PRINT:NEXT:END
それでやってみたけど
>>32 のやりかたじゃなくね?
できることは出来るけど
>>34 の原理がわかんね
できたよ!まじさんくす
37 :
デフォルトの名無しさん :2006/01/23(月) 01:42:52
>>37 テキストで打ち込め。
画像なんか一々見ていられるか。
お前の手下のいるスレじゃないんだ。
力を貸してくれる人に対して、閲覧の手間くらいは省こうという
気はないのか?
何でもかんでも、人任せにするんじゃない。
39 :
デフォルトの名無しさん :2006/01/23(月) 09:35:36
他力本願もここまでくると天晴れだなw
>>38 Basic課題9 (2005/11/24)
1.配列に以下の値を代入して以下の計算をしなさい。
111+112+113+114+115+116+117+118+119+120+121=?
配列に代入した値も表示する。プログラムと結果を提出する。
2.配列に適当な値(15〜19個ぐらい)を代入(読み込む)しその値を出力
する。総和、平均、標準偏差を求め出力しなさい。配列内の値を小さい
順に並べて出力しなさい。
Basic課題11(2005/12/08) 1.5行5列の行列[A]を作成し、値を表示しなさい。 行列に見えるように表示する。 データは「read文」を使用して代入する。 5行5列の行列[A]の転置行列を表示しなさい。 プログラムと結果を提出する。 2.2次元配列を使用して以下の計算をしなさい。 プログラムと結果を提出する。 (図は元の図を参照してください) ――――――――――――――→ 01 02 03 04 05 06 07 08 09 10|055 | 11 12 13 14 15 16 17 18 19 20|155 ↓ 21 : : 91 --------------------------- 460 470 ・・・ 550|5050↓
Basic課題12(2005/1/11) 問 以下の処理を1つのプログラムで記述します。プログラムは1つです。 1.5行5列の行列[A]にデータを入力し、表示しなさい。 データは不規則な値とする。 2.行列[A]の転置行列を行列[B]に代入し表示しなさい。 3.行列[A]+行列[B]の計算をして表示しなさい。 4.行列[A]−行列[B]の計算をして表示しなさい。 5.行列[A]*行列[B]の計算をして表示しなさい。 プログラムと結果を提出します。
秋田。あとよろしく
45 :
デフォルトの名無しさん :2006/01/23(月) 11:44:35
せめて どこまでできたのか、何が分からないのか、 を書けよ。 ほんとに全部まる投げか?
>>40 1
5 dim a$(1)
10 a$(0)=" 111+112+113+114+115+116+117+118+119+120+121=?"
20 print a$(0)
30 print 111+112+113+114+115+116+117+118+119+120+121
2
5 dim a$(1)
10 a$(0)="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
20 print a$(0)
30 print 0
40 print 0
50 print 0
60 print a$(0)
ごめんなさい・・・(;ω;) 全然わからないんです・・・orz (・ー・)オワッタナ・・・ 皆さん、ご迷惑をおかけして申し訳ございませんでした・・・(´つω-`)
N人分のデータ(氏名、住所、電話番号)がDATA文で入力されているプログラムが ある。 氏名を入力すると、住所と電話番号が表示されるプログラムをBASICで作成 しなさい
良スレハケーン Microsoft Visual Studio .NETなんですが よくある3×3マスの○×ゲームのソースをお願いできないでしょうか
>>49 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Debug.WriteLine("×|○|○")
Debug.WriteLine("--+--+--")
Debug.WriteLine("○|×| ")
Debug.WriteLine("--+--+--")
Debug.WriteLine(" | |×")
Debug.WriteLine("俺の勝ち")
End
End Sub
51 :
49 :2006/01/24(火) 01:29:11
52 :
デフォルトの名無しさん :2006/01/24(火) 11:32:45
宿題スレだろ?いじわるなやつばっかだなwってか、おまえらわからないんだろ?あ?俺はしらね
宿題ってのは自分でやるもんだ。
54 :
BASI :2006/01/25(水) 11:01:03
N人分のデータ(氏名、住所、電話番号)がDATA文で入力されているプログラムが ある。 氏名を入力すると、住所と電話番号が表示されるプログラムをBASICで作成 しなさい 期日が迫っているので、だれか早くこたえてくれ!!
問題は DATA 文が65536 行あるって点だな。
>>54 110 N=5
120 INPUT "氏名:";S$
130 FOR I=1 TO N
140 READ A$,B$,C$
150 IF S$="氏名" THEN PRINT "住所と電話番号":END
160 NEXT
170 END
180 DATA "鈴木","北海道","AAAA-BB-CCCC"
190 DATA "佐藤","埼玉県","DDD-EEE-FFFF"
200 DATA "伊藤","奈良県","GGG-HHH-IIII"
210 DATA "田中","福岡県","JJJJ-KK-LLLL"
220 DATA "山田","沖縄県","MMMM-NN-OOOO"
三角関数の値を0度から180度まで計算するプログラム を作成しなさい(FORーNEXTを用いて) ただし、R=3.14159/180とすると、sin(R*30)でsin30度の 値を求めることができる。 値を
>値を sin(R*30) = 0.499999616987256
59 :
デフォルトの名無しさん :2006/02/04(土) 19:21:23
プログラミングの勉強をしようと思って、インターネットを使っていろいろ試してみた。 それで最終的にTinyBASICに落ち着いた。 他にもVB.NET・ActiveBasic・REALbasicがあるのを知っている。 その中からTinyBASICを選んだ俺の選択は正しかったですか?
>>57 10 goto 20
20 for i=0 to 180:print sin(3.1415926535897932384626433832795028841971693993751/180*i):next
30 rem sin関数ってラジアンなんですか?
お願いします。 1.SQR(N)を用いて、2から10までの自然数について、 Nとその平方根を表示するプログラムつくれ ヒント:fo 〜 next 2.自然数Nを入力すると、 1+2+3・・・+Nを計算するプログラムつくれ 3.関数sin(X)とsin(180-x)の値を0度から180度まで 表示するプログラムつくれ
>>61 仕様の不明な部分については俺のエスパー能力で補完しといてやった。
100 ' 1.
110 FOR N=2 TO 10: PRINT N, SQR(N): NEXT
120 ' 2.
130 INPUT "N=";N: S=0: FOR I=1 TO N: S=S+I: NEXT: PRINT S, N*(N+1)/2
140 ' 3.
150 S=10: FOR D=0 TO 180 STEP S: PRINT D, SIN(D*3.14/180), SIN((180-D)*3.14/180): NEXT
63 :
61 :2006/02/07(火) 19:53:48
>>59 There are a lot of roads that can be chosen.
However, the aimed top is one.
ぬるぽ
_ ┌――─┴┴─――┐ │ セルフサービス .│ └―――┬┬─――┘ ││ ./ ゛゛'゛'゛ / / | \/ \ \ \ノ ガッ はセルフサービスになりました。 使用方法は以下のようになります ∧ ガッ< >_∧ = ()二)V`Д´)<ぬるぽ \ヽ ノ ) ノ(○´ノ (_ノ(__) 尚、使用方法を誤ると、最悪の場合、命を落とす危険性がございますので、 初めてご使用される方は、各都道府県に設置してある専門の窓口に相談下さい。 財団法人 全日本 ぬるぽガッ セルフ振興会
予約語ってなんですか?
使用が予約された言葉
TextSS のWindowsXP(Professional)64bit化おながいします もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?
70 :
デフォルトの名無しさん :2006/05/16(火) 23:29:02
Visual Basicで3つの数の最小公倍数を表示するプログラムをお願いします。
>>70 MsgBox "2, 3, 4の最小公倍数は12です。"
「3つの数の最小公倍数」のような数を列挙する時、 3 つの数が全て等しい場合なども考慮して良ければ自然数全体になるから、 1 から始めて 1 ずつ増やしながらコンピュータの限界まで数を表示し続ければ 良いでしょう。 もし異なるとすると厄介ですね。 一つの数が 1 でよいなら素数と素数の二乗を除いた全ての数になりますが、 これはちょっと難しいかも。 1 を許さないとするとかなり複雑になりますね。
四則演算の電卓を作るプログラムなんですけど、ここからわかりません。 ご指摘お願いします。 Dim a As Integer Dim b As Integer Dim c As Integer Dim d As Integer Dim e As Integer Dim f As Integer Dim g As Integer Dim h As Integer Dim i As Integer Dim j As Integer Dim tasu As Integer Dim hiku As Integer Dim kakeru As Integer Dim waru As Integer
-------------------------- Private Sub Command1_Click() Text1.Text = "0 End Sub -------------------------- Private Sub Command10_Click() Text1.Text = "9" End Sub -------------------------- Private Sub Command11_Click() a = Val(Text1.Text) b = Val(Text1.Text) c = Val(Text1.Text) d = Val(Text1.Text) e = Val(Text1.Text) f = Val(Text1.Text) g = Val(Text1.Text h = Val(Text1.Text i = Val(Text1.Text) j = Val(Text1.Text) Text1.Text = "" End Sub
-------------------------- Private Sub Command12_Click() tasu = Val(Text1.Text) hiku = Val(Text1.Text) kakeru = Val(Text1.Text) waru = Val(Text1.Text) Select Case Val(Text1.Text) Case 1 Select Case Val(Text1.Text) Case 1 tasu = tasu + a Text1.Text = tasu Case 2 tasu = tasu + b Text1.Text = tasu Case 3 tasu = tasu + c Text1.Text = tasu Case 4 tasu = tasu + d Text1.Text = tasu Case 5 tasu = tasu + e Text1.Text = tasu
Case 6 tasu = tasu + f Text1.Text = tasu Case 7 tasu = tasu + g Text1.Text = tasu Case 8 tasu = tasu + h Text1.Text = tasu Case Else tasu = tasu + i Text1.Text = tasu
77 :
70 :2006/05/19(金) 00:56:45
やはり難しいのでしょうかね 弟の高校の課題っぽいんですが、Cで作ったら全然違うとのこと 資料を送ってもらったらBASICっぽいのですが、BASICなんて分からないです… gcmとかlcmで一発で動いてくれるようなコマンドはないのでしょうかね…
79 :
デフォルトの名無しさん :2006/05/20(土) 11:13:57
>>78 誰も書いてくれないので難しいものなのかなと思いましたが
そんなわけないですよね。
まあ
>>72 は読んですぐスルーしましたけど。
一応Cで書くとこんな感じになると思うのですが これをVisualBasicに書き直すのがうまくいきません。 #include <stdio.h> int lcm(int x,int y,int z); main() { int a,b,c,d; printf("整数aを入力 "); scanf("%d",&a); printf("整数bを入力 "); scanf("%d",&b); printf("整数cを入力 "); scanf("%d",&c); d = lcm(a,b,c); printf("%d と %d と %d の最小公倍数は %d です。\n",a,b ,c,d); } int lcm(int x,int y,int z) { int answer; answer = x; while(1){ if(answer % y == 0 && answer % z == 0) break; answer += x; } return answer; }
>>80 残りのUI関係は自分でやっとくれ。
Function lcm(ByVal x As Integer, ByVal y As Integer, ByVal z As Integer) As Integer
Dim answer As Integer
answer = x
Do
If ((answer Mod y = 0) And (answer Mod z = 0)) Then Exit Do
answer = answer + x
Loop
lcm = answer
End Function
おまけ: ユークリッドの互除法を使った場合 Function gcd(ByVal a As Integer, ByVal b As Integer) As Integer Dim c As Integer Do While b <> 0 c = a Mod b a = b b = c Loop gcd = a End Function Function lcm(ByVal a As Integer, ByVal b As Integer) As Integer lcm = a * b / gcd(a, b) End Function Function lcm3(ByVal a As Integer, ByVal b As Integer, ByVal c As Integer) As Integer Dim d As Integer d = lcm(a, b) lcm3 = lcm(c, d) End Function
ピクチャーボックスにrgbを使って上から順に明るい色から暗い色の グラディエーションを表示するプログラムの作成お願いします。
嫌です。
86 :
デフォルトの名無しさん :2006/05/29(月) 20:32:36
好きな数字を入力して、その1部や全体が連続して居ないか調べて、 もしあればその部分を知らせるプログラムお願いしますm_ _m たとえば、
「2112」なら、1が連続してるので1を 「19529523」なら952が連続してるので952をといった風です すみません。切れましたorz
>>86 (仮称)十進BASIC
INPUT s$
LET m=LEN(s$)
FOR n=1 TO INT(m/2)
FOR i=1 TO m-n+1
IF s$(i:i+n-1) = s$(i+n:i+2*n-1) THEN
PRINT s$(i:i+n-1)
END IF
NEXT i
NEXT n
END
89 :
86 :2006/05/29(月) 23:02:07
プログラムに時間の間を与えるにはどうすればいいんでしょうか? たとえば実行してから1秒後に"1秒経過しました"と表示させる場合とか。
>>91 1 sleep(1000)
2 print "1秒経過しました"
94 :
91 :2006/06/17(土) 00:14:03
beep音て変えれないの?
BEEP音でPCM再生とか昔あったなぁ
98 :
デフォルトの名無しさん :2006/06/19(月) 01:55:56
a=FIX(RND(1)*10):b=FIX(RND(1)*10) c=a+b PRINT c のときのcの一桁目の数だけPRINTするにはどうすればいいんでしょうか? 文字列じゃないんでRIGHT$ではエラーになってしまいます・・・
>>98 PRINT (c MOD 10)
で出来るはず。
100 :
デフォルトの名無しさん :2006/06/21(水) 09:03:00
乱数を使用し、サイコロを千回振り、1から6までの出現率を求めるプログラムの作成 十進BASICで頼む10時まで…
101 :
デフォルトの名無しさん :2006/06/21(水) 09:11:18
180から470の範囲に入る乱数を発生させ、 250が発生したときに乱数の発生を止め、 範囲に入ったものの数、合計、平均、最大値、最小値を求めるプログラムの作成 これも頼む…
>>100-101 もう答えても遅いのか?
でも100はなんとなくわかるが、101の「180から470の乱数を発生」
がわからんかもしれん。
1000までの乱数で180〜470以外を無視する感じでいいんだろうか。
>>102 もう終わった…
中途半端な感じで提出してしまったが…
ちなみに
>>100 は
DIM A(6)
RANDOMIZE
FOR J=1 TO 1000
LET S=INT(RND*6)+1
IF S=1 THEN LET A(1)=A(1)+1
IF S=2 THEN LET A(2)=A(2)+1
IF S=3 THEN LET A(3)=A(3)+1
IF S=4 THEN LET A(4)=A(4)+1
IF S=5 THEN LET A(5)=A(5)+1
IF S=6 THEN LET A(6)=A(6)+1
NEXT J
FOR J=1 TO 6
PRINT J;" ";A(J)
NEXT J
END
で
>>101 は
DIM A(500)
LET N=1
RANDOMIZE
DO
LET P=INT(RND*500)
IF P=250 THEN EXIT DO
IF P>180 AND P<470 THEN
PRINT P;" ";
LET A(N)=P
LET N=N+1
LET S=S+P
END IF
LOOP
LET N=N-1
LET K=1
FOR J=2 TO N
IF A(J)>A(K) THEN LET K=J
NEXT J
LET MAX=A(K)
LET K=1
FOR J=2 TO N
IF A(J)<A(K) THEN LET K=J
NEXT J
LET MIN=A(K)
LET MEAN=S/N
PRINT "個数";N PRINT "合計";S PRINT "最大値";MAX PRINT "最小値";MIN PRINT "平均"; PRINT USING"#####.#":MEAN END らしい…分からんてorz
同じ行内で文字色を変えるにはどうすればいいんですか? たとえば PRINT "赤""青" の赤を赤色、青を青色にする感じです。 あー、ホントだれか頼むよ。
環境がわからんが、 PRINT "赤"; 表示色を変える処理(COLOR 7とか) PRINT "青" じゃ駄目?
>>107 それだと
赤
青
と表示されるけど、俺がしたいのは
赤青
と表示させるやつなのね…。
やっぱ無理なのかなー。
ちなみに俺の使ってるのは結構古い
ActiveBasic ver2.56です。
授業で配布されたヤツだしやっぱ新しいのにしようかなぁ…。
100 FOR I=0 TO 7 110 COLOR I: PRINT MID$("イロイッカイズツ",I*2+1,2); 120 NEXT I 130 PRINT 140 COLOR 7
110 :
107 :2006/06/24(土) 15:46:08
ActiveBasicってセミコロン無視されるの?"赤青"って1行にならない? ↓ココ PRINT "赤";
112 :
106 :2006/06/25(日) 08:22:00
>>110 セミコロンの正しい使い方を学んだ。
トンクス!
改行の入った文字列はどうやって読み込ませればいいんでしょうか? 例えば A$="Λ Λ" "(゚Д゚)" といった風です。 やはり変数を2つ使って2行に分けるしかないんですか?
>>113 10 A$="Λ Λ"+CHR$(13)+CHR$(10)+"(゚Д゚)"
20 PRINT A$
115 :
113 :2006/06/29(木) 17:52:39
>>114 ありがとうございました!助かりました!
変数の色の指定とかってできないんですか? A$=赤 みたいな感じです…
117 :
デフォルトの名無しさん :2006/07/04(火) 23:05:15
課題なんです。 何か動くのを作れってゆう課題なんです。 そこで、何かお願いします!
何で21世紀にもなってBASICの課題が存在してるの?
>>117 10 print "ばか ";
20 goto 10
とかで大丈夫かな?
120 :
117 :2006/07/04(火) 23:19:28
>>118 あるみたいです。
>>119 大丈夫じゃないですね・・・
関数をグラフィックにして簡単な動画を。
処理系も指定せずに関数をグラフィックにしてなんて言われてもな
>>121 117 は問題をあと5,6 回に分けて小出しにして来ると思うから、
しばらくは静観してた方がいいよ。
123 :
117 :2006/07/05(水) 00:12:28
処理系はおまかせするよ。 花火が打ちあがる様とかゴルフの球がカップに入るのとかを作ったりしてるヤシもいる。
124 :
117 :2006/07/05(水) 00:20:47
スマソ 処理系→(仮称)十進BASIC
125 :
117 :2006/07/05(水) 00:23:49
126 :
117 :2006/07/05(水) 18:17:17
誰かおながい
あと二個くらい条件が増えるのかなぁ……
128 :
117 :2006/07/05(水) 20:54:29
>>127 もう増えないです。
簡単なのでいいのでどうかおながいします・・・
じゃあ、処理系 FBASIC ね 10 symbol(rnd*10,rnd*10),"BAKA",10,10,rnd*7 20 goto 10 もう条件は増えないからこれでおしまいだね。
130 :
117 :2006/07/06(木) 02:36:11
(仮称)十進BASIC SET WINDOW 0,10,-1,10 SET POINT STYLE 4 LET t=0 LET dx=0 LET x=10 LET dt=0.0125 LET g=-9.8 LET f=1 DO WHILE t<10 LET t=t+dt LET ox=x LET odx=dx LET x=ox+odx*dt LET dx=odx+g*dt PRINT "x=";x;"dx=";dx CLEAR PLOT POINTS : t,x IF x<0 AND f=1 THEN LET f=0 LET dx=-0.6*dx END IF IF x>0 AND f=0 THEN LET f=1 loop END こんな感じのに手を加えてみてください。
>>127 の言ったとおりだな。次は「XX日までにお願いします」とかかな?
basicでクイズゲームみたいなの作りたいんですけど、 input文を使いつつ時間制限を設けるにはどうすれば? inputが入ると(入力画面になると)そこで命令がとまってしまうわけですが、 やはりbasicでは無理でしょうか?
on time gosub が使える BASIC があると思うので、その BASIC を使いなさい。
134 :
デフォルトの名無しさん :2006/07/09(日) 18:31:48
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 ではリピートに間ができてしまいます… なんとかならないでしょうか?
137 :
名無しさん :2006/07/23(日) 13:55:30
各桁の数字に、桁数乗したものの和が、 元の数字になるものを求める。こんなものをBASICで書いてもらえませんでしょうか?? 1^3+5^3+3^3=153(←こんなようなの) よろしくお願いします!!
誰かおながい
>>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
>>139 ありがとうございます!
桁数を自分で指定して計算させられるようにできませんでしょうか??
3桁以外も計算してみたいので。。。
わがままいって申し訳ございません・・・
よろしくお願いします!
>>139 これだと、なんか余計なものまで表示されてるな。。。
>>137 の言っているのは、
370とか、407みたいな、3桁の数の時はそれぞれの桁の数を3乗するってことだろ??
370=3^3+7^3+0^3とか。
ってことは
>>139 だとちょっと余分なものまで表示されてるぞ。
ベキ乗の指数を桁数に合わせるなら 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ったって色々あるし、処理系によって文法も違うんだから。
>>143 さん
ありがとうございます!
すみません。処理系を書くのをわすれていました。
当方は、UBASICを使用しておりまして、少し十進BASICとは異なるようです。。。
もしお時間がございましたら、そちらでも書いていただけたら幸いです。
>>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はどうか知らんが、これで大抵の処理系で実行できるだろう。
147 :
デフォルトの名無しさん :2006/08/03(木) 18:39:50
Format関数で通貨記号付きで、3桁ごとのカンマ区切り、且つ小数点以下切捨てで変数を出力する、Format関数を書け VisualBasicの課題でこれだけわからないのでお願いします。
SQL文なら
>>1 は、こんな感じ。
SELECT [Name] FROM DataTable WHERE [Height] >= 160 AND [Height] < 170
あとは 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
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 こんな感じ
同じ様なデータに番号つけて扱うのが配列。 例えば a という配列があったとしたら a の 1 番目の要素は a(1) a の 2 番目の要素は a(2) a の 3 番目の要素は a(3) って感じ。 で、ここからポイント。 ★配列の何番目を使いたいかを示す番号(添字という)★ ★には、変数を使うことが出来る。。。★ 例えば a1, a2, a3 という変数を作って d 番目の変数を使いたいからって ad なんてやってもそれは別の変数になってしまう。 ところが配列の場合は a(d) と書けば「a という配列の d 番目」を使える。 dim 命令はそんな配列を使うために使うのさ。
>>151 サンクス!そのままだと構文エラー出まくるんで何とか意味理解してみる…
>>152 なるほど…配列からバラバラに引き出せるとはなんと便利な…
>>151-152 出来ました!
配列使うとホントに無駄が無いんですね…ありがとうございました!
>>154 考え方が逆でして、今回は無駄があるところを配列を使って纏められただけです
なので有効性を考えずに配列を使うのはバカの一つ覚えになりますぉ
157 :
デフォルトの名無しさん :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です。
↑ ありがとうありがとうありがとう ほんまありがとう めちゃ助かった!!!
VB.netについてです。 ボタン1を押すと”別ウィンドウに”グラフが描画されるようにしたいのですが、どなたか御教授ください。 Form1にはボタンがあって、それを押すと別のフォームが出現して、そこにあるpictureBoxにグラフが出力できるようにしたいのです。
161 :
デフォルトの名無しさん :2006/11/10(金) 16:01:33
F-BASICのエラーなんですが ビルド方法が指定されていません。 て出るんですけどどうすれば解決されるんでしょうか
162 :
なぽ :2006/11/29(水) 04:55:15
4行4列の行列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
>>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
>>166 ありがとうございます!
助かりました。
168 :
何卒よろしくお願いします :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
>>168 tatalとはなでふおどろおどろしきこと哉
170 :
デフォルトの名無しさん :2006/12/06(水) 12:54:45
>>169 すいません、言ってる事がわかりません><
> 何処か写し間違えがあるかもしれませんが > tatal=total+arari > tatal=total+arari > tatal=total+arari
172 :
デフォルトの名無しさん :2006/12/07(木) 09:53:38
>>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 :
デフォルトの名無しさん :2006/12/08(金) 01:53:23
プログラミング自体全然分かってないです(>_<) それでも課題はやらなきゃいけない・・・・ 誰か助けてください その@ 『入力された3桁の自然数aに対し、aの一の位、十の位、 百の位の和Sと、Sを3で割ったときの余りを表示する プログラムを作れ』 そのA 『自然数nに対し、n以外の正の約数の和がnに等しいと き、nを完全数という。10,000以下の全ての完全数を、 プログラムを作って求めよ』 教えてくださいお願いします!!
175 :
Nw :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刻みとする) 自分でやるべきなのですが、分からなくて・・ 早急に解答が欲しいのですが、教えて頂ける方がおられましたら どうか宜しくお願いします
>>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
>そのA
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
>>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 :
デフォルトの名無しさん :2006/12/10(日) 00:07:39
xの値が-2〜2変化したときの、関数f(x)=sin(1/x)のグラフと、 xの値が0〜4変化したときの、関数f(x)=cos(x^2)のグラフを描く プログラムを教えてください。どうかお願いします。
>>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 :
デフォルトの名無しさん :2006/12/10(日) 15:14:22
>>180 やってもらった後で大変申し訳無いんですが、
N88互換BASICで出来るものをお願いします。
書き忘れててすいません。
>>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 :
デフォルトの名無しさん :2006/12/10(日) 18:00:28
>>182 psetやlineを使わないといけないみたいなんです。
たびたびで本当に申し訳無いんですが、
どうかお願いします。
>>183 条件は最初に全部書け
て言うかもう問題文全部そのまま晒せ
185 :
デフォルトの名無しさん :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についてです。
>>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
>>186 何度もご迷惑をおかけしました・・・
ありがとうございます。
188 :
デフォルトの名無しさん :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次方程式を解きなさい。 値は自作する。 どうかよろしくお願いします!
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
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 ←対角線の和 ↑ 列の和 どうしてもわかりません・・・ どうか宜しくお願いします。
193 :
デフォルトの名無しさん :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
>>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 のマス目から外れていれば
補正するようにした方が良い。
>>194 できました!
アドバイスありがとうございます。
196 :
デフォルトの名無しさん :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という計算結果にすることができません。 どなたかお願いします。
>196 =を選んだ時点でStringに入れていて そのまま計算を続行してるからですよ 計算処理時は計算対象が何の変数に入っているのか 解るようにしておきましょう
198 :
デフォルトの名無しさん :2006/12/27(水) 16:15:19
>>197 出来ました!
これで提出できます。
本当にありがとうございました!!
199 :
デフォルトの名無しさん :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
201 :
200 :2007/01/06(土) 22:04:49
計算法的なやりかたとしては、f(x) = tan(x)-c/xとおいて,f(x)を微分し,f'(x)=g(x) = 1/cos(x)2+c/x2とお くと思います。 よろしくおねがいします。
>>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 :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」と書くのでしょうか?。
204 :
200 :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で正しいのでしょうか?。
206 :
デフォルトの名無しさん :2007/01/17(水) 05:11:57
正月早々に近所の創価学会員一家が夜逃げしたことがわかりました。この夜逃げは私の住む地域で騒ぎになりました。
創価学会の人たちが「あの一家は信心が無かった」と宣伝して回っていますが真っ赤な嘘です。近所ではよく知られた熱心な信者でした。
羽振りの良い時期にはおだて上げて散々使いまわして、いざ破綻になれば他人事で切り捨てる。
創価学会というのは冷酷な組織だということがつくづくわかりました。
追記 アムウェイやスリムドカン等の代理店をやっていた時期もあったそうです。
http://money4.2ch.net/test/read.cgi/manage/1158633593/
208 :
デフォルトの名無しさん :2007/01/23(火) 23:44:57
xの値を0度〜360度、刻み10度で変化したときの、 関数f(x)=sin(x)、f(x)=cos(x)のグラフを作成しなさい。 (1つの画面に2つのグラフを描く、演算子はlocate、line、circle、psetのみ) よろしくお願いします!!><
>演算子はlocate、line、circle、psetのみ 難しすぎて出来ません!!><
210 :
208 :2007/01/24(水) 00:28:59
>>209 あっ!図形を描くために使う演算子がlocate、line、circle、psetのみであって
for文とか四則演算子も使えます!よろしくお願いします!!
211 :
デフォルトの名無しさん :2007/01/24(水) 01:14:01
>図形を描くために使う演算子がlocate、line、circle、psetのみ 難しすぎて出来ません!!><
漸化式の計算ってどうすんの?
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
十進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
218 :
デフォルトの名無しさん :2007/01/27(土) 00:07:17
>>215 あっそうでした。ありがとうございました。
>>216 これで良さそうです。ありがとうございました。
219 :
デフォルトの名無しさん :2007/01/27(土) 00:13:47
度々すみません。 前のプログラムを応用して、別のプログラムを作ったのですが、 tanx=c/xを計算する部分の組み込みがうまくいかず、どうしても計算結果が違ってしまいます。 お願いするばかりで恐縮なのですが、どうぞよろしくご教授ください。
220 :
219 :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
221 :
217 :2007/01/27(土) 01:57:24
問題点がわかりました。 級数の数を決定するステップでFor文を使用してしまった為に、 tanx=c/xがちゃんと計算できてないだけでした。 しかし、For文の他に何度も計算させるコマンドがわかりません。 どうしたら良いでしょうか?。
222 :
デフォルトの名無しさん :2007/01/27(土) 01:59:14
IF と GOTO 使え。 それが基本(w
DO LOOP DO WHILE LOOP WHILE LOOP UNTIL などたくさんある
224 :
217 :2007/01/27(土) 02:25:51
>>222 >>223 アドバイスありがとうございました。
自分で調べてやってみましたが、どうもまだ違うようです。
どこを間違えたのでしょうか?。
また手直しをしてください。お願いします。 ↓
225 :
217 :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
>>225 何をしたいのかよくわからんな。
ニュートン法か?
計算の元になる文献かPDFへのリンクを貼ってくれないか?
こういうエラーは文法エラーではなく論理エラーと言う物で、
文法的には誤りがないため、元の文献を参照できないと
どこが間違っているのかわからない。
まあ多分 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 :2007/01/27(土) 04:37:29
>>226 ニュートン法の部分に関しましては、
高校数学の窓というページの質問番号1126を参照して作りました。
他の部分につきましては、申し訳ないのですが、リンクがありません。
229 :
217 :2007/01/27(土) 05:27:18
230 :
217 :2007/01/27(土) 05:40:41
そうじゃなくって、
>>225 のどこが間違ってるのかって
こっちが聞きたいって意味。式の意味が全然把握できないから。
それがわからない以上、誰も答えられないでしょう。
232 :
217 :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()にかけられてないみたいなのです。
どこを間違えてしまったのか、この説明でわかるでしょうか?。
教えてください。
よろしくお願いします。
233 :
217 :2007/01/28(日) 14:27:05
tanx=c/xの部分は、カウンターを組み込むことでクリアできました。 しかし、Sの計算でつまづいてしまいました。 t=1から1000までの間、Sの値が変化しないのです。 何故でしょうか?。 どなたか教えてください。
234 :
デフォルトの名無しさん :2007/01/30(火) 12:01:21
ニュートン法を教えてください
>>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 :
デフォルトの名無しさん :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 このプログラムはどのような物か教えてください。 どの命令がどのような意味を持っているのか分からないのでお願いします。
238 :
デフォルトの名無しさん :2007/02/18(日) 11:52:37
サイコロをK回振ったとする。100回振ったとき、それぞれの目が出た回数をコンピュータでシュミレーションせよ。横軸に出た目、縦軸に出た回数をプロットし、折れ線グラフをかけ。 どうやって解けばいいでしようか どなたかお願いします
>>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
241 :
デフォルトの名無しさん :2007/02/25(日) 18:31:08
簡単な自分の好きなゲームを2つ作りなさい。 ただし数当てゲームは無しとする。 どうしたらいいか全くわかりません! どなたか助けていただけないでしょうか? 今週の水曜日までなので…
>>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
>>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
ありがとうございます! おかげさまでとても助かりました!
統計の平均と標準偏差をポケコン(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数が分かっていない場合に、 分散ってどうやって計算したらよい? 出来ればデータを入力するたびに平均、標準偏差を出力したい。 エレガントな必要は全く無いので、よろしく頼みます。
分散は平均値がわからないと出せないんじゃないの? だから各データを配列変数とかにこっそりしまっておくのがいいとおもう
それについては 各データの自乗の総和から平均の自乗のN倍を引けば良いんじゃないかと・・・? (Di-M)^2を変形して出来ない?
>出来ればデータを入力するたびに平均、標準偏差を出力したい。 これをどう解釈するかだな
Dの自乗の総和を変数SUM2(?)としといて 35 SUM2=SUM2+D^2 45 V=(SUM2-M^2)/N 46 S=SQR V 55 PRINT S ダメ?
250 :
245 :2007/03/24(土) 10:56:42
>>246 配列のプログラム書けないんだ
_
ミ ∠_)
/
/ \\
ウイーン Γ/了 | |
ウイーン |.@| | | ガッガッガッ
| / | . 人
|/ | < >_Λ∩
>>245 _/ | //. V`Д´)/
(_フ彡 /
>>250 書く気が無いの?それとも実現できないの?
ポケコンって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 配列の構文を知らない
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
N = 標本数 T = 総和 S = 平方和 X = 変数 M = 平均 V = 分散 D = 標準偏差
あげ
257 :
デフォルトの名無しさん :2007/09/18(火) 15:28:04
age
258 :
デフォルトの名無しさん :2007/10/03(水) 19:57:36
寿司食いたいフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフ
えーとDIMとFOR~NEXTで繰り返しのたびに順々に数値を読んでくやつ教えてくれ。 テストに出たが忘れた・・・
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]の計算をして表示しなさい。 プログラムと結果を提出します どうしてもわかりません… お願いします。
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
訂正 社員でなく学生です
問題12 xの値を0〜360度、10度刻みで変化したときの、関数f(x)=sin(x)、f(x)=cos(x)のグラフを同画面上に描きなさい。 N88互換BASICでよろしくお願いします。
>>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
268 :
デフォルトの名無しさん :2008/01/29(火) 15:53:57
269 :
デフォルトの名無しさん :2008/01/29(火) 23:57:59
国旗(何でもよし。でもちょっとだけ手間かかるほうがいいかも)2つ書くプログラミングと、 簡単なゲームのプログラミング(それか実行押すと絵が変わるのとかの)どなたかお願いします!! 単位かかってて切実です・・・ お願いします!
>>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 はライントレーサーです お願いします
>>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
>>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
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))) です。すみません
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))
おっとっと、最後のが間違ってる。 B = 1/2 + 1/2 * B(n-1) → B = 1/2 + 1/2 * Sqr(B(n-1))
281 :
デフォルトの名無しさん :2008/02/08(金) 05:38:39
いや、このスレは漏れが課題を貰うためのスレだし。
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になるまで、計算処理回数が最も多い値を求めるにはどう すれば良いのでしょうか? 分からなくて困ってしまってます・・・ お願いします。
>>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
>>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
充足問題を解くのか 動的計画法でいいんかな 微妙に単調増加っぽいけど忘れた
質問しつれいします。 素数のリストを、有限の自然数N以下に限定しないで次々に書き出す プログラムを書きたいのですが、どのようにすればいいのでしょうか? Nを限定した時はDIMを使えば出来たのですが、上のような時はどうすればいいのか。 記憶容量は無視していいそうです。 どなたか回答お願いします。
>>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
メッセージの定義されていないエラーです。 行番号:130 と出て、71までの素数しか表示されないのですが・・・ せっかく答えていただいたのに文句言ってすいません。 どこを改良すればいいのでしょうか?
>>292 >記憶容量は無視していいそうです。
無限に大きい配列を用意すればいい。
>無限に大きい配列を用意すればいい。 どうすればいいんでしょうか?
>>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
できました! これで単位落とさなくてすみそうです。 本当にありがとうございました。
できた、じゃなくてやってもらった、だろ。
300 :
学生 :2008/07/02(水) 14:07:14
プログラミングの授業でsin30°の値を出したときに0.499999616987256という値が出てきたのですが・・・ 普通だったら0.5だがなぜこの値になったのか理由を示せといわれました。 自分には全然わからなかったので是非教えていただきたいのですが、 よろしいでしょうか?
大卒ニートによる回答 結論から言うと、計算時に誤差が発生しているから。 おそらくπが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でないのか?) 可能性があるとしたら何かありませんか?
誤差以外に思い当たることはないなぁ。 処理系によって実装の仕方が違うと思うし、どの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の宿題がある事を今知りました
コラコラ、普通科でも数学で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 な感じでもできるっちゃできるんですけど アスキーコード?使ってできないですかね。 さっきベーシックはじめて触って苦戦してます。 教えていただきたいです。お願いいたします〜。
>>308 for x=&f7a to &h61 step -1 ってできなかったっけ?
310 :
デフォルトの名無しさん :2008/07/14(月) 01:06:15
>>309 あ、できましたっ
ありがとうございました!w
等差数列のプログラムがうまくいかないので、御伝授下さい。 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
>>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
>>312 ありがとうございます。
助かりました。
314 :
デフォルトの名無しさん :2008/07/24(木) 16:28:20
C言語をBASICに翻訳するソフトをどこで手に入るか教えてください
いやいや、まずないと思うし 万が一あったとしてもBASICとして読んでもわからないプログラムに変換されてるだろ
まあ今時BASICなんて方言だらけだし Cと互換性のあるBASICを自分で作っちゃえばいいんじゃね?
Cでマクロを使え #define if(x) IF (x) THEN #fefine for(x) FOR _Bas=1 TO x とか
むしろアセンブラからBASICのpeek pokeに変換すればいいんでね?
321 :
245 :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・この考え方にしたがってプログラムを作成し、πの近似値を計算せよ。 丸投げで悪いと思ってるんだ…でも自分じゃチンプンカンプンでさっぱりでした。 誰かわかる人頼みます。。。
>>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
>>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
>>327 ちなみにそれを実行するのに必要なのはどれですか?
Tiny Basicと仮称(十進)Basicじゃエラーになるけど・・・
>>329 N88-BASICか、99BASICならいくんじゃない?
試してないけど
>>327 スクリーンモードはいったいいくつなのよ
>>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で作れって書いてあります さっぱりわからないです…お願いします。。
>>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
自然数k,p,qについて k=mp+nq(m,nは「0以上の整数」)を満たす(m,n)の組の数をv(k)とするとき p=3, q=7, kが1から100までのときの結果vの一覧を出力したいです どのように書いたらいいですか?
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
勝手に仕様を変更しないでください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ヶ所をこのように変更するだけ
v$(k)の有効な要素数ってsize(v$(k))みたいな方法で取れないのかな
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
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次方程式の解き方 だけでもいいので教えてください。
>>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個と右にいろいろ出ました
それは本気で言ってるのか? 計算ループの終了条件に使われてるんだから、消して良いわけないだろ。
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の間のことです
いまだに BASIC の宿題ってポケコン?
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 をファイルに出力するって出来なかったのかぁ。
ファイルに文字列で CHA$(00) を混ぜて出力できた。
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を求めるプログラムに書き換えなさい。 また、そのように改変した理由も述べよ。 この問題、わかる人いますか?;;
低脳
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 では 解けないかもな
すみません 問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
>
となります。
↑スレタイ読めバカ
BASIC最近さわってねーから 「M個のデータのうち、その2番目の小さいデータと同じデータの個数を求める」関数って無かったっけ? それがあれば f=「 M個のデータのうち、その2番目の小さいデータと同じデータの個数を求める」 っておいて M個のデータ→f→2番目の小さいデータと同じデータの個数 になるんだけど
@M個のデータの全部を検索して一番小さいデータの値を求める。 AM個のデータの全部を検索して二番目に小さいデータの値を求める。 BM個のデータの全部を検索して二番目に小さいデータの個数を求める。 もっと効率の良いアルゴリズムがあるのかもしれん
379 :
デフォルトの名無しさん :2009/07/30(木) 12:41:36
basicって今時文法を覚えてる人いないよね
BASICの文法っても、10個ほどのコマンドを覚えるだけだから.... 関数なんかはそのつど取説を参照するし
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元の連立方程式を実際に解いてみよ。
またこのプログラムで計算できない連立方程式の例を与え,その理由を述べよ。
わかる方、お願いします!!
とりあえず解けるかどうかは実行してみればいいとして 不能解か多重解か作ればいいの? 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に何か値を適当に入れるんですか?
>>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つの出現回数を都度数えておけば良い。
メリットは自分で考えてくれ。
>>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
str は 古き懐かし BASIC (VisualじゃないBASIC) のころからあった関数だよな。 過去との互換性のために残してある、ってのが本音なんじゃないかな。 Str と Cstr の違いは、ヒント:先頭1文字目に違いがある。あとはマニュアルを読めカス!
DEF FNCSTR$(A!) = MID$(STR$(A!), 2+(A!<0)) こんな感じだっけ・・・うろ覚え
393 :
デフォルトの名無しさん :2009/08/26(水) 21:19:54
十進BASICでのコンビネーションの計算をお願いします!!
394 :
デフォルトの名無しさん :2009/09/03(木) 10:47:52
BASIC繁栄時代があったらしい
395 :
デフォルトの名無しさん :2009/09/04(金) 18:54:18
変数名.N$ って、何を指したっけ?
$は文字変数を意味する。
397 :
デフォルトの名無しさん :2009/09/05(土) 19:40:10
398 :
デフォルトの名無しさん :2009/09/23(水) 12:28:54
なあ、セーブ機能付きレジ打ちのプログラム打ちたいんだが お前らならどんなプログラム打つ?
お前はプログラミングに向いてない
400 :
デフォルトの名無しさん :2009/09/23(水) 16:38:53
できたらやってあげたいがな…
>>398 テストの前日になって質問ですかw
とりあえず学校こなくていいよ
覆面算 ルール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
@subを用いて2つの分母の異なった(2/3+5/7など)分数の和を計算するプログラムを作成せよ。 実行結果は約分すること A Functionを用いてヘロンの公式を実装せよ。 三辺の長さから3角形の面積を求める ただし、3編の長さより三角形が成立しない場合は、除外する仕様とせよ
404 :
デフォルトの名無しさん :2009/10/03(土) 17:34:27
age
subとかFunctionなんてBASICにあったっけ VBならしね
>>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
面積0なら三角形じゃないだろうという本質ではないとこに突っ込んでみる
408 :
デフォルトの名無しさん :2009/10/03(土) 22:48:57
そうっすね
本質的なところを突っ込んでください。
>>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件
. 4. Forth. Wwwww
懐かしくてMindのサイト行ってみたけど 4番人気にしては寂しい状態だなw 正確にはForthじゃないけどw
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
ステップ実行しろ
417 :
デフォルトの名無しさん :2009/10/07(水) 17:54:29
418 :
デフォルトの名無しさん :2009/10/07(水) 18:42:17
BASIC以前の問題だな
VBってホント、ソースが醜いねぇ〜w
↑ { } 中カッコが無いとプログラミングできないひと?
いいえ、行番号が無いとプログラミングできないひとです。
いいえ、APIがないとプログラミングができないイキモノです(大爆笑)
(核)
425 :
デフォルトの名無しさん :2009/10/08(木) 09:27:39
お前ら解答出来ないなら喋んなよ
なんだ回答でてんじゃん
>>425 そこまでロジック組めるなら、今度はデバックの仕方を学ぶべきだ
つか、
>>415 な汚いソースなんか誰も追う気にはなれない
>>415 > プログラムは以下の通りなんだけど、周期の長さが80以上になるような場合だと正常に動作してくれない…
"期待する正常動作、実際の動作"が不明だが、エスパーしてみると、数列の数値が大きすぎてオーバーフローしてると思われ。
周期80なら連続する2数値は、↓のはず。
8670007398507948658051921, 14028366653498915298923761
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件)+
だから何だと?
少数派では不安と考えるか、多数いると買い叩かれると考えるかで変わってくるんでは?
50人のクラス(男子35人)から5人の委員をランダムに選ぶ。このとき選ばれた委員の中に男3人、女2人が入る確率をBASICで求めよ。 すいません、さっぱりわからないので教えてください。
>>434 まず、数学で問題をときます。
次にPC8801を起動してディスクを入れてリセットします。
BASICが起動したらautoと打ってリターン。
あとはBASICでプログラムを入力し
F5を押します
>>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
普通に公式使って解けばいいじゃん
439 :
デフォルトの名無しさん :2010/06/02(水) 00:30:00
>>437 それじゃ同じ人間が複数回選ばれかねないんじゃないか?
440 :
デフォルトの名無しさん :2010/06/06(日) 15:38:07
BASIC/98についてお願いします。 以下の課題が明日提出で困っています。 以下のプログラムを円グラフで作れという問題です。 100 '棒グラフ 110 SCREEN 3 : CONSOLE 0,25,0,1 : CLS 3 120 DIM TBL(12),XB(12) 130 FOR J=1 TO 12 : READ TBL(J) : NEXT J 140 DATA 3,6,10,13,16,20,15,11,8,7,4,2 150 GOSUB *BOU : ' 棒グラフ 160 END 170 *BOU 180 N=12 : 'データ数 190 K=5 : '等分数 200 DM=20 : 'データの最大値 210 BX=90 : BY=320 : '原点座標 (0点の位置) 220 XL=420 : YL=300 : '横軸 (X) , 横軸 (Y) の最大の長さ 230 XH=XL/N : 'X軸の目盛り幅 240 YH=YL/DM : 'Y軸の目盛り幅 250 YK=YH : 'Y軸の1目盛り当たりの縮尺係数
441 :
デフォルトの名無しさん :2010/06/06(日) 15:39:35
続き 260 XA=XH/4 : '棒グラフの幅 270 ' *** 横線 *** 280 FOR J=0 TO DM STEP K 290 LINE(BX,BY-YH*J)-(BX+XL+XH,BY-YH*J) 300 NEXT J 310 ' *** 縦線 *** 320 FOR J=0 TO N+1 330 IF (J=0 OR J=N+1) THEN LINE(BX+XH*J,BY)-(BX+XH*J,BY-YL):GOTO 360 340 XB(J)=BX+XH*J 350 NEXT J 360 ' *** 横軸 *** 370 LOCATE 15,21:PRINT "0 1- 10- 20- 30- 40- 50- 60- 70- 80- 90- " 380 LOCATE 16,22:PRINT " 9 19 29 39 49 59 69 79 89 99 100 " 390 LOCATE 30,23 : PRINT "点 数" 400 ' *** 縦軸 *** 410 LOCATE 5,20 : PRINT " 0" 420 LOCATE 5,15 : PRINT "数 5" 430 LOCATE 5,10 : PRINT " 10" 440 LOCATE 5, 5 : PRINT "人 15" 450 LOCATE 5, 1 : PRINT " 20" 460 ' *** 棒グラフを引く *** 470 FOR J=1 TO N 480 X1=XB(J)-XA 490 X2=XB(J)+XA 500 Y1=BY-TBL(J)*YL 510 LINE(X1,Y1)-(X2,BY-1),4,BF 520 NEXT J 530 RETURN
442 :
デフォルトの名無しさん :2010/06/06(日) 17:57:00
輝け甲子園の星(2010早春号)より 選抜高校野球選手権大会出場選手「好きなタレント」アンケート 1位 北川景子 49票 2位 上戸 彩 24票 3位 香里奈 23票 4位 佐々木希 22票 5位 松本人志 18票 6位 新垣結衣 17票 7位 南 明奈 黒木メイサ 15票 9位 木下優樹奈 12票 10位 市川由衣 11票 11位 EXILE 10票 12位 ダウンタウン 相武紗季 9票 14位 宮崎あおい 8票 15位 柴咲コウ 戸田恵梨香 井上真央 コトリッチ 7票
「BASICの宿題」 って、普通科の高校ではないよね。 みんな、職業科の高校生? それとも専門学校生か何かなの?
BASICは長い間10進BASICしか使った事がないなあ
>>440 たしかにN88とかだと扇形が描きやすいのかもしれない
446 :
デフォルトの名無しさん :2010/06/12(土) 01:34:44
宿題、ではないんですが 一次不定方程式、例えば12x+18y=6のxとyを求めるプログラムをユークリッドの互除法を使って 作成してください。 よろしくお願いします。
>>446 ユークリッドの互除法については理解出来ているの??
10進BASICで高次方程式の解を二分法で求めるプログラム作成をお願いします。
フリーソフトの「N88互換BASIC」 ってWindows でも使えるからすごく便利だと思うけど、 使っている人はどのぐらいいるの?
>>449 使ってる人の数が知りたい理由を50時で述べよ
>>450 50時では無理。50字なら可能。
メジャーなプログラム言語であれば、配布や意見交換で好都合なので、
マスターする価値が大きいから。 (以上、句読点を含めて47字。)
N88互換BASICは昔のプログラムのための再生プレーヤーなんじゃないの。 これで新規にプログラムをかくとは思えん。
エミュでいいじゃん
>>452 >N88互換BASICは昔のプログラムのための再生プレーヤーなんじゃないの。
違うよ。 完全互換じゃないから、再生プレーヤーにはならないよ。
数学の高度な計算をするときや、複雑なグラフの概形を知りたい時などの最高のツールだよ!
10進BASICでいいじゃん 俺はグラフ描かせたい時はあれかDelphiばかり使ってる
>>454 うーん。本当にN88互換BASICで新規にプログラムかいているんですか?
すごく遅いという記憶しかないのですが。
エクセルかgnuplotで十分だろ
>>459 使用言語:J
f=:dyad define
c=.'*'
c,.(c,(((x, y)-2)$'_'),c),.c
)
4 f 7
*******
*_____*
*_____*
*******
初書き込みの新参者です。どうぞよろしくお願いします。 P(x,y,z),RGB(x,y,z):x,y,z=0-255からなる立方体を描画するプログラムを作成しております。 (要するに色立体です) @x,y,z軸で自由に回転させる機能をつけたい A陰線消去して、Z値が仮想の点は描画しないようにしたい BZ値を指定して、特定断層のみを描画したい C描画速度を向上させる方法(構文的に)を知りたい 自分で作ったやつは、いろいろとイマイチ(特に描画速度)で困っています・・・。
461 :
デフォルトの名無しさん :2010/08/13(金) 20:34:58
Xc=width/2 '表示母体のX中心 Yc=hight/2 '表示母体のY中心 Zmin=0 'Zmin以下の層を描画しない(処理減少目的) Zmax=255 'Zmax以上の層を描画しない(断層表示目的) For x=0 to 255 For y=0 to 255 For z=0 to 255 Z=z IF Z>=Zmin Z<=Zmax then X=10*(x-128)+Xc Y=10*(y-128)+Yc PSET(X,Y),RGB(x,y,z) Endif Next z Next y Next x Z値の範囲を指定して処理軽減を狙っていますが、それでもかなり描画が遅いです。 X,Y,Zを操作することで、立方体の回転もできると思っています。 効果的な方法が知りたいです。
オイラー座標ではなくて四元数使った方がいいんじゃないの? 四元数は複素数の拡張として知られ、複素数はガウス平面上の 二次元物体の挙動を表すのに用いられたが、四元数のそれは三次元の 物体の回転に対応しており、例えば乗法の交換法則が成り立たないが、 これは三次元の物体を経度方向に動かしてから緯度方向に動かしたのと、 経度方向に動かしてから経度方向に動かした結果が異なる事に対応している
×経度方向に動かしてから経度方向に動かした結果が ○緯度方向に動かしてから経度方向に動かした結果が
今のところ、回転はx,y,z軸回り回転行列で処理させています。(これをオイラー角というのでしょうか?) クォータニオン(四元数)は、複素数での平面回転を、立体回転に拡張したようなものでしょうか? 勉強してみたいと思います。 ただ、同じ(X,Y)座標の時に、Z値がより表層の場合に描画し、Z値がより下層場合には描画しないという、 陰線処理のルーチンが上手くいきません。 いい処理方法はないでしょうか?
処理が煩雑で、処理速度が遅いのが悩みの種です。 配列とか、オブジェクト指向にして上手くまとめる方法はないでしょうか?
467 :
デフォルトの名無しさん :2010/08/14(土) 20:46:00
すいません初歩的な質問なんですがVisual Basic2008で 給料明細を確認するプログラムを作りたいと思っていまして、いきなり躓いているので誰か助けてください^^; 時間などを入力するTextBoxをつくり、総給料を出すときに時給×時間で表示させたいんですが、 総給料のTextboxにはどうやってコードを書けばよいのでしょうか、色々やってみたのですが何も反応しなくて・・・ 超初心者質問ですいませんがよろしくおねがいします。
468 :
デフォルトの名無しさん :2010/08/14(土) 21:27:45
すいません↑のものです。 質問を変えます。 TextChagedイベントでやっていたのですが、反応せずClickイベントではちゃんと値がでました。 でも毎回クリックしていては面倒くさいプログラミングソフトになってしまうので どういったイベントで行えば、時給と時間を入力したあとすぐに総給料を計算して総給料のtextに入力しますか? ちなみに総給料のコードは TextBox93.Text = Double.Parse(TextBox4.Text) * Double.Parse(TextBox3.Text) です。
>>466 亀レスすまんが・・・
なぜ、色立体をボリュームレンダリング(全ボクセルを描画)する?
立方体は最外面しか表示されないんだから、
サーフェースレンダリング(内部は無視して、6面だけ処理)すればいいじゃない。
そうすれば、重なる点は2面だけだから2点の前後判定で陰線処理できるぞ。
最外面をどこにするか深度も変更できるようにすればどう?
あ、でもこの方法だと、任意の角度での断面をとるのは厳しいな〜 処理速度はX 255×Y 255×Z 255のネストよりは圧倒的に早くなるんだがね。 なにしろ、(A 255×B 255)×6面で済むからね。 255→128へ間引いて、PSET→CIRCLEやLINE/BFしてやるだけでもだいぶ早くなると思うけど。
471 :
460 :2010/08/18(水) 11:52:01
>>469 処理がとても速くなりました。
陰線処理も、平行する二面の前後判定だけですむので非常に簡潔になりました。
確かに内部は表示されないので、外周だけ処理すれば良かったんですね!!
回転もロール・ピッチ・ヨー方式での連続回転と、各軸周りの単回回転を実装しました。
あとは任意断面を切り取る機能が欲しいのですが、外周だけの処理だと切り口の辺しか描画されず、面になりません。
任意平面で立体の断層面を描画する方法を教えて下さい。
X 255×Y 255×Z 255のネストで内部も含めた全座標(X,Y,Z)をバッファ ↓ 各座標点を指定角度だけ回転させて変更後の座標(X',Y',Z')にリフレッシュ ↓ 回転後の任意Z'座標のみ抜き出して、平面(X',Y')を描画 やればできそうですが、物凄い処理になって遅そうな印象が・・・
473 :
デフォルトの名無しさん :2010/08/18(水) 21:05:00
逆の考えで、点集合P(x,y,z)に対して、z=Z0の平面である点集合Pz0(x,y,Z0)を考える。 その平面を任意の角度(α,β,γ)に回転させて、色立体との交差判定を行う方法はどうか?? 立方体と平面の交差判定をどうするか・・・
474 :
デフォルトの名無しさん :2010/08/18(水) 21:10:43
もしかして、回転後の平面の点集合Pz0'(x',y',z')の各座標を、色関数RGB(r,g,b)に代入すれば・・・いける?? Pz0'(x',y',z'),RGB(x',y',z') ただし、0<=x',y',z'<=255の範囲にクリップしてから
475 :
デフォルトの名無しさん :2010/08/19(木) 20:06:23
>>468 フォーカスアウトイベントがあるはず
共通処理を行う関数を作り、時間と給料のテキストボックスからフォーカスが離れたら呼び出す。
イベントが来たボックスと別のボックスに表示させかたはわかる?
476 :
460 :2010/08/20(金) 19:20:48
断層面を指定してから回転させる方法も試させてもらいました。 Z軸回りに45度回転させると断面が八角形になるのでおかしいと思ったら、 斜めだと√2倍になるせいで、断面が元の立体と同じ大きさの面だと足りなくなるようです。 X,Yのネストを0〜255でなく、0〜255×√2倍にしてみました。 Z軸回りの回転では角が切れなくなりましたが、立方体の対角断面を取ろうとするとまだ足りない気もする・・・。 今のところは、立方体の回転後の全座標を計算後に、Z値指定で描画が一番遅いですが、一番確実のようです。
477 :
460 :2010/08/20(金) 19:24:10
回転についてですが、現在の座標をもとに回転させていくと、 誤差の蓄積のためか、どんどん図形が小さくなって、数回転させると1つの点に収束してつぶれてしまいます。 現在は、角度だけを累積して、常に初回の座標を元に計算させ直すことで対応させています。 回転後の座標を利用して次の回転後の座標を計算する場合に、潰れない方法はありますか? 回転時に大きさを正規化する必要がありそうなのですが・・・
色立体をRGB式の直方体で作成していますが、球や円柱、円錐、六角形のモデルも作成できるでしょうか? RGB式ではなく、やはりHSL(HSB)式でないと難しいでしょうか?
回転前に絶対値をとって、原点からの距離を計算しておく 回転後にも絶対値をとって、回転前の絶対値で割ってから、それを回転後の座標にかける
480 :
デフォルトの名無しさん :2010/08/23(月) 09:56:28
RGB方式 → HSL/HSB(HSV)方式への変換 0<= R,G,B =<1 H:色相(0<= H =<360,H=H+360×n) 主波長 360度モデル) H=60*(G-B)/(MAX(R,G,B)-MIN(R,GB))+0 if MAX(R,G,B)=R H=60*(B-R)/(MAX(R,G,B)-MIN(R,GB))+120 if MAX(R,G,B)=G H=60*(R-G)/(MAX(R,G,B)-MIN(R,GB))+240 if MAX(R,G,B)=B H=0 赤 H=120 緑 H=240 黄 S:彩度(0<= S <=1) 主波長の頻度分布 円柱モデル) S=(MAX(R,G,B)-MIN(R,G,B))/MAX(R,G,B) S=0 無彩色 0< S =< 1 有彩色 S=1 純色 円錐モデル) S=MAX(R,G,B)-MIN(R,G,B) S=0 無彩色 0< S =< 1 有彩色 S=1 純色 V:明度・強度(0<= V =<1) 総スペクトルパワー・最大振幅 逆円錐) V=max(R,G,B) V=1 純色 0< V <1 通常色 V=0 黒 L:明度・輝度(0<= L =<1) 色覚総刺激値 双円錐) L=average(R,G,B)=(R+G+B)/3=(rR+gG+bB)/3 L=1 白 L=2/3 CMY原色 L=1/2 純色 0< L <1 通常色 L=1/3 RGB原色 L=0 黒
481 :
480 :2010/08/23(月) 10:09:29
English版のwikipediaの解説すごい!! RBGモデルの格子を変形してHSL/HSBモデルにする過程が、図式化・計算式化されていて驚いた RGB立方体→双六角錐→双円錐→円柱(HSL) RGB立方体→単六角錐→単円錐→円柱(HSB) これをアニメーションするようなプログラムアルゴリズムが欲しいね
メモのエラーについて、 出現の予測が不能・けっこう頻度が無視できない・修復不能の三拍子がそろっており、 我が身に降りかかると愕然としてしまいます。 メモのエラー対策に対する暫定案として、 救済可能なように今後は別ファイル(txtデータやcsv)で保存する形式にしたらどうでしょう? @SBでスクリプトにメモを記載 Aカレントフォルダに別ファイルを作成し、どのスクリプトのどのパネル位置に何と書かれているかを、保存時に自動書き出し BSBでメモを見る際はそのファイルにアクセスする C仮にソフト側でエラーが出て落ちても、ファイル自体は生き残るので、テキストエディタで中身を確認可能 Dそのファイルを再インポートすると、修復・復帰したソフトで読み込める
そのモーフィングアニメをソフトで再現してみてくれ〜 RGB HLS HSB RGB 立方体→双六角錐→六角柱→円柱→球→円柱→六角柱→単六角錐→立方体 立方体→双六角錐→双円錐→円柱→球→円柱→単円錐→単六角錐→立方体
立方体はx,y,zをPSETで順次代入していくだけで簡単に描画できるけど、 球とか、円柱とか、円錐とかはどうやって描画するの??
むしろ HLS RGB HSV(HSB) 球→双円錐→円柱→六角柱→双六角錐→立方体→単六角錐→六角柱→円柱→単円錐→半球 球は明度を表面に沿わせるか、高さに沿わせるかで2通りできそう
>>486 媒介変数θを0度→360度で変化させ、X=r*cosθ,Y=r*sinθで描画
一定半径r(彩度S=255)で明度Zを0→255へ変化させると、円柱
上記で、
明度Zを0→255へ変化させる間に、半径rも線形的に増加させると、単円錐
上記で、
明度Zを0→128まで線形的に半径を増加させ、128→255で線形的に半径を減少させると、双円錐
上記で、
明度Zを0→255へ変化させる間に、半径r=sqr(128^2-z^2)で変化させると、球(高さ明度)
上記で、
明度Z=128を中心として、媒介変数φを0度→180度へ変化させ、Z=128*cosφ,r=128*sinφで変化させると、球(表面明度)
媒介変数θを0度→60度,60→120度,120度→180度,180度→210度,210度→240度,240度→300度,300度→360度で場合分けして、 Y=−√3*X+√3,Y=+√3,Y=+√3*X+√3,Y=−√3*X−√3,Y=−√3,Y=−√3*X+√3,で描画 彩度S=255の固定で、明度Zを0→255へ変化させると、六角柱 上記で、 彩度S=255の固定で、明度Zを0→255へ変化させながら、切片絶対値を線形減少させると、六角錐
HSLやHSB(V)では明度軸があり、色相環がそれを囲んでいるので、 外表面は彩度255に固定して、色相環を任意に回転させるようにアニメーションさせれば良い 明度軸を0度から90度(または-90度から+90度)だけ手前に傾けるアニメーション、 彩度を任意値にスライドさせるアニメーション、明度軸に沿った平面で断層をとるアニメーションもあると良いかな
立方体の対角線を軸にして、垂直断面をとった場合の断層と、水平断面を軸の高さに応じて何枚かとった断層をみたい
夏休み終わったから、ヴィジュアル系ベーシックが使える様になって女子にモテモテと企んで、マヌアル読んでみたが、ベーシックって帳票印刷の機能がない? やっぱりジャヴァを使えないと帳票印刷は無理? おまいら帳票印刷どうしてるの? 諦め? あと、ベーショック使えて女子に持てた事有る?
>>492 >帳票印刷
やろうと思ったことさえないので、わからん
標準ではできないかもしれんが、APIとかDLLでできるくなるんでは?
>ベーショック使えて女子に持てた事有る?
ま、使えようが使えまいが、モテはしないが・・・
SEがBASIC使えても、あまり興味持たれないだろうが
学生や普通職なら、簡単な処理をするソフト作ったりして重宝がられたり、話すきっかけ作りになることはあるな
>>492 帳票は、Excel組込みのBASICを使う。VBと同じだ。
Excel使いの間では、関数が使えれば先生、VBAが使えれば神様と呼ばれる。
Excel系BASICの住民もいたんだな CG系住民だけかと思ってた
496 :
デフォルトの名無しさん :2010/09/09(木) 22:07:48
BASICで立体座標を扱うと処理遅いんだけど、BASICでDirectXとか使って処理を高速化する方法ないの?
499 :
デフォルトの名無しさん :2010/09/10(金) 22:15:24
Visual Basicでの質問なんですが、 今給料明細のプログラミングをしてまして、 1日目の就業時間 8時間30分 2日目の就業時間 8時間30分 3日目〜〜 4日目〜〜 総労働時間123時間30分 などという用に作りたいのですが、 timeserial関数を使って計算したところ24時間以降はまた1になってしまいます。 何かいい方法はないでしょうか?
500 :
デフォルトの名無しさん :2010/09/11(土) 00:28:19
↑ 解決しました。すいません dim t as date dim c as double c=CLng(textbox1.text)+CLng(textbox3.text)+・・・・ t=Timeserial(0,CLng(textbox2.text)+CLng(textbox4.text)+・・・・,0) textbox10.text=c+minute(t) で解決することができました。
501 :
デフォルトの名無しさん :2010/09/11(土) 00:33:17
↑何回もすいません textbox10.text=c+hour(t) でした、
最近のユーザー解析 3DCG系>2DCG系>事務処理系>教育系(宿題)>答えてくれるSE
Dimいっぱいすると、「メモリが足りません」が出るのですが・・・?
504 :
デフォルトの名無しさん :2010/09/13(月) 21:21:05
開発ソフトからテスト実行するのと、コンパイルしてexe化したものを実行するのは、速度が違うの?
>>503 多次元配列を使うとメモリ消費が多い。思った以上に使いますよ
>>504 開発環境にもよりますが、
一般的に開発環境からの起動はデバッグモードだと思うので遅くなる。
コンパイル時にも、最適化などのオプション設定で違ってくる。
開発時と運用でコンパイル条件変えると不具合が出る事はよくあるけどね。 運用時の解析用にデバック機能月でコンパイルも有り。
基本的な質問ですみません。 Visual Basic 6.0の質問でも良いですか? 同じ処理をまとめてしまって、そのブロックを呼び出して使用する際に、 @GOTO >> GOTO AGOSUB >> RETURN BSubの呼び出し CFunctionの呼び出し ・・・などがありますが、 AのGOSUBで呼び出すサブルーチンブロックはどこへ記載しておけばよいのか? (呼び出さない限り実行されない場所で、きちんと有効に呼び出せる場所はどこ?) BとCの違いや実際の使い方について教えて欲しいです。
>>509 > AのGOSUBで呼び出すサブルーチンブロックはどこへ記載しておけばよいのか?
> (呼び出さない限り実行されない場所で、きちんと有効に呼び出せる場所はどこ?)
そういう場所は無いので exit sub / exit function の後に作る
もしくはそもそも gosub を使わずにプロシージャで分離
> BSubの呼び出し
> CFunctionの呼び出し
呼び出し方はほぼ一緒
Subは戻り値が無いため、Let 式や Set 式の右辺には置けない
使い方とか言われてもVB中学校でも見てれば良いとしか…
Sub...... ............... Gosub A .............. Exit Sub A: ............... Return End Sub ---------------------------------------------------------------- End Subより手前に書かなければ、有効な範囲でなくなるため呼び出せません。 Exit Subで区切っておかないと、最後にサブルーチンが実行されてしまいます。
サブルーチンをプロシージャに独立させてしまい、callで呼び出す方法 (サブルーチンで共通処理だけさせる) -------------------------------- Sub...... ............... Call A .............. End Sub ----------------- Sub A .............. End Sub
Sub A(ByVal 引数)と指定しておけば、Call A(引数)を使用することで、 プロシージャ(サブルーチン)に引数を送って処理の際に利用できます。 By ValとBy Refでは、呼び出し元の値を変更できないのかできるのかが異なります。 Function Aは、何らかの引数をもらって処理を行い、何らかの戻り値を返します。 Functionでは戻り値を直接式に代入できます。 ---------------------------------- Sub...... C=A(10) End Sub ----------------- Function A(ByVal B) A=B*3.14 Exit Function End Function ---------------------------------- 関数Aのルーチンでは、引数(B=10)に3.14を乗算する処理をしていますので、Cには戻り値(計算結果の31.4)が代入されます。
Functionの使い方は何となくわかりましたが、SubのBy ValとBy Refの違いがよくわかりません。 Subでなぜ引数が必要なのですか? (関数はXを入れたらYにしてくれるもの・・・という認識ですけど) By ValとBy Refの使い分けは、どこにあるのですか?
なぜマニュアルを読まない?
vbで帳票印刷させられそうに成ってたが、結局エクセルで作ってデータだけインポートする業務フローに援交した。 エクセルだと事務員や営業でも抵抗無いし、basic知らなくても使えるからいいよ。 エクセルのサーバ版みたいなのが有れば、basicでシステム組む必要も無いよなw
付属のマニュアルはわかりにくいからね 特にMSDNなんかは、わからない人が読んで理解できるようには書いてない というかMSDNのSD以外にマニュアルついてたかな? 俺はリファレンスまで注文して揃えたが
なぜマニュアルしか読まない?
だから、ここに相談来てるんじゃないの? スレタイみてから書き込んだら?
このスレは応える側が圧倒的に不足してるからね
あんたのしてることは「相談」なんかじゃ無い。 えっ?GOTO、GOSUB、Sub、Functionの違いだ? あんたのしてることは、ちいさい子供が「海はなぜ広いの?」「空はどうして青いの?」 「パパはどうして大きいの?」「チョコレートはなぜ甘いの?」「信号はなぜ3色なの?」と くだらん質問を矢継ぎ早にしまくって大人を困らせてるようなもんだ。 まずきちんとマニュアルなり入門書なり参考書なり読みなさい。 本来ならコンピュータ専門学校や情報系大学、あるいはパソコン教室などに通って 時間とカネをかけて苦労して勉強すべきことを、2ちゃんねるの掲示板で済まそうってか?
このスレは、質問者がいて、回答者がいる。それ良い。
>>521 なんか勘違いしてないかい?
ここは"まかせる"スレだぜ??
まかせるヤツとまかされるヤツがいるだけさ
>2ちゃんねるの掲示板で済まそうってか? スレタイをどう見ても、そういうヤツが来るところだろ?? まるで、コンビニ店員が弁当買って行く客に対して、「本来は手間と暇をかけて作るべき弁当をコンビニ弁当で済ます気か?!」と言っているのと同じレベルだな
書籍を買って、読みたいのはたった1ページだけ。 よくある事です。
そこでMSDNです ページ毎にリンクが張っているため縦横しつつ欲しい情報を手に入れさせません
>>526 同感
MSDNはリンク・リンクで飛ばされて、説明に一貫性がない
なんというか新聞の切り抜きスクラップ集の状態
かといって書籍も、自分の欲しい情報が体系的に書いてあるかというと、そうでもない
日経BPだかのVBのリファレンスマニュアルとプログラミングマニュアル(ともに書籍版)は、
中身はMSDNとほぼ一緒だけど、用例とかも載っていて読みやすかった気がする
>>512 コンピュータ専門学校や情報系大学に入って勉強しようってやつは2ch来ないだろ
今時BASICのパソコン教室とか・・・
その地域にあるかもわからんし、どの程度まで教えてくれるレベルかもわからんし、そんなの聞くためだけに教室通うのもアホ過ぎだろ
そんな教室の講師のスキルなんてしれてるしねえ。 ホントにプログラム組めるなら講師遣るより稼げるだろうに。 記事描きのスタッフは、プログラム経験無いから実務に必要な情報が把握出来てないよな。 プログラム組めるなら、記事描きなんて稼げない仕事しないしw
これ ; デリミタっていうんだけどさ、よく打ち忘れるよね Rubyだとつけなくてよくなるんだけど ゴミが何いってもゴミ
PHPerなのでよく使います。
>>527 > その地域にあるかもわからんし、どの程度まで教えてくれるレベルかもわからんし、そんなの聞くためだけに教室通うのもアホ過ぎだろ
ハッァァアァアアアアァァアァァァァァァァァァアアァァァァァァァァァァァァアァァ?????
自覚のないゴミ
ゴミ量産機?
ゴミが散らかってる
532 :
デフォルトの名無しさん :2011/07/05(火) 22:56:33.45
天使さん どうしちゃったの??
533 :
デフォルトの名無しさん :2011/12/21(水) 11:58:14.48
536 :
535 :2011/12/21(水) 21:22:13.74
間違った。.NETのバージョンは4でいいの?
537 :
535 :2011/12/21(水) 22:40:30.18
丶丶丶丶丶丶温幽籬櫑櫑櫑櫑櫑幽厶雌櫑幽岱垉厶丶丶丶丶丶丶 丶丶丶当櫑欟欟櫑欟欟欟欟欟欟欟櫑欟櫑櫑翻麗謝叱丶丶丶丶丶 丶丶丶覇竃櫑櫑欟欟欟欟欟欟欟櫑欟櫑欟欟欟層櫑艶旨丶丶丶丶 丶丶丶層櫑欟欟欟欟欟欟欟欟欟嬲竃嬲竃竃欟櫑竃覇覇丶丶丶丶 丶丶丶灑嬲欟欟嬲嬲嬲嬲嬲鬻辧卻眉贈幗層欟欟櫑竃櫑廴丶丶丶 丶勹僧層櫑欟鬱綴綴局悦局局拇狐綴綴鋼幗幗竃欟竃櫑廬丶丶丶 丶湘嬲嬲櫑欟辧綴仰災欠災沼卻局綴綴掴綱幗櫑嬲幗櫑廳丶丶丶 丶勺覇欟櫑鬱即卻仰災災沿己卻凹句郊塀獅幗櫑櫑欟櫑勳丶丶丶 丶丶濁幗欟圓扼卻仰災災沱災可沼笳鏑櫑雌彌幗櫑欟櫑欟眦丶丶 丶丶層櫑櫑鬱狐猖旛幽迫己旧卻獅嬲嬲幗幗幗幗櫑欟櫑覇眇丶丶 丶丶櫑欟欟鬱掴嚴憫笥局仰可局綮当踏審綱燒幗層欟櫑欟廴丶丶 丶丶層覇櫑欟即尚旛籬籬枢叫猖鬱幣憫牒憫椹禰幗欟欟欟杉丶丶 丶丶層欟櫑欟抓儕凹沼珱卻旧塀簡紹笳綴僻綴掴幗欟欟鬱丶丶丶 丶丶丶層櫑欟仰卻旧突句己沒笵綴囹卻仰加仰塀禰層欟欟企丶丶 丶丶丶瀰欟欟仰旧句災沼卻卻卻獅雌扼卻卻狐綴綱層欟欟歡丶丶 丶丶丶湧欟欟紀凹句巡卻仰似局綴獅雌卻卻綴掴綱幗嬲覇黙丶丶 丶丶丶丶層眼眼句旧卻卻鍵輔禰層嬲幗囹卻綴掴囃幗櫑歉丶丶丶 丶丶丶丶勺龝圄句沒卻卻卻卻沺禰幗幗雌歳狐掴囃彌欟默丶丶丶 丶丶丶丶丶丶丶句沒卻笳僻把洞雄櫺櫑顧綴鋼囃讃幗嚶丶丶丶丶 丶丶丶丶丶丶丶勺句卻譲嬲霸嫻嬲幗難掴獅幗幗幗嬲艶二丶丶丶 丶丶丶丶丶丶丶丶句旧卻卻綴掴燒辧辧讃幗幗幗幗杉欟欟幽丶丶 丶丶丶丶丶丶丶丶丶刈皿狐卻仰瀉囃雌幗幗幗覇歉勺欟欟欟櫑幽 丶丶丶丶丶丶丶丶丶丶勺牋綴燒雌幗幗幗幗幗鬱三儲欟欟欟櫑櫑 丶丶丶丶丶丶丶丶二旛櫑封贈簡幗難幗幗櫑鬱災三灑欟欟欟櫑欟 丶丶丶丶丶丶澁櫑櫑櫑櫑歡兆卻塀綱幗幗黙冖三消欟欟欟欟欟覇 丶丶丶澁籬櫑櫑櫑櫑櫑櫑置丶筍綴綴諜冖丶丶三瀰欟欟欟欟欟覇 丶誕櫑櫑櫑櫑櫑櫑櫑欟櫑置丶勺朔薪丶丶丶丶勺欟欟欟欟欟櫑櫑 灑櫑櫑櫑櫑櫑櫑櫑櫑欟欟置丶俎幗雛止丶丶丶儲欟欟欟欟欟櫑櫑 欟櫑櫑櫑櫑櫑櫑櫑櫑櫑欟置丶欟攜層櫑幽丶丶灑欟欟欟欟欟櫑櫑
財務大臣の『おちび』さん?
ライオンハートだろ
542 :
デフォルトの名無しさん :2012/01/17(火) 00:41:58.11
10 INPUT "D";FE 20 INPUT "ε";E 30 INPUT "ΔT";DT 40 T1=1273.15'(K) 45 T2=293.15'(K) 50 T=0 60 WHILE T1>T2 70 T1=T1-((2*5.67*10^-8*E*DT)/(419*7270*FE)*T1^4)+((2*5.67*80^-8*E*DT)/(419*7270*FE)*T2^4) 80 T=T+DT 110 WEND ってなかんじで出てきたをT1次々と出力したいんだがさっぱりわかんないです。 DIMを使うんだとは思うんですが、ぜんぜんわかんない・・・・ 詳しい人いたら教えてください。
65行目辺りに 「print "t1=";t1」 みたいに追加すればいいだけじゃない?
545 :
デフォルトの名無しさん :2012/02/20(月) 16:06:23.88
覆面算(かけ算)のアルゴリズム教えてください。
総当りでいいんじゃない?
547 :
デフォルトの名無しさん :2012/02/20(月) 22:18:33.34
計算数がはんぱねぇっす
会話型言語じゃないBASICは、basicと表記するべき。
549 :
デフォルトの名無しさん :2012/02/25(土) 20:17:40.38
n88互換basicで連番のbmpファイルを読み込み、put@で連続表示させる動画プレイヤーもどきを作っているのですが、dim a(20, 50)のように配列を確保した時、a(1, 49)まではアクセスできるのですが、a(2, 0)の所で定義されてないエラーがでます。 118 bload "C:/ch/s_0098.bmp", a(1, 48) 119 bload "C:/ch/s_0099.bmp", a(1, 49) 120 bload "C:/ch/s_0100.bmp", a(2, 0) 121 bload "C:/ch/s_0101.bmp", a(2, 1) 122 bload "C:/ch/s_0102.bmp", a(2, 2) ソースコードはこのような感じです。 エラーが出ないようにするにはどうすればよいでしょうか?
OPTION BASE とか?
初心者で申し訳ありません。 basicを使って簡単なプログラミングをしなくてはいけなくなり 簡単なクリックまたは特定のキーで動くスロットをつくりたいのですが、ほとんどわかりません。 どなたかサンプルなどを載せて頂けないでしょうか。お願いします。
どのBASIC環境なんだよ
553 :
デフォルトの名無しさん :2013/01/23(水) 19:04:04.95
554 :
デフォルトの名無しさん :2013/11/19(火) 18:10:05.66
保守
GOTO 1
How many files(0-15)?
10 rem スロットマシン:サンプル 50 a1=0 : a2=0 : a3=0 80 cls : print "スロットマシーン 1-key を押してください" 100 rem 150 locate 10,10 : print a1 160 if inkey$="1" then goto 200 170 a1=a1+1 : if a1=10 then a1=0 190 goto 100 200 rem 250 locate 20,10 : print a2 260 if inkey$="1" then goto 300 270 a2=a2+1 : if a2=10 then a2=0 290 goto 200 300 rem 350 locate 30,10 : print a3 360 if inkey$="1" then goto 400 370 a3=a3+1 : if a3=10 then a3=0 390 goto 300 400 rem 420 if a1=a2 then if a1=a3 then print "全部一致" : goto 490 430 print "不一致",a1;a2;a3 490 end
558 :
デフォルトの名無しさん :2014/08/30(土) 11:17:32.90 ID:VPRxFQ97
プログラムの知識がHuBASICどまりの俺には 変数の型の宣言がなんだか高い壁に感じられる
HuBASICだって数値変数と文字変数の違いくらいならあったんじゃない?