内容正文:
第6课 算法初步 目录 CONTENTS 01 算法的定义 02 算法的特征 03 算法的描述方法 农夫要带一条狼、一头羊和一篮蔬菜过河,但小船每次只能带一样东西,且农夫不在场时,狼会吃羊,羊会吃蔬菜。农夫如何才能将这三样东西安全地带过河? 问题导入 1.先把羊带过河 2.自己回来 3.再带狼过河 4.把狼留下,把羊带回来 5.把蔬菜带过河 6.自己回来 7.把羊带过河 算法 问题导入 算法是在有限步骤内解决某一问题所使用的方法。 算法的定义 农夫带一只动物过河 携带羊或白菜过河 1.农夫带羊过河; 2.一个人回来; 3.农夫带狼过河; 4.农夫把狼留下,把羊带回来; 5.农夫带白菜过河; 6.农夫一个人回来; 7.农夫带羊过河 农夫将狼、羊、白菜都带过了河 算法的特征 算法执行时从外部获取的数据可以是零个也可以是多个 算法的特征 确定性 每个步骤都应该是确定的 没有歧义的 可行性 每个步骤都能够实际做到 有穷性 算法的步骤必须是有限的 有一个或多个输出 算法执行后 至少需要输出一个结果 有零个或多个输入 学以致用 求“两个奇质数之和”问题,设计了如下步骤。 第一步:检验6=3+3 第二步:检验8=3+5 第三步:检验10=5+5= 3+7 . . . . . . 利用计算机无穷的计算下去。 这是不是算法? 算法的描述 自然语言 自然语言是人们日常生活中使用的语言。用自然语言描述的算法通俗易懂 算法 1.先把羊带过河 2.自己回来 3.再带狼过河 4.把狼留下,把羊带回来 5.把蔬菜带过河 6.自己回来 7.把羊带过河 他不认识其他人? 其他人不认识他? 自然语言描述 优点: 通俗易懂,好理解。 缺点: 算法太长,容易产生歧义; 不便翻译成计算机语言 自然语言算法 在出地铁站时,遇到一个配有倒计时的红绿灯,倒计时99秒之后红灯变绿灯,如何将“倒计时99秒”的算法描述出来? 试一试 请用自然语言描述算法 1、将计数器(剩余秒数)设为99; 2、如果t≥1,执行步骤3,否则执行步骤5; 3、显示t,并保持显示1秒,然后清除显示; 4、将t的值减1,跳转至步骤2; 5、倒计时结束。 自然语言算法 算法的描述方法 探究一:观看流程图,请思考: 流程图里出现了几种符号? 每种符号代表什么意思? 该流程图描述了什么内容? 输入a和b 输出a 开始 结束 a≥b a+(b)≥a 是 否 流程图 流程图常用符号 比较a和b的大小 输入a和b 输出a 开始 结束 a≥b a+(b)≥a 是 否 1、将计数器(剩余秒数)设为99; 3、显示t,并保持显示1秒,然后清除显示; 4、将t的值减1,跳转至步骤2; 5、倒计时结束。 2、如果t≥1,执行步骤3,否则执行步骤5; 倒计时99秒? 将自然语言算法转化成用流程图表示 t≥1 T F 输出t 流 程 图 优点: 直观易读 步骤清晰 适合初学者使用 缺点: 不适用于复杂算法 篇幅较大 绘制过程繁琐 无法被计算机直接结束操作 华罗庚“烧水泡茶”问题的算法 算法一 算法二 请同学们思考这两个算法有什么区别?哪个算法更高效? 结 论: 1、算法的好坏,直接影响着程序的通用性和有效性,影响着问题解决的效率。 2、算法是程序设计的灵魂,算法是程序设计的核心。 课堂总结 循梦而行,向阳而生 谢 谢 观 看 null 269785.03 null 73037.68 $$