Statistics/Basic: Difference between revisions

Added Applesoft BASIC, Chipmunk Basic, GW-BASIC, MSX Basic and QBasic
(Added Yabasic)
(Added Applesoft BASIC, Chipmunk Basic, GW-BASIC, MSX Basic and QBasic)
Line 555:
 
=={{header|BASIC}}==
==={{header|Applesoft BASIC}}===
{{works with|Chipmunk Basic}}
{{works with|GW-BASIC}}
{{works with|MSX BASIC}}
{{trans|Chipmunk Basic}}
<syntaxhighlight lang="qbasic">100 HOME : rem 100 CLS for Chipmunk Basic, GW-BASIC and MSX BASIC
110 CLEAR : n = 100 : GOSUB 150 : rem no se requiere CLEAR
120 CLEAR : n = 1000 : GOSUB 150
130 CLEAR : n = 10000 : GOSUB 150
140 END
150 rem SUB sample(n)
160 DIM samp(n)
170 FOR i = 1 TO n
180 samp(i) = RND(1)
190 NEXT i
200 rem calculate mean, standard deviation
210 sum = 0
220 sumsq = 0
230 FOR i = 1 TO n
240 sum = sum+samp(i)
250 sumsq = sumsq+samp(i)^2
260 NEXT i
270 PRINT "Sample size ";n
280 mean = sum/n
290 PRINT
300 PRINT " Mean = ";mean
310 PRINT " Std Dev = ";(sumsq/n-mean^2)^0.5
320 PRINT
330 rem------- Show histogram
340 scal = 10
350 DIM bins(scal)
360 FOR i = 1 TO n
370 z = INT(scal*samp(i))
380 bins(z) = bins(z)+1
390 NEXT i
400 FOR b = 0 TO scal-1
410 PRINT " ";b;" : ";
420 FOR j = 1 TO INT(scal*bins(b))/n*70
430 PRINT "*";
440 NEXT j
450 PRINT
460 NEXT b
470 PRINT
480 RETURN</syntaxhighlight>
 
==={{header|Chipmunk Basic}}===
{{works with|Chipmunk Basic|3.6.4}}
{{works with|QBasic}}
{{trans|Yabasic}}
<syntaxhighlight lang="qbasic">100 sub sample(n)
110 dim samp(n)
120 for i = 1 to n
130 samp(i) = rnd(1)
140 next i
150 rem calculate mean, standard deviation
160 sum = 0
170 sumsq = 0
180 for i = 1 to n
190 sum = sum+samp(i)
200 sumsq = sumsq+samp(i)^2
210 next i
220 print "Sample size ";n
230 mean = sum/n
240 print
250 print " Mean = ";mean
260 print " Std Dev = ";(sumsq/n-mean^2)^0.5
270 print
280 rem------- Show histogram
290 scal = 10
300 dim bins(scal)
310 for i = 1 to n
320 z = int(scal*samp(i))
330 bins(z) = bins(z)+1
340 next i
350 for b = 0 to scal-1
360 print " ";b;" : ";
370 for j = 1 to int(scal*bins(b))/n*70
380 print "*";
390 next j
400 print
410 next b
420 print
430 end sub
440 cls
450 sample(100)
460 sample(1000)
470 sample(10000)
480 end</syntaxhighlight>
 
==={{header|FreeBASIC}}===
<syntaxhighlight lang="freebasic">' FB 1.05.0 Win64
Line 685 ⟶ 774:
0.80 : 9957 **************************************************
0.90 : 9928 **************************************************</pre>
 
==={{header|GW-BASIC}}===
{{works with|Applesoft BASIC}}
{{works with|Chipmunk Basic}}
{{works with|PC-BASIC|any}}
{{works with|MSX BASIC}}
{{trans|Chipmunk Basic}}
<syntaxhighlight lang="qbasic">100 CLS : rem 100 HOME FOR Applesoft BASIC
110 CLEAR : n = 100 : GOSUB 150
120 CLEAR : n = 1000 : GOSUB 150
130 CLEAR : n = 10000 : GOSUB 150
140 END
150 rem SUB sample(n)
160 DIM samp(n)
170 FOR i = 1 TO n
180 samp(i) = RND(1)
190 NEXT i
200 rem calculate mean, standard deviation
210 sum = 0
220 sumsq = 0
230 FOR i = 1 TO n
240 sum = sum+samp(i)
250 sumsq = sumsq+samp(i)^2
260 NEXT i
270 PRINT "Sample size ";n
280 mean = sum/n
290 PRINT
300 PRINT " Mean = ";mean
310 PRINT " Std Dev = ";(sumsq/n-mean^2)^0.5
320 PRINT
330 rem------- Show histogram
340 scal = 10
350 DIM bins(scal)
360 FOR i = 1 TO n
370 z = INT(scal*samp(i))
380 bins(z) = bins(z)+1
390 NEXT i
400 FOR b = 0 TO scal-1
410 PRINT " ";b;" : ";
420 FOR j = 1 TO INT(scal*bins(b))/n*70
430 PRINT "*";
440 NEXT j
450 PRINT
460 NEXT b
470 PRINT
480 RETURN</syntaxhighlight>
 
==={{header|Liberty BASIC}}===
Line 743 ⟶ 878:
######################################################################
#####################################################################</pre>
 
==={{header|MSX Basic}}===
The [[#GW-BASIC|GW-BASIC]] solution works without any changes.
 
==={{header|PureBasic}}===
Line 847 ⟶ 985:
####################################################################
####################################################################</pre>
 
==={{header|QBasic}}===
{{works with|QBasic|1.1}}
{{works with|QuickBasic|4.5}}
{{trans|Yabasic}}
<syntaxhighlight lang="qbasic">SUB sample (n)
DIM samp(n)
FOR i = 1 TO n
samp(i) = RND(1)
NEXT i
REM calculate mean, standard deviation
sum = 0
sumsq = 0
FOR i = 1 TO n
sum = sum + samp(i)
sumsq = sumsq + samp(i) ^ 2
NEXT i
PRINT "Sample size "; n
mean = sum / n
PRINT
PRINT " Mean = "; mean
PRINT " Std Dev = "; (sumsq / n - mean ^ 2) ^ .5
PRINT
REM------- Show histogram
scal = 10
DIM bins(scal)
FOR i = 1 TO n
z = INT(scal * samp(i))
bins(z) = bins(z) + 1
NEXT i
FOR b = 0 TO scal - 1
PRINT " "; b; " : ";
FOR j = 1 TO INT(scal * bins(b)) / n * 70
PRINT "*";
NEXT j
PRINT
NEXT b
PRINT
END SUB
 
CLS
sample (100)
sample (1000)
sample (10000)
END</syntaxhighlight>
 
==={{header|Run BASIC}}===
2,127

edits