2019-2020年高中数学 第一章 算法初步 1.2 基本算法语句教案 新人教B版必修3.doc

上传人:tian****1990 文档编号:2597293 上传时间:2019-11-28 格式:DOC 页数:6 大小:2.29MB
返回 下载 相关 举报
2019-2020年高中数学 第一章 算法初步 1.2 基本算法语句教案 新人教B版必修3.doc_第1页
第1页 / 共6页
2019-2020年高中数学 第一章 算法初步 1.2 基本算法语句教案 新人教B版必修3.doc_第2页
第2页 / 共6页
2019-2020年高中数学 第一章 算法初步 1.2 基本算法语句教案 新人教B版必修3.doc_第3页
第3页 / 共6页
点击查看更多>>
资源描述
2019-2020年高中数学 第一章 算法初步 1.2 基本算法语句教案 新人教B版必修31两种循环语句的执行原理剖析:(1)for循环的执行过程:通过for语句进入循环,将初值赋给循环变量i,当循环变量的值不超过终值时,则顺序执行循环体内的各个语句,遇到end,将循环变量增加一个步长的值,再与终值比较,如果仍不超过终值范围,则再次执行循环体,这样重复执行,直到循环变量的值超过终值,则跳出循环温馨提示 只有当循环次数明确时,才能使用本语句步长可以为正、负,但不能是0,否则会陷入“死循环”步长为正时,要求终值大于初值,如果终值小于初值,循环将不能执行步长为负时,要求终值必须小于初值for语句对应的程序框图如下图所示:(2)while语句执行过程:该语句对应于程序框图中的循环结构,先判断条件是否成立,当条件成立时,执行循环体,遇到end语句时,就返回到while,继续判断条件,若仍成立,则重复上述过程,若不成立,则去执行end后面的语句(即退出循环体)温馨提示 当循环次数未知时,只能利用while循环语句解决累加、累乘问题,循环体结束循环的条件必须是唯一的,若不确定,则无法结束,形成“永不停止”的循环对于循环结束的条件,要注意与“是”“否”后面的处理框相对应while语句对应的基本框图如图所示:2.Scilab程序语言中常用符号剖析:数学符号Scilab语言中程序符号(代数运算中的乘法运算符)*(程序里面表示乘法的运算符)(代数运算中的除法运算符)/(程序里面表示除法的运算符)ab(代数运算中的指数运算符)ab(程序里面表示指数的运算符)(代数中的小于等于符号)(程序里面表示小于等于的符号)(代数中的大于等于符号)(程序里面表示大于等于的符号)(代数中的不等号)(程序里面表示不等于的符号)|x|(代数运算中的取绝对值)abs(x)(程序里面取绝对值的函数)且(逻辑中的“且”运算)and(程序里面表示逻辑中的“且”运算)或(逻辑中的“或”运算)or(程序里面表示逻辑中的“或”运算)【例1】 读用Scilab语句编写的程序,根据程序画出程序框图xinput(“x”);yinput(“y”);print(%io(2),x/2);print(%io(2),3*y);xx1;yy1;print(%io(2),x);print(%io(2),y);分析:该程序第1,2句是input输入语句,要求从键盘输入x与y的值;第3,4句是print输出语句,要求从屏幕输出和3y的值,第5,6句赋值语句,用x1的值代替原来x的值,用y1的值代替原来y的值第7,8句从屏幕输出x和y的值,由此可得程序框图解:反思 给出程序画框图类的题型,关键是理解程序的功能是什么,然后进行实际操作,在用赋值语句时,可对一个变量重复赋值,变量的值取最后一次的赋值.【例2】 已知函数y输入x的值计算y的值,画出程序框图,并写出程序分析:本题是属于已知分段函数的解析式求函数值的问题本题中分段函数的定义域被分成了三部分,从而在程序中需判定的条件有两个,在使用条件语句时要注意书写顺序及语句间的对应解:程序如下xinput(“x”);ifx0 y(2* x2)1;elseif x0y2*x1;elsey2*x24endendprint(%io(2),y)程序框图如下图所示:反思 根据本题可画出条件语句的整体书写格式(嵌套式)如下:【例3】 用for语句写出计算13572 015的值的程序分析:解决这一问题的算法如下:S1S1;S2i3;S3SSi;S4ii2;S5如果i2 015,则执行S6,否则执行S3,S4,S5;S6输出S.解:程序如下:反思 (1)本题中的SS i是循环体(2)由于是一个累乘问题,如果我们设定S的初始值为1,i的初始值为1,则第二句也可改为fori1:2:2 015,最后程序的运行结果是一样的(3)注意本程序中分号的作用,如果没有分号,则最后在屏幕上会出现每一步的运行结果;而有分号,则只出现最后的运行结果【例4】 用循环语句写出求满足110的最小自然数n的算法,并写出相应程序分析:本题不等号的左边为1,是有规律的累加运算,故引入累加变量S,而要求S10的最小自然数n,故可用“while S10”来控制循环,又要引入计数变量i,通过“ii1”进行循环解:算法如下:S1S0;S2i1;S3SS;S4如果S10,则令ii1,并返回S3,否则输出i.程序如下:S0;i1;SS1/i;While S10ii1;SS1/i;endprint(%io(2),i);反思 由于本题中终值预先不清楚,因此才考虑用while循环,要注意程序与算法一致【例5】 写出求使123_2 014成立的所有正整数的一个程序错解:S1;i1;while S2 014ii1;SSi;endprint(%io(2),i);错因分析:该算法只能输出符合条件的最大正整数加1后所得的值,故不正确事实上,为了能输出所有符合条件的正整数,必须把“print(%io(2),i)”移到循环体内正解:解法一:S1;i1;whileS2 014print(%io(2),i);ii1;SSi;end解法二:S1;i1;whileS2 014ii1;SSi;print(%io(2),i1);end
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 高中资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!