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です。
標準正規分布を使った仕入れ最適問題です。(Windows板N88BASIC) 1個40円で仕入れ100円で売る。売れ残った物は1個15円で引き取ってもらう。 統計によれば1日に売れる物は平均800標準偏差120の正規分布に従っている。 1日にいくつ仕入れれば利益が最大になるか。 プログラムの一部を下に書きます。何処か写し間違えがあるかもしれませんがよろしくお願いします。 (s:仕入れtotal:粗利計k:客数a:余りの部数) for s=600 to 1000 step 20 total=0 for day=1 to 500 gosub *nomal(所定の正規分布乱数を作ってrに入れて戻る) k=int(120*r+80) if s<=k then (何処かの行番号) arari=100*s-40*s else a=s-k arari=100*k-40*s+15*a tatal=total+arari next day
>>168 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
>>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 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
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
>>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
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
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
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
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
>>234 DEF f(x) = x^2 - 2 DEF df(x) = 2*x LET EPS = 0.000001 LET IMAX = 1000 LET x = 2 FOR i=1 TO IMAX LET x1 = x - f(x) / df(x) IF ABS(x1 - x) < EPS THEN EXIT FOR LET x = x1 NEXT i IF i < IMAX THEN PRINT x1 END
236 名前:デフォルトの名無しさん [2007/02/02(金) 23:51:26 ]
10CLEAR :CLS 20DIM A(2),B(2) 30FOR J=0 TO 2 40A(J)= RND 6-1 50NEXT 60*MAIN 70LOCATE 0,0 80FOR J=0 TO 2 90IF B(J)=0 LET A(J)=(A(J)+1) MOD 6 100PRINT MID$ ("$*\7+&",A(J)+1,1); 110NEXT 120C= ASC INKEY$ -49 130IF C>-1 AND C<3 IF B(C)=0 LET D=D+1,B(C)=1 140IF D<3 GOTO *MAIN 150IF A(0)=A(1) AND A(1)=A(2) PRINT " GOOD" 160CALL 48381 170GOTO 10
>>238 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
10 REM TAIPINGU GE-MU 20 A$ = "RENSYUU SHITAI MOZIRETSU" 30 PRINT A$ 40 INPUT B$ 50 IF A$ = B$ THEN 80 60 PRINT "TIGAIMASU" 70 GOTO 30 80 PRINT "OWARI" 90 END
100 'NOURYOKU TORE-NINGU 110 SCREEN 0,1:CONSOLE ,,0,1:CLS 3:DEFINT A-Z 130 SIZ = 9:MAX = 100 : WAITCOUNT =10000 140 RANDOMIZE VAL(RIGHT$(TIME$,2)) 150 FOR I=0 TO SIZ 160 Q(I) = RND(MAX):ANS = ANS + Q(I) 170 NEXT 180 FOR I=0 TO SIZ 190 PRINT Q(I) 200 GOSUB *SWAIT 210 CLS 220 NEXT 230 INPUT "GOUKEI";G$ 240 IF VAL(G$) = ANS THEN PRINT "SEIKAI!":END 250 PRINT "ZANNEN!":END 300 *SWAIT 310 FOR S=0 TO WAITCOUNT :NEXT 320 RETURN
>>241 10 REM 4,6で左右移動 20 CONSOLE 0,14,0,1:CLS 3:X=320:Y=199:K=0:W=0 30 A$=INKEY$ 40 IF A$="4" THEN X=X-1:IF X<0 THEN X=0 50 IF A$="6" THEN X=X+1:IF X>639 THEN X=639 60 FOR I=1 TO 10:PSET(RND(1)*640,399),3:NEXT 70 ROLL 1 'ActiveBasicの場合は ROLL 0,-1 80 IF POINT(X,Y)=3 THEN PRINT "走行距離";K;"m":END ELSE K=K+1 90 PSET(X,Y),1:FOR I=1 TO W:NEXT:GOTO 30
100 REM じゃんけんゲーム 110 CLEAR:DIM A$(3),B$(3),H(3,3),S(3) 120 A$(1)="グー":A$(2)="チョキ":A$(3)="パー":S(1)=0:S(2)=0:S(3)=0 130 B$(1)="あいこ":B$(2)="あんたの勝ち":B$(3)="あんたの負け" 140 H(1,1)=1:H(1,2)=2:H(1,3)=3:H(2,1)=3:H(2,2)=1:H(2,3)=2:H(3,1)=2:H(3,2)=3:H(3,3)=1 150 CLS:PRINT "じゃんけんゲーム" 160 INPUT "(1:グー, 2:チョキ, 3:パー, 0:やめる)"; N1 170 IF N1=0 THEN GOTO 220 ELSE IF N1>=1 AND N1<=3 THEN GOTO 190 180 GOTO 160 190 N2=INT(RND(1)*3)*Z+N1-1:IF N2<1 THEN N2=3 200 K=H(N1,N2):S(K)=S(K)+1 210 PRINT "あんた:";A$(N1), "俺:"A$(N2)," ";B$(K):PRINT:GOTO 160 220 PRINT S(2);"勝", S(3);"敗", S(1);"引き分け":END