资源简介 (共37张PPT)第3章 算法基础信息技术·必修一3.1体验计算机解决问题的过程体验计算机解决问题的过程老师要带一只羊、一只狼和一颗菜过河,只有一只小船,一次只能带一个物品。如果羊和狼单独在一起,狼会吃掉羊;如果羊和菜单独在一起,羊会吃掉菜。怎样才能将狼羊菜都安全运过河?体验计算机解决问题的过程体验计算机解决问题的过程有四个装了药片的罐子,每个罐子中有10片药片,每片药片重量相同,其中有一个药罐被污染了。污染后的药品外观气味均没有异常,但每片被污染的药片比污染前增重0.1克。只允许称量一次,如何判断出哪个罐子的药被污染了。体验计算机解决问题的过程考虑1颗药丸的质量变化,如果药丸被污染,则增重0.1 克,否则 增重0 克。从任一药瓶中提取n颗药丸,如果被污染,则增重0.n克,否则增重0 克。体验计算机解决问题的过程第一盒中取出1颗,第二盒中取出2颗,第三盒中取出3颗,第四盒中取出4颗如果增重________克,则________号药瓶被污染。体验计算机解决问题的过程采用人工解决这个问题的过程如下:(1)提出问题。(2)分析问题:(3)得出答案,问题得到解决。不足之处:数据量较大的时候,效率就急速降低。体验计算机解决问题的过程用 计 算 机 解 决 问 题体验计算机解决问题的过程明确你想要什么明确这个问题要怎样一步步实现告诉计算机它每一步要做什么得到你想要的,并调试检查分析问题(需求分析)设计算法(设计方法)编写程序(编写代码)调试运行程序体验计算机解决问题的过程体验计算机解决问题的过程人工求解与计算机求解问题的方式的异同3.2算法及其描述体验计算机解决问题的过程玩 个 小 游 戏 吧猜数的同学应背对黑板,老师在黑板上给出一个1——100之间的整数,围观同学在同学猜数后可以给出善意的提醒“大了”,“小了”,“猜对了”体验计算机解决问题的过程体验计算机解决问题的过程计算机完成猜数游戏需要几步?1.开始2.随机产生一个1-100之间的被猜数3.给出一个猜数4.判断猜数和被猜数的关系5.如果大于被猜数提示“大了”,返回第3步6.如果小于被猜数提示“小了”,返回第3步7.如果等于被猜数提示“猜对了”8.结束体验计算机解决问题的过程算法是指在有限步骤内求解某一问题所使用的一组定义明确的规则例如:超市购物 菜谱 乐谱超市购物1、确定要买物品2、挑选比较3、收银台结账付款体验计算机解决问题的过程有穷性:计算步骤是有限的确定性:每一个步骤必须有确切的定义数据输入:必须有0个或多个数据输入0个输入是算法本身给出了初始条件数据输出:一个或多个数据输出可行性:每个计算步骤都在有限时间内完成并可以得出明确结果。原则上能精确运行,用纸和笔做有限运算后可以完成。0105040203算法的特征体验计算机解决问题的过程7、14、21、28、35...等都是7的倍数,设计算法列举出所有7的倍数并输出?把大象(活体健全普通成年)装冰箱(家用普通),一共分为几步?第一步:把冰箱门打开第二步:把大象装进去第三步:把冰箱门带上违反 有穷性违反 可行性体验计算机解决问题的过程描述算法伪代码流程图自然语言体验计算机解决问题的过程猜数游戏的算法1.开始2.随机产生一个1-100之间的被猜数3.给出一个猜数4.判断猜数和被猜数的关系5.如果大于被猜数提示“大了”,返回第3步6.如果小于被猜数提示“小了”,返回第3步7.如果等于被猜数提示“猜对了”8.结束自然语言体验计算机解决问题的过程自然语言用人们日常生活中的语言来描述算法虽然通俗易懂,但容易产生歧义,不够规范严格*撞倒了老王的羊*小明和小强说班主任让他去办公室例:体验计算机解决问题的过程流程图开始/结束输入/输出处理框判断框流程线连接点流程图又叫程序框图,是算法的一种图形化表示方法,相较于自然语言,更形象、直观、易理解体验计算机解决问题的过程流程图体验计算机解决问题的过程流程图结束猜数大了猜数小了产生一个被猜数输入猜数的值输出大了输出小了输出猜对了开始体验计算机解决问题的过程三种基本控制结构体验计算机解决问题的过程顺序结构表示程序中的各操作是按照它们出现的先后顺序执行的。语句1语句2体验计算机解决问题的过程求圆的周长例:开始结束输入半径rp=2*pi*r输出p体验计算机解决问题的过程选择结构表示程序的处理步骤出现了分支,它需要根据某一特定的条件选择其中的一个分支执行。选择结构有单分支、双分支和多分支三种形式。体验计算机解决问题的过程开始结束输入身份证号女生身份证号码倒数第二位是否偶数是否男生已知身份证号码,判断性别例:体验计算机解决问题的过程循环结构表示程序反复执行某个或某些操作,直到某条件为假(或为真)时才可终止循环。条件YN语句组条件语句组YN体验计算机解决问题的过程当i<=5的时候输出“*****”例:i=1判断i>5?i=i+1是否Print “* * * * *”体验计算机解决问题的过程伪代码用介于自然语言和计算机语言之间的文字和符号来描述算法,书写方便,格式紧凑,易于理解,便于向计算机程序设计语言过渡输入两个数,求其乘积例:体验计算机解决问题的过程描述方法 优点 缺点自然语言 通俗易懂 易产生歧义流程图 形象直观 复杂算法描述时不够清晰伪代码 易于理解,便于向计算机程序设计语言过渡。 伪代码的语句不容易规范,有时会产生误解体验计算机解决问题的过程1、用计算机解决某个问题,问题分析清楚后,给出解决这个问题的( ),这个过程称为设计算法。A、编程语言 B、程序代码 C、方法和步骤 D、加密措施2、下列关于算法的特征描述不正确的是( )A、有穷性:算法必须在有限步之内结束B、确定性:算法的每一步必须有确切的含义C、输入:算法至少有一个输入D、输出:算法至少有一个输出3、以下不属于算法基本特征的是( )A、可执行性 B、确定性 C、有穷性 D、无限性CCD体验计算机解决问题的过程4.图形符号“ "在算法描述流程图中表示( )A、算法的开始或结束 B、输入输出操作C、处理或运算的功能 D、用来判断条件是否满足需求5.在使用流程图描述算法中,表示变量的计算与赋值的符号框为( )A、矩形框 B、菱形框 C、平行四边形框 D、椭圆形框AB体验计算机解决问题的过程输出500以内的水仙花数,请选择一种描述方法进行讲解。课后练习 展开更多...... 收起↑ 资源预览