内容正文:
3.1体验计算机解决问题的过程
粤教版高中信息技术
必修一《数据与计算》
情境导入
- 场景一:学校运动会成绩统计,需快速计算100名运动员的平均分、最高分、最低分,并排序公示。
- 场景二:超市收银系统,根据商品单价、数量及折扣,自动计算应付金额与找零。
问题引导
1、如果仅靠人工完成这些任务,会遇到哪些问题?
效率低、易出错、耗时久
2、计算机如何快速、准确地解决这些问题?它解决问题的思路和人类有什么不同?
计算机解决问题具有高效、精准、可重复的优势,其解决问题有固定的流程与方法。
新知探究
计算机解决问题的一般过程
步骤一
A
B
C
D
步骤二
步骤四
步骤三
设计算法(制定解决步骤)
调试运行(验证与纠错)
编写程序(算法数字化实现)
分析问题(明确需求与边界)
计算机解决问题的一般过程
1. 步骤一:分析问题(明确需求与边界)
- 核心任务:明确“要解决什么问题”“输入什么数据”“输出什么结果”“有哪些约束条件”。
2. 步骤二:设计算法(制定解决步骤)
- 核心概念:算法是解决问题的“步骤清单”,具有确定性、有穷性、可行性、输入输出四个特征。
- 描述方法:自然语言(通俗易懂,适合初步设计)、流程图(直观清晰,适合复杂逻辑)。
3. 步骤三:编写程序(算法数字化实现)
选择合适的编程语言(本节课用Python),将自然语言描述的算法转化为计算机可识别的代码。
4. 步骤四:调试运行(验证与纠错)
运行程序,检查是否能正常输出结果,若出现错误,分析原因并修正(语法错误、逻辑错误)。
语法铺垫
- 变量定义与赋值(如score = int(input("请输入成绩:")));
- 输入输出函数(input()获取输入,print()输出结果);
- 基本运算(+、-、×、/、//、%)与列表操作;
- 简单条件判断(if语句)用于成绩校验。
人类解决问题与计算机解决问题的差异
对比维度 人类解决问题 计算机解决问题
思维方式 灵活、模糊、可容错、可跳跃 严谨、精确、需步骤化、无歧义
效率 适用于复杂逻辑、创造性任务,重复任务效率低 适用于重复、海量数据处理,效率极高
依赖条件 依赖经验、直觉 依赖算法、程序,需人工预设逻辑
实操演练
任务布置(分层任务,兼顾差异)
1. 基础任务(全员必做):实现“超市收银系统”简单版
- 需求:输入商品单价(浮点数)、购买数量(整数)、折扣(如0.8代表8折,浮点数,默认1.0),计算应付金额(单价×数量×折扣,保留2位小数),输入付款金额(浮点数),计算找零(付款-应付,若付款不足,提示“付款金额不足”)。
- 要求:先完成算法设计(自然语言描述),再编写Python程序,运行调试至结果正确,记录调试过程中遇到的错误及解决方法。
2. 提升任务(选做):优化“超市收银系统”
- 需求:支持多件商品结算(输入3件商品的信息,累计应付金额),加入会员优惠(会员享9折,非会员无折扣,需先判断是否为会员)。
- 要求:优化算法设计,完善程序逻辑,实现多条件判断与循环操作。
课堂小结与拓展
计算机解决问题的一般过程
步骤一
A
B
C
D
步骤二
步骤四
步骤三
设计算法(制定解决步骤)
调试运行(验证与纠错)
编写程序(算法数字化实现)
分析问题(明确需求与边界)
分析问题是基础,设计算法是核心,编写程序是实现,调试运行是保障。
拓展延伸
- 思考:生活中还有哪些问题可以用计算机解决?(如交通信号灯控制、天气预报、人工智能识别等),这些问题的算法设计有什么特点?
- 作业布置:
1. 完善本节课实操任务的程序代码,添加注释,整理算法设计文档与调试记录,上传至班级学习平台。
2. 预习下一节内容《算法的描述》,了解流程图的绘制方法。
3. 选做:尝试设计“判断一个数是否为质数”的算法,并用Python编写程序实现。
$