1、第三章第三章 算法基础算法基础 3.2 算法及其描述 课题算法及其描述课时1 课时 教学目标 1、掌握算法的定义与基本特征 2、了解三种算法的描述方法。 3、了解算法的三种基本结构。 4、激发学习兴趣,提升信息技术学科素养。 重点与难点 重点:算法的定义、特征、描述方法、基本结构 难点:算法的描述方法与基本结构。 辅助手段多媒体,机房广播演示系统 教法学法讲授法、任务驱动法,小组合作法,自主探究法。 课前准备课代表同学负责班级分组(4-6 人一组)。 教学设计 创设情境 激趣导入 首先通过多媒体广播演示系统呈现问题:百钱百鸡问题。 现有 100 钱,公鸡 5 文钱一只,母鸡 3 文钱一只,小鸡
2、一文钱 3 只 要求: 公鸡、 母鸡, 小鸡都要有, 把 100 文钱花完, 买的鸡的数量正好是 100。 问:一共能买多少只公鸡,多少只母鸡,多少只小鸡? 以此引入本节课的内容算法及其描述, 进而激发学生学习本课程的兴趣。 任务驱动与 知识讲授 任务一:算法定义与特征。 要求:每个同学,认真阅读课本 48-49 页的内容,自主完成下表。 算法定义算法是指在有限步骤内求解某一问题所使用的一组定义明 确的规则。通俗地说,算法就是用计算机求解某一问题的方 法,是能被机械地执行的动作或指令的有穷集合。 算法特征有穷性、确定性、数据输入、数据输出、可行性。 任务二:算法的描述 思考:请同学们用语言描述
3、你是如何解决百钱买百鸡问题的? 1、用自然语言描述算法 用自然语言描述算法,就是用人们日常所用的语言,如:汉语、英语等来描 述算法。 任务驱动与 知识讲授 思考:刚才的语言描述解决百钱买百鸡问题时相对比较乱,有没有更清晰的 表达方式? 2用流程图描述算法 用流程图描述算法是用程序框图来描述算法的一种表示方法。 思考 3:计算机能够帮助我们求解吗? 3、用伪代码描述算法 用伪代码描述算法就是用介于自然语言和计算机语言之间的文字和符号来描 述算法。 算法代码一: for cock in range(1,101):# 公鸡 for hen in range(1,101):#母鸡 for chick
4、in range(1,101): #小鸡 if cock * 5 + hen * 3 + chick = 100: if cock + hen + chick * 3 = 100: print(公鸡有%d 只t 母鸡有%d 只t 小鸡有%d 只 %(cock,hen,chick * 3) 算法代码二: cock in range(5,101,5):# 公鸡 for hen in range(3,101 - cock,3):#母鸡 for chick in range(1,101 - cock - hen): #小鸡 if cock / 5 + hen / 3 + chick * 3 = 100
5、 and cock + hen + chick = 100: print(公鸡有%d只t母鸡有%d只t小鸡有%d只 % (cock / 5, hen / 3, chick * 3) 程序运行结果: 公鸡有 4 只母鸡有 18 只 小鸡有 78 只 公鸡有 8 只母鸡有 11 只 小鸡有 81 只 公鸡有 12 只 母鸡有 4 只小鸡有 84 只 分析归纳算法三种描述方法的优劣。 算法描述方法优势不足 自然语言表示法 流程图表示法 伪代码表示法 任务三:算法的三种基本控制结构 三种基本控制结构主要作用是: (1)顺序结构表示程序中的各操作是按照它们出现的先后顺序执行的。 (2)选择结构表示程序的
6、处理步骤出现了分支,它需要根据某一特定的条件 选择其中的一个分支执行。选择结构有单选择、双选择和多选择三种形式。 (3) 循环结构表示程序反复执行某个或某些操作, 直到某条件为假 (或为真) 时才可终止循环。 课堂练习1、用计算机解决某个问题,问题分析清楚后,给出解决这个问题的( C), 这个过程称为设计算法。 A、编程语言 B、程序代码 C、方法和步骤 D、加密措施 2、用流程图表示条件“AB”是否成立,要用到以下哪个图形?(B ) A 平行四边形B 菱形C 圆角矩形D 直角矩形 课堂总结由学生总结归纳本节课所学知识,教师进行点拨。 板书设计3.2 算法及其描述 1、算法定义与特征:有穷性、确定性、数据输入、数据输出、可行性。 2、算法的描述方法:自然语言、流程图、伪代码。 3、算法的三种基本控制结构:顺序、选择、循环。 课后作业完成测试题,下节课前由小组长批阅,课代表汇总。