(
课件网) 信息技术必修一《数据与计算》 第三章 算法基础 人工解决问题的过程 算法基础 体验计算机解决问题的过程 计算机解决问题的过程 算法 算法的描述 数据的输入与输出 顺序结构的应用 计算机程序与程序设计语言 算法及其描述 体验计算机解决问题的过程 01 探究 Q: 学期结束时,老师打算花50块钱购买一些笔记本奖励表现优秀的同学,请班长小明帮忙,小明决定同时买三种单价分别为6元、5元、4元的笔记本,钱刚好花完,请问可以有多少种方案? 人工解决问题 1. 提取题干信息: 总金额:50元 笔记本单价:6元、5元、4元 要求:钱刚好花完、同时买三种笔记本 ①明确问题给出的条件 2. 转换为数学方程,并列出可能的解: 方程:6x+5y+4z=50 方案 x y z 6x+5y+4z 一 1 4 6 50 二 1 8 1 50 三 2 2 7 50 四 2 6 2 50 五 3 4 3 50 六 4 2 4 50 七 6 2 1 50 可能的解: ②根据经验和知识确定解决问题的方法 ③解决问题 人工解决问题 人工解决问题的过程: 明确问题给出的条件--根据经验和知识确定解决问题的方法--解决问题 但当花费的钱数需刚好为n时,数据量很大,人工处理效率很低。 因此我们需借助计算机工具,通过编制计算机程序来解决问题。 计算机解决问题 1. 提取问题需求情况和已知条件: 需求情况:同时购买三种类型且总价为50元的笔记本 已知条件:笔记本价格分别为6元、5元、4元 ①分析问题 2. 给出解决问题的详细方法和步骤: ①6元的笔记本数量x最少为1,最多为8;5元的笔记本数量y最少为1,最多为10;3元的笔记本数量z最少为1,最多为12。 ②让三类笔记本的数量x,y,z作为变量,在各自值域内变化、组合。 ③笔记本总价每刚好为50,则让方案数t自加1。 ②设计算法 计算机解决问题 3. 选择一种计算机语言工具来编写程序: t=0 for x in range(1,9): for y in range(1.11): for z in range(1,13): if x*6+y*5+z*4==50: t=t+1 print(“方案数为”,t,“个”) ③编写程序 4. 运行程序,检验程序执行效果: 如果程序出错,可根据计算机提示的出错信息修改程序,重新调试运行 ④调试运行程序 练一练 P27第2题:用计算机编程来求某一方程的解,通常的步骤是( ) ①调试运行程序 ②分析问题 ③设计算法 ④编写程序 A. ②③④① B. ①③④② C. ③②④① D. ②④③① A 解析:计算机解决问题的过程:分析问题--设计算法--编写程序--调试运行程序 练一练 2. P28第7题:一位爱好程序设计的同学想通过程序设计解决“韩信点兵”的问题, 他制定的如下工作步骤,更为恰当的是( ) ①调试运行程序 ②分析问题 ③设计算法 ④问题解决 ⑤编写程序 A. ①②③④⑤ B. ②③④⑤① C. ④②③⑤① D. ②③⑤①④ D 解析:计算机解决问题的过程:分析问题--设计算法--编写程序--调试运行程序 练一练 3. P28第8题:交通警察到达交通事故现场,开展工作的一般思路是( ) ①观察分析现场 ②收集必要的信息 ③进行判断和推理 ④给出处理方案 A. ②①③④ B. ①③②④ C. ③①②④ D. ①②③④ A 算法及其描述 02 算法 特征 有穷性:一个算法在执行有穷步之后必须结束,即一个算法所包含的计算步骤是有限的。 确定性:算法执行的每一个步骤必须有确切的定义。 数据输入:一个算法必须有零个或多个数据输入。 数据输出:一个算法必须有一个或多个数据输出。 可行性:每个计算步骤都可以在有限时间内完成。 指在有限步骤内求解某一问题所使用的一组定义明确的规则。 是用计算机求解某一问题的方法,是能被机械执行的动作或指令的有穷集合。 练一练 4. P27第3题: 下面关于算法的特征,描述不正确的是( ) A. 有穷性:算法必须在有穷步之内结束 B. 确定性:算法的每一步必须确切地定义 C. ... ...