(整理版)第十一章算法初步

上传人:火****天 文档编号:200341855 上传时间:2021-10-05 格式:DOC 页数:10 大小:229KB
返回 下载 相关 举报
(整理版)第十一章算法初步_第1页
第1页 / 共10页
(整理版)第十一章算法初步_第2页
第2页 / 共10页
(整理版)第十一章算法初步_第3页
第3页 / 共10页
(整理版)第十一章算法初步_第4页
第4页 / 共10页
(整理版)第十一章算法初步_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《(整理版)第十一章算法初步》由会员分享,可在线阅读,更多相关《(整理版)第十一章算法初步(10页珍藏版)》请在金锄头文库上搜索。

1、第十一章 算法初步章节结构图111 算法的含义及程序框图(一)复习指导在数学上,现代意义上的“算法通常是指可以用计算机来解决的某一类问题的程序或步骤算法的特点是程序性、明确性、有限性、普适性、不唯一性程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形要掌握各个图形的形状、作用及使用规那么算法的根本逻辑结构有三种,即顺序结构、条件分支结构和循环结构其中顺序结构是最简单的结构,也是最根本的结构,循环结构必然包含条件结构,无论怎样复杂的逻辑结构,都可以通过这三种结构来表达条件分支结构主要用在一些需要依据条件进行判断的算法中,如分段函数的求值,数据的大小关系等问题中循

2、环结构主要用在一些有规律的重复计算的算法中,如累加求和,累乘求积等问题中在循环结构中,要注意根据条件,设计合理的计数变量、累加变量等,特别要注意循环结构中条件的表述要恰当,精确,以免出现多一次循环或少一次循环的情况构成程序框的图形符号及其作用程序框名称功能起止框表示一个算法的起始和结束,是任何流程图不可少的输入、输出框表示一个算法输入和输出的信息,可用在算法中任何需要输入、输出的位置处理框赋值、计算,算法中处理数据需要的算式、公式等分别写在不同的用以处理数据的处理框内判断框判断某一条件是否成立,成立时在出口处标明“是或“Y;不成立时标明“否或“N(二)解题方法指导例1看下面的四段话,其中是解决

3、问题的算法的是( )A把高一5班的同学分成两组,高个子参加篮球赛,矮个子参加拔河比赛;B把高一5班的同学分成两组,身高到达170cm的参加篮球赛,缺乏170cm的参加拔河比赛;C把a,b的值代入求方程ax=b的解;D数清海滩上有多少粒沙子例2试写出判断直线AxByC=0与圆(xa)2(yb)2=r2(r0)的位置关系的算法例3写出用“二分法求方程x22=0(x0)的近似解的算法例4给计算机编写一个算法,输入一个自变量x的值,求分段函数的函数值例5画出求使123n成立的最小自然数n的值的程序框图(三)体会与感受1重点知识_2问题与困惑_3经验问题梳理_112 根本算法语句(一)复习指导为了实现算

4、法中三种根本的逻辑结构,各种程序设计语言都包括以下算法语句:输入语句、输出语句、赋值语句、条件语句和循环语句1赋值语句在表述一个算法时,经常要引入变量,并赋给该变量一个值用来说明赋给某一个变量一个具体确实定的值的语句叫做赋值语句赋值语句中的格式是:变量名=表达式 其中,赋值语句中的“=号,称为赋值号在使用赋值语句中需要注意的问题:赋值号左边只能是变量,不能是表达式;赋值号左右不能对换;不能用赋值语句进行代数式的运算;一个赋值语句只能给一个变量赋值,不能给两个或多个变量赋值;赋值号与数学中的等号的意义不同2输入语句在某些算法中,变量的初值要根据情况经常地改变一般我们把程序和初始数据分开,每次算题

5、时,不改变程序局部,只输入相应的初始数据即可这个过程的程序语句用“输入语 句控制输入语句的一般格式是:变量名=input(“输入提示语)输入语句要求输入的值只能是具体的常数,不能是函数、变量或表达式,但是可以输入单个或多个字符,用引号引起来3输出语句任何求解问题的算法,都要把求解的结果“输出所以在任何程序语言中必须有“输出语句来控制输出输出语句的一般格式是:print(%io(2),输出内容)注意:(1)多个变量值倒序输出;(2)disp语句也表示输出4条件语句条件语句是处理条件分支结构的算法语句条件语句的一般格式是:if 表达式语句序列1;else语句序列2;end5循环语句有规律的重复计算

6、或者在程序中需要对某些语句进行重复的执行,这样就需要用循环语句进行控制循环语句的一般格式是:for 循环变量=初值:步长:终值循环体;end或者是:while 表达式循环体;end注意:(1)“for循环语句是在循环次数时使用的循环,在循环的次数未知时不能使用;(2)“while循环语句是在未知循环次数的条件下进行的循环,也可以在循环次数的循环中使用(二)解题方法指导例1圆锥底面的半径和高设计一个程序,求圆锥的外表积例2读以下两个程序答复以下问题:()上述两个程序的运行结果是(1);(2)()上述两个程序的第三行有什么区别?(1)x=3;y=4;x=y;xy(2)x=3;y=4;y=x;yx例

7、3编写一个程序,使得任意输入的3个整数按从大到小的顺序输出例4分别用两种循环语句写出求12221002的值的程序例5根据下面的程序框图,写出其对应的程序,并说明该程序的功能(三)体会与感受1重点知识_2问题与困惑_3经验问题梳理_例 题 解 析第十一章 算法初步11.1 算法的含义及程序图例1分析:A:何为高个子,何为矮个子,标准不明确;C:当a0时公式是无效的D:海滩上的沙子数目太多,步骤超出了合理的范围,所以不可取只有B符合算法的三个要求,所以答案是B解:选B说明:此题考查算法的几个要求,如明确性、有限性、普适性等例2分析:直线与圆有三种位置关系:假设圆心到直线的距离dr,那么直线与圆相离

8、;假设dr,那么直线与圆相切;假设dr,那么直线与圆相交因此,我们可先求出圆心到直线的距离d,然后与r比拟解:第一步:输入圆心的坐标(a,b),直线方程的系数A,B,C和半径r;第二步:计算z1AaBbC;第三步:计算z2A2B2;第四步:计算第五步:如果dr,那么直线与圆相离;第六步:如果dr,那么直线与圆相切;第七步:如果dr,那么直线与圆相交说明:此题可将二、三、四步合并为一步计算设计算法一定要做到以下要求:(1)写出的算法必须能解决一类问题,并且能够重复使用(2)要使算法尽量简单、步骤尽量少(3)要保证算法正确,且计算机能够执行例3分析:令f(x)x22,那么方程x220的解就是函数f

9、(x)的零点二分法的根本思想是:把函数f(x)的零点所在的区间a,b(满足f(a)f(b)0)“一分为二,得到a,m和m,b根据“f(a)f(m)0”是否成立,取出零点所在的区间a,m或m,b,仍记为a,b对所得的区间a,b重复上述步骤,直到包含零点的区间a,b“足够小,那么a,b内的数可以作为方程的近似解解:第一步:令f(x)x22,给定精确度d第二步:确定区间a,b,满足f(a)f(b)0第三步:取区间中点第四步:假设f(a)f(m)0,那么包含零点的区间为a,m;否那么,含零点的区间为m,b将新得到的含零点的区间仍记为a,b第五步:判断a,b的长度是否小于d或f(m)是否等于0假设是,那

10、么m是方程的近似解;否那么,返回第三步例4分析:此函数为分段函数,如果用程序框图来表示该算法,必然要用到条件分支结构解:该算法用自然语言表述为S1:输入x的值;S2:进行判断,如果x0,那么f(x)x2,否那么f(x)x2S3:输出结果用程序框图可表示为:说明:画程序框图的规那么如下:(1)使用标准的图形符号;(2)框图一般按从上到下、从左到右的方向画;(3)除判断框外,大多数流程图符号只有一个进入点和一个退出点判断框具有超过一个退出点的唯一符号;(4)判断框分两大类,一类判断框“是与“否两分支的判断,而且有且仅有两个结果;另一类是多分支判断,有几种不同的结果;(5)在图形符号内描述的语言要非

11、常简练清楚例5分析:由于是累加求和问题,因此应使用循环结构来设计程序框图解:程序框图为或说明:循环结构的关键是要理解“累加变量S和“nn1”每循环一次,S和n都发生变化注意比拟上面两图的区别 根本算法语句例1分析:根据圆锥的外表积等于底面面积与侧面面积的和,我们可以先算出底面面积、侧面面积,然后将两个面积相加,即可求解解: rinput(“radius);hinput(“high);lsqrt(r*rh*h);Api*r2;Bpi*r*l;SAB;print(io(2),S)或者disp(S)或者S说明:在Scilab程序语言中,圆周率写成“pi;乘号“*一定不能省略;除法用符号“,不能写成分数的形式;“;起到隔行、限制输出的作用,假设不加分号,那么在屏幕上输出该变量disp用来输出数值型变量时不能添加分号例2分析:对于一个变量,我们可以进行屡次赋值,赋值号左边的变量如果原来没有值,那么执行赋值语句后获得一个值;如果已有值,那么执行语句后,以赋值号右边表达式的值代替该变量原来的值,即将原值“冲掉解:上述两个程序的运行结果是(1)4,4;(2)3,3程序(1)中的第三行是将y的值赋给x,赋值后x的值变为4,y的值不变;程序(2)中的第三行是将x的值赋给y,赋

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号