2013级 1.2.3_基本算法语句--循环语句

合集下载

计算机的基本算法语句类型和讲解

计算机的基本算法语句类型和讲解
(如右图)
计算机从上而下按照语
句排列的顺序执行这些语句.
语句n
输入语句和输出语句分 别用来实现算法的输入信息, 输出结果的功能.
语句n+1
例1.用描点法作函数 yx33x2 的24 图x 象3时0,
需要求出自变量和函数的一组对应值,编写程序, 分别计算当x=-5,-4,-3,-2,-1,0,1,2,3,4,5时的函数值。
注意: INPUT语句不但可以给单个变量赋值,还可以
给多个变量赋值,其格式为:
INPUT “提示内容1,提示内容2,提示内容3,…”;变量1,变量2,变量 3,…
例如,输入一个学生数学,语文,英语三门课的成绩, 可以写成:
INPUT “数学,语文,英语”;a,b,c
二.输出语句 输出语句的一般格式
框图: 开始
输入x
yx33x224x30
程序: INPUT “x=”;x y=x^3+*3 x^2-2*4 x+30 PRINT x PRINT y END
输出x,y 结束
程序:
INPUT “x=”;x -----------------输入语句
y=x^3+3*x^2-24*x+30 ---------赋值语句
PRINT “S=”; S
三.赋值语句 (1)赋值语句的一般格式: 变量=表达式
(2)赋值语句的作用是:先计算出赋值号右边表达 式的值,然后把这个值赋给左边的变量,使该变量的 值等于表达式的值。 (3)赋值语句中的“=”称作赋值号,与数学中的等 号的意义是不同的.赋值号的左右两边不能对换. (4)赋值语句左边只能是变量名字而不是表达式, 如:2=x是错误的
〖例4〗交换两个变量A和B的值,并输出交换前后 的值。

高中数学第一章1.2.3循环语句人教A版必修3

高中数学第一章1.2.3循环语句人教A版必修3
正确的是( ) A.UNTIL 语句可以无限循环 B.WHILE 语句可以无限循环 C.循环语句中必须有判断条件 D.WHILE 语句不能实现 UNTIL 语句的功能 解析:选 C.语句是描述算法的一种方式,因此具有有限性,即 循环语句不能无限循环,因此 A,B 不正确.判断条件是循环 语句不可缺少的部分,因此 C 正确.WHILE 语句与 UNTIL 语句可以相互转化,因此 D 不正确.
循环结构的程序设计
写出计算 12+32+52+…+992 的程序.
【解】
用 WHILE 语句编写程序如下: S=0 i=1 WHILE i< =99 S=S+i∧2 i=i+2 WEND PRINT S END
用 UNTIL 语句编写程序如下: S=0 i=1 DO S=S+i∧2 i=i+2 LOOP UNTIL i>99 PRINT S END
【答案】 8
(1)WHILE 语句的适用类型 当型循环也叫“前测试”循环,也就是我们所讲的“先测试后 执行”“先判断后执行”. (2)使用 WHILE 语句应关注五点 ①当型循环以 WHILE 开头,以 WEND 作为结束标志; ②一般来讲,WHILE 语句与 UNTIL 语句可以相互转化;
③执行 WHILE 语句时,先判断条件,再执行循环体,然后再 判断条件,再执行循环体,反复执行,直至条件不满足; ④WHILE 语句中的条件是指循环体的条件,满足此条件时, 执行循环体,不满足时,则跳出循环,执行循环结构后面的语 句; ⑤WHILE 语句由于先判断条件,再执行循环体,因此,循环 体可能一次也不执行就退出循环结构.
A.3 C.15
下面程序的运行结果是( ) i=1 S=0 WHILE i<=4 S=S*2+1 i=i+1 WEND PRINT S END B.7 D.17

数学:1.2.3循环语句

数学:1.2.3循环语句

的程序.

a=m
开始
f(x)=x2-2
输入精确度d 和初始值a,b
a+ b m=
2
f(a)f(m)<0? 是
b=m
否 |a-b|<d或f(m)=0?
是 输出m
结束
INPUT “a,b,d=”;a,b,d DO
m=(a+b)/2
g=a∧2-2
f=m∧2-2 IF g*f<0 THEN
b=m ELSE
a=m END IF LOOP UNTIL ABS(a-b) <d OR f=0 PRINT m END
在下面的程序运行中,计算机输出的结 果是多少?
x=20 DO x=x-3 LOOP UNTIL x <0 PRINT x END
-1
阅读下面的程序,你能说明它是一个什 么问题的算法吗?
x=1 WHILE x∧2<1000 PRINT x
例1、计算1+2+3+…+100的值
算法一:
第一步,令i=1,S=0. 第二步,计算S+i,仍用S表示. 第三步,计算i+1,仍用i表示. 第四步,判断i>100是否成立.若是,则输出S, 结束算法;否则,返回第二步.
利用UNTIL语句写出这个算法对应的程序
i=1 S=0
DO S=S+i i=i+1 LOOP UNTIL i>100 PRINT S
开始
n=1
输入x
y=x3+3x2-24x+30
输出y
n=n+1 否
n>11? 是
结束
n=1 DO
INPUT x y=x∧3+3*x∧2-24*x+30

c语言中的循环语句

c语言中的循环语句

c语言中的循环语句C语言中的循环语句是程序设计中非常重要的一部分,它可以让程序重复执行某些操作,从而提高程序的效率和灵活性。

下面是我总结的10个常用的循环语句,希望对大家有所帮助。

1. for循环语句for循环语句是C语言中最常用的循环语句之一,它的语法格式如下:for (初始化表达式; 条件表达式; 更新表达式){循环体语句;}其中,初始化表达式只会在循环开始时执行一次,条件表达式会在每次循环开始前进行判断,如果为真则执行循环体语句,否则跳出循环。

更新表达式会在每次循环结束后执行一次,然后再次进行条件判断。

2. while循环语句while循环语句也是C语言中常用的循环语句之一,它的语法格式如下:while (条件表达式){循环体语句;}其中,条件表达式会在每次循环开始前进行判断,如果为真则执行循环体语句,否则跳出循环。

3. do-while循环语句do-while循环语句和while循环语句类似,但是它的循环体语句至少会执行一次,它的语法格式如下:do{循环体语句;} while (条件表达式);其中,循环体语句会在条件表达式判断之前至少执行一次,然后再根据条件表达式进行判断,如果为真则继续执行循环体语句,否则跳出循环。

4. break语句break语句可以用来跳出循环,它的语法格式如下:break;当程序执行到break语句时,会立即跳出当前循环,继续执行下面的语句。

5. continue语句continue语句可以用来跳过当前循环中的某些语句,继续执行下一次循环,它的语法格式如下:continue;当程序执行到continue语句时,会跳过当前循环中的剩余语句,然后继续执行下一次循环。

6. goto语句goto语句可以用来跳转到程序中的某个标签处,它的语法格式如下:goto 标签名;其中,标签名是程序中的一个标识符,用来标记某个位置。

7. switch语句switch语句可以用来根据不同的条件执行不同的语句,它的语法格式如下:switch (表达式){case 常量1:语句1;break;case 常量2:语句2;break;...default:语句n;break;}其中,表达式的值会和每个case后面的常量进行比较,如果相等则执行对应的语句,如果没有匹配的常量则执行default后面的语句。

C语言三种循环语句

C语言三种循环语句

C语言三种循环语句三种基本的循环语句: for语句、while语句和do-while语句。

一、循环语句(一)、for循环它的一般形式为:for(<初始化>;<条件表过式>;<增量>)语句;初始化总是一个赋值语句,它用来给循环控制变量赋初值;条件表达式是一个关系表达式,它决定什么时候退出循环;增量定义循环控制变量每循环一次后按什么方式变化。

这三个部分之间用;分开。

例如:for(i=1;i<=10;i++)语句;上例中先给i赋初值1,判断i是否小于等于10,若是则执行语句,之后值增加1。

再重新判断,直到条件为假,即i>10时,结束循环。

注意:(1).for循环中语句可以为语句体,但要用{和}将参加循环的语句括起来。

(2).for循环中的初始化、条件表达式和增量都是选择项,即可以缺省,但;不能缺省。

省略了初始化,表示不对循环控制变量赋初值。

省略了条件表达式,则不做其它处理时便成为死循环。

省略了增量,则不对循环控制变量进行操作,这时可在语句体中加入修改循环控制变量的语句。

(3).for循环可以有多层嵌套。

例如:for(;;) 语句;for(i=1;;i+=2) 语句;for(j=5;;) 语句;这些for循环语句都是正确的。

main(){int i,j;printf(i j );for(i=0;i<2;i++)for(j=0;j<3;j++)printf(%d %d ,i,j);}输出结果为:i j0 00 10 21 01 11 2用for循环求1+2+……+100的'和:main(){int sn=0,i;for(i=1;i<=100;i++)sn+=i; /*1+2+……+100*/printf(%d ,sn);}从程序可以看出,使用循环语句可以大大简化代码。

(二)、while循环它的一般形式为:while(条件)语句;while循环表示当条件为真时,便执行语句。

1.2.3循环语句

1.2.3循环语句

2、设计一个算法框图:求满足1+2 + 3 + … + n 设计一个算法框图:求满足1 10000的最小正整数 的最小正整数n 并写出相应的QBASIC程序。 QBASIC程序 >10000的最小正整数n,并写出相应的QBASIC程序。
程序 开始 i=0,Sum=0 i=i+1 Sum=Sum+i 否 Sum>10000? 是 输出i 结束 i=0 sum = 0 DO i=i+1 sum = sum + i LOOP UNTIL sum>10000 PRINT i END
直 到 型
设计一个计算1+2+3+ 1+2+3+…+100 的值的程序(课本15 15页 例1:设计一个计算1+2+3+ +100 的值的程序(课本15页) 程序: 程序: i=1 S=0 WHILE i<=100 S=S+i i=i+1 WE S I E 框图: 框图: 开始 i=1,S=0 i<=100? 是 S= S+i i= i+1 否
循环体 LOOP UNTIL
条件

先执行一次DO和UNTIL之间的循环体,再对 先执行一次DO和UNTIL之间的循环体, DO 之间的循环体 UNTIL后的条件进行判断 如果条件不符合, 后的条件进行判断. UNTIL后的条件进行判断.如果条件不符合,则继 续执行循环体;然后再检查上述条件, 续执行循环体;然后再检查上述条件,如果条件 仍不符合,则再次执行循环体, 仍不符合,则再次执行循环体,直到条件符合为 这时,计算机将不执行循环体,而执行UNTIL 止.这时,计算机将不执行循环体,而执行UNTIL 语句之后的语句.

1.2.3 循环语句

张喜林制1.2.3 循环语句教材知识检索考点知识清单1.在算法程序语言中一般通过来处理算法中的循环结构.2.Scilab程序语言中提供了两种循环语句:.3.for循环的格式为:,while循环的格式为要点核心解读1.循环语句(1)循环语句的概念,在程序处理中,经常需要对一条或一组语句重复执行多次,最终完成某项任务,这就是循环的概念,例如统计所有考生的成绩的总分需要一个人一个人地计算;寻找一批数据中的某一个,需要逐个地鉴别……这类处理的一个特点是对不同的运算对象进行若干次的相同运算或处理,这种处理模式在程序设计中是用循环结构来实现的.在Scilab程序语言中提供了两种循环语句,for循环和while循环.(3)for循环的一般格式2.循环语句的应用循环语句主要用来处理算法中的循环结构,在处理一些需要有规律地重复计算问题,如累加求和、累乘求积及其他问题时常常用到循环语句编写程序,用for 循环编写程序时要注意设定好循环变量的初值、步长和终值,避免出现多一次循环或少一次循环的情况,用while 循环编写程序时,一定要注意表达式的写法,当表达式为真时执行循环体,表达式为假时结束循环,以防出现表达式正好相反的错误.循环结构在生活中有着广泛的应用,用循环语句描述循环结构的算法简洁、方便.[例] 猴子第1天摘下若干个桃子,当即吃一半,还不过瘾,又多吃了一个.第2天早上又将剩下的桃子吃掉一半又多吃了一个.以后每天早上都吃了前一天剩下的一半还多一个,到第10天早上想再吃时,见只剩下一个桃子.求第1天共摘多少个桃子?[解析] 第10天为,110=s 第9天为,42)11(9=⨯+=s 第8天则为,102)14(8=⨯+=S ……第1天则为,2)1(21⨯+=S S 得到递推公式为,2)1(,1110⨯+==+n n s S s.9,,2,1 =n[答案] 根据思路,程序框图如图1-2 -3 -2所示, 根据框图,程序为:;1=i ;1=S e whi 1 ;10<i;2*)1(+=S S ;1+=i iend);),2((%S io nt np [点拨] 本题算法称为递推法,由前项推后项,递推公式重复运用,因此可用循环语句处理.典例分类剖析考点1 for 循环语句的编写[例1]设计一个计算997531⨯⨯⨯⨯⨯ 值的算法,画出程序框图,写出程序. [答案] 这是一个有规律的累乘问题,第一个数为1,以后每个数均比前一个数大2,共50个数相乘,因此可用循环结构设计算法,用循环语句编写程序, 算法步骤如下:Sl 令;1=S S2 令;1=I S3 令;I S S ⨯= S4 令;2+=I IS5 若,991≤那么执行S3;否则执行S6; S6 输出S程序框图如图1-2 -3 -3所示,[点拨] (1)由于是一个累乘问题,我们设定S初始值为l,所以程序中的第二行语句也可改写为for i=3:2:99,最后程序的运行结果是一样的.知道循环次数,常用for语句.(2)本题中的程序也可用while循环语句编写如下:1.编写程序计算2005的值,考点2 while循环语句的编写[例2] 标有l,2,3,4,5,6六个号码球,有一个最重的,写出模拟挑出最重球的程序.[答案] 设第一个球是最重的,然后与其他几个球依次比较,如有比第一个球重的,就交换过来.=i;1whi1 i< = 6e)((“输入小球重量”);a=inputii=i;1+endi;2==a();max i61<=i ewhi )(max i a if < );(max i a = end;1+=i iendmax);),2((%io nt np [点拨] 本题中有两个循环体),(max 1i a hk i i =+=注意循环语句的嵌套,未知循环次数常用while语句,,10000_______531.2>⨯⨯⨯⨯ 那么如何寻找满足条件的最小正整数呢?试写出解决此问题的算法,并写出程序,考点3 同一问题的两种语句处理[例3] 用两种语句写出求22210021+++ 的值的算法.[答案] 若用while 语句,循环终止条件为,100≤i 用for 语句,其步长为1,终值为100. e whi 1语句: for 语句:;1=i ;0=sum ,0=sum 010:1:1.=i for 100.1<=i e whi ;*i i sum sum +=;*i i sum sum += end;1+=i i );),2((%sum io nt n p end);),2((%sum io nt np [点拨] (1)在描述循环条件的算法时,若循环次数是明确的,两种语句均可使用,若循环次数不明确,一般用while 语句.(2)若用while 语句,循环终止条件为,100≤i 用for 语句其步长为1,终值为100. 3.编写求解下列问题的程序:;100014131211)1(+++++.10099433221)2(⨯++⨯+⨯+⨯考点4 循环结构在生活中的应用[例4]高-(3)班共有54名同学参加了数学竞赛,现在已有了这54名同学的竞赛分数.请设计算法,要求计算出竞赛成绩优秀的同学的平均分并输出(规定90分以上为优秀),画出程序框图,写出程序. [答案] 我们可以用循环结构控制输入54名同学的分数,用条件结构来判断分数是否高于90分,同时统计累加高于90分的成绩的总和和人数,从而求出平均分, 程序框图如图1.2 -3 -4所示.程序如下:[点拨]设计算法,画出程序框图,条件语句与循环同时运用.用while 语句,循环终止条件为.54≤i 4.某服装厂2007年的产值为2000万元,如果年生产增长率为5%,计算最早哪一年生产总值超过3000万元,画出程序框图,并写出程序.优化分层测训学业水平测试1.下面算法语句中,输出的结果为( ).;0=Sdo to x for .7..3.= begin ;x S S +=输出S . end25.A 18.B 7,6,5,4,3.C 25,18,12,7,3.D2.循环语句中的步长( ).A .可以省略B .不能省略C .只有步长为1时才可省略D .以上全错 3.循环语句“while 表达式循环体end”中说法正确的是( ).A .总是执行循环B .执行一次循环C .表达式为真,则执行循环D .遇到end 就结束 4.读算法语句:do to fori 31= begindo to forj 51= begin输出i 十f end则输出i*j 语句执行次数为 5.阅读算法语句:,1=w ;2=i repeat,*i w w = ;1+=i i 20001>w unti 输出.1-i该算法语句的意义为: . 6.编写61514131211-+-+-的运算程序, 高考能力测试(测试时间:45分钟测试满分:100分)一、选择题(本大题共8小题,每小题5分,共40分,在每小题给出的四个选项中,只有一项是符合题目要求的)1.下列关于for 循环的说法中错误的是( ).A .在for 循环中,循环表达式也称为循环体B .在for 循环中,步长为l ,可以省略不写,若为其他值,则不可省略C .理解for 循环的关键是理解为循环变量设定的初值、步长、终值D .在for 循环中“end”控制结束一次循环,开始一次新的循环 2.下列说法中正确的是( ).A .while 循环和for 循环的结构相同B .while 循环结构首先要求对表达式进行判断,如果表达式为真,则执行循环体部分C .while 循环每次开始执行循环体前,都要判断表达式是否为假D .while 循环每次开始执行循环体前,都要判断表达式是否为假,这样重复执行,一直到表达式的值为真时,就跳过循环体部分,重新判断表达式的值,直到循环结束3.(2010年惠州模拟题)下面的程序运行后,输出的结果为( ).[注:5)(MOD j a +是j +5“除以5的余数”]50.A 5.B 25.C 0.D,190:10:100.4-=forx 该程序共执行循环( ).A.29次 B .30次 C .28次 D .19次 5.当2=x 时,下面程序的运行结果是( ).;1=i;0=S 4.<=i while;1*+=X S S ;1+=i iend S3.A 7.B 15.C 17.D6.如图1-2 -3 -6流程图中,语句1(语句1与i 无关)将被执行的次数是( ).23.A 24.B 25.C 26.D7.执行下列程序时,计算机能输出的结果仅是15的是( ).)(;;;5:1;0.s disp end X s s f s A orx +===).(;;8,5:1;0.s disp end X s forx s B +=== end s disp x s s forX s C );(;,5:1;0.+=== )(;;,5:1;0.s disp end X s s krX s D +===8.(2011年北京高考题)执行如图1-2 -3 -7所示的程序框图,若输入A 的值为2,则输出的P 值为( ).2.A3.B4.C5.D二、填空题(本大题共4小题,每小题5分,共20分.把答案填在题后的相应位置)9.(2011年山东高考题)执行如图1-2 -3 -8所示的程序框图,输入,5,3,2==⋅=n m l 则输出的y 的值是10.(2011年江西高考题)如图1-2 -3 -9所示是某算法的程序框图,则程序运行后输出的结果是 . 1l.程序:以上程序运行后的结果是12.以下给出求99531⨯⨯⨯⨯ 的值的四个程序,其中正确的有(1)(2)(3)三、解答题(本题共4小题,每小题10分,共40分,解答须写出文字说明、证明过程和演算步骤)13.现欲求12151311-++++n 的和(其中n 的值由键盘输入),已给出了其程序框图(如图1 -2 -3 -10),请将其补充完整并设计出程序.14.已知,)(2x x f =把区间[0,1]十等分,设计程序求该函数在各分点处和区间端点的函数值.15.设计程序求π的近似值可以用以下公式:++=22221116π⋅++22131n 用上述公式求,62π即逐项进行累加,直到00001.012<n 为止(该项不累加),然后求出π的近似值.16.画出求平方值小于2000的最大整数的程序框图,并编写程序.。

1-2-3 循环语句

一、选择题1.对当型循环结构叙述不正确的是( )A .当给定的条件成立(真)时,反复执行循环体,直到条件不成立(假)时,才停止循环B .当型循环有时也称“前测试型”循环C .当型循环结构对应的循环语句是UNTIL 语句D .任何一种需要重复处理的问题都可以用当型循环来实现[答案] C2.下列说法正确的是( )A .当型(WHILE )循环结构不能转化为直到型(UNTIL )循环结构B .当型(WHILE )循环结构先执行循环体,后判断条件C .当型(WHILE )循环结构先判断条件,后执行循环体D .以上说法都不正确[答案] C[解析] 当型循环是先判断条件后再决定是否执行循环体,直到型循环是先执行循环体,后判断条件,它们之间可以进行转化,故选C .3.下列需用循环语句编写程序的是( )A .输入x 的值,输出y =x 2-3x 的值B .y =⎩⎪⎨⎪⎧x -4,x>0,-x +1,x ≤0,输入x 的值,输出对应的函数值 C .求x 的立方根D .求5+6+7+8+…+101的值[答案]D4.下列程序的功能是()S=1i=1WHILE S<=2012i=i+2S=S×iWENDPRINT iENDA.计算1+3+5+…+2012B.计算1×3×5×…×2012C.求方程1×3×5×…×i=2012中的i值D.求满足1×3×5×…×i>2012的最小整数i[答案]D[解析]执行该程序可知S=1×3×5×…×i,当S≤2012开始不成立,即S>2012开始成立时,输出i,则求满足1×3×5×…×i>2012的最小整数i.5.(2012~2013·山东济南模拟)已知如下程序,其运行结果是()j=1WHILE j*j<100j=j+1WENDj=j-1PRINT“j=”;jENDA.j=j-1 B.j=100C.j=10 D.j=9[答案]D[解析]此程序是求使j2<100的最大正整数.又102=100,故输出结果为j=9.6.读下列两段程序:甲:i=1S=0WHILE i<=1000S=S+ii=i+1WENDPRINT SEND乙:i=1000S=0DOS=S+ii=i-1LOOP UNTIL i<1PRINT SEND对甲、乙程序和输出结果判断正确的是()A.程序不同,结果不同B.程序不同,结果相同C.程序相同,结果不同D.程序相同,结果相同[答案]B[解析]程序甲是计数变量i从1开始逐步递增直到i=1000时终止,累加变量从0开始,这个程序计算的是1+2+3+ (1000)程序乙是计数变量从1000开始逐步递减到i=1时终止,累加变量0开始,这个程序计算的是1000+999+…+1.但这两个程序是不同的.两个程序的输出结果都是S=1+2+3+…+1000=500500.[点拨]同一个问题可以有不同的程序,解决这类试题的关键是看分析程序是用哪种算法语句编制的.7.下面程序运行后输出结果错误的是()A.i=1s=0WHILE s<=10s=s+iWENDPRINT sEND输出结果为14 B.i=1 sum=0WHILE i<=10sum=sum+ii=i+1WENDPRINT“sum=”;sum END输出结果为55C.i=1sum=0WHILE i<=10i=i+1sum=sum+iWENDPRINT“sum=”;sum END输出结果为65 D.i=1 s=0WHILE s<=10s=s+iWENDPRINT sEND输出结果为14[答案]D[解析]A中控制的循环条件是s≤10,但每次循环先将计数变量i赋值i=i+1,后给s赋值s=s+i.从而循环结束后,s=2+3+4+5=14,最后输出s=14.B中控制循环的变量i从1变到10,每次循环,循环变量sum=sum+i,循环结束sum=1+2+3+…+10=55,并将其输出.C中控制循环的计数变量i从1变到10,但在每次循环中先给i 赋值i=i+1,然后才赋值sum=sum+i,故循环结束时,sum=2+3+4+…+11=65,最后输出sum.D中控制循环的条件是s≤10,第一次(i=1)循环后,s=0+1=1,第二次(i=2)循环后,s=1+2=3,第三次(i=3)循环后,s=3+3=6,第四次(i=4)循环后,s=6+4=10仍满足条件s≤10,故再执行第五次(i=5)循环,s=10+5=15,最后输出s=15.故选D.8.下面是求1~1000内所有偶数的和的程序,把程序框图补充完整,则()A.①处为S=S+i,②处为i=i+1.B.①处为S=S+i,②处为i=i+2.C.①处为i=i+1,②处为S=S+i.D.①处为i=i+2,②处为S=S+i.[答案]B[解析]程序框图求的是1~1000内所有偶数的和,故i步长为2,应有i=i+2,排除A、C;i初值为2,S应加的第一个偶数为2,而不是4,故语句S=S+i应在i=i+2的前面,排除D.二、填空题9.在WHILE语句中,是当条件________时执行循环体,而在UNTIL语句中,是当条件________时执行循环体.[答案]满足不满足10.看这个程序,试问最后i的值等于________.i=1sum=0DOsum=sum+ii=i+1LOOP UNTIL i>10PRINT sumEND[答案]1111.写出下列程序的运行结果:(1)I=1K=6WHILE I<=6K=K-0.5PRINT KI=I+1WENDEND________(2)i=1s=0WHILE s<=10i=i+1s=s+iPRINT sWENDEND________[答案](1)5.5,5,4.5,4,3.5,3(2)2,5,9,14[解析]本题考查对当型循环程序的理解,要求据程序语句,写出运行的结果.(1)中控制循环的变量I从1每次增加1变到6,每次循环中变量K的值减小0.5并输出,故结果输出6个数5.5,5,4.5,4,3.5,3.(2)每次循环都要将s的值输出,故(2)的答案为:2,5,9,14.12.下面程序的功能是________.INPUT“n=”;nS=0i=1WHILE i<=nS=S+1/(i*(i+1))i=i+1WENDPRINT SEND[答案]从键盘输入n的值,输出11×2+12×3+13×4+…+1n(n+1)的值.[解析]控制循环的变量i初值1,步长1,终值n.累加变量S每次循环都加上1i(i+1),∴S=11×2+12×3+…+1n(n+1).三、解答题13.设计一个算法计算1×3×5×7×…×99值的算法,画上程序框图,写出程序.[分析]本题是一个累乘求积的问题,可采用循环语句编写程序.[解]算法步骤如下:第一步:S=1;第二步:i=3;第三步:S=S×i;第四步:i=i+2;第五步:判断i是否大于99,若是转到第六步;否则转到第三步,继续执行第三步,第四步,第五步;第六步:输出S;第七步:算法结束.相应的程序框图如图所示.相应的程序如下:S=1i=3DOS=S*ii=i+2LOOP UNTIL i>99PRINT SEND[点评](1)这是一个有规律的累乘问题,第一相数为1,以后每个数比前一个数大2,共50个数相乘,因此可用循环结构设计算法,用循环语句编写程序.(2)本题中算法程序也可用WHILE语句编写:S=1i=1WHILE i<=99S=S*ii=i+2WENDPRINT SEND14.下面程序的功能是输出1~100间的所有偶数.程序:i=1DOm=i MOD 2IF__①__ THENPRINT iEND IF②__LOOP UNTIL i>100END(1)试将上面的程序补充完整.(2)改写为WHILE型循环语句.[解析](1)①m=0②i=i+1(2)改写为WHILE型循环程序如下:i=1WHILE i<=100m=i MOD 2IF m=0THENPRINT iEND IFi=i+1WENDEND15.某高中男子体育小组的100m赛跑成绩(单位:s)为:12.1,13.2,12.7,12.8,12.5,12.4,12.7,11.5,11.6,11.7,从这些成绩中搜索出小于12.1 s的成绩,并画出程序框图,编写相应程序.[解析]程序框图如图所示:程序算法如下:i=1WHILE i<=10INPUT GiIF Gi<12.1THENPRINT GiEND IFi=i+1WENDEND16.某商场第一年销售计算机5000台,如果平均每年销售量比上一年增加10%,那么从第一年起,大约几年可使总销售量达到30000台?[分析]根据题意,每年销售量比上一年增加的百分率相同,设总和为S,n年达到30000台.第一年销售了5000台;第二年销售了5000+5000×10%=5000(1+10%)(台);第三年销售了5000(1+10%)+5000(1+10%)×10%=5000(1+10%)2(台)……第n 年销售了5000(1+10%)n -1(台)总和S =5000+5000(1+10%)+5000(1+10%)2+…+5000(1+10%)n -1.[解析] 程序框图如图所示.程序如下: m=5000S =0i =0WHILE S <30000S =S +m m =m *(1+0.1)i =i +1WENDPRINT iEND[点评] (1)循环控制条件是总和小于30000台.(2)本题中第n年的销售量为5000(1+10%)n-1.(3)S表示总销售量,即前n年销售量之和.(4)i从0开始计算,如果从1开始则最后多出一年,因为在循环体中,i=i+1后才判断条件.。

1[1].2.3基本算法语句_循环语句

1.2.3基本算法语句
——循环语句
循环结构有两种-----当型与直到型. 直到型循环结构 当型循环结构
循环体 循环体
满足条件? 否

满足条件?


即WHILE语句和UNTIL语句。
(1)WHILE语句的一般格式是: WHILE 条件 循环体 WEND WHILE——当…… 时候
WEND——朝……方向 行走
循环体
条件
满足条件?


(2)UNTIL语句的一般格式是:
直到型循环结构 DO 循环体 LOOP UNTIL
循环体
条件
满足条件?


WHILE语句的一般格式 WHILE 条件 循环体 WEND
UNTIL语句的一般格式
DO 循环体 LOOP UNTIL
条件
区别:在WHILE语句中,是当条件满足时执行循环 体,而在UNTIL语句中,是当条件不满足时执行循环 体。
结束
结构
变式训练(2): 编写程序求:1×3×5×7×……×101的值. 直到型 开始 如何修改? UNITL语句
i=1 S=0 S=1 S=S+i S=S*i
i=i+2 i=i+1
i>100? i>101? 否

输出S 结束
i=1 S=0 S=1 DO S=S+i S=S*i i=i+1 i=i+2 LOOP UNTIL i>100 101 PRINT S END

S=S+i

结束
直到型
开始
UNTIL语句 i=1 S=0 DO S=S+i i=i+1 LOOP UNTIL i>100 PRINT S END

数学123循环语句


3. 执行右边的程序框 图,若p=0.8,则输出 的n=__4____ .
湖南省长沙市一中卫星远程学校
湖南省长沙市一中卫星远程学校
知识探究(一):直到型循环语句
思考1:直到型循环结构的程序框图是什么?
循环体 否
满足条件?

湖南省长沙市一中卫星远程学校
思考2:该循环结构对应的循环语句的一 般格式设定为:
DO 循环体
LOOP UNTIL 条件
循环体
满足条件? 否 是
你能说明计算机在执行上述语句时是怎 样工作的吗?
x
求满足x2<1000的所有正整数x的值.
湖南省长沙市一中卫星远程学校
理论迁移
例1 已知函数y=x3+3x2-24x+30,写 出连续输入自变量的11个取值,分别输 出相应的函数值的程序.
算法分析:
第一步,输入自变量x的值. 第二步,计算y=x3+3x2-24x+30. 第三步,输出y.
第四步,记录输入次数.
1.2 基本算法语句 1.2.3 循环语句
高中新课程数学必修③
湖南省长沙市一中卫星远程学校
2.对于顺序结构、条件结构的算法或程 序框图,我们可以利用输入语句、输出语 句、赋值语句和条件语句写出其计算机程 序.对于循环结构的算法或程序框图,要 转化为计算机能够理解的算法语言,我们 必须进一步学习循环语句.
行 WHILE 和 WEND 之间的循环体;然后再
检查上述条件,如果条件仍符合,则再次执行
循环体,直到某一次条件不符合为止.这时,计
算机将不执行循环体,而执行 WEND 语句之
后的语句.
湖南省长沙市一中卫星远程学校
思考 3:计算 1+2+3+…+100 的值又有如下算法: 第一步,令 i=1,S=0. 第二步,若 i≤100 成立,则执行第三 步;否则,输出 S,结束算法. 第三步,S=S+i. 第四步,i=i+1,返回第二步. 你能利用 WHILE 语句写出这个算法对应的程 序吗?
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

PRINT “x=”;x, “y=”;y
x=x+1
LOOP UNTIL x>20
END
2.
程序
x=1
WHILE x<=20 y=x^2-3*x+5 PRINT x, y x=x+1 WEND END
3.P33页A组T3. 程序 INPUT “n=”;n i=1 S=0 WHILE i<=n S=S+(i+1)/i i=i+1 WEND PRINT “S=”;S END
WHILE语句的一般格式 WHILE 条件 循环体 WEND
UNTIL语句的一般格式
DO 循环体 LOOP UNTIL
条件
提问:通过对照,大家觉得WHILE型语句与UNTIL型 语句之间有什么区别呢? 区别:在WHILE语句中,是当条件满足时执行循环 体,而在UNTIL语句中,是当条件不满足时执行循环 体。

S=S+i
结束
直到型
开始
UNTIL语句 i=1 S=0 DO S=S+i i=i+1 END
i=1
S=0 S=S+i i=i+1 否
i>100?
是 输出S 结束
变式训练(1): 编写程序求:n!=1×2×3×4×5×……×n的值. 开始 如何修改? WHILE语句 输入n INPUT “n=”;n i=1 i=1 S=0 S=1 S=1 S=0 n WHLIE i<=100 i=i+1 S=S+i S=S*i i=i+1 S=S+i S=S*i 是 WEND i≤100? i≤n? PRINT S 否 当型循环 输出S END
算法初步
§1.2.3
算法基本语句
---循环语句
复习引入
1、顺序结构常用的程序语言和格式
输入语句 INPUT “提示语”;变量列表 输出语句 PRINT “提示语”;变量列表 赋值语句 变量=表达式 2、条件结构常用的程序语言和格式 (1)IF 条件成立 THEN 语句体1 ELSE 语句体2 END IF (2)IF 条件成立 THEN 语句体 END IF
程序
小结: ① 循环语句的两种不同形式:WHILE语句和 UNTIL语句,掌握它们的一般格式. ② 在用WHILE语句和UNTIL语句编写程序解 决问题时,一定要注意它们的格式及条件的表 述方法. WHILE语句中是当条件满足时执行循环体, 而UNTIL语句中是当条件不满足时执行循环体.
③ 循环语句主要用来实现算法中的循环结构, 在处理一些需要反复执行的运算任务. 如累加 求和,累乘求积等问题中常用到.
4.P33页B组T2. 程序
n=1 p=1000
WHILE n<=7 p=p*(1+0.5) n=n+1 WEND PRINT p
END
5.编写一个程序计算sn=a+a0+a00+a000+…… (例如sn=2+20+200+2000+20000+……)
INPUT “a=”;a INPUT “n=”;n tn=0 sn=0 i=1 WHILE i<=n tn=tn+a sn=sn+tn a=a*10 i=i+1 WEND PRINT sn END
循环体 循环体
满足条件? 否

满足条件?


对应于程序框图中的两种循环结构,一般 程序设计语言中也有当型(WHILE型)和直到型 (UNTIL型)两种语句结构。
即WHILE语句和UNTIL语句。
(1)WHILE语句的一般格式是: WHILE 条件 循环体 WEND WHILE——当…… 时候
WEND——朝……方向 行走
其中循环体是由计算机反复执行的一组语句 构成的。WHLIE后面的“条件”是用于控制计算机 执行循环体或跳出循环体的。
WHILE 条件 循环体 当计算机遇到WHILE语句时, WEND 先判断条件的真假,如果条件 符合,就执行WHILE与WEND之间 的循环体;然后再检查上述条 当型循环结构 件,如果条件仍符合,再次执行 循环体,这个过程反复进行,直 循环体 到某一次条件不符合为止.这 时,计算机将不执行循环体,直 满足条件? 是 接跳到WEND语句后,接着执行 否 WEND之后的语句.
1.设计用二分法
程序
程序框图
继续
开始 f(x)=x2-2
输入误差ε 和初值a,b
程序框图
ab m 2
f(a) f(m)>0?
否 b=m
是 a=m
|a-b|<ε或f(m)=0? 输出m
结束

返回

2.对于函数y=x2-3x+5,连续求出1-20自变量 的相应的函数值,并输出。 x=1 DO y=x^2-3*x+5 程序
复习引入
BASIC语言中的常用运算符号
运算符
功能 乘法运算
函数名 ABS(x) SQR(x)
功能 |x|
注意事项
*
/
^ >= <= <> \
除法运算
幂运算
x
取整数
x0


INT(x)

取商 取余数
MOD
算法中的循环结构是由循环语句来实现的 .
循环结构有两种-----当型与直到型. 当型循环结构(当条件满 直到型循环结构(反复执 行循环体直到条件满足) 足时反复执行循环体)
结束
结构
变式训练(2): 编写程序求:1×3×5×7×……×101的值. 直到型 开始 如何修改? UNTIL语句
i=1
S=1 S=0
S=S*i S=S+i
i=i+2 i=i+1 i>100? i>101?
是 输出S 否
i=1 S=0 S=1 DO S=S+i S=S*i i=i+1 i=i+2 LOOP UNTIL i>100 101 PRINT S END
(1)WHILE语句的一般格式是
(2)UNTIL语句的一般格式是: 直到型循环结构 DO 循环体 LOOP UNTIL DO——做什么 UNTIL——绕环回线走,直到达到某种 条件为止 思考:参照其直到型循环结构对应的程序框图,说说 计算机是按怎样的顺序执行UNTIL语句的? LOOP
循环体
条件
满足条件?


(2)UNTIL语句的一般格式是: 直到型循环结构 DO 循环体 LOOP UNTIL
循环体
条件
满足条件?


从UNTIL型循环结构分析,计算机执行该语句时,先 执行一次循环体,然后进行条件的判断,如果条件不 满足,继续返回执行循环体,然后再进行条件的判断, 这个过程反复进行,直到某一次条件满足时,不再执 行循环体,跳到LOOP UNTIL语句后执行其他语句, 是先执行循环体后进行条件判断的循环语句.
根据程序框图写出判断整数 n(n>2)是否为质数”的程序.
INPUT “n=“;n i=2 DO r=n MOD i i=i+1 LOOP UNTIL i>n-1 or r=0 IF r=0 THEN PRINT “n不是质数” ELSE PRINT “n是质数” END IF END
开始
输入n
i=2 求n除以i的余数r
例:编写程序, 计算自然数1+2+3+…+99+100的和. 分析:这是一个累加问题.我们可 以用WHILE型语句,也可以用UNTIL型语 句。
当型循环结构
开始
i=1 S=0 i=i+1 i≤100? 否 输出S
WHILE语句 i=1 S=0 WHLIE i<=100 S=S+i i=i+1 WEND PRINT S END
i=i+1
i>n-1或r=0? 否 否
是 r =0?
是 n不是质数
n是质数
结束
习题解答
求方程x2-2=0
的近似解的
程序
INPUT “a,b,e=”;a,b,e DO m=(a+b)/2 f=m^2-2 g=a^2-2 IF g*f>0 THEN a=m ELSE b=m END IF LOOP UNTIL ABS(a-b)<e OR f=0 PRINT m END
结束
变式3:函数y=x^2-3x+5,从x=1开始连续输入19 个自然数进行取值,输出相应的函数值,用程序语 言进行编程 程序 x=1
直到型
DO y=x^2-3*x+5 PRINT “x=”;x, “y=”;y x=x+1 LOOP UNTIL x>19
END
当型
程序
x=1
WHILE x<=19 y=x^2-3*x+5 PRINT “x=”;x, “y=”;y x=x+1 WEND END
相关文档
最新文档