粤教版高中信息技术选修1算法与程序设计:用穷举法设计程序
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
额
Print "解决方案"; Answer; ":"
Print Tab(10); "5元钞票"; five; "张";
Print Tab(25); "2元钞票"; two; "张";
5 2
改改 变变 元元 张张 数数
Print Tab(40); "1元钞票"; one; "张"
End If
Next two, five
End Sub
探究Hale Waihona Puke Baidu务
教材P108中的“找密码”案例 。 每位同学先独立解决问题,然后全体学生以五人为
一组,进行协作探究,从而认识穷举策略的优劣。
穷举法小结
(1)用穷举算法解决问题,通常可以从两个方面进行分析: ① 确定范围;问题所涉及的情况有哪些,情况的种 数可不可以确定。 ② 验证条件:分析出来的这些情况,需要满足什么 条件,才成为问题的答案。
Answer = 0
For five = 0 To total / 5
For two = 0 To pieces - five one = pieces - five - two k = 5 * five + 2 * two + one
判 断 总
If k = total Then
金
Answer = Answer + 1
用穷举法设计程序
课前思考
某个暑假你携带密码行李箱外出旅游,旅 行途中发现自己忘记了开锁的密码,怎么办?
复习:三种基本结构
S1
C
S2
S1
S2
Sn
顺序
选择
S1 C
循环
提出问题
小张现有面值为1元、2元和5元的钞票(假设每种钞票 的数量都足够多),如果小张想从这些钞票中取出30 张用来换取小李的100元,问有小张有多少种取法?输 出每种取法中各种面额钞票的张数。
分析问题
①让ANSWER=0,FIVE=0; ②TWO=0; ③让ONE=Pieces-TWO-FIVE ④检查5*FIVE+2*TWO+ONE是否等于Total,若是,则得
到一组解,这时让ANSWER增加1。并且输出解答; ⑤如果TWO<Pieces-FIVE,那么让TWO增加1,返回步骤③; ⑥如果FIVE<Total/5,那么让FIVE增加1,返回步骤②; ⑦ 结束
流程图
如图所示是钱币问题解决的流程框图
Private Sub Form_Click()
Dim pieces, total, five, two, one As Long
pieces = Val(InputBox("钱币张数:", , 30)) '钞票张数的默认值为30
total = Val(InputBox("要求组成的总值:", , 100)) '总面值默认为100
穷举法小结
(2)要使用多重循环。 (3)如何评价一个算法的好坏,在考虑效率的同时,也要
考虑程序的易读性。
拓展延伸
我们使用信用卡在柜员机上取钱时,为什么系统要
限制输入密码的次数?
大家在生活学习中被盗用密码的案例。 信息技术可能带来不安全因素,大家要自觉遵守网
络道德与法规。
谢 谢!