高中数学学案导学:专题突破二 算法语句的应用.docxVIP

  • 0
  • 0
  • 约3.06千字
  • 约 7页
  • 2021-08-21 发布于山东
  • 举报

高中数学学案导学:专题突破二 算法语句的应用.docx

高中数学必修三导学案 PAGE PAGE 1 专题突破二 算法语句的应用 一、基本的条件语句 例1 运行如图所示的程序,输出的y与输入的x满足的关系式为____________________. INPUT x IF x1 OR x8 THEN y=2^x ELSE y=3*x+1 END IF PRINT y END 思维切入 本题中使用的是“IF-THEN-ELSE-ENDIF”语句.当条件成立时,执行语句“y=2^x”,不成立时,执行语句“y=3*x+1”,故y=eq \b\lc\{\rc\ (\a\vs4\al\co1(2x,x1或x8,,3x+1,1≤x≤8.)) 答案 y=eq \b\lc\{\rc\ (\a\vs4\al\co1(2x,x1或x8,,3x+1,1≤x≤8)) 点评 (1)基本的条件语句有两种.当判断条件成立与否都需要执行某操作时,使用“IF-THEN-ELSE-ENDIF”语句;当条件判断后只需执行一种操作时,使用“IF-THEN-ENDIF”语句. (2)求分段函数的值是条件语句的重要应用. 二、条件语句的复合 例2 已知a,b,c三个实数中,有且只有一个是负数,设计一个程序,筛选出这个负数. 思维切入 需要对这三个数逐一进行判断,故用条件语句的并列形式或嵌套形式. 解 程序如图. INPUT “a,b,c=”;a,b,c IF a0 THEN PRINT a ELSE IF b0 THEN  PRINT b ELSE  PRINT c END IF END IF END 点评 ①一般要求一个“IF”都要有一个“ENDIF”与其对应;②在用条件语句的嵌套书写程序时,要弄清哪个“IF”对应哪个“ENDIF”;③书写时,注意每一层要对齐. 三、循环语句求累加和或累乘积 例3 编写程序,计算2+23+25+…+299的值. 思维切入 这是一个累加问题,可以用WHILE语句,也可以用UNTIL语句来编写程序. 解 程序如图. i=1 S=0 WHILE i=50  S=S+2^?2*i-1?  i=i+1 WEND PRINT S END 点评 解决具体的构造循环语句的算法问题,要尽可能地少引入变量,因为较多的变量会使得程序设计比较麻烦.同一问题的程序并不唯一.本题也可用如下图所示的程序表示.注意两程序中循环体部分的区别.当然了,变量的初值不同,程序也会有所改变. i=1 S=0 WHILE i=99  S=S+2^i  i=i+2 WEND PRINT S END 四、条件语句与循环语句的嵌套 例4 分别用WHILE语句和UNTIL语句编写计算机程序输出1~100之间(含1和100)能被3整除的所有整数. 思维切入  解 利用WHILE语句编写程序如下: i=1 WHILE i<=100 IF i MOD 3=0 THEN PRINT i END IF i=i+1 WEND END 利用UNTIL语句编写程序如下: i=1 DO IF i MOD 3=0 THEN PRINT i END IF i=i+1 LOOP UNTIL i>100 END 点评 对于循环语句内嵌套条件语句的问题,先确定外层的循环语句,再逐步确定内层的条件语句,一定要保证内层的变量与外层的变量不冲突,以免引起矛盾. 五、循环语句的嵌套问题 例5 设计一个程序,输出落在圆x2+y2=100内且在第一象限的所有整点的坐标. 思维切入 由题意知1≤x<10,1≤y<10且x,y∈Z.故设计算法时可先确定x,让y由1取到9逐一验证条件,然后改变x的值,直至验完. 解 程序如下: r=10 x=1 WHILE x<r y=1 WHILE y<r  IF x^2+y^2<r^2 THEN   PRINT x,y  END IF  y=y+1 WEND x=x+1 WEND END 点评 对于循环语句的嵌套问题,需要正确区分内循环变量和外循环变量.循环变量是循环语句的关键,循环变量的范围决定着循环的次数.解决二重循环问题时,首先固定外循环变量的值,由外向内推导,以此类推,可解决更复杂的循环语句的嵌套问题. 1.设计一个计算1×3×5×7×9的算法,下面给出了算法语句的一部分,则在横线①上应填入下面数据中的(  ) S=1 i=3 DO  S=S*i  i=i+2 LOOP UNTIL i> ①  PRINT S END A.8B.11C.10D.12 答案 C 解析 由算法知i的取值为3,5,7,9,…,又只需计算1×3×5×7×9,因此只要保证所填数大于等于9,小于11即可,故选C. 2.阅读程序,当输入x的值为3时,输出y的值为________.(其中e为自然对数的底数) INPUT x IF x<=e THEN  y=

文档评论(0)

1亿VIP精品文档

相关文档