1、3.2算法 及其描述 信息技术必修1数据与计算 上机课要求上机课要求 上课前课代表同学提前与老师联系,确定上课事宜。 上课不能携带水、零食等进入机房。 进入机房按照编排机号入座,不得随意串座。 百钱百鸡问题 现有100钱,公鸡5文钱一只,母鸡3文钱一只,小鸡一文钱3只 要求:公鸡、母鸡,小鸡都要有,把100文钱花完,买的鸡的数量 正好是100。 问:一共能买多少只公鸡,多少只母鸡,多少只小鸡? 任务一:算法定义与特征。 要求:每个同学,认真阅读课本48-49页的内容,自主完成下表。 算法定义 算法特征 算法是指在有限步骤内求解某一问题所使用的一组 定义明确的规则。通俗地说,算法就是用计算机求
2、解某一问题的方法,是能被机械地执行的动作或指 令的有穷集合。 有穷性、确定性、数据输入、数据输出、可行性。 任务二:算法的描述 思考:请同学们用语言描述你是如何解决百钱买百鸡问题的? 用自然语言描述算法,就是用人们日常所用的语 言,如:汉语、英语等来描述算法。 任务二:算法的描述 思考:刚才的语言描述解决百钱买百鸡问题时相对比较乱,有没 有更清晰的表达方式? 用流程图描述算法是用程序框图来描述算法的一 种表示方法。 任务二:算法的描述 用流程图描述算法: 任务二:算法的描述 思考:计算机能够帮助我们求解吗? 用伪代码描述算法就是用介于自然语言和计算机 语言之间的文字和符号来描述算法。 任务二:
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 and cock + hen + chick = 100: print(公鸡有%d只t母鸡有%d只t小鸡有%d只 % (cock / 5, hen / 3, chick * 3) 任务二:算法的描述 百钱百鸡算法代码一 for cock in range(1,101
4、): # 公鸡 for hen in range(1,101): #母鸡 for chick 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) 任务二:算法的描述 代码运行结果: 公鸡有4只 母鸡有18只小鸡有78只 公鸡有8只 母鸡有11只小鸡有81只 公鸡有12只母鸡有4只 小鸡有84只 任务二:算法的描述 分析归纳算法三种描述方法的优劣。 算法描述方法优势不足
5、自然语言表示法 流程图表示法 伪代码表示法 任务二:算法的描述 分析归纳算法三种描述方法的优劣。 任务三:算法的三种基本控制结构 阅读课本52页内容,结合下图,分析三种基本控制结 构主要作用。 任务三:算法的三种基本控制结构 主要作用: (1)顺序结构表示程序中的各操作是按照它们出现的先后 顺序执行的。 (2)选择结构表示程序的处理步骤出现了分支,它需要根 据某一特定的条件选择其中的一个分支执行。选择结构有单 选择、双选择和多选择三种形式。 (3)循环结构表示程序反复执行某个或某些操作,直到某 条件为假(或为真)时才可终止循环。 课堂练习 1、用计算机解决某个问题,问题分析清楚后,给出解决这个问题的 ( ),这个过程称为设计算法。 A、编程语言B、程序代码C、方法和步骤D、加密措施 2、用流程图表示条件“AB”是否成立,要用到以下哪个图形?() A 平行四边形 B 菱形 C 圆角矩形 D直角矩形 C B 课堂总结 3.2 算法及其描述 1、算法定义与特征:有穷性、确定性、数据输 入、 数据输出、可行性。 2、算法的描述方法:自然语言、流程图、伪代 码。 3、算法的三种基本控制结构:顺序、选择、循 环。 下课! 完成测试题,下节课前由小组长批阅,课代表汇总。 作业布置