欢迎来到天天文库
浏览记录
ID:45488896
大小:2.32 MB
页数:6页
时间:2019-11-13
《2019-2020年高中数学 第一章 算法初步 1.2 基本算法语句教案 新人教B版必修3》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2019-2020年高中数学第一章算法初步1.2基本算法语句教案新人教B版必修31.两种循环语句的执行原理剖析:(1)for循环的执行过程:通过for语句进入循环,将初值赋给循环变量i,当循环变量的值不超过终值时,则顺序执行循环体内的各个语句,遇到end,将循环变量增加一个步长的值,再与终值比较,如果仍不超过终值范围,则再次执行循环体,这样重复执行,直到循环变量的值超过终值,则跳出循环.温馨提示①只有当循环次数明确时,才能使用本语句.②步长可以为正、负,但不能是0,否则会陷入“死循环”.步长为正时,要求终值大于初值,如果终值小于初
2、值,循环将不能执行.步长为负时,要求终值必须小于初值.③for语句对应的程序框图如下图所示:(2)while语句执行过程:该语句对应于程序框图中的循环结构,先判断条件是否成立,当条件成立时,执行循环体,遇到end语句时,就返回到while,继续判断条件,若仍成立,则重复上述过程,若不成立,则去执行end后面的语句(即退出循环体).温馨提示①当循环次数未知时,只能利用while循环语句解决累加、累乘问题,循环体结束循环的条件必须是唯一的,若不确定,则无法结束,形成“永不停止”的循环.对于循环结束的条件,要注意与“是”“否”后面的处理
3、框相对应.②while语句对应的基本框图如图所示:2.Scilab程序语言中常用符号剖析:数学符号Scilab语言中程序符号×(代数运算中的乘法运算符)*(程序里面表示乘法的运算符)÷(代数运算中的除法运算符)/(程序里面表示除法的运算符)ab(代数运算中的指数运算符)ab(程序里面表示指数的运算符)≤(代数中的小于等于符号)<=(程序里面表示小于等于的符号)≥(代数中的大于等于符号)>=(程序里面表示大于等于的符号)≠(代数中的不等号)<>(程序里面表示不等于的符号)
4、x
5、(代数运算中的取绝对值)abs(x)(程序里面取绝对值的
6、函数)且(逻辑中的“且”运算)and(程序里面表示逻辑中的“且”运算)或(逻辑中的“或”运算)or(程序里面表示逻辑中的“或”运算)【例1】读用Scilab语句编写的程序,根据程序画出程序框图.x=input(“x=”);y=input(“y=”);print(%io(2),x/2);print(%io(2),3*y);x=x+1;y=y-1;print(%io(2),x);print(%io(2),y);分析:该程序第1,2句是input输入语句,要求从键盘输入x与y的值;第3,4句是print输出语句,要求从屏幕输出和3y的值
7、,第5,6句赋值语句,用x+1的值代替原来x的值,用y-1的值代替原来y的值.第7,8句从屏幕输出x和y的值,由此可得程序框图.解:反思给出程序画框图类的题型,关键是理解程序的功能是什么,然后进行实际操作,在用赋值语句时,可对一个变量重复赋值,变量的值取最后一次的赋值.【例2】已知函数y=输入x的值计算y的值,画出程序框图,并写出程序.分析:本题是属于已知分段函数的解析式求函数值的问题.本题中分段函数的定义域被分成了三部分,从而在程序中需判定的条件有两个,在使用条件语句时要注意书写顺序及语句间的对应.解:程序如下.x=input(
8、“x=”);if x>0 y=(2*x^2)-1;else ifx=0y=2*x+1; elsey=-2*x^2+4]endendprint(%io(2),y)程序框图如下图所示:反思根据本题可画出条件语句的整体书写格式(嵌套式)如下:【例3】用for语句写出计算1×3×5×7×…×2015的值的程序.分析:解决这一问题的算法如下:S1 S=1;S2 i=3;S3 S=S×i;S4 i=i+2;S5 如果i>2015,则执行S6,否则执行S3,S4,S5;S6 输出S.解:程序如下:反思(1)本题中的S=Si是循环体.(2)由于
9、是一个累乘问题,如果我们设定S的初始值为1,i的初始值为1,则第二句也可改为for i=1:2:2015,最后程序的运行结果是一样的.(3)注意本程序中分号的作用,如果没有分号,则最后在屏幕上会出现每一步的运行结果;而有分号,则只出现最后的运行结果.【例4】用循环语句写出求满足1+++…+>10的最小自然数n的算法,并写出相应程序.分析:本题不等号的左边为1+++…+,是有规律的累加运算,故引入累加变量S,而要求S>10的最小自然数n,故可用“whileS<=10”来控制循环,又要引入计数变量i,通过“i=i+1”进行循环.解:算
10、法如下:S1 S=0;S2 i=1;S3 S=S+;S4 如果S≤10,则令i=i+1,并返回S3,否则输出i.程序如下:S=0;i=1;S=S+1/i;WhileS<=10 i=i+1; S=S+1/i;endprint(%io(2),i);反思
此文档下载收益归作者所有