第十二章 学案71 基本算法语句

更新时间:2024-05-05 23:17:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

学案71 基本算法语句

导学目标: 理解几种基本算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句的含义.

自主梳理

1.输入、输出语句

输入语句的格式为____________________. 输出语句的格式为____________________.

2.赋值语句的格式为______________,赋值语句中“=”叫做赋值号,计算机执行赋值语句时,先计算“=”右边表达式的值,然后把这个值赋给“=”左边的变量.一个赋值语句只能给一个变量赋值.

3.条件语句表达算法中的条件结构.条件语句的一般格式是

IF 条件 THEN 语句体1ELSE 语句体2END IF

或IF—THEN语句的一般格式是 IF 条件 THEN 语句体 END IF

4.算法中的循环结构是由循环语句来实现的,包括WHILE语句和UNTIL语句两种语句结构.

WHILE 条件

WHILE语句的一般格式是 循环体,

WENDDO

UNTIL语句的一般格式是 循环体

LOOP UNTIL 条件

自我检测 1.(2011·汉沽模拟)已知变量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

2.当a=1,b=3时,执行完如下的一段程序后x的值是( ) IF a

x=a-b END IF A.1 B.3 C.4 D.-2 3.(2011·淄博月考)当x=2时,下面的程序运行结果是( )

i=1s=0

WHILE i<=4 s=s*x+1

i=i+1WENDPRINT sEND

A.3 B.7 C.15 D.17

4.(2011届温州期末)下列程序执行后输出的结果是________________________. i=11s=1DO

s=s*i i=i-1

LOOP UNTIL i<9PRINT sEND

探究点一 输入、输出和赋值语句的应用

例1 写出下列语句描述的算法的输出结果: (1)

a=5a=1b=3b=2c=?a+b?/2 (2) c=a+b d=c*cb=a+c-bPRINT “d=”;dPRINT “a=,b=,c=”;a,b,c

变式迁移1 请写出下面运算输出的结果__________. a=10b=20c=30a=b b=cc=a

PRINT “a=,b=,c=”;a,b,c

探究点二 条件语句的应用 例2 阅读下面的程序,当分别输入x=2,x=1,x=0时,输出的y值分别为________、________、________.

INPUT “x=”;xIF x>1 THEN y=1/?x-1?ELSE

IF x=1 THENy=x^2

ELSE

y=x^2+1/?x-1? END IFEND IFPRINT yEND

变式迁移2 阅读下面的程序,写出程序运行的结果. (1)若x=6,则P=______;(2)若x=20,则P=______.

探究点三 循环语句的应用 例3 (2011·温州期末)下列程序执行后输出的结果是( ) n=5s=0

WHILE s<14s=s+n

n=n-1WENDPRINT nEND

A.-1 B.0 C.1 D.2

变式迁移3 下列程序运行的结果是________________________________________. x=100i=1DO

x=x+10

PRINT i,x i=i+1

LOOP UNTIL x>=200END

1.条件语句一般有两种:IF—THEN语句;IF—THEN—ELSE语句.语句格式及框图如

下.

(1)IF—THEN—ELSE格式

当计算机执行这种形式的条件语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句体1,否则执行ELSE后的语句体2. (2)IF—THEN格式

2.算法中的循环结构是由循环语句来实现的.对应于程序框图中的两种循环结构,一般程序设计语言中有当型(WHILE型)和直到型(UNTIL型)两种语句结构,即WHILE语句和UNTIL语句. (1)WHILE语句

(2)UNTIL语句

(满分:75分)

一、选择题(每小题5分,共25分) 1.(2011·枣庄模拟)以下程序: x=-1DO

x=x*x

UNTIL x>10PRINT xEND

A.不能执行 C.能执行十次

B.能执行一次 D.有语法错误

2.下面的程序运行后第3个输出的数是( )

3B. 25

C.2 D. 2

3.(2011·银川模拟)下面程序运行的结果是( ) A.1

i=1S=0

WHILE i<=100 S=S+i

i=i+1WENDPRINT SEND

A.5 050 B.5 049 C.3 4.下面程序运行后,输出的值是( ) i=0DO

i=i+1

LOOP UNTIL i*i>=2 000 i=i-1PRINT iEND

A.42 B.43 C.44 D.45 5.程序

INPUT x IF x>0 AND x<100 THEN a=x[ST0 b=x MOD 10 x=10]PRINT x END IF END 上述程序如果输入的值是51,则运行结果是( ) A.51 B.15 C.105 D.501 二、填空题(每小题4分,共12分)

1111

6.利用计算机计算:s=+++?+,某同学编写的程序语句中,

1×22×33×499×100

①处应填________.

D.2

s=0k=1DO s=s+1/?k*?k+1?? k=k+1LOOP UNTIL ① PRINT “s=”;sEND7.为了在运行下面的程序之后得到y=25,键盘输入的x应该是________. INPUT x

IF x<0 THEN y=?x+1?*?x+1?ELSE

y=?x-1?*?x-1?END IFPRINT yEND

8.(2011·南通模拟)有一列数:1,1,2,3,5,8,13,21,?,这列数有下面的特点:前两个数都是1,从第三个数开始,每个数都是前两个数的和,这样的一列数一般称为斐波那契数.图中程序所描述的算法功能是输出前10个斐波那契数.请把这个算法填写完整.

a=1b=1n=2WHILE n<10 c=a+bPRINT c b=c n=n+1WENDEND三、解答题(共38分)

111

9.(12分)现欲求1+++?+的和(其中n的值由键盘输入),已给出了其程序框

352n-1

图,请将其补充完整并设计出程序.

10.(12分)设计一个计算1×3×5×7×?×99的程序并画出程序框图.

11.(14分)(2011·南京模拟)某商场为了促销,采用购物打折的优惠办法:每位顾客一次购物

①在1 000元以上者总额按九五折优惠; ②在2 000元以上者总额按九折优惠; ③在3 000元以上者总额按八五折优惠; ④在5 000元以上者总额按八折优惠. 试编写程序求优惠价.

学案71 基本算法语句

自主梳理

1.INPUT “提示内容”;变量 PRINT “提示内容”;表达式 2.变量=表达式 自我检测

1.D [由赋值语句知选D.] 2.C [∵1<3,∴x=1+3=4.]

3.C [当x=2时,i=1≤4,s=0×2+1=1; i=1+1=2≤4,s=1×2+1=3; i=2+1=3≤4,s=3×2+1=7; i=3+1=4≤4,s=7×2+1=15; i=4+1=5>4,输出s=15.] 4.990

解析 由题意s=11×10×9=990. 课堂活动区

例1 解题导引 (1)赋值语句左边只能是变量名字,而不是表达式,右边可以是一个常量、变量或含变量的运算式.(2)赋值号的左右两边不能对换.赋值语句是将赋值号右边的表达式的值赋给赋值号左边的变量.如“A=B”和“B=A”的运行结果是不同的.

a+b

解 (1)∵a=5,b=3,c==4,

2

∴d=c2=16,即输出d=16.

(2)∵a=1,b=2,c=a+b,∴c=3,又∵b=a+c-b, 即b=1+3-2=2,∴a=1,b=2,c=3, 即输出a=1,b=2,c=3.

变式迁移1 a=20,b=30,c=20

解析 经过语句a=b,b=c后,b的值赋给a,c的值赋给b,即a=20,b=30,再经过语句c=a后,a的当前值20赋给c,∴c=20.故输出结果a=20,b=30,c=20.

例2 解题导引 计算机执行这种形式的条件语句时,是首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句;如果条件不符合,则直接结束该条件语句,转而执行其他语句,嵌套时注意内外分层,避免逻辑混乱.

1,1,-1

解析 由程序可知分段函数是:

?

y=?x, x=1

1

?x-1, x>1

2

1x2+, x<1

x-1

∴输入x=2,输出1; 输入x=1,输出1; 输入x=0,输出-1.

变式迁移2 (1)2.1 (2)10.5

例3 解题导引 解答这类问题的关键是认真阅读程序,理解程序功能.必要时,根据程序画出框图辅助分析.

C [由程序画出对应的程序框图,这是一个当型循环语句.

由框图可知,该程序的功能是计算s=5+4+?+n到首次不小于14的n-1的值,即(s,n)由以下运算得:(0,5)→(0+5,5-1)→(5+4,4-1)→(9+3,3-1)→(12+2,2-1),所以输出n=1.]

变式迁移3 1,110;2,120;3,130;4,140;5,150;6,160;7,170;8,180;9,190;10,200 课后练习区

1.D [程序中存在语法错误,应为LOOP UNTIL,考查程序的严密性.] 2.C [该程序中关键是循环语句,

第一次输出的数是1,

13

第二次输出的数是x=1+=,

2211

第三次输出的数是x=1++=2.]

22

100

3.A [该程序的功能是求S=1+2+?+100的值.由等差数列求和公式得,S=×(1

2

+100)=5 050.]

4.C [程序功能是求使i2≥2 000成立的最小i值,输出结果为i-1.∵442=1 936,452=2 025>2 000,∴输出结果为44.]

5.B [因为算术运算符“\\”和“MOD”分别用来取商和余数,所以a=5,b=1,x=10×1+5=15.]

6.k>99

解析 循环体执行到k=99. 7.-6或6

2

解析 程序对应的函数是y=????x+1?,x<0

??

?x-1?2

,x≥0

. 由题意得,???x<0

???x+1?2=25

,或???x≥0?

,??x-1?2=25

解得x=-6或x=6. 8.a=b

9.解 ①i=i+1 ②S=S+1/(2](4分) 程序如下:

(12分)

10.解 方法一 (当型语句) 程序为: s=1i=3

WHILE i<=99s=s*i

i=i+2

WENDPRINT sEND

(5分)

程序框图如图所示,

(12分)

方法二 (直到型语句) 程序为:

s=1i=3DOs=s*i

i=i+2

LOOP UNTIL i>99PRINT sEND

(5分)

程序框图如图所示,

(12分)

11.解 设购物款数原为x元,优惠后价格为y元,则优惠付款方式可用分段函数表示为

??0.95x, 1 000≤x<2 000,y=?0.9x, 2 000≤x<3 000,

0.85x, 3 000≤x<5 000,??0.8x, x≥5 000.

用条件语句表示为:

x, x<1 000,

(6分)

(14分)

本文来源:https://www.bwwdw.com/article/op2g.html

Top