高中数学算法初步1.2基本算法语句课件新人教B版.pptx_第1页
高中数学算法初步1.2基本算法语句课件新人教B版.pptx_第2页
高中数学算法初步1.2基本算法语句课件新人教B版.pptx_第3页
高中数学算法初步1.2基本算法语句课件新人教B版.pptx_第4页
高中数学算法初步1.2基本算法语句课件新人教B版.pptx_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、基本语句结构 【问题思考】 1.填空: 程序语言都包含一些基本的语句结构,它们分别是输入语句、 输出语句、赋值语句、条件语句、循环语句. 2.做一做:下列语句不属于基本算法语句的是( ) A.赋值语句 B.运算语句 C.条件语句 D.循环语句 答案:B,二、赋值语句 【问题思考】 1.“8=t”“a=b=3”这样的赋值正确吗? 提示:不正确,赋值号“=”左边只能是变量名,右边是表达式,左右边不能交换;每一个赋值语句只能出现一次“=”,即只能给一个变量赋值. 对赋值号“=”的理解把右边的数值赋给左边的变量或计算右边表达式的值并把计算结果赋给左边的变量.,2.填空: (1)用来表明赋给某一个变量一个具体的确定值的语句叫做 赋值语句. (2)赋值语句的一般格式是变量名=表达式. (3)赋值语句中的“=”号,称做赋值号. 3.做一做:下列赋值语句错误的是( ) A.N=N+2 B.M=M*M C.A=B=C D.D=3 答案:C,三、输入语句与输出语句 【问题思考】 1.填空:,2.读下列两个程序,回答问题. x=3; y=4; x=y; print(%io(2),x,y); x=3; y=4; y=x; print(%io(2),y,x); (1)上述两个程序的运行结果分别是 , ; (2)上述两个程序中的第三行有什么区别? 答案:(1)4,4 3,3 (2)上述两个程序中的第三行的区别是:中“x=y”是将y的值赋给x,中“y=x”是将x的值赋给y.,3.做一做:执行“Print(%io(2),3+5)”的输出结果是 ( ) A.3+5=3+5 B.3+5=8 C.8 D.8=8 答案:C,四、条件语句 【问题思考】 1.填空: (1)处理条件分支逻辑结构的算法语句,叫做条件语句. (2)条件语句的一般格式有两种,一种是ifelseend格式,其形式为: if 表达式 语句序列1; else 语句序列2; end 另一种是ifend格式,形式是: if表达式 语句序列1; end,2.两种格式的if语句分别适合于解决什么问题? 提示:(1)对于要解决的问题,如果只需要对满足条件的情况作出处理,不需要处理不满足条件的情况,那么就选用ifend条件语句. (2)对于要解决的问题,如果既需要解决满足条件时的情况,又需要解决不满足条件时的情况,那么就选用ifelseend条件语句.,3.做一做:当a=1,b=3时,执行完如下一段程序后x的值是( ) if ab x=a+b; else x=a-b; end print(%io(2),x); A.1 B.3 C.4 D.-2 解析:因为13,满足ab,所以x=1+3=4,故选C. 答案:C,五、循环语句 【问题思考】 1.填空: (1)在算法程序语言中一般通过循环语句来处理算法中的循环结构. (2)循环语句主要有两种类型:for循环和while循环. for循环的一般格式为 for循环变量=初值:步长:终值 循环体; end while循环的一般格式为 while表达式 循环体; end,2.for循环与while循环有何异同? 提示:(1)对于for循环: 只有当循环次数明确时,才能使用本语句. 步长可以为正、负,但不能是0,否则会陷入“死循环”.步长为正时,要求终值大于初值,如果终值小于初值,那么循环将不能执行.步长为负时,要求终值必须小于初值. for语句对应的程序框图如下图所示:,(2)对于while循环: 当循环次数未知时,只能利用while循环语句解决累加、累乘问题,循环体结束循环的条件必须是唯一的,若不确定,则无法结束,形成“永不停止”的循环.对于循环结束的条件,要注意与“是”“否”后面的处理框相对应. while语句对应的基本框图如图所示:,3.做一做:下面程序最后输出的结果为( ) i=1; for i=1:2:7 S=3*i; end print(%io(2),S); A.17 B.21 C.27 D.37 答案:B,4.做一做:如下循环语句中,循环终止时,n等于( ) n=2; while n=7 n=n+1; end A.6 B.7 C.8 D.9 答案:C,归纳总结Scilab程序语言中常用符号,思考辨析 判断下列说法是否正确,正确的在后面的括号内画“”,错误的画“”. (1)赋值语句可以写成“1=ab”. ( ) (2)赋值语句可以写成“a=2a+1”. ( ) (3)输入语句a=input(“Chinese”)中,真正起作用的是“a=input( )”. ( ) (4)条件语句“ifend”书写格式是错误的. ( ) (5)循环结构中,若循环次数不明确,也可使用for循环语句. ( ) 答案:(1) (2) (3) (4) (5),探究一,探究二,探究三,易错辨析,【例1】 下列给出的输入语句、输出语句和赋值语句是否正确,为什么? (1)a=input(“a=”); (2)print(%io(2),x;y;z); (3)5=D; (4)M=N=-3. 解:(1)正确,完全符合输入语句的形式. (2)错误,print语句中变量之间用“,”隔开,而不是“;”. (3)错误,赋值语句中,赋值号“=”左边只能是变量名,而不能是具体的数值. (4)错误,一个赋值语句只能给一个变量赋值,不能出现两个及两个以上的“=”.,探究一,探究二,探究三,易错辨析,反思感悟1.赋值语句可以对同一变量多次赋值,在变量的频繁更换中容易混淆变量的值,所以一定要注意“=”是赋值号,而非原来的等号,变量的取值只与最后一次赋值有关. 2.输入语句的“变量”可以是多个变量,书写时,变量之间要用“,”隔开,同样,输出语句中的“表达式”也可以是多个,书写时用“,”隔开. 3.输入语句输入的只能是具体的常数值,而不能是函数、变量或表达式.,探究一,探究二,探究三,易错辨析,变式训练1对赋值语句的描述正确的是( ) 可以给变量提供初始值; 可以将表达式的值赋给变量; 可以给一个变量重复赋值; 不能给同一变量重复赋值. A. B. C. D. 解析:赋值语句不但可以提供初始值,还可以将表达式的值赋给变量,也可以对某一变量重复赋值.故只有错误. 答案:A,探究一,探究二,探究三,易错辨析,【例2】 (1)以下程序的功能是:输入任意实数a,b,输出两数中的较小者,则横线中的处分别应填 和 . a=input(“a=”); b=input(“b=”); if ab ; else ; end print(%io(2),m);,探究一,探究二,探究三,易错辨析,解析:由于要输出a,b中的较小者,即当ab时,应输出a;当ab时,应输出b.而print语句中输出变量是m,所以处应为赋值语句m=a;处应为赋值语句m=b. 答案:m=a m=b,探究一,探究二,探究三,易错辨析,(2)写出求方程ax+b=0(a,b为常数)的根的程序. 思路分析:求该方程的根,要先判断a是不是0,再判断b是不是0,所以需要多个分支结构解题.,探究一,探究二,探究三,易错辨析,解:程序如下: a=input(“a=”); b=input(“b=”); if a0 x=-b/a; disp(x); else if b0 disp(“方程无解”); else disp(“方程的根为全体实数”); end end,探究一,探究二,探究三,易错辨析,反思感悟1.条件语句主要用来实现算法中的条件分支结构,因为人们对计算机运算的要求并不仅限于一些简单的运算,而是经常需要计算机按条件进行分析、比较、判断,并按判断后的不同情况进行不同处理,如判断一个数的正负、比较两个数的大小、对一组数据进行排序及计算分段函数的函数值等就要用到条件语句. 2.(1)当判断条件多于一个时,若重复应用条件语句,书写程序烦琐,可利用复合if语句书写. (2)在编写复合if语句中的“条件”时,要注意if和end的配对. (3)编写复合if语句时,要分清内层条件语句与外层条件语句,内层的条件结构是外层条件结构的一个分支.,探究一,探究二,探究三,易错辨析,变式训练2(1)阅读下列程序: x=input(“x=”); if x0 y=x+5; else y=0; end end print(%io(2),y); 如果输入x=-2,那么输出的结果y为( ) A.0 B.1 C.2 D.3,探究一,探究二,探究三,易错辨析,x=input(“x=”); if y=2-4* x; else ; end print(%io(2),y);,探究一,探究二,探究三,易错辨析,解析:(1)本程序是求分段函数 的函数值. x=-2,y=-2+3=1,故选B. (2)由程序可知,y=2-4x是当条件满足时所执行的内容,即当x3时的函数值,因此处应填的条件是x3;在条件语句中,else后面应该是条件不满足时执行的内容,即y=x* x+1. 答案:(1)B (2)x3 y=x* x+1,探究一,探究二,探究三,易错辨析,【例3】 (1)定义n!=1234n,试编写程序,当输入n时,求n!. (2)编写一个程序求满足12n5 000的最大正整数n,并画出程序框图. 解:(1)程序如下: n=input(“请输入正整数n”); a=1; for i=1:1:n a=a*i; end print(%io(2),a);,探究一,探究二,探究三,易错辨析,(2)该算法的程序框图如图所示:,探究一,探究二,探究三,易错辨析,程序如下: S=1; n=1; while S5000 S=S*n; n=n+1; end n=n-1; print(%io(2),n);,探究一,探究二,探究三,易错辨析,反思感悟1.在利用for语句解决相关问题时,要注意以下几点: 第一,确定变量的初值,即进行初始化操作; 第二,确定循环的次数、步长以及终值; 第三,确定循环体的内容. 2.for语句解决的循环必须事先知道循环次数. 3.在用“while”语句解决相关问题时,要熟练掌握while语句的一般格式,后面的end一定不要忘记.在运行语句的时候,一定要先判断表达式是否成立,再执行循环体. 4.while语句可以不知循环次数,但需要知道循环终止的条件.满足条件时执行循环,不满足条件时终止循环.,探究一,探究二,探究三,易错辨析,将例3(2)中“满足123n2 018的最小自然数i”,如何设计? 解:程序框图如图所示:,探究一,探究二,探究三,易错辨析,程序如下: S=0; i=1; while S=2018 S=S+i; i=i+2; end print(%io(2),i-2);,探究一,探究二,探究三,易错辨析,因对程序语言理解错误而致误 【典例】 如图所示的程序,若运行后输出变量y的范围是 ,则输入的变量x的取值范围是 . x=input(“x=”); if x0; y=4*x; else y=2x; end print(%io(2),y);,探究一,探究二,探究三,易错辨析,探究一,探究二,探究三,易错辨析,防范措施1.解决此类问题的关键是要熟悉条件语句的书写形式以及每一步处理是在什么条件下进行的. 2.对于本例中错误的根源是误将 ,认为对应的解析式只是当x0时对应的部分,正确的方法是进行分类讨论,分x0和x0两种情况进行求解.,探究一,探究二,探究三,易错辨析,变式训练阅读以下程序: x=input(“x=”); if x=1 y=log10(x); else y=-x+1; end print(%io(2),y); (1)若输出的y值为1,求输入的x的值; (2)若输出的y的取值范围是y0,2,求输入的x的范围.,探究一,探究二,探究三,易错辨析,解:该程序表示的是分段函数,(1)若y=1, 则当x1时,lg x=1,解得x=10; 当x1时,-x+1=1,解得x=0, 即输入的x的值为10或0. (2)若y0,2, 则当x1时,0lg x2,解得1x100; 当x1时,0-x+12,解得-1x1, 所以-1x1. 故输入的x的范围是-1,100.,1,2,3,4,5,1.已知变量a,b已被赋值,要交换a,b的值,下列方法正确的是( ) A.a=b,b=a B.a=c,b=a,c=b C.a=c,b=a,c=a D.c=a,a=b,b=c 答案:D,6,1,2,3,4,5,2.下面的程序运行后,y的值是( ) x=3; if x3 y=x* x; else y=2* x; end print(%io(2),y); A.3 B.6 C.9 D.27 答案:B,6,1,2,3,4,5,3.下面程序的运行结果为( ) i=0; S=0; while S=20 S=S+i; i=i+1; end print(%io(2),i); A.6 B.7 C.8 D.9 解析:S=0,i=1,S=0+1,i=2,S=0+1+2+3+4+5,i=6,由于此时,S=1520,所以继续执行S=0+1+2+3+4+5+6,i=6+1=7.完毕,故i=7. 答案:B,6,1,2,3,4,5,4.下面程序的作用是( ) sum=0; for i=1:1:10 sum=sum+i; end print(%io(2),sum); A.求1+3+9+11 B.求1+2+3+10 C.求13511 D.求123410 解析:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论