2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 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
ありがとうございます!
おかげさまでとても助かりました!

81 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)