4.1.4 剖析编制计算机程序
解决问题的过程
“猜数字”游戏
数字范围:0-50的整数。
没有同伴玩游戏?
打开“学生文件夹”下的“猜数字游戏.exe”
我们需要程序做什么?
随机产生一个数供用户猜;
读用户猜的数,进行比较并给予提示,直到猜正确为止。
分析问题
编写程序
调试运行
检测结果
设计算法
一.知识建构
编程???
解决问题的方法和步骤
“猜数字”游戏程序的执行步骤是什么?
小组任务1(2min)
设计“猜数字”游戏的算法
算法
分析问题
编写程序
调试运行
检测结果
设计算法
第一步:B.计算机随机产生一个数
第二步:C.用户输入一个数
第三步:A.判断用户猜的数是否和计算机产生的数相等
第四步:D.如果不等则判断用户输入的数是否大于计算机产生的数
第五步:E.如果成立则输出:“大了”,并返回到第二步
第七步:F.如果相等则输出:“恭喜你,猜对了”并结束游戏
第六步:G.如果不成立则输出:“小了”,并返回到第二步
自然语言描述法
分析问题
编写程序
调试运行
检测结果
设计算法
分析问题
编写程序
调试运行
检测结果
设计算法
分析问题
编写程序
调试运行
检测结果
设计算法
流程图描述法
开始/结束框
处理框
输入输出框
判断框
连接线
开始/结束框
判断框
输入/输出框
流程线
处理框
小组任务2(3min)
打开“学生文件夹”下的“猜数字游戏算法.ppt”,完成流程图。
分析问题
编写程序
调试运行
检测结果
设计算法
分析问题
编写程序
调试运行
检测结果
设计算法
流程图描述法
今有雉兔同笼,上有三十五头,
下有九十四足,问雉兔各几何?
x=23
y=12
x+y=35
2x+4y=94
解方程
今有雉兔同笼,上有100000003头,
下有29992222222足,问雉兔各几何?
根据的 的数量计算 的数量。
分析问题
编写程序
调试运行
检测结果
设计算法
二.知识迁移
我们需要程序做什么?
头和脚
鸡和兔
小组任务3(3min)
打开“学生文件夹”下的“鸡兔同笼算法.ppt”,设计算法。
分析问题
编写程序
调试运行
检测结果
设计算法
分析问题
编写程序
调试运行
检测结果
设计算法
“鸡兔同笼”程序的算法
分析问题
编写程序
调试运行
检测结果
设计算法
a = Val(Text1.Text)
b = Val(Text2.Text)
x = 2 * a - b / 2
Text3.Text = "鸡的数量为:" & x & " 兔的数量为:" & y
y = b / 2 - a
算法
程序代码
Dim a As Integer
Dim b As Integer
Dim x As Integer
Dim y As Integer
分析问题
编写程序
调试运行
检测结果
设计算法
分析问题
编写程序
调试运行
检测结果
设计算法
检测程序的:
语法错误
小组任务4(2min)
打开“学生文件夹”下的“鸡兔同笼.exe”,计算3组数据 。
分析问题
编写程序
调试运行
检测结果
设计算法
开始
输出x和y的值
计算鸡的数量x=(4a-b)/2
x,y为非负整数
是
否
输出:“无解”
结束
输入a和b
鸡
兔
同
笼
计算兔的数量y=(b-2a)/2
开始
输出x和y的值
计算鸡的数量x=(4a-b)/2
x,y为非负整数
是
否
输出:“无解”
结束
输入a和b
Dim a As Integer
Dim b As Integer
Dim x As Integer
Dim y As Integer
a = Val(Text1.Text)
b = Val(Text2.Text)
x = 2 * a - b / 2
y = b / 2 - a
If x > 0 And y > 0 Then
Text3.Text = "鸡的数量为:" & x & " 兔的数量为:" & y
Else
Text3.Text = "无解"
End If
Text1.Text = ""
Text2.Text = ""
计算兔的数量y=(b-2a)/2
编制计算机程序解决问题的过程
分析问题
设计算法
编写程序
调试运行
检测结果
总结
课后作业:了解VB语言的基础知识。
禁令
缺芯 少魂
中国软肋——