1700414944
计算机是怎样跑起来的 5.7 要点6:找出数字间的规律
1700414945
1700414946
所有的信息都可以用数字表示–这是计算机的特性之一。因此,为了构造算法,经常会利用到存在于数字间的规律。例如,请思考一下判定石头剪刀布游戏胜负的算法,如果把石头、剪刀、布分别用数字0,1,2表示,把玩家A做出的手势用变量A表示,玩家B做出的手势用变量B表示,那么变量A和变量B中所存储的值就是这一个数中的某一个。请以此判断玩家A和B的输赢
1700414947
1700414948
如果算法没有使用任何技巧,也许就会通过枚举表5.2所列出的9(3*3)种组合来判定输赢吧。把这个表格转换成程序后就得到了代码清单5.4.可以看出这是一种冗长而双枯燥的判断方法(代码清单5.4和5.5列出的都只是程序的一部分,因此不能直接运行)
1700414949
1700414950
表5.2 判定石头剪刀布输赢的表
1700414951
1700414952
变量A的值 变量B的值 判定结果
1700414953
1700414954
0(石头) 0(石头) 平局
1700414955
1700414956
0(石头) 1(剪刀) 玩家A获胜
1700414957
1700414958
0(石头) 2(布) 玩家B获胜
1700414959
1700414960
1(剪刀) 0(石头) 玩家B获胜
1700414961
1700414962
1(剪刀) 1(剪刀) 平局
1700414963
1700414964
1(剪刀) 2(布) 玩家A获胜
1700414965
1700414966
2(布) 0(石头) 玩家A获胜
1700414967
1700414968
2(布) 1(剪刀) 玩家B获胜
1700414969
1700414970
2(布) 2(布) 平局
1700414971
1700414972
代码清单5.4 判断石头剪刀布输赢的程序(方法一)
1700414973
1700414974
If (A=0) And (B=0) Then
1700414975
1700414976
MsgBox “平局”
1700414977
1700414978
ElseIf(A=0) And (B=1) Then
1700414979
1700414980
MsgBox “玩家A获胜”
1700414981
1700414982
ElseIf(A=0) And (B=2) Then
1700414983
1700414984
MsgBox “玩家B获胜”
1700414985
1700414986
ElseIf(A=1) And (B=0) Then
1700414987
1700414988
MsgBox “玩家B获胜”
1700414989
1700414990
ElseIf(A=1) And (B=1) Then
1700414991
1700414992
MsgBox “平局”
[
上一页 ]
[ :1.700414943e+09 ]
[
下一页 ]