X



BASICの宿題はお前にまかせた
■ このスレッドは過去ログ倉庫に格納されています
0001BASIC
垢版 |
2006/01/09(月) 15:35:00
N人分のデータ(氏名、体重、身長、年齢)がDATA文で入力されているプログラムが
ある。これを用いて次のプログラムをBASICで作成しなさい
身長が160CM以上で170cm未満の人の名前を表示する
0005BASIC
垢版 |
2006/01/15(日) 16:26:34
N人分のデータ(氏名、体重、身長、年齢)がDATA文で入力されているプログラムが
ある。これを用いて次のプログラムをBASICで作成しなさい

身長が160CM以上で170cm未満の人の名前を表示する
0006デフォルトの名無しさん
垢版 |
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--
0007デフォルトの名無しさん
垢版 |
2006/01/15(日) 16:44:31
$の位置が逆じゃね?
0008デフォルトの名無しさん
垢版 |
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--
0009デフォルトの名無しさん
垢版 |
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--
0010BASIC
垢版 |
2006/01/15(日) 20:31:18
N人分のデータ(氏名、体重、身長、年齢)がDATA文で入力されているプログラムが
ある。これを用いて次のプログラムをBASICで作成しなさい

年齢が30歳以下の人の、体重と身長の平均値を計算し表示する
0011デフォルトの名無しさん
垢版 |
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 (以下略)
0012デフォルトの名無しさん
垢版 |
2006/01/15(日) 23:06:54
お願いします。

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

データはこんな感じで並んでいます。
2 4 6 8 9 3 1 7 5
0017デフォルトの名無しさん
垢版 |
2006/01/16(月) 03:58:06
     >>16さんガッなの!
    \___  ___/ ミ'' ''ヽ
          V        ミ   ',  - - ――         
 ― ┼―ヽl   ,、 l/ ミ;ヽ   ミ   ',   ―   \    /  
      〃")' ~´ヘヘ)"ヽ ミ; , l\ ::  ',  \ ,-、,-、/
- - ―  !( ソノ八)ヽ) ソ  '' :,ヽ\:: lヽ ̄―-('∀`;)― 
 - - ―――ヾl._゚ヮノ!.   .-[/二──― -_C O)>>6
    (二====O===O三二=[!=!●二二二二==-○   ̄三二=−―
- - ――― ./ソ、j、iヾ. ヘゝ. -[\二── ̄  ,―ノ ̄ノ  -
 - - ―――~(_/ '-'~    ,,; ,''//::  .lノ ―┼(   )― -  
               彡 'l/ ::  ,'   ―  / /.:^⌒^ ゚ \丶
- - ――― ┼―   彡:;, ノ   彡  ,'  -
                   彡   ,' - - ――
  ――             彡,, ,,ノ
0018BASIC
垢版 |
2006/01/17(火) 12:12:13
キーボードより入力したデータの中で最大値と最小値を求める
プログラムを作成しなさい。0を入力した場合に終了
0020BASIC
垢版 |
2006/01/18(水) 15:54:39
N人分のデータ(氏名、体重、身長、年齢)がDATA文で入力されているプログラムが
ある。これを用いて次のプログラムをBASICで作成しなさい
最も体重の軽い人の名前を表示する
0021デフォルトの名無しさん
垢版 |
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
0023BASIC
垢版 |
2006/01/19(木) 17:00:01
N人分のデータ(氏名、体重、身長、年齢)がDATA文で入力されているプログラムが
ある。これを用いて次のプログラムをBASICで作成しなさい
体重が60kg以上で、身長が150cm未満の人の名前を表示する
0025BASIC
垢版 |
2006/01/19(木) 17:08:48
N人分のデータ(氏名、住所、電話番号)がDATA文で入力されているプログラムが
ある。
氏名を入力すると、住所と電話番号が表示されるプログラムをBASICで作成
しなさい
0026デフォルトの名無しさん
垢版 |
2006/01/19(木) 17:50:58
10 INPUT "氏名を入力して下さい"; NA$
20 PRINT "個人情報保護の観点からお答えできません。ご了承下さい。"
30 END
0027デフォルトの名無しさん
垢版 |
2006/01/19(木) 17:58:42
10 INPUT "氏名を入力して下さい"; NA$
20 PRINT "データに無い人の住所とか表示できません。"
30 PRINT "データにある人の住所だったらデータをそのまま読んだ方が早いです。"
40 END
0028BASIC
垢版 |
2006/01/20(金) 17:15:33
N人分のデータ(氏名、体重、身長、年齢)がDATA文で入力されているプログラムが
ある。これを用いて次のプログラムをBASICで作成しなさい
体重が60kg以上で、身長が150cm未満の人の名前を表示する
0031デフォルトの名無しさん
垢版 |
2006/01/22(日) 17:22:19
奇数n*nの魔方陣をnを入力するだけで作るプログラムを誰か作って。
0032デフォルトの名無しさん
垢版 |
2006/01/22(日) 19:05:50
>>31
奇数×奇数の魔方陣の作り方

1. 上段の中央を1にする
2. 右上に次の数字を置いていく(最上段の上は最下段になる。)
3. 右上が埋まっていたら一つ下に次の数字を置く
4. 再び右上へと数字を埋めていく
5. 後は3,4の繰り返しで完成
0034デフォルトの名無しさん
垢版 |
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
0037デフォルトの名無しさん
垢版 |
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

どうか、よろしくお願い致します(´・ω・`)
0038デフォルトの名無しさん
垢版 |
2006/01/23(月) 06:40:35
>>37
テキストで打ち込め。
画像なんか一々見ていられるか。
お前の手下のいるスレじゃないんだ。
力を貸してくれる人に対して、閲覧の手間くらいは省こうという
気はないのか?
何でもかんでも、人任せにするんじゃない。
0039デフォルトの名無しさん
垢版 |
2006/01/23(月) 09:35:36
他力本願もここまでくると天晴れだなw
0040デフォルトの名無しさん
垢版 |
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個ぐらい)を代入(読み込む)しその値を出力
する。総和、平均、標準偏差を求め出力しなさい。配列内の値を小さい
順に並べて出力しなさい。
0041デフォルトの名無しさん
垢版 |
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↓
0043デフォルトの名無しさん
垢版 |
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]の計算をして表示しなさい。
プログラムと結果を提出します。
0045デフォルトの名無しさん
垢版 |
2006/01/23(月) 11:44:35
せめて
どこまでできたのか、何が分からないのか、
を書けよ。
ほんとに全部まる投げか?
0046デフォルトの名無しさん
垢版 |
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)
0047デフォルトの名無しさん
垢版 |
2006/01/23(月) 19:33:09
ごめんなさい・・・(;ω;)
全然わからないんです・・・orz (・ー・)オワッタナ・・・
皆さん、ご迷惑をおかけして申し訳ございませんでした・・・(´つω-`)
0048BASIC
垢版 |
2006/01/23(月) 22:05:08
N人分のデータ(氏名、住所、電話番号)がDATA文で入力されているプログラムが
ある。
氏名を入力すると、住所と電話番号が表示されるプログラムをBASICで作成
しなさい
0049デフォルトの名無しさん
垢版 |
2006/01/24(火) 00:16:13
良スレハケーン
Microsoft Visual Studio .NETなんですが
よくある3×3マスの○×ゲームのソースをお願いできないでしょうか
0050デフォルトの名無しさん
垢版 |
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
005149
垢版 |
2006/01/24(火) 01:29:11
>>50
サンクス
助かりました
0052デフォルトの名無しさん
垢版 |
2006/01/24(火) 11:32:45
宿題スレだろ?いじわるなやつばっかだなwってか、おまえらわからないんだろ?あ?俺はしらね
0054BASI
垢版 |
2006/01/25(水) 11:01:03
N人分のデータ(氏名、住所、電話番号)がDATA文で入力されているプログラムが
ある。
氏名を入力すると、住所と電話番号が表示されるプログラムをBASICで作成
しなさい

期日が迫っているので、だれか早くこたえてくれ!!
0056デフォルトの名無しさん
垢版 |
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"
0057BASIC
垢版 |
2006/02/04(土) 13:46:27
三角関数の値を0度から180度まで計算するプログラム
を作成しなさい(FORーNEXTを用いて)
ただし、R=3.14159/180とすると、sin(R*30)でsin30度の
値を求めることができる。


値を
0059デフォルトの名無しさん
垢版 |
2006/02/04(土) 19:21:23
プログラミングの勉強をしようと思って、インターネットを使っていろいろ試してみた。
それで最終的にTinyBASICに落ち着いた。
他にもVB.NET・ActiveBasic・REALbasicがあるのを知っている。
その中からTinyBASICを選んだ俺の選択は正しかったですか?
0060デフォルトの名無しさん
垢版 |
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関数ってラジアンなんですか?
0061デフォルトの名無しさん
垢版 |
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度まで
表示するプログラムつくれ
0062デフォルトの名無しさん
垢版 |
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
006361
垢版 |
2006/02/07(火) 19:53:48
>>62
ありがとうございました。
0066デフォルトの名無しさん
垢版 |
2006/02/14(火) 02:02:30
       _
┌――─┴┴─――┐
│ セルフサービス .│
└―――┬┬─――┘
        ││   ./
      ゛゛'゛'゛ /
         /
     | \/
     \ \
      \ノ

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

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

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

財団法人 全日本 ぬるぽガッ セルフ振興会
0067BASIC
垢版 |
2006/03/14(火) 20:50:41
予約語ってなんですか?
0070デフォルトの名無しさん
垢版 |
2006/05/16(火) 23:29:02
Visual Basicで3つの数の最小公倍数を表示するプログラムをお願いします。
0072デフォルトの名無しさん
垢版 |
2006/05/17(水) 00:19:36
「3つの数の最小公倍数」のような数を列挙する時、
3 つの数が全て等しい場合なども考慮して良ければ自然数全体になるから、
1 から始めて 1 ずつ増やしながらコンピュータの限界まで数を表示し続ければ
良いでしょう。

もし異なるとすると厄介ですね。
一つの数が 1 でよいなら素数と素数の二乗を除いた全ての数になりますが、
これはちょっと難しいかも。
1 を許さないとするとかなり複雑になりますね。
0073デフォルトの名無しさん
垢版 |
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
0074デフォルトの名無しさん
垢版 |
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
0075デフォルトの名無しさん
垢版 |
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
0076デフォルトの名無しさん
垢版 |
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
007770
垢版 |
2006/05/19(金) 00:56:45
やはり難しいのでしょうかね
弟の高校の課題っぽいんですが、Cで作ったら全然違うとのこと
資料を送ってもらったらBASICっぽいのですが、BASICなんて分からないです…
gcmとかlcmで一発で動いてくれるようなコマンドはないのでしょうかね…
0079デフォルトの名無しさん
垢版 |
2006/05/20(土) 11:13:57
>>78
誰も書いてくれないので難しいものなのかなと思いましたが
そんなわけないですよね。

まあ>>72は読んですぐスルーしましたけど。
0080デフォルトの名無しさん
垢版 |
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;
}
0081デフォルトの名無しさん
垢版 |
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
0082デフォルトの名無しさん
垢版 |
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
0084デフォルトの名無しさん
垢版 |
2006/05/25(木) 23:18:38
ピクチャーボックスにrgbを使って上から順に明るい色から暗い色の
グラディエーションを表示するプログラムの作成お願いします。
0086デフォルトの名無しさん
垢版 |
2006/05/29(月) 20:32:36
好きな数字を入力して、その1部や全体が連続して居ないか調べて、
もしあればその部分を知らせるプログラムお願いしますm_ _m

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

すみません。切れましたorz
0088デフォルトの名無しさん
垢版 |
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
008986
垢版 |
2006/05/29(月) 23:02:07
>>88
ありがとうございます
0091デフォルトの名無しさん
垢版 |
2006/06/15(木) 22:56:25
プログラムに時間の間を与えるにはどうすればいいんでしょうか?
たとえば実行してから1秒後に"1秒経過しました"と表示させる場合とか。
009491
垢版 |
2006/06/17(土) 00:14:03
>>93
サーンクス!!
0098デフォルトの名無しさん
垢版 |
2006/06/19(月) 01:55:56
a=FIX(RND(1)*10):b=FIX(RND(1)*10)
c=a+b
PRINT c

のときのcの一桁目の数だけPRINTするにはどうすればいいんでしょうか?
文字列じゃないんでRIGHT$ではエラーになってしまいます・・・
0100デフォルトの名無しさん
垢版 |
2006/06/21(水) 09:03:00
乱数を使用し、サイコロを千回振り、1から6までの出現率を求めるプログラムの作成

十進BASICで頼む10時まで…
0101デフォルトの名無しさん
垢版 |
2006/06/21(水) 09:11:18
180から470の範囲に入る乱数を発生させ、
250が発生したときに乱数の発生を止め、
範囲に入ったものの数、合計、平均、最大値、最小値を求めるプログラムの作成

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

0104デフォルトの名無しさん
垢版 |
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
0105デフォルトの名無しさん
垢版 |
2006/06/21(水) 12:17:43
PRINT "個数";N
PRINT "合計";S
PRINT "最大値";MAX
PRINT "最小値";MIN
PRINT "平均";
PRINT USING"#####.#":MEAN
END  らしい…分からんてorz
0106デフォルトの名無しさん
垢版 |
2006/06/24(土) 00:10:54
同じ行内で文字色を変えるにはどうすればいいんですか?
たとえば
PRINT "赤""青"
の赤を赤色、青を青色にする感じです。

あー、ホントだれか頼むよ。
0108デフォルトの名無しさん
垢版 |
2006/06/24(土) 10:57:26
>>107
それだと




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

赤青

と表示させるやつなのね…。
やっぱ無理なのかなー。
ちなみに俺の使ってるのは結構古い
ActiveBasic ver2.56です。
授業で配布されたヤツだしやっぱ新しいのにしようかなぁ…。
0110107
垢版 |
2006/06/24(土) 15:46:08
ActiveBasicってセミコロン無視されるの?"赤青"って1行にならない?
       ↓ココ
PRINT "赤";
0112106
垢版 |
2006/06/25(日) 08:22:00
>>110
セミコロンの正しい使い方を学んだ。
トンクス!
0113デフォルトの名無しさん
垢版 |
2006/06/29(木) 02:43:55
改行の入った文字列はどうやって読み込ませればいいんでしょうか?
例えば
A$="Λ Λ"
"(゚Д゚)"
といった風です。
やはり変数を2つ使って2行に分けるしかないんですか?
0115113
垢版 |
2006/06/29(木) 17:52:39
>>114
ありがとうございました!助かりました!
0117デフォルトの名無しさん
垢版 |
2006/07/04(火) 23:05:15
課題なんです。
何か動くのを作れってゆう課題なんです。
そこで、何かお願いします!
0120117
垢版 |
2006/07/04(火) 23:19:28
>>118
あるみたいです。

>>119
大丈夫じゃないですね・・・
関数をグラフィックにして簡単な動画を。
0123117
垢版 |
2006/07/05(水) 00:12:28
処理系はおまかせするよ。
花火が打ちあがる様とかゴルフの球がカップに入るのとかを作ったりしてるヤシもいる。
0124117
垢版 |
2006/07/05(水) 00:20:47
スマソ
処理系→(仮称)十進BASIC
0125117
垢版 |
2006/07/05(水) 00:23:49
>>122
確かに小出しにしてる俺ガイル
0126117
垢版 |
2006/07/05(水) 18:17:17
誰かおながい
0128117
垢版 |
2006/07/05(水) 20:54:29
>>127
もう増えないです。
簡単なのでいいのでどうかおながいします・・・
0129デフォルトの名無しさん
垢版 |
2006/07/05(水) 21:06:08
じゃあ、処理系 FBASIC ね
10 symbol(rnd*10,rnd*10),"BAKA",10,10,rnd*7
20 goto 10
もう条件は増えないからこれでおしまいだね。
0130117
垢版 |
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

こんな感じのに手を加えてみてください。
0132デフォルトの名無しさん
垢版 |
2006/07/06(木) 12:58:10
basicでクイズゲームみたいなの作りたいんですけど、
input文を使いつつ時間制限を設けるにはどうすれば?
inputが入ると(入力画面になると)そこで命令がとまってしまうわけですが、
やはりbasicでは無理でしょうか?
0134デフォルトの名無しさん
垢版 |
2006/07/09(日) 18:31:48
>>132
INKEY$を使えばできるよ
0136デフォルトの名無しさん
垢版 |
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

ではリピートに間ができてしまいます…
なんとかならないでしょうか?
0137名無しさん
垢版 |
2006/07/23(日) 13:55:30
各桁の数字に、桁数乗したものの和が、
元の数字になるものを求める。こんなものをBASICで書いてもらえませんでしょうか??

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

よろしくお願いします!!
0139デフォルトの名無しさん
垢版 |
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
0140名無しさん
垢版 |
2006/07/23(日) 22:11:08
>>139
ありがとうございます!
桁数を自分で指定して計算させられるようにできませんでしょうか??
3桁以外も計算してみたいので。。。
わがままいって申し訳ございません・・・
よろしくお願いします!
0142名無しさん
垢版 |
2006/07/23(日) 22:42:49
>>139
これだと、なんか余計なものまで表示されてるな。。。
>>137の言っているのは、
370とか、407みたいな、3桁の数の時はそれぞれの桁の数を3乗するってことだろ??

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

ってことは>>139だとちょっと余分なものまで表示されてるぞ。
0143デフォルトの名無しさん
垢版 |
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ったって色々あるし、処理系によって文法も違うんだから。
0144名無しさん
垢版 |
2006/07/24(月) 01:43:18
>>143さん
ありがとうございます!
すみません。処理系を書くのをわすれていました。
当方は、UBASICを使用しておりまして、少し十進BASICとは異なるようです。。。
もしお時間がございましたら、そちらでも書いていただけたら幸いです。
0146デフォルトの名無しさん
垢版 |
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はどうか知らんが、これで大抵の処理系で実行できるだろう。
0147デフォルトの名無しさん
垢版 |
2006/08/03(木) 18:39:50
Format関数で通貨記号付きで、3桁ごとのカンマ区切り、且つ小数点以下切捨てで変数を出力する、Format関数を書け

VisualBasicの課題でこれだけわからないのでお願いします。
0150デフォルトの名無しさん
垢版 |
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
0151デフォルトの名無しさん
垢版 |
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

こんな感じ
0152デフォルトの名無しさん
垢版 |
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 命令はそんな配列を使うために使うのさ。
0153デフォルトの名無しさん
垢版 |
2006/09/30(土) 15:43:52
>>151
サンクス!そのままだと構文エラー出まくるんで何とか意味理解してみる…

>>152
なるほど…配列からバラバラに引き出せるとはなんと便利な…
0155デフォルトの名無しさん
垢版 |
2006/09/30(土) 16:09:36
>>154
考え方が逆でして、今回は無駄があるところを配列を使って纏められただけです
なので有効性を考えずに配列を使うのはバカの一つ覚えになりますぉ
0157デフォルトの名無しさん
垢版 |
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です。
0160デフォルトの名無しさん
垢版 |
2006/10/30(月) 20:48:24
VB.netについてです。
ボタン1を押すと”別ウィンドウに”グラフが描画されるようにしたいのですが、どなたか御教授ください。

Form1にはボタンがあって、それを押すと別のフォームが出現して、そこにあるpictureBoxにグラフが出力できるようにしたいのです。
0161デフォルトの名無しさん
垢版 |
2006/11/10(金) 16:01:33
F-BASICのエラーなんですが
ビルド方法が指定されていません。
て出るんですけどどうすれば解決されるんでしょうか
0162なぽ
垢版 |
2006/11/29(水) 04:55:15
4行4列の行列AとBの積の計算のプログラムをおそえてくださーーーい
0164デフォルトの名無しさん
垢版 |
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
0166デフォルトの名無しさん
垢版 |
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
0168何卒よろしくお願いします
垢版 |
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
0170デフォルトの名無しさん
垢版 |
2006/12/06(水) 12:54:45
>>169
すいません、言ってる事がわかりません><
0171デフォルトの名無しさん
垢版 |
2006/12/07(木) 07:33:16
> 何処か写し間違えがあるかもしれませんが
> tatal=total+arari
> tatal=total+arari
> tatal=total+arari
0172デフォルトの名無しさん
垢版 |
2006/12/07(木) 09:53:38
>>171
その通りです。誰か助けてください><
0173デフォルトの名無しさん
垢版 |
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
0174デフォルトの名無しさん
垢版 |
2006/12/08(金) 01:53:23
プログラミング自体全然分かってないです(>_<)
それでも課題はやらなきゃいけない・・・・
誰か助けてください

その@
『入力された3桁の自然数aに対し、aの一の位、十の位、
 百の位の和Sと、Sを3で割ったときの余りを表示する
 プログラムを作れ』

そのA
『自然数nに対し、n以外の正の約数の和がnに等しいと
 き、nを完全数という。10,000以下の全ての完全数を、
 プログラムを作って求めよ』

教えてくださいお願いします!!
0175Nw
垢版 |
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刻みとする)

自分でやるべきなのですが、分からなくて・・
早急に解答が欲しいのですが、教えて頂ける方がおられましたら
どうか宜しくお願いします
0176デフォルトの名無しさん
垢版 |
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
0178デフォルトの名無しさん
垢版 |
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

0179デフォルトの名無しさん
垢版 |
2006/12/10(日) 00:07:39
xの値が-2〜2変化したときの、関数f(x)=sin(1/x)のグラフと、
xの値が0〜4変化したときの、関数f(x)=cos(x^2)のグラフを描く
プログラムを教えてください。どうかお願いします。
0180デフォルトの名無しさん
垢版 |
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
0181デフォルトの名無しさん
垢版 |
2006/12/10(日) 15:14:22
>>180
やってもらった後で大変申し訳無いんですが、
N88互換BASICで出来るものをお願いします。
書き忘れててすいません。
0182デフォルトの名無しさん
垢版 |
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
0183デフォルトの名無しさん
垢版 |
2006/12/10(日) 18:00:28
>>182
psetやlineを使わないといけないみたいなんです。
たびたびで本当に申し訳無いんですが、
どうかお願いします。
0185デフォルトの名無しさん
垢版 |
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についてです。
0186デフォルトの名無しさん
垢版 |
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
0188デフォルトの名無しさん
垢版 |
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次方程式を解きなさい。
  値は自作する。

どうかよろしくお願いします!
0189デフォルトの名無しさん
垢版 |
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
0191デフォルトの名無しさん
垢版 |
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 ←対角線の和
              ↑
             列の和

どうしてもわかりません・・・
どうか宜しくお願いします。
0193デフォルトの名無しさん
垢版 |
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
0194デフォルトの名無しさん
垢版 |
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 のマス目から外れていれば
補正するようにした方が良い。
0196デフォルトの名無しさん
垢版 |
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という計算結果にすることができません。

どなたかお願いします。
0197デフォルトの名無しさん
垢版 |
2006/12/27(水) 15:43:43
>196
=を選んだ時点でStringに入れていて
そのまま計算を続行してるからですよ

計算処理時は計算対象が何の変数に入っているのか
解るようにしておきましょう
0198デフォルトの名無しさん
垢版 |
2006/12/27(水) 16:15:19
>>197
出来ました!
これで提出できます。
本当にありがとうございました!!
0199デフォルトの名無しさん
垢版 |
2007/01/04(木) 19:46:43
ヨーグレット
0200デフォルトの名無しさん
垢版 |
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
0201200
垢版 |
2007/01/06(土) 22:04:49
計算法的なやりかたとしては、f(x) = tan(x)-c/xとおいて,f(x)を微分し,f'(x)=g(x) = 1/cos(x)2+c/x2とお
くと思います。
よろしくおねがいします。
0202デフォルトの名無しさん
垢版 |
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
0203200
垢版 |
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」と書くのでしょうか?。
0204200
垢版 |
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で正しいのでしょうか?。
0206デフォルトの名無しさん
垢版 |
2007/01/17(水) 05:11:57
正月早々に近所の創価学会員一家が夜逃げしたことがわかりました。この夜逃げは私の住む地域で騒ぎになりました。
創価学会の人たちが「あの一家は信心が無かった」と宣伝して回っていますが真っ赤な嘘です。近所ではよく知られた熱心な信者でした。
羽振りの良い時期にはおだて上げて散々使いまわして、いざ破綻になれば他人事で切り捨てる。
創価学会というのは冷酷な組織だということがつくづくわかりました。

追記 アムウェイやスリムドカン等の代理店をやっていた時期もあったそうです。
http://money4.2ch.net/test/read.cgi/manage/1158633593/
0208デフォルトの名無しさん
垢版 |
2007/01/23(火) 23:44:57
xの値を0度〜360度、刻み10度で変化したときの、
関数f(x)=sin(x)、f(x)=cos(x)のグラフを作成しなさい。
(1つの画面に2つのグラフを描く、演算子はlocate、line、circle、psetのみ)

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

0210208
垢版 |
2007/01/24(水) 00:28:59
>>209
あっ!図形を描くために使う演算子がlocate、line、circle、psetのみであって
for文とか四則演算子も使えます!よろしくお願いします!!
0211デフォルトの名無しさん
垢版 |
2007/01/24(水) 01:14:01
>図形を描くために使う演算子がlocate、line、circle、psetのみ
難しすぎて出来ません!!><
0214デフォルトの名無しさん
垢版 |
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

0216デフォルトの名無しさん
垢版 |
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
0218デフォルトの名無しさん
垢版 |
2007/01/27(土) 00:07:17
>>215
あっそうでした。ありがとうございました。

>>216
これで良さそうです。ありがとうございました。
0219デフォルトの名無しさん
垢版 |
2007/01/27(土) 00:13:47
度々すみません。
前のプログラムを応用して、別のプログラムを作ったのですが、
tanx=c/xを計算する部分の組み込みがうまくいかず、どうしても計算結果が違ってしまいます。
お願いするばかりで恐縮なのですが、どうぞよろしくご教授ください。
0220219
垢版 |
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
0221217
垢版 |
2007/01/27(土) 01:57:24
問題点がわかりました。
級数の数を決定するステップでFor文を使用してしまった為に、
tanx=c/xがちゃんと計算できてないだけでした。
しかし、For文の他に何度も計算させるコマンドがわかりません。
どうしたら良いでしょうか?。
0222デフォルトの名無しさん
垢版 |
2007/01/27(土) 01:59:14
IF と GOTO 使え。
それが基本(w
0224217
垢版 |
2007/01/27(土) 02:25:51
>>222
>>223

アドバイスありがとうございました。
自分で調べてやってみましたが、どうもまだ違うようです。
どこを間違えたのでしょうか?。
また手直しをしてください。お願いします。 ↓
0225217
垢版 |
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
0226デフォルトの名無しさん
垢版 |
2007/01/27(土) 03:05:34
>>225
何をしたいのかよくわからんな。
ニュートン法か?
計算の元になる文献かPDFへのリンクを貼ってくれないか?

こういうエラーは文法エラーではなく論理エラーと言う物で、
文法的には誤りがないため、元の文献を参照できないと
どこが間違っているのかわからない。
0227デフォルトの名無しさん
垢版 |
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を別の所に置かないとだめなんだろうぐらいは予想できるけど。
0228217
垢版 |
2007/01/27(土) 04:37:29
>>226
ニュートン法の部分に関しましては、
高校数学の窓というページの質問番号1126を参照して作りました。
他の部分につきましては、申し訳ないのですが、リンクがありません。
0229217
垢版 |
2007/01/27(土) 05:27:18
>>226

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

>>200-202を参照してください。
0230217
垢版 |
2007/01/27(土) 05:40:41
>>227
それは、どうしてなのでしょうか?。
0231デフォルトの名無しさん
垢版 |
2007/01/27(土) 07:59:44
そうじゃなくって、>>225のどこが間違ってるのかって
こっちが聞きたいって意味。式の意味が全然把握できないから。
それがわからない以上、誰も答えられないでしょう。
0232217
垢版 |
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()にかけられてないみたいなのです。

どこを間違えてしまったのか、この説明でわかるでしょうか?。
教えてください。
よろしくお願いします。

0233217
垢版 |
2007/01/28(日) 14:27:05
tanx=c/xの部分は、カウンターを組み込むことでクリアできました。
しかし、Sの計算でつまづいてしまいました。
t=1から1000までの間、Sの値が変化しないのです。
何故でしょうか?。
どなたか教えてください。

0234デフォルトの名無しさん
垢版 |
2007/01/30(火) 12:01:21
ニュートン法を教えてください
0235デフォルトの名無しさん
垢版 |
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
0236デフォルトの名無しさん
垢版 |
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

このプログラムはどのような物か教えてください。
どの命令がどのような意味を持っているのか分からないのでお願いします。
0238デフォルトの名無しさん
垢版 |
2007/02/18(日) 11:52:37
サイコロをK回振ったとする。100回振ったとき、それぞれの目が出た回数をコンピュータでシュミレーションせよ。横軸に出た目、縦軸に出た回数をプロットし、折れ線グラフをかけ。

どうやって解けばいいでしようか
どなたかお願いします
0239デフォルトの名無しさん
垢版 |
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
0240デフォルトの名無しさん
垢版 |
2007/02/18(日) 17:41:25
>>239
遅くなりました!有り難うございます
0241デフォルトの名無しさん
垢版 |
2007/02/25(日) 18:31:08
簡単な自分の好きなゲームを2つ作りなさい。
ただし数当てゲームは無しとする。

どうしたらいいか全くわかりません!
どなたか助けていただけないでしょうか?
今週の水曜日までなので…
0242デフォルトの名無しさん
垢版 |
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
0243デフォルトの名無しさん
垢版 |
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
0244デフォルトの名無しさん
垢版 |
2007/02/28(水) 00:14:40
ありがとうございます!
おかげさまでとても助かりました!
0245デフォルトの名無しさん
垢版 |
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数が分かっていない場合に、
分散ってどうやって計算したらよい?
出来ればデータを入力するたびに平均、標準偏差を出力したい。
エレガントな必要は全く無いので、よろしく頼みます。
0246デフォルトの名無しさん
垢版 |
2007/03/23(金) 06:34:10
分散は平均値がわからないと出せないんじゃないの?
だから各データを配列変数とかにこっそりしまっておくのがいいとおもう
0247デフォルトの名無しさん
垢版 |
2007/03/23(金) 07:45:35
それについては
各データの自乗の総和から平均の自乗のN倍を引けば良いんじゃないかと・・・?
(Di-M)^2を変形して出来ない?
0248デフォルトの名無しさん
垢版 |
2007/03/23(金) 08:48:39
>出来ればデータを入力するたびに平均、標準偏差を出力したい。

これをどう解釈するかだな
0249デフォルトの名無しさん
垢版 |
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

ダメ?
0250245
垢版 |
2007/03/24(土) 10:56:42
>>246
配列のプログラム書けないんだ
          _
      ミ ∠_)
         /
         /   \\
 ウイーン  Γ/了     | |
  ウイーン  |.@|    | | ガッガッガッ
       | / | .     人
       |/ |    <  >_Λ∩ >>245
      _/  | //. V`Д´)/
      (_フ彡           /
0252デフォルトの名無しさん
垢版 |
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
配列の構文を知らない
0254デフォルトの名無しさん
垢版 |
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
0257デフォルトの名無しさん
垢版 |
2007/09/18(火) 15:28:04
age
0258デフォルトの名無しさん
垢版 |
2007/10/03(水) 19:57:36
寿司食いたいフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフフ
0259某高専生
垢版 |
2007/12/07(金) 15:01:08
えーとDIMとFOR~NEXTで繰り返しのたびに順々に数値を読んでくやつ教えてくれ。
テストに出たが忘れた・・・
0261デフォルトの名無しさん
垢版 |
2008/01/21(月) 15:50:37

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

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

どうしてもわかりません…
お願いします。
0263デフォルトの名無しさん
垢版 |
2008/01/24(木) 19:05:09
VISUAL BASIC で学生人数の平均を出す
プログラムを作りたいのですが、どういうようなコードを
書けばいいかわかりません・・・・・。
コマンドボタンを押すと、Text欄に社員が10人の平均が出力されるような・・・ものです。
自分何とかで調べたのですが、演算(+, /, * )を使うまではわかりました。
0264デフォルトの名無しさん
垢版 |
2008/01/24(木) 19:05:41
訂正
社員でなく学生です
0265デフォルトの名無しさん
垢版 |
2008/01/24(木) 21:04:14
問題12
xの値を0〜360度、10度刻みで変化したときの、関数f(x)=sin(x)、f(x)=cos(x)のグラフを同画面上に描きなさい。
N88互換BASICでよろしくお願いします。
0266デフォルトの名無しさん
垢版 |
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
0268デフォルトの名無しさん
垢版 |
2008/01/29(火) 15:53:57
これ最短でゴールするようにプログラムつくってくれませんか?
できればゴール後パフォーマンスもお願いします


http://imepita.jp/20080129/564990
0269デフォルトの名無しさん
垢版 |
2008/01/29(火) 23:57:59
国旗(何でもよし。でもちょっとだけ手間かかるほうがいいかも)2つ書くプログラミングと、
簡単なゲームのプログラミング(それか実行押すと絵が変わるのとかの)どなたかお願いします!!
単位かかってて切実です・・・
お願いします!
0270デフォルトの名無しさん
垢版 |
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
0271デフォルトの名無しさん
垢版 |
2008/01/30(水) 08:49:06
268 はライントレーサーです お願いします
0272デフォルトの名無しさん
垢版 |
2008/01/31(木) 04:53:44
>>268は、ライントレーサーでハードウェアの仕様もAPIもわからずに、
どうやって解けとwwwww

丸投げにもほどがあるwwww
0273デフォルトの名無しさん
垢版 |
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が出力されるプログラムってどう書くのですか?
0274デフォルトの名無しさん
垢版 |
2008/02/07(木) 09:32:12
WAITってw
0275デフォルトの名無しさん
垢版 |
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
0277273
垢版 |
2008/02/07(木) 12:41:36
>>275
ご協力ありがとうございます。
申し訳ありません… "2/an を出力" でした。
"print 2/A(n)"と書きかえればよろしいでしょうか。
2/anの極限はπ(=3.1415…)になるそうですが…
0278273
垢版 |
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)))
です。すみません
0279デフォルトの名無しさん
垢版 |
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))

0281デフォルトの名無しさん
垢版 |
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/

よって終了。
0283273
垢版 |
2008/02/09(土) 00:47:20
ありがとうございました。
解決しました。
0284N88互換
垢版 |
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になるまで、計算処理回数が最も多い値を求めるにはどう
すれば良いのでしょうか?

分からなくて困ってしまってます・・・
お願いします。
0285デフォルトの名無しさん
垢版 |
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
0286N88互換
垢版 |
2008/02/19(火) 21:07:14
返信遅くなりました!
かなり参考になりました。
ありがとうございました!!
0287デフォルトの名無しさん
垢版 |
2008/02/20(水) 21:07:56
文字列変数に[,]が入れたときに動作不良を起こさないのってどうすればいいの?
0290デフォルトの名無しさん
垢版 |
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の長い棒ができますね。

この問題を解くためのプログラムを教えてください。お願いします。
0291デフォルトの名無しさん
垢版 |
2008/06/21(土) 06:10:06
充足問題を解くのか
動的計画法でいいんかな
微妙に単調増加っぽいけど忘れた
0292デフォルトの名無しさん
垢版 |
2008/06/27(金) 00:55:42
質問しつれいします。
素数のリストを、有限の自然数N以下に限定しないで次々に書き出す
プログラムを書きたいのですが、どのようにすればいいのでしょうか?
Nを限定した時はDIMを使えば出来たのですが、上のような時はどうすればいいのか。
記憶容量は無視していいそうです。
どなたか回答お願いします。
0293デフォルトの名無しさん
垢版 |
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
0294デフォルトの名無しさん
垢版 |
2008/06/28(土) 00:43:23
メッセージの定義されていないエラーです。
行番号:130
と出て、71までの素数しか表示されないのですが・・・
せっかく答えていただいたのに文句言ってすいません。
どこを改良すればいいのでしょうか?
0297デフォルトの名無しさん
垢版 |
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
0298デフォルトの名無しさん
垢版 |
2008/06/29(日) 01:09:48
できました!
これで単位落とさなくてすみそうです。
本当にありがとうございました。
0300学生
垢版 |
2008/07/02(水) 14:07:14
プログラミングの授業でsin30°の値を出したときに0.499999616987256という値が出てきたのですが・・・
普通だったら0.5だがなぜこの値になったのか理由を示せといわれました。
自分には全然わからなかったので是非教えていただきたいのですが、
よろしいでしょうか?
0301デフォルトの名無しさん
垢版 |
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)
これの実行結果で発生する誤差を確認の事
0302学生
垢版 |
2008/07/03(木) 00:49:58
本当にありがとうございます!
もしよければ、まだ他にsin(30)=0.499999616987256(なぜ0.5でないのか?)
可能性があるとしたら何かありませんか?
0303デフォルトの名無しさん
垢版 |
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が返ってきたんじゃないかと。
0304学生
垢版 |
2008/07/03(木) 12:00:30
本当にありがとうございます!
0305デフォルトの名無しさん
垢版 |
2008/07/04(金) 14:10:01
BASICを勉強しているのは工業系の高校ですか?
普通科高校卒の僕はBASICの宿題がある事を今知りました
0307デフォルトの名無しさん
垢版 |
2008/07/13(日) 16:34:53
質問です。次のようなプログラムを組むにはどうしたらいいのでしょうか?
どれか1つでもいいので分かる方お願いします。

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

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

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

0308デフォルトの名無しさん
垢版 |
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
な感じでもできるっちゃできるんですけど

アスキーコード?使ってできないですかね。
さっきベーシックはじめて触って苦戦してます。
教えていただきたいです。お願いいたします〜。
0310デフォルトの名無しさん
垢版 |
2008/07/14(月) 01:06:15
>>309
あ、できましたっ
ありがとうございました!w
0311デフォルトの名無しさん
垢版 |
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
0314デフォルトの名無しさん
垢版 |
2008/07/24(木) 16:28:20
C言語をBASICに翻訳するソフトをどこで手に入るか教えてください
0316デフォルトの名無しさん
垢版 |
2008/07/24(木) 22:33:52
いやいや、まずないと思うし
万が一あったとしてもBASICとして読んでもわからないプログラムに変換されてるだろ
0317デフォルトの名無しさん
垢版 |
2008/07/25(金) 00:22:26
まあ今時BASICなんて方言だらけだし
Cと互換性のあるBASICを自分で作っちゃえばいいんじゃね?
0321245
垢版 |
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 = 標準偏差
0322デフォルトの名無しさん
垢版 |
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・この考え方にしたがってプログラムを作成し、πの近似値を計算せよ。

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

誰かわかる人頼みます。。。
0324デフォルトの名無しさん
垢版 |
2008/09/26(金) 18:39:16
誰か綺麗な花火のプログラム作ってくれ・・・・
授業聞いてなかったから/(^o^)\
学校ではN88互換BASICとかいうの使ってた
0325デフォルトの名無しさん
垢版 |
2008/09/26(金) 23:29:19
だれか頼むぜ・・・・・・・・・・・・やはり無理なのだろうか
0326デフォルトの名無しさん
垢版 |
2008/09/27(土) 07:57:53
>>325
まずは自分で作ってうpしてね!
0327デフォルトの名無しさん
垢版 |
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
0328デフォルトの名無しさん
垢版 |
2008/12/24(水) 06:29:24
>>327
ちなみにそれを実行するのに必要なのはどれですか?

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

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

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

入門書探したけどJustBASICのチュートリアルぐらいしか見つからない。
英語だけど我慢してやってみる・・・
0332デフォルトの名無しさん
垢版 |
2009/01/15(木) 06:14:14
サイコロを二つを10000回振って出た
合計の数(2〜12)を配列に記憶して、
最後に2〜12が何回出たか合計を表示するプログラム
basicで作ってください

提出今日までです…

サイコロ二つはa=rnd(6)+1:b=rnd(6)+1で作れって書いてあります
さっぱりわからないです…お願いします。。
0333デフォルトの名無しさん
垢版 |
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
0334デフォルトの名無しさん
垢版 |
2009/01/21(水) 15:37:21
3×3行列ABの成分を入力し、それらの和の行列C、差の行列D、積の行列E
を計算するプログラムを作成せよ。
※DIM文、FOR〜NEXT文を使うこと。
※行列成分の入力にはFOR〜NEXT、とINPUT文(READ文)を組み
合わせること。

全くわからん・・・誰か・・・
0335デフォルトの名無しさん
垢版 |
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

長いので続く
0336デフォルトの名無しさん
垢版 |
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
0337デフォルトの名無しさん
垢版 |
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を削除
0338デフォルトの名無しさん
垢版 |
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
0339デフォルトの名無しさん
垢版 |
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の一覧を出力したいです
どのように書いたらいいですか?
0341デフォルトの名無しさん
垢版 |
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
0342デフォルトの名無しさん
垢版 |
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
0344デフォルトの名無しさん
垢版 |
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
0345デフォルトの名無しさん
垢版 |
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ヶ所をこのように変更するだけ
0348デフォルトの名無しさん
垢版 |
2009/01/22(木) 14:28:32
>>344
>>347の言う通り
直すなら

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

とでもすべきだな
0349デフォルトの名無しさん
垢版 |
2009/01/22(木) 20:22:42
お願いします。

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

(コメント)
−20%未満:やせすぎ
−20%以上−10%未満:やややせている
−10%以上10%未満:正常
10%以上20%未満:やや太っている
20%以上:太りすぎ
0350デフォルトの名無しさん
垢版 |
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
0351デフォルトの名無しさん
垢版 |
2009/01/25(日) 14:59:37
349です。
>>350
ありがとうございました。
0352デフォルトの名無しさん
垢版 |
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で誰かお願いできないでしょうか?
月曜にテストあるんで・・・
0353デフォルトの名無しさん
垢版 |
2009/02/12(木) 18:45:39
f(x)=x^4-2.03790x^3-15.4245x^2+15.6696x+35.4936=0
の最大解をニュートン法で求めよ。 という課題が出て困ってます。
誰か教えてください。  無理ならニュートン法での4次方程式の解き方
だけでもいいので教えてください。
0354デフォルトの名無しさん
垢版 |
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
0355デフォルトの名無しさん
垢版 |
2009/02/15(日) 12:19:52
>>354 
ありがとうございました しかし110行で「Eをここに書けません」と出たので110行目を消したできたんですけど
110行目を消しても問題ないですかね?
0356デフォルトの名無しさん
垢版 |
2009/02/15(日) 12:23:39
>>354
あと一応結果は4.・・・というのが左に7個と右にいろいろ出ました
0357デフォルトの名無しさん
垢版 |
2009/02/15(日) 19:01:31
それは本気で言ってるのか?
計算ループの終了条件に使われてるんだから、消して良いわけないだろ。
0358デフォルトの名無しさん
垢版 |
2009/02/15(日) 20:03:39
でも消さないと実行できなかったんですけど・・・
ちなみに十進ベーシックです
0359デフォルトの名無しさん
垢版 |
2009/02/15(日) 20:08:46
すみません今、実行できました。 
LET E=1 E-5
^ここにスペースを入れてしまったので実行できなかったんですね
ありがとうございました
0360デフォルトの名無しさん
垢版 |
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
というのもあるのですが、よかったら教えてくれませんか?
0361デフォルトの名無しさん
垢版 |
2009/02/15(日) 20:23:04
すみません
359の「ここ」というのはE=1とE-5の間のことです
0363デフォルトの名無しさん
垢版 |
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
0364デフォルトの名無しさん
垢版 |
2009/02/17(火) 18:45:53
>>362
高校の選択学習とかいう留年にかかわる面倒な課題ですわ
0365デフォルトの名無しさん
垢版 |
2009/02/17(火) 18:47:24
>>363
ありがとうございます
一通り終わってまたわからなかったら聞きに来ますね
0366デフォルトの名無しさん
垢版 |
2009/02/17(火) 21:37:40
>>362
今時ポケコンは無いだろ、N88互換BASICとか十進数BASIC辺りじゃね。
0367デフォルトの名無しさん
垢版 |
2009/02/20(金) 22:16:10
ファイルに文字列で CHAR$(00) を混ぜて出力しようとしたけど無理だった。
BASICじゃー &h00 をファイルに出力するって出来なかったのかぁ。
0370デフォルトの名無しさん
垢版 |
2009/04/28(火) 07:15:12
>>360
答え出ますた
a= 0.051810637
b= -0.014019252
c= 0.067333510
d= 0.223948590
です。
0371デフォルトの名無しさん
垢版 |
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を求めるプログラムに書き換えなさい。
また、そのように改変した理由も述べよ。

この問題、わかる人いますか?;;
0373デフォルトの名無しさん
垢版 |
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 では 解けないかもな
0374デフォルトの名無しさん
垢版 |
2009/07/26(日) 20:26:02
すみません
問3. M個のデータのうち、その2番目の小さいデータと同じデータの個数を求めるアルゴリズムの流れ図を示せ。
という問題なんですが、だれか簡単に説明してくれませんか(´・ω・`)
0375デフォルトの名無しさん
垢版 |
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
>
となります。
0377デフォルトの名無しさん
垢版 |
2009/07/27(月) 06:55:43
BASIC最近さわってねーから
「M個のデータのうち、その2番目の小さいデータと同じデータの個数を求める」関数って無かったっけ?
それがあれば f=「 M個のデータのうち、その2番目の小さいデータと同じデータの個数を求める」 っておいて
M個のデータ→f→2番目の小さいデータと同じデータの個数
になるんだけど
0378デフォルトの名無しさん
垢版 |
2009/07/27(月) 09:31:29
@M個のデータの全部を検索して一番小さいデータの値を求める。
AM個のデータの全部を検索して二番目に小さいデータの値を求める。
BM個のデータの全部を検索して二番目に小さいデータの個数を求める。

もっと効率の良いアルゴリズムがあるのかもしれん
0379デフォルトの名無しさん
垢版 |
2009/07/30(木) 12:41:36
basicって今時文法を覚えてる人いないよね
0380デフォルトの名無しさん
垢版 |
2009/07/30(木) 13:09:51
BASICの文法っても、10個ほどのコマンドを覚えるだけだから....
関数なんかはそのつど取説を参照するし
0381デフォルトの名無しさん
垢版 |
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
0382デフォルトの名無しさん
垢版 |
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

続く…
0383デフォルトの名無しさん
垢版 |
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元の連立方程式を実際に解いてみよ。
またこのプログラムで計算できない連立方程式の例を与え,その理由を述べよ。


わかる方、お願いします!!
0384デフォルトの名無しさん
垢版 |
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
とか?
0385デフォルトの名無しさん
垢版 |
2009/08/03(月) 00:59:59
>>384

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

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

0386デフォルトの名無しさん
垢版 |
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つの出現回数を都度数えておけば良い。
メリットは自分で考えてくれ。
0387デフォルトの名無しさん
垢版 |
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

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

0393デフォルトの名無しさん
垢版 |
2009/08/26(水) 21:19:54
十進BASICでのコンビネーションの計算をお願いします!!
0394デフォルトの名無しさん
垢版 |
2009/09/03(木) 10:47:52
BASIC繁栄時代があったらしい
0395デフォルトの名無しさん
垢版 |
2009/09/04(金) 18:54:18
変数名.N$ って、何を指したっけ?
0397デフォルトの名無しさん
垢版 |
2009/09/05(土) 19:40:10
>>393
つ COMB(n,r)
0398デフォルトの名無しさん
垢版 |
2009/09/23(水) 12:28:54
なあ、セーブ機能付きレジ打ちのプログラム打ちたいんだが
お前らならどんなプログラム打つ?
0400デフォルトの名無しさん
垢版 |
2009/09/23(水) 16:38:53
できたらやってあげたいがな…
0402デフォルトの名無しさん
垢版 |
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
0403デフォルトの名無しさん
垢版 |
2009/10/03(土) 16:39:57
@subを用いて2つの分母の異なった(2/3+5/7など)分数の和を計算するプログラムを作成せよ。
実行結果は約分すること

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

0404デフォルトの名無しさん
垢版 |
2009/10/03(土) 17:34:27
age
0406デフォルトの名無しさん
垢版 |
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
0408デフォルトの名無しさん
垢版 |
2009/10/03(土) 22:48:57
そうっすね
0409デフォルトの名無しさん
垢版 |
2009/10/04(日) 00:19:56
本質的なところを突っ込んでください。
>>406だと変な値を入れても除外せずに面積計算しちゃう事があるのよね。
0410デフォルトの名無しさん
垢版 |
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件
0412デフォルトの名無しさん
垢版 |
2009/10/06(火) 18:47:27
懐かしくてMindのサイト行ってみたけど
4番人気にしては寂しい状態だなw

正確にはForthじゃないけどw
0415デフォルトの名無しさん
垢版 |
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
0417デフォルトの名無しさん
垢版 |
2009/10/07(水) 17:54:29
>>416
ステップの実行って…?
0425デフォルトの名無しさん
垢版 |
2009/10/08(木) 09:27:39
お前ら解答出来ないなら喋んなよ
0427デフォルトの名無しさん
垢版 |
2009/10/09(金) 09:17:19
>>425
そこまでロジック組めるなら、今度はデバックの仕方を学ぶべきだ
つか、>>415な汚いソースなんか誰も追う気にはなれない
0429デフォルトの名無しさん
垢版 |
2009/10/13(火) 18:49:14
>>415
> プログラムは以下の通りなんだけど、周期の長さが80以上になるような場合だと正常に動作してくれない…

"期待する正常動作、実際の動作"が不明だが、エスパーしてみると、数列の数値が大きすぎてオーバーフローしてると思われ。
周期80なら連続する2数値は、↓のはず。
8670007398507948658051921, 14028366653498915298923761
0431デフォルトの名無しさん
垢版 |
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件)+
0433デフォルトの名無しさん
垢版 |
2009/10/16(金) 10:13:47
少数派では不安と考えるか、多数いると買い叩かれると考えるかで変わってくるんでは?
0434デフォルトの名無しさん
垢版 |
2009/12/15(火) 16:20:20
50人のクラス(男子35人)から5人の委員をランダムに選ぶ。このとき選ばれた委員の中に男3人、女2人が入る確率をBASICで求めよ。


すいません、さっぱりわからないので教えてください。
0436デフォルトの名無しさん
垢版 |
2009/12/27(日) 21:43:34
>>434
まず、数学で問題をときます。
次にPC8801を起動してディスクを入れてリセットします。
BASICが起動したらautoと打ってリターン。
あとはBASICでプログラムを入力し
F5を押します
0437デフォルトの名無しさん
垢版 |
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
0438デフォルトの名無しさん
垢版 |
2010/01/05(火) 09:38:21
普通に公式使って解けばいいじゃん
0439デフォルトの名無しさん
垢版 |
2010/06/02(水) 00:30:00
>>437
それじゃ同じ人間が複数回選ばれかねないんじゃないか?
0440デフォルトの名無しさん
垢版 |
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目盛り当たりの縮尺係数
0441デフォルトの名無しさん
垢版 |
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
0442デフォルトの名無しさん
垢版 |
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票
0443デフォルトの名無しさん
垢版 |
2010/06/08(火) 21:59:23
「BASICの宿題」 って、普通科の高校ではないよね。
みんな、職業科の高校生? それとも専門学校生か何かなの?
  
0446デフォルトの名無しさん
垢版 |
2010/06/12(土) 01:34:44
宿題、ではないんですが

一次不定方程式、例えば12x+18y=6のxとyを求めるプログラムをユークリッドの互除法を使って
作成してください。
よろしくお願いします。
0449デフォルトの名無しさん
垢版 |
2010/06/28(月) 19:48:15
フリーソフトの「N88互換BASIC」 ってWindows でも使えるからすごく便利だと思うけど、
使っている人はどのぐらいいるの? 
 
0451デフォルトの名無しさん
垢版 |
2010/07/01(木) 19:59:07
>>450
50時では無理。50字なら可能。

メジャーなプログラム言語であれば、配布や意見交換で好都合なので、
マスターする価値が大きいから。 (以上、句読点を含めて47字。)
   
0454デフォルトの名無しさん
垢版 |
2010/07/12(月) 18:24:27
>>452
>N88互換BASICは昔のプログラムのための再生プレーヤーなんじゃないの。

違うよ。 完全互換じゃないから、再生プレーヤーにはならないよ。
数学の高度な計算をするときや、複雑なグラフの概形を知りたい時などの最高のツールだよ!
  
0456デフォルトの名無しさん
垢版 |
2010/07/12(月) 20:34:38
>>454
うーん。本当にN88互換BASICで新規にプログラムかいているんですか?
すごく遅いという記憶しかないのですが。
0460デフォルトの名無しさん
垢版 |
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描画速度を向上させる方法(構文的に)を知りたい

自分で作ったやつは、いろいろとイマイチ(特に描画速度)で困っています・・・。
0461デフォルトの名無しさん
垢版 |
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を操作することで、立方体の回転もできると思っています。
効果的な方法が知りたいです。
0462デフォルトの名無しさん
垢版 |
2010/08/13(金) 23:59:05
オイラー座標ではなくて四元数使った方がいいんじゃないの?

四元数は複素数の拡張として知られ、複素数はガウス平面上の
二次元物体の挙動を表すのに用いられたが、四元数のそれは三次元の
物体の回転に対応しており、例えば乗法の交換法則が成り立たないが、
これは三次元の物体を経度方向に動かしてから緯度方向に動かしたのと、
経度方向に動かしてから経度方向に動かした結果が異なる事に対応している
0464デフォルトの名無しさん
垢版 |
2010/08/14(土) 00:02:11
×経度方向に動かしてから経度方向に動かした結果が
○緯度方向に動かしてから経度方向に動かした結果が
0465デフォルトの名無しさん
垢版 |
2010/08/14(土) 11:42:06
今のところ、回転はx,y,z軸回り回転行列で処理させています。(これをオイラー角というのでしょうか?)
クォータニオン(四元数)は、複素数での平面回転を、立体回転に拡張したようなものでしょうか?
勉強してみたいと思います。

ただ、同じ(X,Y)座標の時に、Z値がより表層の場合に描画し、Z値がより下層場合には描画しないという、
陰線処理のルーチンが上手くいきません。
いい処理方法はないでしょうか?
0466デフォルトの名無しさん
垢版 |
2010/08/14(土) 11:44:16
処理が煩雑で、処理速度が遅いのが悩みの種です。
配列とか、オブジェクト指向にして上手くまとめる方法はないでしょうか?
0467デフォルトの名無しさん
垢版 |
2010/08/14(土) 20:46:00
すいません初歩的な質問なんですがVisual Basic2008で
給料明細を確認するプログラムを作りたいと思っていまして、いきなり躓いているので誰か助けてください^^;
時間などを入力するTextBoxをつくり、総給料を出すときに時給×時間で表示させたいんですが、

総給料のTextboxにはどうやってコードを書けばよいのでしょうか、色々やってみたのですが何も反応しなくて・・・
超初心者質問ですいませんがよろしくおねがいします。

0468デフォルトの名無しさん
垢版 |
2010/08/14(土) 21:27:45
すいません↑のものです。
質問を変えます。

TextChagedイベントでやっていたのですが、反応せずClickイベントではちゃんと値がでました。
でも毎回クリックしていては面倒くさいプログラミングソフトになってしまうので
どういったイベントで行えば、時給と時間を入力したあとすぐに総給料を計算して総給料のtextに入力しますか?
ちなみに総給料のコードは

TextBox93.Text = Double.Parse(TextBox4.Text) * Double.Parse(TextBox3.Text)
です。
0469デフォルトの名無しさん
垢版 |
2010/08/17(火) 18:41:16
>>466
亀レスすまんが・・・

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

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

最外面をどこにするか深度も変更できるようにすればどう?
0470デフォルトの名無しさん
垢版 |
2010/08/17(火) 18:52:08
あ、でもこの方法だと、任意の角度での断面をとるのは厳しいな〜

処理速度はX 255×Y 255×Z 255のネストよりは圧倒的に早くなるんだがね。
なにしろ、(A 255×B 255)×6面で済むからね。

255→128へ間引いて、PSET→CIRCLEやLINE/BFしてやるだけでもだいぶ早くなると思うけど。
0471460
垢版 |
2010/08/18(水) 11:52:01
>>469


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

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

あとは任意断面を切り取る機能が欲しいのですが、外周だけの処理だと切り口の辺しか描画されず、面になりません。
任意平面で立体の断層面を描画する方法を教えて下さい。
0472デフォルトの名無しさん
垢版 |
2010/08/18(水) 20:29:57
X 255×Y 255×Z 255のネストで内部も含めた全座標(X,Y,Z)をバッファ
 ↓
各座標点を指定角度だけ回転させて変更後の座標(X',Y',Z')にリフレッシュ
 ↓
回転後の任意Z'座標のみ抜き出して、平面(X',Y')を描画

やればできそうですが、物凄い処理になって遅そうな印象が・・・
0473デフォルトの名無しさん
垢版 |
2010/08/18(水) 21:05:00
逆の考えで、点集合P(x,y,z)に対して、z=Z0の平面である点集合Pz0(x,y,Z0)を考える。

その平面を任意の角度(α,β,γ)に回転させて、色立体との交差判定を行う方法はどうか??

立方体と平面の交差判定をどうするか・・・
0474デフォルトの名無しさん
垢版 |
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の範囲にクリップしてから
0475デフォルトの名無しさん
垢版 |
2010/08/19(木) 20:06:23
>>468
フォーカスアウトイベントがあるはず
共通処理を行う関数を作り、時間と給料のテキストボックスからフォーカスが離れたら呼び出す。
イベントが来たボックスと別のボックスに表示させかたはわかる?
0476460
垢版 |
2010/08/20(金) 19:20:48
断層面を指定してから回転させる方法も試させてもらいました。

Z軸回りに45度回転させると断面が八角形になるのでおかしいと思ったら、
斜めだと√2倍になるせいで、断面が元の立体と同じ大きさの面だと足りなくなるようです。

X,Yのネストを0〜255でなく、0〜255×√2倍にしてみました。
Z軸回りの回転では角が切れなくなりましたが、立方体の対角断面を取ろうとするとまだ足りない気もする・・・。

今のところは、立方体の回転後の全座標を計算後に、Z値指定で描画が一番遅いですが、一番確実のようです。
0477460
垢版 |
2010/08/20(金) 19:24:10
回転についてですが、現在の座標をもとに回転させていくと、
誤差の蓄積のためか、どんどん図形が小さくなって、数回転させると1つの点に収束してつぶれてしまいます。

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

回転後の座標を利用して次の回転後の座標を計算する場合に、潰れない方法はありますか?
回転時に大きさを正規化する必要がありそうなのですが・・・
0478デフォルトの名無しさん
垢版 |
2010/08/22(日) 15:46:47
色立体をRGB式の直方体で作成していますが、球や円柱、円錐、六角形のモデルも作成できるでしょうか?

RGB式ではなく、やはりHSL(HSB)式でないと難しいでしょうか?
0479デフォルトの名無しさん
垢版 |
2010/08/23(月) 00:20:34
回転前に絶対値をとって、原点からの距離を計算しておく

回転後にも絶対値をとって、回転前の絶対値で割ってから、それを回転後の座標にかける
0480デフォルトの名無しさん
垢版 |
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 黒
0481480
垢版 |
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 青
0482デフォルトの名無しさん
垢版 |
2010/08/24(火) 22:38:06
English版のwikipediaの解説すごい!!

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

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

これをアニメーションするようなプログラムアルゴリズムが欲しいね
0483デフォルトの名無しさん
垢版 |
2010/08/24(火) 22:47:49
メモのエラーについて、
出現の予測が不能・けっこう頻度が無視できない・修復不能の三拍子がそろっており、
我が身に降りかかると愕然としてしまいます。

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

@SBでスクリプトにメモを記載
Aカレントフォルダに別ファイルを作成し、どのスクリプトのどのパネル位置に何と書かれているかを、保存時に自動書き出し
BSBでメモを見る際はそのファイルにアクセスする
C仮にソフト側でエラーが出て落ちても、ファイル自体は生き残るので、テキストエディタで中身を確認可能
Dそのファイルを再インポートすると、修復・復帰したソフトで読み込める
0485デフォルトの名無しさん
垢版 |
2010/08/26(木) 14:42:57
そのモーフィングアニメをソフトで再現してみてくれ〜

RGB   HLS                             HSB    RGB
立方体→双六角錐→六角柱→円柱→球→円柱→六角柱→単六角錐→立方体
立方体→双六角錐→双円錐→円柱→球→円柱→単円錐→単六角錐→立方体
0486デフォルトの名無しさん
垢版 |
2010/08/27(金) 00:51:33
立方体はx,y,zをPSETで順次代入していくだけで簡単に描画できるけど、
球とか、円柱とか、円錐とかはどうやって描画するの??
0487デフォルトの名無しさん
垢版 |
2010/08/29(日) 09:15:45
むしろ

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

球は明度を表面に沿わせるか、高さに沿わせるかで2通りできそう
0488デフォルトの名無しさん
垢版 |
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φで変化させると、球(表面明度)
0489デフォルトの名無しさん
垢版 |
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へ変化させながら、切片絶対値を線形減少させると、六角錐
0490デフォルトの名無しさん
垢版 |
2010/08/29(日) 19:26:29
HSLやHSB(V)では明度軸があり、色相環がそれを囲んでいるので、
外表面は彩度255に固定して、色相環を任意に回転させるようにアニメーションさせれば良い

明度軸を0度から90度(または-90度から+90度)だけ手前に傾けるアニメーション、
彩度を任意値にスライドさせるアニメーション、明度軸に沿った平面で断層をとるアニメーションもあると良いかな
0491デフォルトの名無しさん
垢版 |
2010/08/31(火) 12:55:46
立方体の対角線を軸にして、垂直断面をとった場合の断層と、水平断面を軸の高さに応じて何枚かとった断層をみたい
0492デフォルトの名無しさん
垢版 |
2010/09/02(木) 00:53:40
夏休み終わったから、ヴィジュアル系ベーシックが使える様になって女子にモテモテと企んで、マヌアル読んでみたが、ベーシックって帳票印刷の機能がない?
やっぱりジャヴァを使えないと帳票印刷は無理?
おまいら帳票印刷どうしてるの? 諦め?

あと、ベーショック使えて女子に持てた事有る?
0493デフォルトの名無しさん
垢版 |
2010/09/02(木) 14:19:13
>>492
>帳票印刷
やろうと思ったことさえないので、わからん
標準ではできないかもしれんが、APIとかDLLでできるくなるんでは?

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

学生や普通職なら、簡単な処理をするソフト作ったりして重宝がられたり、話すきっかけ作りになることはあるな
0494デフォルトの名無しさん
垢版 |
2010/09/02(木) 17:12:43
>>492
帳票は、Excel組込みのBASICを使う。VBと同じだ。
Excel使いの間では、関数が使えれば先生、VBAが使えれば神様と呼ばれる。
0496デフォルトの名無しさん
垢版 |
2010/09/09(木) 22:07:48
BASICで立体座標を扱うと処理遅いんだけど、BASICでDirectXとか使って処理を高速化する方法ないの?
0499デフォルトの名無しさん
垢版 |
2010/09/10(金) 22:15:24
Visual Basicでの質問なんですが、

今給料明細のプログラミングをしてまして、
1日目の就業時間 8時間30分
2日目の就業時間 8時間30分
3日目〜〜
4日目〜〜

総労働時間123時間30分
などという用に作りたいのですが、
timeserial関数を使って計算したところ24時間以降はまた1になってしまいます。
何かいい方法はないでしょうか?
0500デフォルトの名無しさん
垢版 |
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)

で解決することができました。
0501デフォルトの名無しさん
垢版 |
2010/09/11(土) 00:33:17
↑何回もすいません
textbox10.text=c+hour(t)

でした、
0504デフォルトの名無しさん
垢版 |
2010/09/13(月) 21:21:05
開発ソフトからテスト実行するのと、コンパイルしてexe化したものを実行するのは、速度が違うの?
0506デフォルトの名無しさん
垢版 |
2010/09/13(月) 21:48:00
>>504
開発環境にもよりますが、
一般的に開発環境からの起動はデバッグモードだと思うので遅くなる。
コンパイル時にも、最適化などのオプション設定で違ってくる。
0508デフォルトの名無しさん
垢版 |
2010/09/16(木) 15:44:01
開発時と運用でコンパイル条件変えると不具合が出る事はよくあるけどね。
運用時の解析用にデバック機能月でコンパイルも有り。
0509デフォルトの名無しさん
垢版 |
2010/09/17(金) 20:27:22
基本的な質問ですみません。
Visual Basic 6.0の質問でも良いですか?

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

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

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

> BSubの呼び出し 
> CFunctionの呼び出し
呼び出し方はほぼ一緒
Subは戻り値が無いため、Let 式や Set 式の右辺には置けない
使い方とか言われてもVB中学校でも見てれば良いとしか…
0511デフォルトの名無しさん
垢版 |
2010/09/18(土) 14:22:32
Sub......
 
 ...............
 Gosub A
 ..............
 Exit Sub
 
A:
 ...............
 Return

End Sub
----------------------------------------------------------------
End Subより手前に書かなければ、有効な範囲でなくなるため呼び出せません。
Exit Subで区切っておかないと、最後にサブルーチンが実行されてしまいます。
0512デフォルトの名無しさん
垢版 |
2010/09/18(土) 14:43:14
サブルーチンをプロシージャに独立させてしまい、callで呼び出す方法
(サブルーチンで共通処理だけさせる)
--------------------------------
Sub......
 
 ...............
 Call A
 ..............

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

End Sub
0513デフォルトの名無しさん
垢版 |
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)が代入されます。
0514デフォルトの名無しさん
垢版 |
2010/09/18(土) 18:17:10
Functionの使い方は何となくわかりましたが、SubのBy ValとBy Refの違いがよくわかりません。

Subでなぜ引数が必要なのですか?
(関数はXを入れたらYにしてくれるもの・・・という認識ですけど)
By ValとBy Refの使い分けは、どこにあるのですか?
0516デフォルトの名無しさん
垢版 |
2010/09/19(日) 03:10:09
vbで帳票印刷させられそうに成ってたが、結局エクセルで作ってデータだけインポートする業務フローに援交した。
エクセルだと事務員や営業でも抵抗無いし、basic知らなくても使えるからいいよ。


エクセルのサーバ版みたいなのが有れば、basicでシステム組む必要も無いよなw
0517デフォルトの名無しさん
垢版 |
2010/09/19(日) 03:55:56
付属のマニュアルはわかりにくいからね
特にMSDNなんかは、わからない人が読んで理解できるようには書いてない

というかMSDNのSD以外にマニュアルついてたかな?
俺はリファレンスまで注文して揃えたが
0521デフォルトの名無しさん
垢版 |
2010/09/19(日) 21:37:34
あんたのしてることは「相談」なんかじゃ無い。

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

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

まずきちんとマニュアルなり入門書なり参考書なり読みなさい。
本来ならコンピュータ専門学校や情報系大学、あるいはパソコン教室などに通って
時間とカネをかけて苦労して勉強すべきことを、2ちゃんねるの掲示板で済まそうってか?
0523デフォルトの名無しさん
垢版 |
2010/09/19(日) 21:52:07
>>521
なんか勘違いしてないかい?

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

まかせるヤツとまかされるヤツがいるだけさ
0524デフォルトの名無しさん
垢版 |
2010/09/19(日) 21:56:47
>2ちゃんねるの掲示板で済まそうってか?

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

まるで、コンビニ店員が弁当買って行く客に対して、「本来は手間と暇をかけて作るべき弁当をコンビニ弁当で済ます気か?!」と言っているのと同じレベルだな
0526デフォルトの名無しさん
垢版 |
2010/09/19(日) 22:41:10
そこでMSDNです
ページ毎にリンクが張っているため縦横しつつ欲しい情報を手に入れさせません
0527デフォルトの名無しさん
垢版 |
2010/09/19(日) 23:02:26
>>526
同感
MSDNはリンク・リンクで飛ばされて、説明に一貫性がない
なんというか新聞の切り抜きスクラップ集の状態

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

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

今時BASICのパソコン教室とか・・・
その地域にあるかもわからんし、どの程度まで教えてくれるレベルかもわからんし、そんなの聞くためだけに教室通うのもアホ過ぎだろ
0528デフォルトの名無しさん
垢版 |
2010/09/20(月) 15:56:54
そんな教室の講師のスキルなんてしれてるしねえ。
ホントにプログラム組めるなら講師遣るより稼げるだろうに。

記事描きのスタッフは、プログラム経験無いから実務に必要な情報が把握出来てないよな。
プログラム組めるなら、記事描きなんて稼げない仕事しないしw
0529天使 ◆uL5esZLBSE
垢版 |
2011/07/02(土) 15:55:18.15
これ ; デリミタっていうんだけどさ、よく打ち忘れるよね
Rubyだとつけなくてよくなるんだけど


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

ゴミが散らかってる
0532デフォルトの名無しさん
垢版 |
2011/07/05(火) 22:56:33.45
天使さん
どうしちゃったの??
0536535
垢版 |
2011/12/21(水) 21:22:13.74
間違った。.NETのバージョンは4でいいの?
0537535
垢版 |
2011/12/21(水) 22:40:30.18
>>533
ttp://www1.axfc.net/uploader/File/so/72970
0539デフォルトの名無しさん
垢版 |
2011/12/23(金) 10:05:59.53
丶丶丶丶丶丶温幽籬櫑櫑櫑櫑櫑幽厶雌櫑幽岱垉厶丶丶丶丶丶丶
丶丶丶当櫑欟欟櫑欟欟欟欟欟欟欟櫑欟櫑櫑翻麗謝叱丶丶丶丶丶
丶丶丶覇竃櫑櫑欟欟欟欟欟欟欟櫑欟櫑欟欟欟層櫑艶旨丶丶丶丶
丶丶丶層櫑欟欟欟欟欟欟欟欟欟嬲竃嬲竃竃欟櫑竃覇覇丶丶丶丶
丶丶丶灑嬲欟欟嬲嬲嬲嬲嬲鬻辧卻眉贈幗層欟欟櫑竃櫑廴丶丶丶
丶勹僧層櫑欟鬱綴綴局悦局局拇狐綴綴鋼幗幗竃欟竃櫑廬丶丶丶
丶湘嬲嬲櫑欟辧綴仰災欠災沼卻局綴綴掴綱幗櫑嬲幗櫑廳丶丶丶
丶勺覇欟櫑鬱即卻仰災災沿己卻凹句郊塀獅幗櫑櫑欟櫑勳丶丶丶
丶丶濁幗欟圓扼卻仰災災沱災可沼笳鏑櫑雌彌幗櫑欟櫑欟眦丶丶
丶丶層櫑櫑鬱狐猖旛幽迫己旧卻獅嬲嬲幗幗幗幗櫑欟櫑覇眇丶丶
丶丶櫑欟欟鬱掴嚴憫笥局仰可局綮当踏審綱燒幗層欟櫑欟廴丶丶
丶丶層覇櫑欟即尚旛籬籬枢叫猖鬱幣憫牒憫椹禰幗欟欟欟杉丶丶
丶丶層欟櫑欟抓儕凹沼珱卻旧塀簡紹笳綴僻綴掴幗欟欟鬱丶丶丶
丶丶丶層櫑欟仰卻旧突句己沒笵綴囹卻仰加仰塀禰層欟欟企丶丶
丶丶丶瀰欟欟仰旧句災沼卻卻卻獅雌扼卻卻狐綴綱層欟欟歡丶丶
丶丶丶湧欟欟紀凹句巡卻仰似局綴獅雌卻卻綴掴綱幗嬲覇黙丶丶
丶丶丶丶層眼眼句旧卻卻鍵輔禰層嬲幗囹卻綴掴囃幗櫑歉丶丶丶
丶丶丶丶勺龝圄句沒卻卻卻卻沺禰幗幗雌歳狐掴囃彌欟默丶丶丶
丶丶丶丶丶丶丶句沒卻笳僻把洞雄櫺櫑顧綴鋼囃讃幗嚶丶丶丶丶 
丶丶丶丶丶丶丶勺句卻譲嬲霸嫻嬲幗難掴獅幗幗幗嬲艶二丶丶丶
丶丶丶丶丶丶丶丶句旧卻卻綴掴燒辧辧讃幗幗幗幗杉欟欟幽丶丶
丶丶丶丶丶丶丶丶丶刈皿狐卻仰瀉囃雌幗幗幗覇歉勺欟欟欟櫑幽
丶丶丶丶丶丶丶丶丶丶勺牋綴燒雌幗幗幗幗幗鬱三儲欟欟欟櫑櫑
丶丶丶丶丶丶丶丶二旛櫑封贈簡幗難幗幗櫑鬱災三灑欟欟欟櫑欟
丶丶丶丶丶丶澁櫑櫑櫑櫑歡兆卻塀綱幗幗黙冖三消欟欟欟欟欟覇
丶丶丶澁籬櫑櫑櫑櫑櫑櫑置丶筍綴綴諜冖丶丶三瀰欟欟欟欟欟覇
丶誕櫑櫑櫑櫑櫑櫑櫑欟櫑置丶勺朔薪丶丶丶丶勺欟欟欟欟欟櫑櫑
灑櫑櫑櫑櫑櫑櫑櫑櫑欟欟置丶俎幗雛止丶丶丶儲欟欟欟欟欟櫑櫑
欟櫑櫑櫑櫑櫑櫑櫑櫑櫑欟置丶欟攜層櫑幽丶丶灑欟欟欟欟欟櫑櫑
0542デフォルトの名無しさん
垢版 |
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を使うんだとは思うんですが、ぜんぜんわかんない・・・・
詳しい人いたら教えてください。
0545デフォルトの名無しさん
垢版 |
2012/02/20(月) 16:06:23.88
覆面算(かけ算)のアルゴリズム教えてください。
0547デフォルトの名無しさん
垢版 |
2012/02/20(月) 22:18:33.34
計算数がはんぱねぇっす
0549デフォルトの名無しさん
垢版 |
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)
ソースコードはこのような感じです。
エラーが出ないようにするにはどうすればよいでしょうか?
0551デフォルトの名無しさん
垢版 |
2012/07/21(土) 20:59:44.94
初心者で申し訳ありません。
basicを使って簡単なプログラミングをしなくてはいけなくなり
簡単なクリックまたは特定のキーで動くスロットをつくりたいのですが、ほとんどわかりません。
どなたかサンプルなどを載せて頂けないでしょうか。お願いします。
0554デフォルトの名無しさん
垢版 |
2013/11/19(火) 18:10:05.66
保守
0557デフォルトの名無しさん
垢版 |
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
0558デフォルトの名無しさん
垢版 |
2014/08/30(土) 11:17:32.90ID:VPRxFQ97
プログラムの知識がHuBASICどまりの俺には
変数の型の宣言がなんだか高い壁に感じられる
0560デフォルトの名無しさん
垢版 |
2015/03/31(火) 08:35:17.13ID: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
0561デフォルトの名無しさん
垢版 |
2015/07/30(木) 08:28:45.96ID:lmYoHGut
rem
0562デフォルトの名無しさん
垢版 |
2018/05/23(水) 22:56:22.22ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

R4YKO
0563デフォルトの名無しさん
垢版 |
2018/07/04(水) 23:12:15.33ID:gFgZc5FG
7KX
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況