1700415000
MsgBox “玩家A获胜”
1700415001
1700415002
ElseIf(A=2) And (B=1) Then
1700415003
1700415004
MsgBox “玩家B获胜”
1700415005
1700415006
ElseIf(A=2) And (B=2) Then
1700415007
1700415008
MsgBox “平局”
1700415009
1700415010
End If
1700415011
1700415012
接下来试着在此加入些技巧吧。请仔细观察表5.2并找出数字间的一种规律,这个规律可简单地判定是玩家A获胜、玩家B获胜、平局这三种结果。可能需要习惯一下思维上的转变。但最终应该都可以发现如下的规律:
1700415013
1700415014
² 如果变量A和变量B相等就是“平局”
1700415015
1700415016
² 如果用B+1除以3得到的余数与变量A相等就是“玩家B获胜”
1700415017
1700415018
² 其余的情况都是玩家A获胜
1700415019
1700415020
用程序来表示这个规律就得到了如代码清单5.5所示的代码,与没有使用任何技巧的代码清单5.4中的代码相比,可以发现处理过程简单并且代码短小精悍,当然程序的执行速度也会提升
1700415021
1700415022
代码清单5.5 判断石头剪刀布输赢的程序(方法二)
1700415023
1700415024
If A=B Then
1700415025
1700415026
MsgBox “平局”
1700415027
1700415028
ElseIf A=(B+1) Mod 3 Then
1700415029
1700415030
MsgBox “玩家B获胜”
1700415031
1700415032
Else
1700415033
1700415034
MsgBox “玩家A获得”
1700415035
1700415036
End If
1700415037
1700415038
构造算法时需要找出数字间的规律不仅适用于数学游戏,编写用于计算工资的应用程序时,计算工资的规则也可以说是一种数字上的规律。如果能够发现“工资=底薪+加班补贴+交通补贴-预扣税款”这样的规律,那么解决问题的步骤就是明确的,步骤数也是有限的,因此构造出的算法也就是优秀的。
1700415039
1700415040
1700415041
1700415042
1700415044
计算机是怎样跑起来的 5.8 要点7:先在纸上考虑算法
1700415045
1700415046
最后介绍最为重要的一点,那就是思考算法的时候,要先在纸上用文字或图表描述出解决问题的步骤,而不是立即开始编写代码。
1700415047
1700415048
画流程图可以方便地把算法用图表示出来,因此请大量地、灵活地运用它。如果不想画流程图,也可以用语言把算法描述出来,写成文书。总之先写到纸上这一点很重要
1700415049
[
上一页 ]
[ :1.700415e+09 ]
[
下一页 ]