取整函數
隨機函數
1. 取整函數
函數格式:INT(X)
功能:產生壹個不大於X的最大整數。其中,X可以是常數、變量或表達式。
使用取整函數可以解決很多數學問題。
(1)取壹個數的整數部分
例如:
X=5.3: Y=5.5: Z=-6.1
X=INT(X): Y=INT(Y): Z=INT(Z)
PRINT X,Y,Z
END
執行後屏幕上顯示: 5 5 -7
(2)四舍五入
取整函數本身沒有四舍五入的功能,但將其稍加變化就可以實現四舍五入。
四舍五入的通式為:
INT(X+0.5)。
例1 將下面的數字保留整數部分,小數部分四舍五入。
1.36 2.5 4.1 0.48
FOR I=1 TO 4
READ X
PRINT X,
INT(X+0.5)
NEXT I
DATA 1.36,2.5,4.1,0.48
END
執行後屏幕上顯示:
1.36 1 2.5 3 4.1 4 0.48 0
(3)保留N位小數
將X保留N位小數,可以先將X乘以10N,取整後再除以10N。
通式為INT(X*10^N)/ 10^N。
例2 將3.14159保留三位小數且最後壹位小數四舍五入。
X=3.14159
Y=INT(X*1000+0.5)/1000
PRINT X,Y
END
執行後屏幕上顯示:
3.14159 3.142
(4)判斷整除
要判斷壹個整數X能否被另外壹個整數Y整除,只需判斷X/Y=INT(X/Y),條件滿足則為整除。
例如:
CLS
INPUT X,Y
IF X/Y=INT(X/Y) THEN PRINT "能整除"ELSE PRINT "不能整除";
END
執行後屏幕上顯示:
30, 5 能整除 30, 7 不能整除如果將除數改為2,則可以判斷壹個數的奇偶性。
(5)分離數字
要對壹個三位數X分離數字,可以采用如下方法:
百位數字B=INT(X/100)
十位數字S=INT((X-B*100)/10)
個位數字G=X-B*100-S*10
例3 求100~999之間的所有水仙花數,並統計個數。水仙花數是指壹個三位數,其中各位數字的立方和就等於該數本身。
REM 求水仙花數
N=0
FOR X=100 TO 999
B=INT(X/100)
S=INT((X-B*100)/10)
G=X-B*100-S*10
IF X=B*B*B+S*S*S+G*G*G THEN N=N+1: PRINT X,
NEXT X
PRINT "N="; N
END
執行後屏幕上顯示: 153 370 371 471 N=4
2. 隨機函數
什麽是隨機數?我們可以這樣理解:每次從若幹個可能的數中抽出壹個,抽出哪壹個,事先不能確定,這樣抽出的數叫做隨機數。
函數格式:RND(X)
功能:產生壹個0~1之間的隨機數。
其中,X可以是任意的數值,也可以忽略不寫。
在具體的程序中,無論RND(1)、RND(100)、RND(562),RND產生隨機數的效果是相同的,壹般寫成RND就可以了。
為了能產生真正的隨機數(即每次執行程序產生的數各不相同),需要在程序的
開頭加上語句RANDOMIZE TIMER。
使用隨機函數還可以產生某壹個區域中的隨機數:
A~B(不包括A和B)
(B-A)*RND+A A~B(包括A和B)
(B-A+1)*RND+A
例4 算術練習程序。
利用隨機函數產生10道不同的兩位數加法題,要求回答, 每答對壹道題加10分,最後給出總得分。
分析:先產生兩個兩位的隨機整數,並顯示在屏幕上。
輸入答案後判斷結果是否正確,如果正確則加10分。如此重復10次即可。
RANDOMIZE TIMER
CLS : S=0
FOR I=1 TO 10
A=INT(90*RND)+10
B=INT(90*RND)+10
PRINT A; "+"; B; "=";
INPUT C
IF C=A+B THEN S=S+10
NEXT I
PRINT "妳的得分是:"; S
END
使用隨機函數還可以模擬壹些自然現象,得到統計數據。
例5 模擬拋硬幣試驗。求硬幣落地以後正面向上或反面向上的次數。 分析:產生壹個隨機整數,如果這個數是奇數,則將正面向上次數加1,否則將反面向上的次數加1。如此重復N次即可。
RANDOMIZE TIMER
CLS
INPUT "N=";N
FOR I = 1 TO N
X = INT(RND * 100)
IF X / 2 = INT(X / 2) THEN A = A + 1: GOTO 5
B = B + 1
5 NEXT I
PRINT "正面次數=";A, "反面次數=";B
END
執行後屏幕上顯示: N=? 100 正面次數=49 反面次數=51 N=? 1000 正面次數=505 反面次數=495 N=? 10000 正面次數=4975 反面次數=5025 從上面的結果我們可以看到,拋硬幣的次數越多,正、反面的概率就越接近。