5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

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

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


2 :デフォルトの名無しさん:2006/01/09(月) 15:50:40
10 PRINT "斉藤"
20 PRINT "鈴木"
30 PRINT "ゴンザレス"
40 END

3 :デフォルトの名無しさん:2006/01/10(火) 00:19:06
>>1
そんなことは無理


4 :デフォルトの名無しさん:2006/01/10(火) 18:26:48


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--

10 :BASIC:2006/01/15(日) 20:31:18
N人分のデータ(氏名、体重、身長、年齢)がDATA文で入力されているプログラムが
ある。これを用いて次のプログラムをBASICで作成しなさい

年齢が30歳以下の人の、体重と身長の平均値を計算し表示する


11 :デフォルトの名無しさん:2006/01/15(日) 20:56:11
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 (以下略)

12 :デフォルトの名無しさん:2006/01/15(日) 23:06:54
お願いします。

N個のデータがエクセルで入力されている。OPEN文を用いて、最大値と
平均値を求めるプログラムをBASICで作成しなさい。

データはこんな感じで並んでいます。
2 4 6 8 9 3 1 7 5

13 :デフォルトの名無しさん:2006/01/15(日) 23:33:29
エクセルがあるんならエクセルで計算しろよ

14 :デフォルトの名無しさん:2006/01/15(日) 23:35:08
>>13
宿題だからそうはいかないんです。

15 :デフォルトの名無しさん:2006/01/16(月) 01:20:16
>>14
じゃぁ、自分でやれ。

16 :デフォルトの名無しさん:2006/01/16(月) 03:32:56
ぬるぽ

17 :デフォルトの名無しさん:2006/01/16(月) 03:58:06
     >>16さんガッなの!
    \___  ___/ ミ'' ''ヽ
          V        ミ   ',  - - ――         
 ― ┼―ヽl   ,、 l/ ミ;ヽ   ミ   ',   ―   \    /  
      〃")' ~´ヘヘ)"ヽ ミ; , l\ ::  ',  \ ,-、,-、/
- - ―  !( ソノ八)ヽ) ソ  '' :,ヽ\:: lヽ ̄―-('∀`;)― 
 - - ―――ヾl._゚ヮノ!.   .-[/二──― -_C O)>>6
    (二====O===O三二=[!=!●二二二二==-○   ̄三二=−―
- - ――― ./ソ、j、iヾ. ヘゝ. -[\二── ̄  ,―ノ ̄ノ  -
 - - ―――~(_/ '-'~    ,,; ,''//::  .lノ ―┼(   )― -  
               彡 'l/ ::  ,'   ―  / /.:^⌒^ ゚ \丶
- - ――― ┼―   彡:;, ノ   彡  ,'  -
                   彡   ,' - - ――
  ――             彡,, ,,ノ

18 :BASIC:2006/01/17(火) 12:12:13
キーボードより入力したデータの中で最大値と最小値を求める
プログラムを作成しなさい。0を入力した場合に終了


19 :デフォルトの名無しさん:2006/01/17(火) 16:36:20
10 INPUT "C:>",KEY$
20 IF KEY$="0" THEN END
30 NEW

20 :BASIC:2006/01/18(水) 15:54:39
N人分のデータ(氏名、体重、身長、年齢)がDATA文で入力されているプログラムが
ある。これを用いて次のプログラムをBASICで作成しなさい
最も体重の軽い人の名前を表示する


21 :デフォルトの名無しさん:2006/01/18(水) 21:33:16
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

22 :デフォルトの名無しさん:2006/01/19(木) 00:27:12
10 REM >>21
20 PRINT "WAROTA"
22 GOTO 23

23 :BASIC:2006/01/19(木) 17:00:01
N人分のデータ(氏名、体重、身長、年齢)がDATA文で入力されているプログラムが
ある。これを用いて次のプログラムをBASICで作成しなさい
体重が60kg以上で、身長が150cm未満の人の名前を表示する


24 :デフォルトの名無しさん:2006/01/19(木) 17:08:43
>>23
それってすごく失礼だと思う。

25 :BASIC:2006/01/19(木) 17:08:48
N人分のデータ(氏名、住所、電話番号)がDATA文で入力されているプログラムが
ある。
氏名を入力すると、住所と電話番号が表示されるプログラムをBASICで作成
しなさい


26 :デフォルトの名無しさん:2006/01/19(木) 17:50:58
10 INPUT "氏名を入力して下さい"; NA$
20 PRINT "個人情報保護の観点からお答えできません。ご了承下さい。"
30 END

27 :デフォルトの名無しさん:2006/01/19(木) 17:58:42
10 INPUT "氏名を入力して下さい"; NA$
20 PRINT "データに無い人の住所とか表示できません。"
30 PRINT "データにある人の住所だったらデータをそのまま読んだ方が早いです。"
40 END


28 :BASIC:2006/01/20(金) 17:15:33
N人分のデータ(氏名、体重、身長、年齢)がDATA文で入力されているプログラムが
ある。これを用いて次のプログラムをBASICで作成しなさい
体重が60kg以上で、身長が150cm未満の人の名前を表示する


29 :デフォルトの名無しさん:2006/01/20(金) 17:17:49
>>28
先生、作ったら、名前を表示された人が自殺しました。

30 :デフォルトの名無しさん:2006/01/20(金) 23:51:31
デスノート型のPCで表示したお前が悪い。

31 :デフォルトの名無しさん:2006/01/22(日) 17:22:19
奇数n*nの魔方陣をnを入力するだけで作るプログラムを誰か作って。

32 :デフォルトの名無しさん:2006/01/22(日) 19:05:50
>>31
奇数×奇数の魔方陣の作り方

1. 上段の中央を1にする
2. 右上に次の数字を置いていく(最上段の上は最下段になる。)
3. 右上が埋まっていたら一つ下に次の数字を置く
4. 再び右上へと数字を埋めていく
5. 後は3,4の繰り返しで完成

33 :デフォルトの名無しさん:2006/01/22(日) 19:41:20
それはわかるけどそれをどうやるかわからん。
二次元配列?

34 :デフォルトの名無しさん:2006/01/22(日) 20:34:11
>>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

35 :デフォルトの名無しさん:2006/01/22(日) 21:12:39
それでやってみたけど>>32のやりかたじゃなくね?
できることは出来るけど>>34の原理がわかんね

36 :デフォルトの名無しさん:2006/01/22(日) 21:20:22
できたよ!まじさんくす

37 :デフォルトの名無しさん:2006/01/23(月) 01:42:52
すばらすぃスレを発見!!
よかったら私のもお願いできませんでしょうか・・・(´Д`;)

課題9
ttp://www.imgup.org/iup151444.gif

課題11
ttp://www.imgup.org/iup151447.gif
ttp://www.imgup.org/iup151450.gif

課題12
ttp://www.imgup.org/iup151453.gif

課題13
ttp://www.imgup.org/iup151455.gif

課題14
ttp://www.imgup.org/iup151456.gif
ttp://www.imgup.org/iup151457.gif

どうか、よろしくお願い致します(´・ω・`)

38 :デフォルトの名無しさん:2006/01/23(月) 06:40:35
>>37
テキストで打ち込め。
画像なんか一々見ていられるか。
お前の手下のいるスレじゃないんだ。
力を貸してくれる人に対して、閲覧の手間くらいは省こうという
気はないのか?
何でもかんでも、人任せにするんじゃない。

39 :デフォルトの名無しさん:2006/01/23(月) 09:35:36
他力本願もここまでくると天晴れだなw

40 :デフォルトの名無しさん:2006/01/23(月) 10:54:16
>>38

Basic課題9 (2005/11/24)

1.配列に以下の値を代入して以下の計算をしなさい。
111+112+113+114+115+116+117+118+119+120+121=?
配列に代入した値も表示する。プログラムと結果を提出する。

2.配列に適当な値(15〜19個ぐらい)を代入(読み込む)しその値を出力
する。総和、平均、標準偏差を求め出力しなさい。配列内の値を小さい
順に並べて出力しなさい。


41 :デフォルトの名無しさん:2006/01/23(月) 11:02:03
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↓

42 :デフォルトの名無しさん:2006/01/23(月) 11:03:28
課題11図省略
ttp://www.imgup.org/iup151447.gif
ttp://www.imgup.org/iup151450.gif
を参照(全部で3つ)

43 :デフォルトの名無しさん:2006/01/23(月) 11:06:38
Basic課題12(2005/1/11)

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

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

44 :デフォルトの名無しさん:2006/01/23(月) 11:08:13
秋田。あとよろしく

45 :デフォルトの名無しさん:2006/01/23(月) 11:44:35
せめて
どこまでできたのか、何が分からないのか、
を書けよ。
ほんとに全部まる投げか?

46 :デフォルトの名無しさん:2006/01/23(月) 15:07:27
>>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)


47 :デフォルトの名無しさん:2006/01/23(月) 19:33:09
ごめんなさい・・・(;ω;)
全然わからないんです・・・orz (・ー・)オワッタナ・・・
皆さん、ご迷惑をおかけして申し訳ございませんでした・・・(´つω-`)

48 :BASIC:2006/01/23(月) 22:05:08
N人分のデータ(氏名、住所、電話番号)がDATA文で入力されているプログラムが
ある。
氏名を入力すると、住所と電話番号が表示されるプログラムをBASICで作成
しなさい


49 :デフォルトの名無しさん:2006/01/24(火) 00:16:13
良スレハケーン
Microsoft Visual Studio .NETなんですが
よくある3×3マスの○×ゲームのソースをお願いできないでしょうか

50 :デフォルトの名無しさん:2006/01/24(火) 01:11:58
>>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
>>50
サンクス
助かりました

52 :デフォルトの名無しさん:2006/01/24(火) 11:32:45
宿題スレだろ?いじわるなやつばっかだなwってか、おまえらわからないんだろ?あ?俺はしらね

53 :デフォルトの名無しさん:2006/01/24(火) 11:42:55
宿題ってのは自分でやるもんだ。

54 :BASI:2006/01/25(水) 11:01:03
N人分のデータ(氏名、住所、電話番号)がDATA文で入力されているプログラムが
ある。
氏名を入力すると、住所と電話番号が表示されるプログラムをBASICで作成
しなさい

期日が迫っているので、だれか早くこたえてくれ!!


55 :デフォルトの名無しさん:2006/01/25(水) 11:17:34
問題は DATA 文が65536 行あるって点だな。

56 :デフォルトの名無しさん:2006/01/26(木) 18:29:37
>>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"

57 :BASIC:2006/02/04(土) 13:46:27
三角関数の値を0度から180度まで計算するプログラム
を作成しなさい(FORーNEXTを用いて)
ただし、R=3.14159/180とすると、sin(R*30)でsin30度の
値を求めることができる。


値を

58 :デフォルトの名無しさん:2006/02/04(土) 13:59:11
>値を
sin(R*30) = 0.499999616987256

59 :デフォルトの名無しさん:2006/02/04(土) 19:21:23
プログラミングの勉強をしようと思って、インターネットを使っていろいろ試してみた。
それで最終的にTinyBASICに落ち着いた。
他にもVB.NET・ActiveBasic・REALbasicがあるのを知っている。
その中からTinyBASICを選んだ俺の選択は正しかったですか?

60 :デフォルトの名無しさん:2006/02/05(日) 06:54:57
>>57
10 goto 20
20 for i=0 to 180:print sin(3.1415926535897932384626433832795028841971693993751/180*i):next
30 rem sin関数ってラジアンなんですか?

61 :デフォルトの名無しさん:2006/02/07(火) 18:42:41
お願いします。

1.SQR(N)を用いて、2から10までの自然数について、
Nとその平方根を表示するプログラムつくれ
ヒント:fo 〜 next

2.自然数Nを入力すると、
1+2+3・・・+Nを計算するプログラムつくれ

3.関数sin(X)とsin(180-x)の値を0度から180度まで
表示するプログラムつくれ

62 :デフォルトの名無しさん:2006/02/07(火) 19:28:57
>>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
>>62
ありがとうございました。

64 :デフォルトの名無しさん:2006/02/08(水) 14:39:42
>>59
There are a lot of roads that can be chosen.
However, the aimed top is one.

65 :デフォルトの名無しさん:2006/02/10(金) 02:05:17
ぬるぽ

66 :デフォルトの名無しさん:2006/02/14(火) 02:02:30
       _
┌――─┴┴─――┐
│ セルフサービス .│
└―――┬┬─――┘
        ││   ./
      ゛゛'゛'゛ /
         /
     | \/
     \ \
      \ノ

ガッ はセルフサービスになりました。

使用方法は以下のようになります
     ∧
  ガッ<  >_∧
= ()二)V`Д´)<ぬるぽ
    \ヽ ノ )
    ノ(○´ノ
   (_ノ(__)

尚、使用方法を誤ると、最悪の場合、命を落とす危険性がございますので、
初めてご使用される方は、各都道府県に設置してある専門の窓口に相談下さい。

財団法人 全日本 ぬるぽガッ セルフ振興会

67 :BASIC:2006/03/14(火) 20:50:41
予約語ってなんですか?

68 :デフォルトの名無しさん:2006/03/14(火) 22:15:10
使用が予約された言葉

69 :http://www.vector.co.jp/soft/win95/util/se072729.html:2006/03/18(土) 20:25:48
TextSS のWindowsXP(Professional)64bit化おながいします

もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?

70 :デフォルトの名無しさん:2006/05/16(火) 23:29:02
Visual Basicで3つの数の最小公倍数を表示するプログラムをお願いします。

71 :デフォルトの名無しさん:2006/05/17(水) 00:10:27
>>70
MsgBox "2, 3, 4の最小公倍数は12です。"

72 :デフォルトの名無しさん:2006/05/17(水) 00:19:36
「3つの数の最小公倍数」のような数を列挙する時、
3 つの数が全て等しい場合なども考慮して良ければ自然数全体になるから、
1 から始めて 1 ずつ増やしながらコンピュータの限界まで数を表示し続ければ
良いでしょう。

もし異なるとすると厄介ですね。
一つの数が 1 でよいなら素数と素数の二乗を除いた全ての数になりますが、
これはちょっと難しいかも。
1 を許さないとするとかなり複雑になりますね。

73 :デフォルトの名無しさん:2006/05/17(水) 21:54:45
四則演算の電卓を作るプログラムなんですけど、ここからわかりません。
ご指摘お願いします。

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

74 :デフォルトの名無しさん:2006/05/17(水) 21:55:41

--------------------------
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

75 :デフォルトの名無しさん:2006/05/17(水) 21:56:43
--------------------------
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

76 :デフォルトの名無しさん:2006/05/17(水) 21:57:22
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で一発で動いてくれるようなコマンドはないのでしょうかね…

78 :デフォルトの名無しさん:2006/05/20(土) 03:36:37
>>77
なあなあ、お前完全に>>72に騙されてるんだが。

79 :デフォルトの名無しさん:2006/05/20(土) 11:13:57
>>78
誰も書いてくれないので難しいものなのかなと思いましたが
そんなわけないですよね。

まあ>>72は読んですぐスルーしましたけど。

80 :デフォルトの名無しさん:2006/05/20(土) 11:23:59
一応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;
}


81 :デフォルトの名無しさん:2006/05/20(土) 12:39:42
>>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

82 :デフォルトの名無しさん:2006/05/20(土) 12:43:19
おまけ: ユークリッドの互除法を使った場合

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


83 :デフォルトの名無しさん:2006/05/20(土) 15:41:02
>>81-82
ありがとうございました。


84 :デフォルトの名無しさん:2006/05/25(木) 23:18:38
ピクチャーボックスにrgbを使って上から順に明るい色から暗い色の
グラディエーションを表示するプログラムの作成お願いします。

85 :デフォルトの名無しさん:2006/05/25(木) 23:59:32
嫌です。

86 :デフォルトの名無しさん:2006/05/29(月) 20:32:36
好きな数字を入力して、その1部や全体が連続して居ないか調べて、
もしあればその部分を知らせるプログラムお願いしますm_ _m

たとえば、


87 :デフォルトの名無しさん:2006/05/29(月) 20:33:49
「2112」なら、1が連続してるので1を
「19529523」なら952が連続してるので952をといった風です

すみません。切れましたorz

88 :デフォルトの名無しさん:2006/05/29(月) 21:12:46
>>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
>>88
ありがとうございます

90 :デフォルトの名無しさん:2006/06/12(月) 15:39:03
>>50
腹抱えてワロタ

91 :デフォルトの名無しさん:2006/06/15(木) 22:56:25
プログラムに時間の間を与えるにはどうすればいいんでしょうか?
たとえば実行してから1秒後に"1秒経過しました"と表示させる場合とか。

92 :デフォルトの名無しさん:2006/06/16(金) 00:20:11
>>91
つ TIME$

93 :デフォルトの名無しさん:2006/06/16(金) 18:00:01
>>91
1 sleep(1000)
2 print "1秒経過しました"

94 :91:2006/06/17(土) 00:14:03
>>93
サーンクス!!

95 :デフォルトの名無しさん:2006/06/18(日) 16:40:09
beep音て変えれないの?

96 :デフォルトの名無しさん:2006/06/18(日) 16:52:14
>>95
つ play

97 :デフォルトの名無しさん:2006/06/19(月) 00:32:40
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$ではエラーになってしまいます・・・

99 :デフォルトの名無しさん:2006/06/19(月) 20:06:10
>>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が発生したときに乱数の発生を止め、
範囲に入ったものの数、合計、平均、最大値、最小値を求めるプログラムの作成

これも頼む…

102 :デフォルトの名無しさん:2006/06/21(水) 10:56:57
>>100-101
もう答えても遅いのか?
でも100はなんとなくわかるが、101の「180から470の乱数を発生」
がわからんかもしれん。
1000までの乱数で180〜470以外を無視する感じでいいんだろうか。


103 :デフォルトの名無しさん:2006/06/21(水) 12:13:45
>>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



104 :デフォルトの名無しさん:2006/06/21(水) 12:16:13
>>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


105 :デフォルトの名無しさん:2006/06/21(水) 12:17:43
PRINT "個数";N
PRINT "合計";S
PRINT "最大値";MAX
PRINT "最小値";MIN
PRINT "平均";
PRINT USING"#####.#":MEAN
END  らしい…分からんてorz


106 :デフォルトの名無しさん:2006/06/24(土) 00:10:54
同じ行内で文字色を変えるにはどうすればいいんですか?
たとえば
PRINT "赤""青"
の赤を赤色、青を青色にする感じです。

あー、ホントだれか頼むよ。

107 :デフォルトの名無しさん:2006/06/24(土) 00:26:44
環境がわからんが、

PRINT "赤";
表示色を変える処理(COLOR 7とか)
PRINT "青"

じゃ駄目?

108 :デフォルトの名無しさん:2006/06/24(土) 10:57:26
>>107
それだと




と表示されるけど、俺がしたいのは

赤青

と表示させるやつなのね…。
やっぱ無理なのかなー。
ちなみに俺の使ってるのは結構古い
ActiveBasic ver2.56です。
授業で配布されたヤツだしやっぱ新しいのにしようかなぁ…。

109 :デフォルトの名無しさん:2006/06/24(土) 12:38:21
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 "赤";

111 :デフォルトの名無しさん:2006/06/24(土) 21:10:06
なるけど>>106が理解していないだけ。

112 :106:2006/06/25(日) 08:22:00
>>110
セミコロンの正しい使い方を学んだ。
トンクス!

113 :デフォルトの名無しさん:2006/06/29(木) 02:43:55
改行の入った文字列はどうやって読み込ませればいいんでしょうか?
例えば
A$="Λ Λ"
"(゚Д゚)"
といった風です。
やはり変数を2つ使って2行に分けるしかないんですか?

114 :デフォルトの名無しさん:2006/06/29(木) 07:26:27
>>113
10 A$="Λ Λ"+CHR$(13)+CHR$(10)+"(゚Д゚)"
20 PRINT A$

115 :113:2006/06/29(木) 17:52:39
>>114
ありがとうございました!助かりました!

116 :デフォルトの名無しさん:2006/07/03(月) 10:16:55
変数の色の指定とかってできないんですか?
A$=赤
みたいな感じです…

117 :デフォルトの名無しさん:2006/07/04(火) 23:05:15
課題なんです。
何か動くのを作れってゆう課題なんです。
そこで、何かお願いします!

118 :デフォルトの名無しさん:2006/07/04(火) 23:08:49
何で21世紀にもなってBASICの課題が存在してるの?

119 :デフォルトの名無しさん:2006/07/04(火) 23:10:39
>>117
10 print "ばか ";
20 goto 10
とかで大丈夫かな?

120 :117:2006/07/04(火) 23:19:28
>>118
あるみたいです。

>>119
大丈夫じゃないですね・・・
関数をグラフィックにして簡単な動画を。

121 :デフォルトの名無しさん:2006/07/04(火) 23:30:30
処理系も指定せずに関数をグラフィックにしてなんて言われてもな

122 :デフォルトの名無しさん:2006/07/04(火) 23:39:23
>>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
>>122
確かに小出しにしてる俺ガイル

126 :117:2006/07/05(水) 18:17:17
誰かおながい

127 :デフォルトの名無しさん:2006/07/05(水) 20:22:55
あと二個くらい条件が増えるのかなぁ……

128 :117:2006/07/05(水) 20:54:29
>>127
もう増えないです。
簡単なのでいいのでどうかおながいします・・・

129 :デフォルトの名無しさん:2006/07/05(水) 21:06:08
じゃあ、処理系 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

こんな感じのに手を加えてみてください。

131 :デフォルトの名無しさん:2006/07/06(木) 03:52:12
>>127の言ったとおりだな。次は「XX日までにお願いします」とかかな?

132 :デフォルトの名無しさん:2006/07/06(木) 12:58:10
basicでクイズゲームみたいなの作りたいんですけど、
input文を使いつつ時間制限を設けるにはどうすれば?
inputが入ると(入力画面になると)そこで命令がとまってしまうわけですが、
やはりbasicでは無理でしょうか?

133 :デフォルトの名無しさん:2006/07/06(木) 14:15:06
on time gosub が使える BASIC があると思うので、その BASIC を使いなさい。

134 :デフォルトの名無しさん:2006/07/09(日) 18:31:48
>>132
INKEY$を使えばできるよ

135 :デフォルトの名無しさん:2006/07/12(水) 13:41:26
>>134
あ、できました!
どうもどうも

136 :デフォルトの名無しさん:2006/07/18(火) 21:43:05
waveファイルをリピート再生したいんですけど

mcisound "open "+chr$(34)+"D:\test.wav"+chr$(34)+" type waveaudio alias test
mcisound "play test notify",at
Do
if at=1 then mcisound "stop test":mcisound "seek test to start":mcisound "play test notify",at:at=0:
Loop

ではリピートに間ができてしまいます…
なんとかならないでしょうか?

137 :名無しさん:2006/07/23(日) 13:55:30
各桁の数字に、桁数乗したものの和が、
元の数字になるものを求める。こんなものをBASICで書いてもらえませんでしょうか??

1^3+5^3+3^3=153(←こんなようなの)

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

138 :デフォルトの名無しさん:2006/07/23(日) 16:40:04
誰かおながい

139 :デフォルトの名無しさん:2006/07/23(日) 17:38:09
>>137
110 I0=0:FOR I1=1 TO 9:FOR I3=1 TO 9:FOR I5=1 TO 9:FOR I2=1 TO 9
120 FOR I4=1 TO 9:FOR I8=1 TO 9
130 I6=I8^I5+I4^I3+I2^I1:I7=100*I8+10*I4+I2
140 IF I7=I6 THEN I0=I0+1:PRINT I0,I8;"^";I5;"+";I4;"^";I3;"+";I2;"^";I1;"=";I6
150 NEXT:NEXT:NEXT:NEXT:NEXT:NEXT
160 END

140 :名無しさん:2006/07/23(日) 22:11:08
>>139
ありがとうございます!
桁数を自分で指定して計算させられるようにできませんでしょうか??
3桁以外も計算してみたいので。。。
わがままいって申し訳ございません・・・
よろしくお願いします!

141 :デフォルトの名無しさん:2006/07/23(日) 22:39:12
>>140
求めたい桁数に合わせて自分で改造すれ

142 :名無しさん:2006/07/23(日) 22:42:49
>>139
これだと、なんか余計なものまで表示されてるな。。。
>>137の言っているのは、
370とか、407みたいな、3桁の数の時はそれぞれの桁の数を3乗するってことだろ??

370=3^3+7^3+0^3とか。

ってことは>>139だとちょっと余分なものまで表示されてるぞ。

143 :デフォルトの名無しさん:2006/07/24(月) 00:14:24
ベキ乗の指数を桁数に合わせるなら
DIM n(11)
MAT n = ZER
INPUT keta
IF keta<0 OR 10<keta THEN STOP
LET n(keta) = 1
DO
FOR i=1 TO keta+1
LET n(i) = n(i) + 1
IF n(i) >= 10 THEN LET n(i)=0 ELSE EXIT FOR
NEXT i
IF n(keta+1)<>0 THEN EXIT DO
LET x = 0
LET y = 0
FOR i=1 TO keta
LET x = x + n(i)^keta
LET y = y + n(i)*(10^(i-1))
NEXT i
IF x=y THEN
FOR i=keta TO 2 STEP -1
PRINT "("; n(i); "^"; keta;") + ";
NEXT i
PRINT "("; n(1); "^"; keta; ") ="; x
END IF
LOOP
END
昔のM$系ではループ処理がめどいので十進BASICでやった。

つーか、質問する時はどの処理系でやるのかまで指定しろよ。
BASICったって色々あるし、処理系によって文法も違うんだから。


144 :名無しさん:2006/07/24(月) 01:43:18
>>143さん
ありがとうございます!
すみません。処理系を書くのをわすれていました。
当方は、UBASICを使用しておりまして、少し十進BASICとは異なるようです。。。
もしお時間がございましたら、そちらでも書いていただけたら幸いです。

145 :名無しさん:2006/07/24(月) 15:10:40
>>143
さすがに桁が多くなると時間かかるなw

146 :デフォルトの名無しさん:2006/07/24(月) 22:00:55
>>144
さすがにあんたのためだけにソフト入れて試してる暇はない。
大して特殊なことはしてないから自分で直せ。

MAT n = ZER → FOR I=1 TO 11: N(I)=0: NEXT
DO 〜 LOOP → WHILE 1 〜 WEND または GOTO を使った無限ループ
EXIT FOR, EXIT DO → それぞれ FORループ, DO〜LOOPループを抜けるGOTO
IF 〜 END IF → 1行の IF文にまとめる

UBASICはどうか知らんが、これで大抵の処理系で実行できるだろう。

147 :デフォルトの名無しさん:2006/08/03(木) 18:39:50
Format関数で通貨記号付きで、3桁ごとのカンマ区切り、且つ小数点以下切捨てで変数を出力する、Format関数を書け

VisualBasicの課題でこれだけわからないのでお願いします。

148 :デフォルトの名無しさん:2006/08/04(金) 22:54:42
SQL文なら >>1 は、こんな感じ。

SELECT [Name] FROM DataTable WHERE [Height] >= 160 AND [Height] < 170

149 :デフォルトの名無しさん:2006/08/12(土) 11:06:43
あとは SQL を BASIC で実装すればおしまいだね。

150 :デフォルトの名無しさん:2006/09/30(土) 13:48:49
サイコロを何回も投げて次々出目を入力した時に各自の出た回数を表示するプログラムを作れ
ただし入力終了の合図は0を入力した時とする

一晩頑張りましたがdim使えの一言で突っ返されました
習い始めで全く理解出来ません…誰かお願いします


↓これ出して突っ返されました
10 input "サイコロの目=",d
20 if d=0 goto 110
30 if d=1 then a=a+1
40 if d=2 then b=b+1
50 if d=3 then c=c+1
60 if d=4 then e=e+1
70 if d=5 then f=f+1
80 if d=6 then g=g+1
90 if d>6 then print "無効な数値"
100 goto 10
110 print "1の目",a,"回 2の目",b,"回 3の目",c,"回 4の目",e,"回 5の目",f,"回 6の目",g,"回"
120 end

151 :デフォルトの名無しさん:2006/09/30(土) 14:52:12
basicは完全に忘れちゃったので、概要だけ

dim dice(6)
loop:
input "サイコロの目=",d
id d=0 then goto exit
if 1<=d and d<=6 then dice(d)=dice(d)+1: goto loop
print "無効な数値"
goto loop
exit:
for i=1 to 6
print i;"の目=";dice(i)
next

こんな感じ

152 :デフォルトの名無しさん:2006/09/30(土) 15:11:30
同じ様なデータに番号つけて扱うのが配列。

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

で、ここからポイント。

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

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

ところが配列の場合は

a(d)

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



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

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

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


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

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

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


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です。

158 :デフォルトの名無しさん:2006/10/23(月) 10:14:20
http://dobon.net/vb/dotnet/index.html
で色々探してみて

159 :デフォルトの名無しさん:2006/10/25(水) 08:59:57

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

160 :デフォルトの名無しさん:2006/10/30(月) 20:48:24
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の積の計算のプログラムをおそえてくださーーーい

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

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


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

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

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

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

167 :デフォルトの名無しさん:2006/12/03(日) 00:10:16
>>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

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

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

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

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

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

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刻みとする)

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

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

>その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


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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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


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

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

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

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

184 :デフォルトの名無しさん:2006/12/10(日) 19:09:21
>>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についてです。


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

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


187 :デフォルトの名無しさん:2006/12/11(月) 19:56:50
>>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次方程式を解きなさい。
  値は自作する。

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

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

2.
100 N=3 → N=6

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

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

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

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

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

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


194 :デフォルトの名無しさん:2006/12/26(火) 19:30:22
>>193
170〜200行

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

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

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

195 :デフォルトの名無しさん:2006/12/26(火) 21:41:34
>>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という計算結果にすることができません。

どなたかお願いします。

197 :デフォルトの名無しさん:2006/12/27(水) 15:43:43
>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とお
くと思います。
よろしくおねがいします。

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

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

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で正しいのでしょうか?。


205 :デフォルトの名無しさん:2007/01/07(日) 00:00:29
http://ja.wikipedia.org/wiki/%E5%BE%AE%E5%88%86


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

追記 アムウェイやスリムドカン等の代理店をやっていた時期もあったそうです。
http://money4.2ch.net/test/read.cgi/manage/1158633593/

207 :デフォルトの名無しさん:2007/01/18(木) 13:27:41
http://c-docomo.2ch.net/test/-/tech/1165167516/162

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のみ)

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



209 :デフォルトの名無しさん:2007/01/24(水) 00:03:35
>演算子は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のみ
難しすぎて出来ません!!><

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

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

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

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


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

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

For t=1 to 2500

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

Print V

Next t



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

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

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

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

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

For t=1 to 2500

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

Print V

NEXT t
END

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

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

223 :デフォルトの名無しさん:2007/01/27(土) 02:03:14
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

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

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

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

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

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

229 :217:2007/01/27(土) 05:27:18
>>226

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

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

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

231 :デフォルトの名無しさん:2007/01/27(土) 07:59:44
そうじゃなくって、>>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
ニュートン法を教えてください

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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


http://imepita.jp/20080129/564990

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

270 :デフォルトの名無しさん: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 :デフォルトの名無しさん: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 :デフォルトの名無しさん: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 :デフォルトの名無しさん: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 :デフォルトの名無しさん: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 :デフォルトの名無しさん: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プログラム
http://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
http://pc11.2ch.net/test/read.cgi/tech/1136788500/

よって終了。

282 :デフォルトの名無しさん: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 :デフォルトの名無しさん: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
http://uproda11.2ch-library.com/src/1169912.jpg

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

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

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

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


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

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

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

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


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

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

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

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

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

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

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


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

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

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

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


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

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

とか

320 :デフォルトの名無しさん:2008/07/27(日) 11:03:50
むしろアセンブラから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・この考え方にしたがってプログラムを作成し、πの近似値を計算せよ。

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

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

323 :デフォルトの名無しさん: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 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2008/12/24(水) 06:29:24
>>327
ちなみにそれを実行するのに必要なのはどれですか?

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

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

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

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

347 :デフォルトの名無しさん: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についての参考資料
http://ja.wikipedia.org/wiki/%E6%A8%99%E6%BA%96%E4%BD%93%E9%87%8D
http://www.e-na.co.jp/passage/chek/
http://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 :デフォルトの名無しさん: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 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2009/02/16(月) 15:08:53
いまだに BASIC の宿題ってポケコン?

363 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2009/02/21(土) 18:26:55
ファイルに文字列で CHA$(00) を混ぜて出力できた。

369 :デフォルトの名無しさん: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 :デフォルトの名無しさん: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 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2009/07/27(月) 01:46:25
↑スレタイ読めバカ

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

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

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


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


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

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

390 :デフォルトの名無しさん:2009/08/25(火) 11:16:41
マルチポスト報告スレ
http://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 :デフォルトの名無しさん:2009/08/25(火) 11:19:29
DEF FNCSTR$(A!) = MID$(STR$(A!), 2+(A!<0))
こんな感じだっけ・・・うろ覚え

392 :デフォルトの名無しさん: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 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2009/09/23(水) 12:42:45
お前はプログラミングに向いてない

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

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

402 :デフォルトの名無しさん: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 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2009/10/03(土) 17:56:38
subとかFunctionなんてBASICにあったっけ
VBならしね

406 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2009/10/03(土) 20:17:34
面積0なら三角形じゃないだろうという本質ではないとこに突っ込んでみる

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

409 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2009/10/06(火) 18:37:56
. 4. Forth. Wwwww

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

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

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

414 :デフォルトの名無しさん:2009/10/06(火) 19:17:21
http://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 :デフォルトの名無しさん:2009/10/07(水) 16:48:34
ステップ実行しろ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

431 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2009/10/16(金) 09:24:07
だから何だと?

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

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


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


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

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

437 :デフォルトの名無しさん: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
普通に公式使って解けばいいじゃん

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票

443 :デフォルトの名無しさん:2010/06/08(火) 21:59:23
「BASICの宿題」 って、普通科の高校ではないよね。
みんな、職業科の高校生? それとも専門学校生か何かなの?
  

444 :デフォルトの名無しさん:2010/06/09(水) 14:38:12
BASICは長い間10進BASICしか使った事がないなあ

445 :デフォルトの名無しさん:2010/06/09(水) 20:03:53
>>440
たしかにN88とかだと扇形が描きやすいのかもしれない

446 :デフォルトの名無しさん:2010/06/12(土) 01:34:44
宿題、ではないんですが

一次不定方程式、例えば12x+18y=6のxとyを求めるプログラムをユークリッドの互除法を使って
作成してください。
よろしくお願いします。

447 :デフォルトの名無しさん:2010/06/18(金) 19:43:13
>>446
ユークリッドの互除法については理解出来ているの??
  

448 :デフォルトの名無しさん:2010/06/22(火) 10:47:07
10進BASICで高次方程式の解を二分法で求めるプログラム作成をお願いします。

449 :デフォルトの名無しさん:2010/06/28(月) 19:48:15
フリーソフトの「N88互換BASIC」 ってWindows でも使えるからすごく便利だと思うけど、
使っている人はどのぐらいいるの? 
 

450 :デフォルトの名無しさん:2010/07/01(木) 11:34:57
>>449
使ってる人の数が知りたい理由を50時で述べよ

451 :デフォルトの名無しさん:2010/07/01(木) 19:59:07
>>450
50時では無理。50字なら可能。

メジャーなプログラム言語であれば、配布や意見交換で好都合なので、
マスターする価値が大きいから。 (以上、句読点を含めて47字。)
   

452 :名無しさん@そうだ選挙に行こう:2010/07/11(日) 03:46:42
N88互換BASICは昔のプログラムのための再生プレーヤーなんじゃないの。
これで新規にプログラムをかくとは思えん。

453 :名無しさん@そうだ選挙に行こう:2010/07/11(日) 16:48:42
エミュでいいじゃん

454 :デフォルトの名無しさん:2010/07/12(月) 18:24:27
>>452
>N88互換BASICは昔のプログラムのための再生プレーヤーなんじゃないの。

違うよ。 完全互換じゃないから、再生プレーヤーにはならないよ。
数学の高度な計算をするときや、複雑なグラフの概形を知りたい時などの最高のツールだよ!
  

455 :デフォルトの名無しさん:2010/07/12(月) 18:38:22
10進BASICでいいじゃん
俺はグラフ描かせたい時はあれかDelphiばかり使ってる

456 :デフォルトの名無しさん:2010/07/12(月) 20:34:38
>>454
うーん。本当にN88互換BASICで新規にプログラムかいているんですか?
すごく遅いという記憶しかないのですが。

457 :デフォルトの名無しさん:2010/07/15(木) 07:34:59
エクセルかgnuplotで十分だろ

458 :デフォルトの名無しさん:2010/07/25(日) 17:30:38
>>459
使用言語:J

f=:dyad define
c=.'*'
c,.(c,(((x, y)-2)$'_'),c),.c
)

4 f 7
*******
*_____*
*_____*
*******

459 :デフォルトの名無しさん:2010/07/25(日) 17:31:58
>>458
間違えました。ごめなさい。

460 :デフォルトの名無しさん:2010/08/13(金) 20:07:41
初書き込みの新参者です。どうぞよろしくお願いします。

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を操作することで、立方体の回転もできると思っています。
効果的な方法が知りたいです。

462 :デフォルトの名無しさん:2010/08/13(金) 23:59:05
オイラー座標ではなくて四元数使った方がいいんじゃないの?

四元数は複素数の拡張として知られ、複素数はガウス平面上の
二次元物体の挙動を表すのに用いられたが、四元数のそれは三次元の
物体の回転に対応しており、例えば乗法の交換法則が成り立たないが、
これは三次元の物体を経度方向に動かしてから緯度方向に動かしたのと、
経度方向に動かしてから経度方向に動かした結果が異なる事に対応している

463 :デフォルトの名無しさん:2010/08/14(土) 00:01:13
http://www015.upp.so-net.ne.jp/notgeld/quaternion.html

ここら辺が参考になるのでわ
他にもクオータニオンで検索すれば多数ヒットする

464 :デフォルトの名無しさん:2010/08/14(土) 00:02:11
×経度方向に動かしてから経度方向に動かした結果が
○緯度方向に動かしてから経度方向に動かした結果が

465 :デフォルトの名無しさん:2010/08/14(土) 11:42:06
今のところ、回転はx,y,z軸回り回転行列で処理させています。(これをオイラー角というのでしょうか?)
クォータニオン(四元数)は、複素数での平面回転を、立体回転に拡張したようなものでしょうか?
勉強してみたいと思います。

ただ、同じ(X,Y)座標の時に、Z値がより表層の場合に描画し、Z値がより下層場合には描画しないという、
陰線処理のルーチンが上手くいきません。
いい処理方法はないでしょうか?

466 :デフォルトの名無しさん:2010/08/14(土) 11:44:16
処理が煩雑で、処理速度が遅いのが悩みの種です。
配列とか、オブジェクト指向にして上手くまとめる方法はないでしょうか?

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)
です。

469 :デフォルトの名無しさん:2010/08/17(火) 18:41:16
>>466
亀レスすまんが・・・

なぜ、色立体をボリュームレンダリング(全ボクセルを描画)する?

立方体は最外面しか表示されないんだから、
サーフェースレンダリング(内部は無視して、6面だけ処理)すればいいじゃない。
そうすれば、重なる点は2面だけだから2点の前後判定で陰線処理できるぞ。

最外面をどこにするか深度も変更できるようにすればどう?


470 :デフォルトの名無しさん:2010/08/17(火) 18:52:08
あ、でもこの方法だと、任意の角度での断面をとるのは厳しいな〜

処理速度は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


処理がとても速くなりました。
陰線処理も、平行する二面の前後判定だけですむので非常に簡潔になりました。
確かに内部は表示されないので、外周だけ処理すれば良かったんですね!!

回転もロール・ピッチ・ヨー方式での連続回転と、各軸周りの単回回転を実装しました。

あとは任意断面を切り取る機能が欲しいのですが、外周だけの処理だと切り口の辺しか描画されず、面になりません。
任意平面で立体の断層面を描画する方法を教えて下さい。

472 :デフォルトの名無しさん:2010/08/18(水) 20:29:57
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つの点に収束してつぶれてしまいます。

現在は、角度だけを累積して、常に初回の座標を元に計算させ直すことで対応させています。

回転後の座標を利用して次の回転後の座標を計算する場合に、潰れない方法はありますか?
回転時に大きさを正規化する必要がありそうなのですが・・・

478 :デフォルトの名無しさん:2010/08/22(日) 15:46:47
色立体をRGB式の直方体で作成していますが、球や円柱、円錐、六角形のモデルも作成できるでしょうか?

RGB式ではなく、やはりHSL(HSB)式でないと難しいでしょうか?

479 :デフォルトの名無しさん:2010/08/23(月) 00:20:34
回転前に絶対値をとって、原点からの距離を計算しておく

回転後にも絶対値をとって、回転前の絶対値で割ってから、それを回転後の座標にかける

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
>>478
アルゴリズムからBASICで組むのであれば、>>480の方法で
HLS方式でよければ、API関数:ColorRGBToHLS()やColorHLSToRGB()を利用する方法もある
あと、英語のWikipedia(http://en.wikipedia.org/wiki/HSL_and_HSV)であなたのやりたいことがすでに行われているかも・・・

>>480で訂正箇所
誤)H=240 黄
正)H=240 青

482 :デフォルトの名無しさん:2010/08/24(火) 22:38:06
English版のwikipediaの解説すごい!!

RBGモデルの格子を変形してHSL/HSBモデルにする過程が、図式化・計算式化されていて驚いた

RGB立方体→双六角錐→双円錐→円柱(HSL)
RGB立方体→単六角錐→単円錐→円柱(HSB)

これをアニメーションするようなプログラムアルゴリズムが欲しいね

483 :デフォルトの名無しさん:2010/08/24(火) 22:47:49
メモのエラーについて、
出現の予測が不能・けっこう頻度が無視できない・修復不能の三拍子がそろっており、
我が身に降りかかると愕然としてしまいます。

メモのエラー対策に対する暫定案として、
救済可能なように今後は別ファイル(txtデータやcsv)で保存する形式にしたらどうでしょう?

@SBでスクリプトにメモを記載
Aカレントフォルダに別ファイルを作成し、どのスクリプトのどのパネル位置に何と書かれているかを、保存時に自動書き出し
BSBでメモを見る際はそのファイルにアクセスする
C仮にソフト側でエラーが出て落ちても、ファイル自体は生き残るので、テキストエディタで中身を確認可能
Dそのファイルを再インポートすると、修復・復帰したソフトで読み込める

484 :デフォルトの名無しさん:2010/08/25(水) 21:32:13
>>483
誤爆!!

485 :デフォルトの名無しさん:2010/08/26(木) 14:42:57
そのモーフィングアニメをソフトで再現してみてくれ〜

RGB   HLS                             HSB    RGB
立方体→双六角錐→六角柱→円柱→球→円柱→六角柱→単六角錐→立方体
立方体→双六角錐→双円錐→円柱→球→円柱→単円錐→単六角錐→立方体

486 :デフォルトの名無しさん:2010/08/27(金) 00:51:33
立方体はx,y,zをPSETで順次代入していくだけで簡単に描画できるけど、
球とか、円柱とか、円錐とかはどうやって描画するの??

487 :デフォルトの名無しさん:2010/08/29(日) 09:15:45
むしろ

HLS                        RGB                           HSV(HSB)
球→双円錐→円柱→六角柱→双六角錐→立方体→単六角錐→六角柱→円柱→単円錐→半球

球は明度を表面に沿わせるか、高さに沿わせるかで2通りできそう

488 :デフォルトの名無しさん:2010/08/29(日) 18:42:24
>>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φで変化させると、球(表面明度)

489 :デフォルトの名無しさん:2010/08/29(日) 18:53:41
媒介変数θを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へ変化させながら、切片絶対値を線形減少させると、六角錐

490 :デフォルトの名無しさん:2010/08/29(日) 19:26:29
HSLやHSB(V)では明度軸があり、色相環がそれを囲んでいるので、
外表面は彩度255に固定して、色相環を任意に回転させるようにアニメーションさせれば良い

明度軸を0度から90度(または-90度から+90度)だけ手前に傾けるアニメーション、
彩度を任意値にスライドさせるアニメーション、明度軸に沿った平面で断層をとるアニメーションもあると良いかな

491 :デフォルトの名無しさん:2010/08/31(火) 12:55:46
立方体の対角線を軸にして、垂直断面をとった場合の断層と、水平断面を軸の高さに応じて何枚かとった断層をみたい

492 :デフォルトの名無しさん:2010/09/02(木) 00:53:40
夏休み終わったから、ヴィジュアル系ベーシックが使える様になって女子にモテモテと企んで、マヌアル読んでみたが、ベーシックって帳票印刷の機能がない?
やっぱりジャヴァを使えないと帳票印刷は無理?
おまいら帳票印刷どうしてるの? 諦め?

あと、ベーショック使えて女子に持てた事有る?

493 :デフォルトの名無しさん:2010/09/02(木) 14:19:13
>>492
>帳票印刷
やろうと思ったことさえないので、わからん
標準ではできないかもしれんが、APIとかDLLでできるくなるんでは?

>ベーショック使えて女子に持てた事有る?
ま、使えようが使えまいが、モテはしないが・・・
SEがBASIC使えても、あまり興味持たれないだろうが

学生や普通職なら、簡単な処理をするソフト作ったりして重宝がられたり、話すきっかけ作りになることはあるな

494 :デフォルトの名無しさん:2010/09/02(木) 17:12:43
>>492
帳票は、Excel組込みのBASICを使う。VBと同じだ。
Excel使いの間では、関数が使えれば先生、VBAが使えれば神様と呼ばれる。


495 :デフォルトの名無しさん:2010/09/02(木) 17:29:10
Excel系BASICの住民もいたんだな

CG系住民だけかと思ってた

496 :デフォルトの名無しさん:2010/09/09(木) 22:07:48
BASICで立体座標を扱うと処理遅いんだけど、BASICでDirectXとか使って処理を高速化する方法ないの?

497 :デフォルトの名無しさん:2010/09/10(金) 01:04:12
>>496 DarkBASIC

498 :デフォルトの名無しさん:2010/09/10(金) 13:00:15
directxのためにc覚えたほうが前向き。

http://hibari.2ch.net/test/read.cgi/tech/1278214135/
【C++】 DirectX初心者質問スレ Part30 【C】
http://hibari.2ch.net/test/read.cgi/tech/1178285897/
【PureVideo】DirectX Video Acceleration【AVIVO】
http://hibari.2ch.net/test/read.cgi/tech/1061285378/
Managed DirectX vol.2

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)

でした、

502 :デフォルトの名無しさん:2010/09/11(土) 11:47:33
最近のユーザー解析

3DCG系>2DCG系>事務処理系>教育系(宿題)>答えてくれるSE

503 :デフォルトの名無しさん:2010/09/13(月) 21:20:07
Dimいっぱいすると、「メモリが足りません」が出るのですが・・・?

504 :デフォルトの名無しさん:2010/09/13(月) 21:21:05
開発ソフトからテスト実行するのと、コンパイルしてexe化したものを実行するのは、速度が違うの?

505 :デフォルトの名無しさん:2010/09/13(月) 21:44:33
>>503
多次元配列を使うとメモリ消費が多い。思った以上に使いますよ

506 :デフォルトの名無しさん:2010/09/13(月) 21:48:00
>>504
開発環境にもよりますが、
一般的に開発環境からの起動はデバッグモードだと思うので遅くなる。
コンパイル時にも、最適化などのオプション設定で違ってくる。


507 :デフォルトの名無しさん:2010/09/13(月) 21:57:09
>>505
>>506

なるほどです。
ありがとうございます。

508 :デフォルトの名無しさん:2010/09/16(木) 15:44:01
開発時と運用でコンパイル条件変えると不具合が出る事はよくあるけどね。
運用時の解析用にデバック機能月でコンパイルも有り。

509 :デフォルトの名無しさん:2010/09/17(金) 20:27:22
基本的な質問ですみません。
Visual Basic 6.0の質問でも良いですか?

同じ処理をまとめてしまって、そのブロックを呼び出して使用する際に、
@GOTO >> GOTO
AGOSUB >> RETURN
BSubの呼び出し
CFunctionの呼び出し
・・・などがありますが、

AのGOSUBで呼び出すサブルーチンブロックはどこへ記載しておけばよいのか?
(呼び出さない限り実行されない場所で、きちんと有効に呼び出せる場所はどこ?)

BとCの違いや実際の使い方について教えて欲しいです。

510 :デフォルトの名無しさん:2010/09/18(土) 03:51:24
>>509
> AのGOSUBで呼び出すサブルーチンブロックはどこへ記載しておけばよいのか? 
> (呼び出さない限り実行されない場所で、きちんと有効に呼び出せる場所はどこ?) 
そういう場所は無いので exit sub / exit function の後に作る
もしくはそもそも gosub を使わずにプロシージャで分離

> BSubの呼び出し 
> CFunctionの呼び出し
呼び出し方はほぼ一緒
Subは戻り値が無いため、Let 式や Set 式の右辺には置けない
使い方とか言われてもVB中学校でも見てれば良いとしか…

511 :デフォルトの名無しさん:2010/09/18(土) 14:22:32
Sub......
 
 ...............
 Gosub A
 ..............
 Exit Sub
 
A:
 ...............
 Return

End Sub
----------------------------------------------------------------
End Subより手前に書かなければ、有効な範囲でなくなるため呼び出せません。
Exit Subで区切っておかないと、最後にサブルーチンが実行されてしまいます。

512 :デフォルトの名無しさん:2010/09/18(土) 14:43:14
サブルーチンをプロシージャに独立させてしまい、callで呼び出す方法
(サブルーチンで共通処理だけさせる)
--------------------------------
Sub......
 
 ...............
 Call A
 ..............

End Sub
-----------------
Sub A
 
 ..............

End Sub

513 :デフォルトの名無しさん:2010/09/18(土) 15:02:38
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)が代入されます。

514 :デフォルトの名無しさん:2010/09/18(土) 18:17:10
Functionの使い方は何となくわかりましたが、SubのBy ValとBy Refの違いがよくわかりません。

Subでなぜ引数が必要なのですか?
(関数はXを入れたらYにしてくれるもの・・・という認識ですけど)
By ValとBy Refの使い分けは、どこにあるのですか?

515 :デフォルトの名無しさん:2010/09/19(日) 03:07:15
なぜマニュアルを読まない?

516 :デフォルトの名無しさん:2010/09/19(日) 03:10:09
vbで帳票印刷させられそうに成ってたが、結局エクセルで作ってデータだけインポートする業務フローに援交した。
エクセルだと事務員や営業でも抵抗無いし、basic知らなくても使えるからいいよ。


エクセルのサーバ版みたいなのが有れば、basicでシステム組む必要も無いよなw

517 :デフォルトの名無しさん:2010/09/19(日) 03:55:56
付属のマニュアルはわかりにくいからね
特にMSDNなんかは、わからない人が読んで理解できるようには書いてない

というかMSDNのSD以外にマニュアルついてたかな?
俺はリファレンスまで注文して揃えたが

518 :デフォルトの名無しさん:2010/09/19(日) 18:06:10
なぜマニュアルしか読まない?

519 :デフォルトの名無しさん:2010/09/19(日) 21:05:30
だから、ここに相談来てるんじゃないの?

スレタイみてから書き込んだら?

520 :デフォルトの名無しさん:2010/09/19(日) 21:21:46
このスレは応える側が圧倒的に不足してるからね

521 :デフォルトの名無しさん:2010/09/19(日) 21:37:34
あんたのしてることは「相談」なんかじゃ無い。

えっ?GOTO、GOSUB、Sub、Functionの違いだ?

あんたのしてることは、ちいさい子供が「海はなぜ広いの?」「空はどうして青いの?」
「パパはどうして大きいの?」「チョコレートはなぜ甘いの?」「信号はなぜ3色なの?」と
くだらん質問を矢継ぎ早にしまくって大人を困らせてるようなもんだ。

まずきちんとマニュアルなり入門書なり参考書なり読みなさい。
本来ならコンピュータ専門学校や情報系大学、あるいはパソコン教室などに通って
時間とカネをかけて苦労して勉強すべきことを、2ちゃんねるの掲示板で済まそうってか?

522 :デフォルトの名無しさん:2010/09/19(日) 21:42:49
このスレは、質問者がいて、回答者がいる。それ良い。

523 :デフォルトの名無しさん:2010/09/19(日) 21:52:07
>>521
なんか勘違いしてないかい?

ここは"まかせる"スレだぜ??

まかせるヤツとまかされるヤツがいるだけさ

524 :デフォルトの名無しさん:2010/09/19(日) 21:56:47
>2ちゃんねるの掲示板で済まそうってか?

スレタイをどう見ても、そういうヤツが来るところだろ??

まるで、コンビニ店員が弁当買って行く客に対して、「本来は手間と暇をかけて作るべき弁当をコンビニ弁当で済ます気か?!」と言っているのと同じレベルだな

525 :デフォルトの名無しさん:2010/09/19(日) 22:21:14
書籍を買って、読みたいのはたった1ページだけ。 よくある事です。

526 :デフォルトの名無しさん:2010/09/19(日) 22:41:10
そこでMSDNです
ページ毎にリンクが張っているため縦横しつつ欲しい情報を手に入れさせません

527 :デフォルトの名無しさん:2010/09/19(日) 23:02:26
>>526
同感
MSDNはリンク・リンクで飛ばされて、説明に一貫性がない
なんというか新聞の切り抜きスクラップ集の状態

かといって書籍も、自分の欲しい情報が体系的に書いてあるかというと、そうでもない
日経BPだかのVBのリファレンスマニュアルとプログラミングマニュアル(ともに書籍版)は、
中身はMSDNとほぼ一緒だけど、用例とかも載っていて読みやすかった気がする

>>512
コンピュータ専門学校や情報系大学に入って勉強しようってやつは2ch来ないだろ

今時BASICのパソコン教室とか・・・
その地域にあるかもわからんし、どの程度まで教えてくれるレベルかもわからんし、そんなの聞くためだけに教室通うのもアホ過ぎだろ

528 :デフォルトの名無しさん:2010/09/20(月) 15:56:54
そんな教室の講師のスキルなんてしれてるしねえ。
ホントにプログラム組めるなら講師遣るより稼げるだろうに。

記事描きのスタッフは、プログラム経験無いから実務に必要な情報が把握出来てないよな。
プログラム組めるなら、記事描きなんて稼げない仕事しないしw

529 :天使 ◆uL5esZLBSE :2011/07/02(土) 15:55:18.15
これ ; デリミタっていうんだけどさ、よく打ち忘れるよね
Rubyだとつけなくてよくなるんだけど


ゴミが何いってもゴミ

530 :デフォルトの名無しさん:2011/07/02(土) 15:57:11.12
PHPerなのでよく使います。

531 :天使 ◆uL5esZLBSE :2011/07/04(月) 15:49:51.20
>>527
> その地域にあるかもわからんし、どの程度まで教えてくれるレベルかもわからんし、そんなの聞くためだけに教室通うのもアホ過ぎだろ
ハッァァアァアアアアァァアァァァァァァァァァアアァァァァァァァァァァァァアァァ?????
自覚のないゴミ
ゴミ量産機?

ゴミが散らかってる

532 :デフォルトの名無しさん:2011/07/05(火) 22:56:33.45
天使さん
どうしちゃったの??

533 :デフォルトの名無しさん:2011/12/21(水) 11:58:14.48
VB.NETの宿題が全然わからんので教えてください
http://www1.axfc.net/uploader/File/so/72946
ここに問題上げました

534 :デフォルトの名無しさん:2011/12/21(水) 12:01:32.23
中国漁船が韓国海洋警察官を殺害〜原因は韓国の低姿勢外交?またもや起きてしまった
ご機嫌を伺って低姿勢でいるわけにはいかないだろう
http://business.nikkeibp.co.jp/article/world/20111219/225327/?top_updt&rt=nocnt


535 :デフォルトの名無しさん:2011/12/21(水) 21:19:43.70
>>533
vb2010でいいの?

536 :535:2011/12/21(水) 21:22:13.74
間違った。.NETのバージョンは4でいいの?

537 :535:2011/12/21(水) 22:40:30.18
>>533
ttp://www1.axfc.net/uploader/File/so/72970

538 :片山博文MZ ◆0lBZNi.Q7evd :2011/12/22(木) 12:24:07.33
>>532 天使さまはボットだよ。

539 :デフォルトの名無しさん:2011/12/23(金) 10:05:59.53
丶丶丶丶丶丶温幽籬櫑櫑櫑櫑櫑幽厶雌櫑幽岱垉厶丶丶丶丶丶丶
丶丶丶当櫑欟欟櫑欟欟欟欟欟欟欟櫑欟櫑櫑翻麗謝叱丶丶丶丶丶
丶丶丶覇竃櫑櫑欟欟欟欟欟欟欟櫑欟櫑欟欟欟層櫑艶旨丶丶丶丶
丶丶丶層櫑欟欟欟欟欟欟欟欟欟嬲竃嬲竃竃欟櫑竃覇覇丶丶丶丶
丶丶丶灑嬲欟欟嬲嬲嬲嬲嬲鬻辧卻眉贈幗層欟欟櫑竃櫑廴丶丶丶
丶勹僧層櫑欟鬱綴綴局悦局局拇狐綴綴鋼幗幗竃欟竃櫑廬丶丶丶
丶湘嬲嬲櫑欟辧綴仰災欠災沼卻局綴綴掴綱幗櫑嬲幗櫑廳丶丶丶
丶勺覇欟櫑鬱即卻仰災災沿己卻凹句郊塀獅幗櫑櫑欟櫑勳丶丶丶
丶丶濁幗欟圓扼卻仰災災沱災可沼笳鏑櫑雌彌幗櫑欟櫑欟眦丶丶
丶丶層櫑櫑鬱狐猖旛幽迫己旧卻獅嬲嬲幗幗幗幗櫑欟櫑覇眇丶丶
丶丶櫑欟欟鬱掴嚴憫笥局仰可局綮当踏審綱燒幗層欟櫑欟廴丶丶
丶丶層覇櫑欟即尚旛籬籬枢叫猖鬱幣憫牒憫椹禰幗欟欟欟杉丶丶
丶丶層欟櫑欟抓儕凹沼珱卻旧塀簡紹笳綴僻綴掴幗欟欟鬱丶丶丶
丶丶丶層櫑欟仰卻旧突句己沒笵綴囹卻仰加仰塀禰層欟欟企丶丶
丶丶丶瀰欟欟仰旧句災沼卻卻卻獅雌扼卻卻狐綴綱層欟欟歡丶丶
丶丶丶湧欟欟紀凹句巡卻仰似局綴獅雌卻卻綴掴綱幗嬲覇黙丶丶
丶丶丶丶層眼眼句旧卻卻鍵輔禰層嬲幗囹卻綴掴囃幗櫑歉丶丶丶
丶丶丶丶勺龝圄句沒卻卻卻卻沺禰幗幗雌歳狐掴囃彌欟默丶丶丶
丶丶丶丶丶丶丶句沒卻笳僻把洞雄櫺櫑顧綴鋼囃讃幗嚶丶丶丶丶 
丶丶丶丶丶丶丶勺句卻譲嬲霸嫻嬲幗難掴獅幗幗幗嬲艶二丶丶丶
丶丶丶丶丶丶丶丶句旧卻卻綴掴燒辧辧讃幗幗幗幗杉欟欟幽丶丶
丶丶丶丶丶丶丶丶丶刈皿狐卻仰瀉囃雌幗幗幗覇歉勺欟欟欟櫑幽
丶丶丶丶丶丶丶丶丶丶勺牋綴燒雌幗幗幗幗幗鬱三儲欟欟欟櫑櫑
丶丶丶丶丶丶丶丶二旛櫑封贈簡幗難幗幗櫑鬱災三灑欟欟欟櫑欟
丶丶丶丶丶丶澁櫑櫑櫑櫑歡兆卻塀綱幗幗黙冖三消欟欟欟欟欟覇
丶丶丶澁籬櫑櫑櫑櫑櫑櫑置丶筍綴綴諜冖丶丶三瀰欟欟欟欟欟覇
丶誕櫑櫑櫑櫑櫑櫑櫑欟櫑置丶勺朔薪丶丶丶丶勺欟欟欟欟欟櫑櫑
灑櫑櫑櫑櫑櫑櫑櫑櫑欟欟置丶俎幗雛止丶丶丶儲欟欟欟欟欟櫑櫑
欟櫑櫑櫑櫑櫑櫑櫑櫑櫑欟置丶欟攜層櫑幽丶丶灑欟欟欟欟欟櫑櫑

540 :デフォルトの名無しさん:2011/12/30(金) 08:02:01.32
財務大臣の『おちび』さん?

541 :デフォルトの名無しさん:2011/12/30(金) 08:48:36.78
ライオンハートだろ

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を使うんだとは思うんですが、ぜんぜんわかんない・・・・
詳しい人いたら教えてください。

543 :デフォルトの名無しさん:2012/01/17(火) 20:12:13.01
65行目辺りに
「print "t1=";t1」
みたいに追加すればいいだけじゃない?


544 :デフォルトの名無しさん:2012/01/18(水) 14:53:35.29
Hu−BASIC
ttp://togetter.com/li/243347

545 :デフォルトの名無しさん:2012/02/20(月) 16:06:23.88
覆面算(かけ算)のアルゴリズム教えてください。

546 :デフォルトの名無しさん:2012/02/20(月) 20:19:35.85
総当りでいいんじゃない?

547 :デフォルトの名無しさん:2012/02/20(月) 22:18:33.34
計算数がはんぱねぇっす

548 :デフォルトの名無しさん:2012/02/25(土) 02:15:19.17
会話型言語じゃない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)
ソースコードはこのような感じです。
エラーが出ないようにするにはどうすればよいでしょうか?

550 :デフォルトの名無しさん:2012/02/26(日) 12:38:21.33
OPTION BASE とか?

551 :デフォルトの名無しさん:2012/07/21(土) 20:59:44.94
初心者で申し訳ありません。
basicを使って簡単なプログラミングをしなくてはいけなくなり
簡単なクリックまたは特定のキーで動くスロットをつくりたいのですが、ほとんどわかりません。
どなたかサンプルなどを載せて頂けないでしょうか。お願いします。


552 :デフォルトの名無しさん:2012/08/16(木) 22:42:40.42
どのBASIC環境なんだよ

553 :デフォルトの名無しさん:2013/01/23(水) 19:04:04.95
agepoyo
http://toro.2ch.net/test/read.cgi/tech/1358572977/

554 :デフォルトの名無しさん:2013/11/19(火) 18:10:05.66
保守

555 :デフォルトの名無しさん:2013/11/19(火) 20:30:18.56
GOTO 1

556 :デフォルトの名無しさん:2013/11/19(火) 21:59:17.27
How many files(0-15)?

557 :デフォルトの名無しさん:2013/11/21(木) 21:16:47.84
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どまりの俺には
変数の型の宣言がなんだか高い壁に感じられる

559 :デフォルトの名無しさん:2014/09/28(日) 11:18:00.95 ID:2vXJK/xe
HuBASICだって数値変数と文字変数の違いくらいならあったんじゃない?

560 :デフォルトの名無しさん:2015/03/31(火) 08:35:17.13 ID:Xlc+IG5P
Sharp ガラパゴスストアにてMZ-80用BASIC解説書が復刻
BASIC言語の勉強にオススメです!
http://galapagosstore.com/resource/browser/v2/index.html#
cid=229183&pid=sh&title=MZ%2d80%20SERIES%20BASIC%E8%A
7%A3%E8%AA%AC%E3%80%90%E9%AB%98%E8%A7%A3%E5%83%8F%
E5%BA%A6%E7%89%88%E3%80%91&url=http%3A%2F%2Fgalapagosst
ore.com%2Fweb%2Fbook%2Fdetail%2Fsstb-B215-1215000-BASIC_MZ-80SERIES&sample=true

561 :デフォルトの名無しさん:2015/07/30(木) 08:28:45.96 ID:lmYoHGut
rem

176 KB
新着レスの表示

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :


read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)