资源简介 (共37张PPT)2.1算法概念及描述情境描述分析问题:解决方法:第一次:先带羊过去;第二次:把狼带过去,返程时再把羊带回来;第三次:把白菜带过去;第四次:最后把羊带过去.寻找解决问题方法,可以称之为算法一、算法的概念计算机程序设计二、算法的特征问题:1、判断抛物线y=5x2 +4x+6与X轴是否有交点。2、设计 一个算法,要求输入X的一个值后,输出相应的绝对值 。算法:1、计算 =42 -4*5*6;2、如果 >0,执行步骤3,否则执行步骤4;3、输出有交点,结束;4、输出无交点,结束。分析项目 抛物线 绝对值执行步骤个数每一步是否明确可执行是否有输入是否有输出4是否是4是是是二、算法的特征有穷性:计算步骤是有限的?死循环确定性:每一个步骤必须有确切的定义?随便数据输入:必须有0个或多个数据输入0个输入是算法本身给出了初始条件数据输出:一个或多个数据输出?无功而返可行性:每个计算步骤都在有限时间内完成 ?可以得出结果。原则上能精确运行,用纸和笔做有限运算后可以完成。0105040203算法的特征三、算法的要素算法的要素在洗衣机洗衣服时的体现9讨论交流:哪些设备采用算法实现了自动化,并尝试说出这些设备实现自动化控制的算法。1、描述算法的常用方式 。2、流程图的基本图形及其功能。3、三种基本控制结构。四、算法的描述案例分析案例一.鸡兔同笼问题一个笼子里有鸡和兔,现在只知道里面一共有35个头,94个脚,鸡和兔各有多少只?分析问题:假设有a个头,b个脚,写出三种描述法。1.用自然语言描述算法设计算法:①输入a和b的值;②求X=b/2-a;③求Y=2a-b/2;④输出X和Y的值;⑤结束。易于理解歧义2、流程图流程图是用图形表示算法的 一种常用工具,用流程图描述的算法直观易读,问题解决步骤清晰简洁,算法结构表达明确。2、流程图的基本图形及其功能图 形 名 称 功 能开始/结束 表示算法的开始或结束输入/输出 表示算法中变量的输入或输出处理 表示算法中变量的计算与赋值判断 表示算法中的条件判断流程线 表示算法中的流向连接点 表示算法中的转接2.用流程图描述算法①输入a和b的值;②求X=b/2-a;③求Y=2a-b/2;④输出X和Y的值;⑤结束。开始输入 a,b的值Y=2a-b/2X=b/2-a输出X,Y的值结束三种基本结构顺序结构选择结构循环结构开始输入 a,b的值Y=2a-b/2X=b/2-a输出X,Y的值结束顺序结构的特点:1、每个步骤按照算法中出现的顺序依次执行。2、每个步骤一定会被执行一次,而且只执行一次。各个步骤按照先后顺序依次执行(1)、顺序结构开始结束输入身高、体重计算BMI=体重/身高2输出BMI计算体重指数BMI?选择结构表示程序的处理步骤出现了分支,它需要根据某一特定的条件选择其中的一个分支执行。选择结构有单选择、双选择和多选择三种形式。(2)、选择结构判断你胖不胖?判断你胖不胖?开始结束输入身高、体重计算BMI=体重/身高2输出“哇,你有点胖了哟”BMI>24输出“羡慕,你一点也不胖”YN我又举个栗子循环结构表示程序反复执行某个或某些操作,直到某条件为假(或为真)时才可终止循环。(3)、循环结构条件YN语句组条件语句组YN我要判断100个人胖不胖该怎么办?我还举个栗子开始结束输入身高、体重计算BMI=体重/身高2输出“哇,你有点胖了哟”BMI>24输出“羡慕,你一点也不胖”YNNn=0Yn=n+1n<100三种基本结构流程图AB条件?AB否是A条件?是否3.循环结构2.分支结构1.顺序结构判断依据:分支结构:条件是否成立只判断1次循环结构:条件是否成立往往判断多次问题: 设计一算法,求和:1+2+3+…+20算法:第一步:从1开始将自然数1、2、 3、…、20逐个相加;第二步:输出累加结果。S=0S=S+ 1S=S + 2S=S + 3…S=S + 20i = i + 1S=S + i流程图如图开始i=1s=0i=i+1s=s+1i≤20输出s结束否是用伪代码描述算法就是用介于自然语言和计算机语言之间的文字和符号来描述算法。3.用伪代码描述算法规避了程序设计 语言严格的书写格式,无歧义,结构性强。不太适合完全没有程序设计基础的初学者。3.用伪代码描述算法Input a,bx=b/2-ay=2a-b/2Print x,y①输入a和b的值;②求X=b/2-a;③求Y=2a-b/2;④输出X和Y的值;⑤结束。Python语言程序代码——鸡兔同笼import matha=float(input ("输入头的数量:"))b=float(input ("输入脚的数量:"))x=b/2-ay=2*a-b/2print("兔子的数量为:%0.2f"%x)print("鸡的数量为:%0.2f"%y)算法描述的方法 优势 不足自然语言表示法 用人们日常所用的语言,比较容易掌握。 当算法中含有多分支或循环操作较多时很难清晰地表示出来,由于自然语言的歧义性,容易导致算法执行的不确定性。流程图表示法 用程序框图来描述,流程描述清晰简洁。 所占篇幅较大,由于允许使用流程线,过于灵活,不受约束。伪代码表示法 用介于自然语言和计算机语言之间的文字和符号来描述,书写方便,格式紧凑,易于理解,便于向计算机程序设计语言过渡。 由于编程语言的种类繁多,伪代码的语句不容易规范,有时会产生误解。算法三种描述方法的优劣对比课堂小结1、算法的定义2、算法的基本特征3、描述算法的方法4、三种基本结构顺序结构自然语言流程图伪代码选择结构循环结构例1判断一个数字是否为奇数或偶数,请画出流程图。课堂练习:例2 “若是本店会员,所有商品打85折,否则无折扣”,用算法描述这一问题,合适的算法结构是( )A.选择结构 B.循环结构C.顺序结构 D.树形结构A2020届高考信息技术复习课件: 算法及算法的表示 (共19张PPT)2020届高考信息技术复习课件: 算法及算法的表示 (共19张PPT)例3 对输入的二个整数a和b,找出其中的较大者赋给c并输出。解决该问题的算法流程图如图所示,该流程图中虚线框部分的内容可为( )D2020届高考信息技术复习课件: 算法及算法的表示 (共19张PPT)2020届高考信息技术复习课件: 算法及算法的表示 (共19张PPT) 展开更多...... 收起↑ 资源预览