高中数学循环结构 典型例题

合集下载

高中数学1.2.3循环语句

高中数学1.2.3循环语句

输出y n=n+1
否 n>11?
是 结束
总结:
正确写出含有循环结构的程序应注意的问题:
(1)正确画出程序框图; (2)找出循环结构,并确定是哪种类型的循环结构; (3)根据循环结构写出相应的循环语句。
WHILE语句UNTIL语句的区别
WHILE语句(当型) 执行循环体前判断 当条件满足时执行循环体 可能不执行循环体 UNTIL语句(直到型) 执行一次循环体后判断 直到条件满足时跳出循环体 至少执行一次循环体
程序框图:
开始
.
程序:
i=1 s= 0 DO s=s+i 循环体 i=i+1
i=1
s=0 s=s+1 i=i+1
否 i >100?
LOOP UNTIL i>100 PRINT s END
条件

输出s
结束
(1)UNTIL语句的一般格式是: 直到型循环结构
循环体

满足条件?
DO 循环体 LOOP UNTIL 条件
WHILE语句(当型)
执行循环体前判断 当条件满足时执行循环体 可能不执行循环体
UNTIL语句(直到型)
执行一次循环体后判断 直到条件满足时跳出循环体 至少执行一次循环体
WHILE语句UNTIL语句的联系
WHILE语句
可以相互转化 决定循环时条件相反
UNTIL语句
例8:已知 y x 3x 24 x 30 连续输入 自变量的11个取值,求相应的函数值

程序框图:
开始
程序:
i=1 s=0
i=1 s=0
s=s+i i=i+1 WEND

高中数学 同步练习 循环语句

高中数学 同步练习 循环语句

第7课时循环语句知识点一循环语句的概念1.在循环语句中,下列说法正确的是( )A.UNTIL型循环可以无限循环B.WHILE型循环可以无限循环C.循环语句中必须有判断D.WHILE型循环不能实现UNTIL型循环的功能答案 C解析UNTIL型循环和WHILE型循环实现的功能是一样的,只是看不同条件下哪种方便而已.2.下列关于循环语句的说法不正确的是( )A.算法中的循环结构由WHILE语句来实现B.循环语句中有直到型语句和当型语句,即UNTIL语句和WHILE语句C.一般来说UNTIL语句和WHILE语句可以互相转换D.算法中的循环结构由循环语句来实现答案 A解析算法中的循环结构既可由WHILE语句来实现,也可以由UNTIL语句来实现,所以A的说法是不正确的.知识点二 UNTIL语句的应用3.下列程序中循环体运行次数是( )i=40DOPRINT ii=i+10LOOP UNTIL i>90ENDA.4 B.5 C.6 D.60答案 C解析循环体第1次运行后,i=50,第2次运行后,i=60,第3次运行后,i=70,第4次运行后,i=80,第5次运行后,i=90,第6次运行后,i=100>90条件满足,循环终止,则共运行了6次.4.根据程序框图,把程序中所缺少的语句补充完整.程序框图:程序:i=1S=0DO①②LOOP UNTIL ③PRINT SEND答案①S=S+i^2 ②i=i+1 ③i>100解析由程序框图可知利用了直到型循环结构,对应的语句为直到型循环语句,DO后面执行的为循环体,故①②处应分别为“S=S+i^2”和“i=i+1”,直到满足条件时为止,所以③处应为“i>100”.知识点三 WHILE语句的应用5.运行下面的程序后输出的s的值是( )A.11 B.15 C.17 D.19答案 B解析 循环过程依次为:i =3,s =7;i =5,s =11;i =7,s =15,此时不满足条件.故输出s =15.6.读程序,回答下列问题: INPUT ni =1S =0WHILE i<=nS =S +1/(i*(i +1)) i =i +1WENDPRINT S END(1)若输入n =3,则输出的结果为________;(2)此程序对应的计算式子是_________________________________;(3)程序中的循环语句对应________型循环结构.答案 (1)34 (2)12+16+…+1n (n +1)(3)当 解析 (1)输入n =3,第一次循环,S =0+12=12,i =2;第二次循环,S =12+16=23,i =3;第三次循环,S =23+112=34,i =4,此时不满足条件,结束循环.故输出S =34. (2)此程序的功能是计算12+16+…+1n (n +1)的值. (3)这是WHILE 语句,对应的是当型循环结构.易错点 混淆WHILE 语句与UNTIL 语句7.编写程序计算2+4+6+…+100的值.易错分析 由于对“直到型循环”与“当型循环”两种结构形式掌握不清而致误.正解 解法一:程序如下:i =2sum =0WHILE i <=100sum =sum +i i =i +2WENDPRINT sumEND解法二:程序如下:i=2sum=0DOsum=sum+ii=i+2LOOP UNTIL i>100PRINT sumEND一、选择题1.运行下面的循环语句,当循环终止时,i等于( )i=1DOi=i+1LOOP UNTIL i>4ENDA.3 B.4 C.5 D.6答案 C解析由“LOOP UNTIL i>4”,知当i=5时,循环终止.2.执行下列程序后输出的结果是( )i=1s=0WHILE i<=4s=s+ii=i+1WENDPRINT sENDA.3 B.6 C.15 D.10答案 D解析运行程序,依次为s=1,i=2;s=3,i=3;s=6,i=4;s=10,i=5,此时跳出循环,输出s=10.3.执行下面的程序后,输出的i的值是( )i=1WHILE i<=10i=i+5WENDPRINT iENDA.5 B.6 C.10 D.11答案 D解析程序执行如下:i=1,i=6,i=11,此时跳出循环并输出i=11.4.运行下面程序的结果为( )i=1S=0WHILE S<=20S=S+ii=i+1WENDPRINT iENDA.7 B.8 C.5 D.6答案 A解析第一次循环,S=0+1=1,i=1+1=2;第二次循环,S=1+2=3,i=2+1=3;第三次循环,S=3+3=6,i=3+1=4;第四次循环,S=6+4=10,i=4+1=5;第五次循环,S=10+5=15,i=5+1=6;第六次循环,S=15+6=21>20,i=6+1=7.故输出i的值为7.5.执行下面的程序,输入a=3,b=-1,n=4后,输出的结果是( )INPUT “a,b,n=”;a,b,ni=1WHILE i<=nc=a+ba=bb=ci=i+1WENDPRINT cENDA.3 B.4 C.5 D.6答案 B解析循环体被执行了四次,第一次执行循环体得到的结果是c=2,a=-1,b=2,i=2;第二次执行循环体得到的结果是c=1,a=2,b=1,i=3;第三次执行循环体得到的结果是c=3,a=1,b=3,i=4;第四次执行循环体得到的结果是c=4,a=3,b=4,i=5,此时输出c=4.二、填空题6.已知有如下两段程序:程序1运行的结果为________,程序2运行的结果为________.答案0 21解析程序1是计数变量i=21开始,不满足i≤20,终止循环,累加变量sum=0,这个程序计算的结果为0;程序2计数变量i=21,开始进入循环,sum=0+21=21,i=i+1=21+1=22,i>20,循环终止,此时,累加变量sum=21,这个程序运行的结果为21.7.要使下面程序能运算出“1+2+…+100”的结果,需将语句“i=i+1”加在________处.S=0i=1①WHILE i<=100②S=S+i③WEND④PRINT SEND答案③解析这是当型循环语句,当满足i≤100时,执行S=S+i,同时对应的计数变量要有i=i+1出现.故填③.8.执行下面算法语句,输出的结果是________.A=1B=1DOA=A+BB=A+BLOOP UNTIL B>15C=A+BPRINT CEND答案34解析循环结构中的循环体的作用是将前两个数相加,得到后一个数.如果没有循环条件的限制,程序中的循环结构将连同初始值,依次给A、B赋值为1、1,2、3,5、8,13、21,…,其中第一、三、五……个数为A的值,第二、四、六……个数为B的值.可见,当B=21时,循环结束,此时A=13,所以C=A+B=34.三、解答题9.下面程序的功能是输出1~100间的所有偶数.程序:(1)试将上面的程序补充完整;(2)改写为WHILE型循环语句的程序.解(1)①m=0,②i=i+1.(2)改写为WHILE型循环语句的程序如下:i=1WHILE i<=100m=i MOD 2IF m=0 THENPRINT iEND IFi=i+1WENDEND10.设计一个算法,求1×22×33×…×100100的值,并画出程序框图(分别用直到型循环结构和当型循环结构表示).解算法步骤如下(直到型循环结构):第一步,S=1.第二步,i=1.第三步,S=S×i i.第四步,i=i+1.第五步,判断i>100是否成立.若成立,则输出S,结束算法;否则,返回第三步.该算法的程序框图如图所示:算法步骤如下(当型循环结构):第一步,S=1.第二步,i=1.第三步,判断i≤100是否成立.若成立,则执行第四步;否则,输出S,结束算法.第四步,S=S×i i.第五步,i=i+1.该算法的程序框图如图所示:。

循环结构程序设计练习题 内含答案

循环结构程序设计练习题  内含答案

第三单元循环结构练习题选择题:1、有以下程序执行后的输出结果是( D )。

main( ){ int i,s=0;for(i=1;i<10;i+=2) s+=i+1;printf("%d\n",s);}A.自然数1~9的累加和 B.自然数1~10的累加和C.自然数1~9中的奇数之和 D.自然数1~10中的偶数之和2、以下关于for语句的说法不正确的是( A )。

A. for循环只能用于循环次数已经确定的情况B. for循环是先判断表达式,后执行循环体语句C. for循环中,可以用break跳出循环体D. for循环体语句中,可以保含多条语句,但要用花括号括起来3、若i和k都是int类型变量,有以下for语句for(i=0,k=-1;k=1;k++) printf("*****\n");下面关于语句执行情况的叙述中正确的是( d )。

A.循环体执行两次B.循环体执行一次C.循环体一次也不执行D.构成无限循环4、以下程序程序的执行后的输出结果是( c )。

main(){int i,t[][3]={9,8,7,6,5,4,3,2,1};for(i=0;i<3;i++) printf(“%d”,t[2-i][i]);}A.7 5 3B. 3 5 7C.3 6 9D.7 5 15、以下程序运行后的输出结果是( A )。

void fun(char*s){ while(*s){ if(*s%2==0) printf(“%c”,*s); s++;}}main(){ char a[]={“good”};fun(a);printf(“\n”);}注意:字母a的ASCⅡ码值为97A.dB.goC.godD.good6、已知 int t=0; while(t=1){...} 则以下叙述正确的是( B )。

A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对7、设有以下程序段 Bint x=0,s=0;while(!x!=0)s+=++x;printf("%d",s); 则A)运行程序段后输出0B)运行程序段后输出1C)程序段中的控制表达式是非法的D)程序段执行无限次8、设i,j,k均为int型变量,则执行完下面的for语句后,k的值为( C )。

江苏省南京市中学苏教版高一数学必修三练习:1.2.3循环结构

江苏省南京市中学苏教版高一数学必修三练习:1.2.3循环结构

1.2.3循环结构【新知导读】1.什么是循环结构?循环结构的基本框架是什么?2.循环结构分为哪两类型?3.对同一个问题,如果分别用当型循环和直到型循环来处理的话,两者判断的条件相同吗?【范例点睛】例1.设计算法,输出1000以内能被3和5整除的所有正整数,画出算法流程图。

思路点拨:这个问题很简单,凡是能被3和5整除的正整数都是15的倍数,由于 1000=15×66+10,因此1000以内一共有66个这样的正整数。

易错辨析:此题既可以用当型循环又可以用直到型循环,但两者的判断的条件恰好相反。

方法点评: 当一个算法中包含多次重复执行相同类型的操作时,应考虑使用循环结构。

例 2.设区间[0,1]是方程0)(=x f 的有解区间,画出用二分法算法求方程0)(=x f 在区间[0,1]上的一个近似解的流程图,要求精确度为ε.思路点拨:对于给定的一元方程0)(=x f ,要求精确度为ε的近似解的算法如下: 1.确定有解区间[])0)()((,<⋅b f a f b a 2.取],[b a 的中点2ba +. 3.计算函数)(x f 在中点处的函数值)2(ba f +. 4.判断函数值)2(ba f +是否为0; (1)如果为0,2ba x +=就是方程的解,问题就得到了解决; (2)如果函数值)2(ba f +不为0,则分下列两种情况: ①若0)2()(<+⋅b a f a f ,则确定新的有解区间为)2,(ba a +;②若0)2()(>+⋅b a f a f ,则确定新的有解区间为),2(b ba + 5.判断新的有解区间的长度是否小于误差ε:(1)如果新的有解区间长度大于误差ε,则在新的有解区间的基础上重复上述步骤; (2)如果新的有解区间长度小于或等于误差ε,则取新的有解区间的中点为方程的近似解. 在上述算法中: (1)循环变量和初始条件设两个变量b a ,,分别表示有解区间的左端点和右端点,初始值分别为0和1. (2)循环体算法中反复执行的部分是判断函数值)2(ba f +是否为0: ①如果0)2(=+ba f ,输出2b a + ②如果)2(ba f +不为0,则判断)2()(b a f a f +⋅的符号: ⅰ)如果0)2()(<+⋅b a f a f ,2ba b +← ⅱ)如果0)2()(>+⋅b a f a f ,2b a a +← (3)终止条件 ①0)2(=+ba f ; ②ε<-a b易错辨析:将终止条件ε<-a b 当成循环体方法点评:循环结构可以大大地简化算法的表述;循环变量在构造循环结构中发挥了关键作用,本质上,这就是“函数的思想”。

循环结构程序设计典型例题

循环结构程序设计典型例题
}
特别注意此题中变量不能定义成
此题可做改进,在循环时确保
for(a=1;a<=99;a++)
for(b=1;b<=99;b++)
for(c=1;c<=99;c++)
if(a>b&&b>c&&a+b+c<100
&&c*c* (a*a+b*b)==a*a*b*b)
n++;
例6:e=1+1/1!+1/2!+….+1/n!(精度为1e-6)
分析:用变量a从1至U sqrt( 2698)-1循环。变量s初值为6000。若2698%a==0,则b=2698/a,若s>a+b,则s=a+b,并保存b的值在变量t.
mai n()
{int a,b,s=6000,t;
for( a=1;a<sqrt(2698);a++)
{if(2698%a==0)
for(a=n; a<=m;a++)
if(a%3==0)
{ x=a;
while(x>0)
{i=x%10;
if(i==5){printf (“%ld”,a);break;}
x=x/10;
}
}
}
问:能把

算法分析:
1.
2.
3.若a%i==0,结束i的循环,执行第4步
4.若i==a,把a累加到s上。
5.
注意:此题中执行第
float s=0;
for(n=1; n<=30 ;n++)

1.1.2程序框图的概念(循环结构)(高中数学人教版必修三)

1.1.2程序框图的概念(循环结构)(高中数学人教版必修三)

计数变量:用于记录循环次数,同时还用 于判断循环是否终止. 累加变量:用于输出结果,一般与计数变 量同步执行,累加一次,计数一次.
i i 1
循环终止条件
循环体
S Si
Y
i 100?
N
输出 S 结束
练习
1、下面3个图是为计算1 2 3 100 的值而绘制的 程序框图,其中正确的是 C 开始 开始 开始 S=0 S=1 i=2 i=1 i=2 S =1
i=i+1 i≥n-1或r=0?
是 否 否
r=0?

n不是质数
结束
n是质数
开始
语言描述
第一步,给定大于2的整数n。
输入n i=2
简单流程
第二步,令i=2。 求n除以i的余数r 第三步,用i除n,得到余数r。 第四步,判断r=0是否成立, 若是,则n不是质数,结束 算法;否则,将i的值增加 1,仍用i表示。 第五步,判断i >(n-1) 是否成立。若是,则n是 质数,结束算法;否则, 返回第三步. i=i+1 i>n-1或r=0?
1. 画流程图时一定要清晰,用铅笔和直尺画, 要养成有开始和结束的好习惯; 2. 画流程图时拿不准的时候可以先根据结构特 点画出大致的流程,反过来再检查,比如:遇到 判断框时,往往临界的范围或者条件不好确定, 就先给出一个临界条件,画好大致流程,然后检 查这个条件是否正确,再考虑是否取等号的问题 ,这时候也就可以有几种书写方法了; 3. 在输出结果时,如果有多个输出,一定要用 流程线把所有的输出总结到一起,一起终结到结 束框。
如果一个计算过程,要重复一系列的 计算步骤若干次,每次重复的计算步骤完 全相同,则这种算法过程称为循环过程。

C 循环结构23道题[含答案解析]

C  循环结构23道题[含答案解析]

题目、描述、输入、输出、输入样例、输出样例、测试输入、测试输出循环01:最大数写一个程序,可以输入一批正数,输入0时结束循环,并且输出最大的正数。

输入39 28 5 63 18 27 0输出63测试:输入153 26 963 28 75 90 156 0输出963#include<iostream>using namespace std;int main(){int i,max=0;cin>>i;while(i!=0){if(i>max)max=i;cin>>i;}cout<<max<<endl;return 0;}循环02:素数输入正数n,判断n是否为素数。

若为素数则输出1,否则输出0。

(提示:素数是指只可以被1和其本身整除的正数(1除外))输入10输出0输入7输出1测试:输入9输出0#include<iostream>using namespace std;int main(){int n,i,d;cin>>n;for(i=2;i<n;i++){d=n%i;if(n%i==0)break;}if(n==i)cout<<"1"<<endl;elsecout<<"0"<<endl;return 0;}循环03:数列求和输入一个正整数n,计算前n项之和:1+1/4+1/7+1/10..+1/(3*n-2)。

输入5输出1.56978输入4输出1.49286#include<iostream>using namespace std;int main(){int i,n;double s=0;cin>>n;for(i=1;i<=n;i++)s+=1.0/(3*i-2);cout<<s<<endl;return 0;}循环04:西瓜卖几天n个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?说明:当西瓜个数为奇数时,卖一半为一半的整数,如当西瓜个数为5时,卖一半为卖2个。

循环结构的例子

循环结构的例子

循环结构的例子
1. 刷牙不就是个循环结构的例子嘛!每天早上起来,你是不是都会重复拿起牙刷、挤牙膏、刷牙这个动作?这就像我们生活中的很多事情一样,不断地重复。

2. 上班的日子也可以看作循环结构呀!每天固定的时间出门,到了公司开始工作,然后下班再回家,第二天又重复,这难道不像一个循环吗?
3. 健身不也是这样嘛!你设定一个健身计划,然后每周按照这个计划去锻炼,这不就是在循环嘛,难道你没感觉到吗?
4. 学生们每天上课、下课、做作业,周而复始,这多明显就是个循环结构呀!就像一个不停转动的轮子一样。

5. 农民伯伯每年播种、施肥、收获,一年又一年,这不是循环又是什么呢,这可是他们生活重要的一部分啊!
6. 家庭主妇们每天做饭、打扫、照顾家人,不也是在一个循环里面吗?这种付出难道不值得我们点赞吗?
7. 四季的更替也是一种循环啊!春天来了,夏天接着,秋天到了,冬天又来临,然后又开始新的一轮,神奇吧?
8. 我们每天睡觉、醒来,这简单的过程也是个循环呀!这几乎是每个人都在经历的,你还不承认吗?我觉得循环结构在我们生活中无处不在呢,它就像是我们生活的节奏,一直伴随着我们呀!。

1.1.2.3循环结构

1.1.2.3循环结构
目 录 课 程 目 标 设 置 主 题 探 究 导 学
程序框图,则图中判断框应填 ______,输出的s= ______(注: 程序框图, ______,输出的s= ______(注 输出的 框图中的赋值符号“=”也可以写成“ 框图中的赋值符号“=”也可以写成“←”或“:=”). 也可以写成
典 型 例 题 精 析
(D)i<9? i<9?

目 录 课 程 目 标 设 置 主 题 探 究 导 学
2.(2009·广东高考)某篮球队6 2.(2009·广东高考)某篮球队6名主力队员在最近三场比赛中 广东高考

投进的三分球个数如下表所示: 投进的三分球个数如下表所示:
型 例 题 精 析
知 能 巩 固 提 升
如图是统计该6 如图是统计该6名队员在最近三场比赛中投进的三分球总数的
知 能 巩 固 提 升
2.下列程序框图输出的结果是( 2.下列程序框图输出的结果是( 下列程序框图输出的结果是
目 录
)
典 课 程 目 标 设 置 主 题 探 究 导 学 型 例 题 精 析
知 能 巩 固 提 升
(A )8
(B )9
(C)10
(D)11
【解析】选D.由程序框图知,当i>10时,输出i,∴i=11. 解析】 D.由程序框图知, i>10时 输出i,∴i=11. 由程序框图知
典 型 例 题 精 析
提示: C.解决此问题需要循环执行,故应用循环结构. 提示:选C.解决此问题需要循环执行,故应用循环结构. 解决此问题需要循环执行
知 能 巩 固 提 升
目 录 典 课 程 目 标 设 置 主 题 探 究 导 学 型 例 题 精 析
知 能 巩 固 提 升

高中数学人教版必修3 1.2.3循环语句 作业(系列二)

高中数学人教版必修3 1.2.3循环语句 作业(系列二)

1.2.3循环语句基础巩固一、选择题1.有人编写了下列程序,则()A.输出结果是1B.能执行一次C.能执行10次D.是“死循环”,有语法错误[答案] D[解析]从循环语句的格式看,这个循环语句是直到型循环语句,当满足条件x>10时,终止循环.但是第一次执行循环体后x=1,由于x=1>10不成立,则再次执行循环体,执行完成后x=1,则这样无限循环下去,是一个“死循环”,有语法错误,循环终止的条件永远不能满足.2.(2015·山东济南模拟)已知如下程序,其运行结果是()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.3.下图所示的程序运行后,输出的i的值等于()i=0S=0DOS=S+ii=i+1LOOP WHILE S<=20PRINT iENDA.9 B.8C.7 D.6[答案] C[解析]第一次:S=0+0=0,i=0+1;第二次:S=0+1=1,i=1+1=2;第三次:S=1+2=3,i=2+1=3;第四次:S=3+3=6,i=3+1=4;第五次:S=6+4=10,i=4+1=5;第六次:S=10+5=15,i=5+1=6;第七次:S=15+6=21,i=6+1=7;因为S=21>20,所以输出i=7.4.下列程序的功能是()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.(2015·吉林长春期末)设计一个计算1×3×5×7×9×11×13的算法.下面所给出的程序中,①处不能填入的数是()A.13 B.13.5C.14 D.14.5[答案] A[解析]当填i<13时,i值顺次执行的结果是5,7,9,11,当执行到i=11时,下次就是i =13,这时要结束循环,因此计算的结果是1×3×5×7×9×11,故不能填13,但填的数字只要超过13且不超过15均可保证最后一次循环时,得到的计算结果是1×3×5×7×9×11×13.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.写出下列问题的程序时,需用循环语句的是________.①用二分法求x 2-2=0的近似根;②对任意给定的一个大于1的整数n ,判断n 是否为质数;③输入一个实数,输出它的相反数;④输入n 的值,输出1+12+13+ (1)的值. [答案] ①②④[解析] 本题考查循环语句的使用条件.对于③,输入一个实数x 后,只需要输出-x 即可,不需用循环语句.8.(2015·福建省厦门一中月考)如图程序中,要求从键盘输入n ,求1+2+3+…+n 的和,则横线上缺的程序项是①________,②________.[答案] n i <=n[解析] 本题综合考查程序的设计和功能,着重考查了循环语句中条件的使用.程序应先输入一个n 的值,确定要计算前多少项的和,②处应确定计数变量i 满足的条件,即确定终止条件.三、解答题9.设计一个算法计算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 SEND10.下面程序的功能是输出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+1WENDEND能力提升一、选择题1.下面的程序运行后,输出的结果为()A.13,7 B.7,4C.9,7 D.9,5[答案] C[解析]直接根据当型循环语句的执行情况进行求解即可.该程序是当型循环,根据程序可知最后一次循环时,s=2×5-1=9,i=5+2=7.故输出的结果为9,7.2.如果以下程序运行后输出的结果是132,那么在程序中UNTIL后面的条件应为()i =12S =1DO S =S*i i =i -1LOOP UNTIL 条件PRINT SENDA .i>11B .i>=11C .i<=11D .i<11[答案] D[解析] 程序执行的功能是S =12×11×10×…,输出结果是132,即循环体只执行了两次,即i =10时,就结束了循环.3.下面程序运行后输出结果错误的是( )[答案] 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.4.下面是求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.二、填空题5.下面程序的功能是________.INPUT “n =”;nS =0i =1WHILE i <=nS =S +i i + i =i +1WENDPRINT SEND[答案] 从键盘输入n 的值,输出11×2+12×3+13×4+…+1n n +的值.[解析] 控制循环的变量i 初值1,步长1,终值n .累加变量S 每次循环都加上1i i +, ∴S =11×2+12×3+…+1n n +.6.下面为一个求20的数的平均数的程序,在横线上应填充的语句为________.[答案]i>20[解析]题中循环语句是直到型.循环语句,其循环终止的条件是条件成立,由于是要输出20个数,所以填i>20.三、解答题7.(2015·黑龙江省哈尔滨三中月考)给出30个数:Array 1,2,4,7,11,…,其规律是:第1个数是1,第2个数比第1个数大1,第3个数比第2个数大2,第4个数比第3个数大3,依次类推,要计算这30个数的和,现在已知该问题的算法的程序框图如图所示.(1)请在图中判断框和处理框内填上合适的语句,使之能实现该题的算法功能;(2)根据程序框图写出程序.[探究]本题的算法中涉及三个变量i,p,S,注意各个变量的作用;i为计数变量,另外也为p进行了递加;p表示了参与求和的各个数;S为累加变量,其作用是得到最终的结果.[解析](1)该算法使用了当型循环结构,因为是求30个数的和,故循环体应执行30次,其中i是计数变量,因此判断框内的条件就是限制计数变量i的,故应为i≤30.算法中的变量p实质是表示参与求和的数,由于它也是变化的,且满足第i个数比其前一个数大i-1,第i +1个数比其前一个数大i,故处理框内应为p=p+i.故①处应填i≤30?;②处应填p=p+i.(2)根据程序框图,可设计如下程序:p =1S =0WHILE i <=30S =S +p p =p +ii =i +1WENDPRINT SEND8.(2015·安徽马鞍山调研)用分期付款的方式购买价格为1150元的冰箱,如果购买时先付150元,以后每月付50元,加上欠款的利息,若一个月后付第一个月的分期付款,月利率为1%,那么购买冰箱的钱全部付清后,实际共付出多少元?画出程序框图,写出程序.[思路点拨] 本题实质上是求一系列有规律的数的和,故可用循环语句来实现,算法语句的实际应用就是将实际问题转化为函数问题,进而转化为算法问题,写出算法语句.[解析] 购买时付款150元,余款1000元分20次付清,每次付款数组成一个数列{a n }. a 1=50+(1150-150)×1%=60,a 2=50+(1150-150-50)×1%=59.5,…,a n =50+[1150-150-(n -1)×50]×1%=60-12(n -1)(n =1,2,…,20). ∴a 20=60-12×19=50.5. 总和S =150+60+59.5+…+50.5=1255(元).程序框图如图.程序:专业文档a=150m=60S=0S=S+ai=1WHILE i<=20S=S+mm=m-0.5i=i+1WENDPRINT S END珍贵文档。

高中数学循环结构

高中数学循环结构

当型循环
开始 i=1
开始 i=1 S=0 i=i+1 是 S=S+i 否
S=0
S=S+i
i=i+1 i>100? 是 输出S 结束
i≤100? 否 输出S
结束
当型循环
直到型循环
当型循环与直到型循环的区别:
1、当型循环先判断后执行,直到型循环先执行 后判断. 2、当型循环可以不执行循环体,直到型循环至 少执 行一次循环体. 3、对同一算法来说,当型循环和直到型循环的 条件互为反条件.
小 结:
1.三种逻辑结构中,顺序结构是最简单的结构,循 环结构必然包含条件结构,它们共同构成了算法的基 本结构,无论怎样复杂的逻辑结构,都可以通过这三 种结构来表达 。 2.循环结构要在某个条件下终止循环,这就需要条件结 构来判断。因此,循环结构中一定包含条件结构,但不 允许“死循环”。 3 .在循环结构中都有一个计数变量和累加变量。计数变 量用于记录循环次数,累加变量用于输出结果。计数变量 和累加变量一般是同步执行的,累加一次,计数一次。 4.画循环结构程序框图前要注意:①确定循环变量和初 始条件;②确定算法中反复执行的部分,即循环体;③确 定循环的转向位置;④确定循环的终止条件.
开始
开始
输入k1=1, k2=-1
S=1 S=S+2
S=S+3 S=S+4 S=S+5 输出S 结束
k1k2=- 1 是 输出l1,l
结束
开始
思考:
(1)这3个框图分别解 决了一个什么问题?
i=1 S=0 S=S+i i=i+1 否 i>3?

输出S 结束
探讨累加问题的一般算法:
开始 i=1 S=0 输入n

循环结构填空题(1)

循环结构填空题(1)
第二次循环后,n=5,S= ,再进入循环,
第三次循环后,n=7,S= ,结束循环,输出n=7.
42.执行如图所示的程序框图,则输出的b值等于_______.
答案:
-8
解答:
初始 成立;
成立;
成立;
不成立;
输出 .
43.按如图所示的流程图运算,则输出的 _______.
答案:
20
解答:
开始a=5,S=1
22.阅读右图所示的程序框图,运行相应的程序,输出的S得值等于_______.
答案:
20
解答:
依题意可得当 ,当 ,当 .
23.如图是一个算法流程图,则输出的 的值是.
答案:
5
解答:
本题实质上就是求不等式 的最小整数解. 整数解为 ,因此输出的 .
24.执行右图程序框图,如果输入的x,t均为2,则输出的S=______.
11.执行如图所示的程序框图,则输出的结果是_________.
答案:
4
解答:
; ;
,结束程序,输出 .
12.执行如图所示的程序框图,输出S的值是________.
答案:
解答:
这是一个循环结构,每次循环的结果依次为: ,大于4,所以输出的 .
13.执行如图所示的程序框图,若输入k的值为8,则判断框图可填入的条件是_______.
分析程序框图可知,程序的功能等价于输出 ,故选B.
29.如图是一个算法的流程图,则输出的a的值是.
答案:
9
解答:
第一次循环: ,第二次循环: ,此时 循环结束 ,
故答案应填:9
30.执行右边的程序框图,若输入的 的值分别为0和9,则输出的i的值为________.

高中数学 基本算法语句当型循环结构(当条件满足时反复执行循环.

高中数学 基本算法语句当型循环结构(当条件满足时反复执行循环.

INPUT “Chinese”;b
INPUT “English”;c 或 INPUT ”Maths,Chinese,English”;a,b,c 实现算法的输入信息功能 2、输入语句的作用是 : (即对程序中的变量赋值) 3、 “提示内 提示用户输入什么样的信息 容” 变量是指程序在运行时其值是可以变化的量;
i=i+1 否 i>11 是 输出x、y 结束
PRINT x
PRINT y
END
(一)输入语句:
INPUT “提示内容”;变量 1、输入语句的一般格式是: INPUT “提示内容1,提示内容2,提示内容3,…”; 变量1,变量2,变量3,… 输入语、数、英三门课成绩 举例: INPUT “maths”;a
P16 练习 1. 2. 3
1.程序:
参考答案: INPUT “请输入华氏温度:”;x y=(x-32)*5/9 PRINT “华氏温度:”;x PRINT “摄氏温度:”;y END
〖提问〗:如果要求输入一个摄氏温度,输出其相应 的华氏温度,又该如何设计程序?
2.
程序:
INPUT “请输入a(a 0)=”;a INPUT “请输入b(b 0)=”;b X=a+b Y=a-b Z=a*b Q=a/b PRINT a,b PRINT X,Y,Z,Q END
〖例3〗:给一个变量重复赋值。
程序:
A=10 A=A+10 PRINT A END 在此程序的基础上,设计一个程序,要求A的输出 值是 多少? A=10 A=A+15 PRINT A A=A+5 PRINT A END
〖例4〗:交换两个变量A和B的值,并输出交换前后 的值。 分析:引入一个中间变量X,将A的值赋予X,又将B的值 赋予A,再将X的值赋予B,从而达到交换A,B的值。 (比如交换装满水的两个水桶里的水需要再找一个空 桶) 程序: INPUT A INPUT B PRINT A,B X=A A=B B=X PRINT A,B END

while循环结构例题

while循环结构例题

引子#include "stdio.h"main(){ int i=1;for(i=1;i<=10000;i++)printf(“%d\t”,i);}题型1 输入输出多个数据eg1、输出1~10000之间所有的整数#include "stdio.h"main(){ int i=1;while(i<=1000){printf(“%d\t”,i);i++;}}拓展:1、换成所有的奇数2、换成所有的偶数题型2 有限个数连加和连乘eg2.1、求1+2+3+4+………+100的值#include "stdio.h"main(){ int i=1,s=0;while(i<=100){s=s+i;i++;}printf(“%d\n”,s);}拓展:1、求1+2+3+4+………+n的值2、求12+22+32+………+n2的值3、求1+1/2+1/3+………+1/n的值eg2.2、求n!的值#include "stdio.h"main(){ int i=1,n,p=1;scanf(“%d”,&n);while(i<=n){p=p*i;i++;}printf(“%d\n”,p);}拓展:求1!+2!+3!+………+n!的值#include "stdio.h"main(){ int i=1,n,p=1,s;scanf(“%d”,&n);while(i<=n){p=p*i;s=s+p;i++;}printf(“%d\n”,s);}题型3 无限个数连加eg3、求1-1/3+1/5-1/7+………的近似值,要求精度要达到10-4#include "stdio.h"#include "math.h"main(){ float n=1,s=0,f=1,t=1;while(fabs(t)>=1e-4){t=f/(2*n-1);s=s+t;f=-f;n++;}printf(“%f\n”,s);}拓展:求1-1/2+1/4-1/6+………的近似值,要求精度要达到10-4题型4 统计eg4.1、输入20个数,统计其中正数、负数和零的个数。

高中数学循环结构 典型例题

高中数学循环结构 典型例题

【例1开始输出“是闰年”y 输出“是闰年”y 输出“不是闰年”y 输出“不是闰年”y y :=2000是是是否否4整除y 100整除y 400整除y(1(2(3三部分构成解:(1(2)(3【例2程图.次比较..i >100是循开始输出b 结束i := 2i := i +11b := a b := ab a<是 是否否输入…a ,a ,a ,1 2 10i ii >100图2-2-32【例3】菲波拉契数列表示的是这样一列数:0,1,1,2,3,5,…,后一项等于前两项的和.设计一个算法流程图,输出这个数列的前50项.分析:输出数列的前50项,当然需设置50个变量:A 1,A 2,…,A 50,若A i -2,A i -1,A i 分别表示数列中连续的三项,则有A i =A i -2+A i-1,即知任何一项的前2项,就可以把这项写出来. 解法一:流程图如图2-2-33.开始输入 , A A 输出A 结束A := 0A := 1A := A + A i := 3i := i +1i >50是 否图2-2-33解法二:流程图如图2-2-34.i 为循环变量,3为i 的初始值;循环体为A i =A i -2+A i -1;终止条件为i >50.法一中有50个变量,输出后不再进行其他操作,因此可只设三个变量A 1,A 2,A 3.图2-2-34【例4】设区间[0,1]是方程f(x)=0的有解区间,画出用二分法算法求方程f(x)=0在区间[0,1]上的一个近似解的流程图.要求精确度为ε.分析:结合求精确度为ε的近似解的算法.(1)由f(a)·f(b)<0,确定有解区间[a,b];(2)取[a,b]的中点2ba+;(3)判断函数值f(2ba+)是否为0.①如果为0,则x=2ba+是方程的解,问题解决完毕.②如果不为0,则有两种情形.a.若f(a)·f(2ba+)<0,则(a,2ba+)为新的有解区间.b.若f(2ba+)·f(b)<0,则(2ba+,b)为新的有解区间.(4)判断新的有解区间的长度是否小于ε.①若大于ε,则在新的有解区间的基础上重复上述步骤.②若不大于ε,则取新的有解区间的中点为方程的近似解.解:算法流程图如图2-2-35.先写出算法,再根据算法写流程图.其算法原理是不断取区间中点得到新的有解区间,同时使精度提高,最终得到满足条件的解.设置两个循环变量a,b,其初始值分别为0,1,终止条件为f(2ba+)=0或b-a≤ε.输出结束a b+2a b +2。

循环结构(50题) - 副本

循环结构(50题) - 副本

固定循环1.画出打印前10个偶数乘积的流程图2.画出流程图:接受50个数,还显示奇数和偶数的总个数3.画出显示键入的任何10个数中最大者的流程图4.绘制流程图以生成前10奇数,并显示这些数值的平均值?5.绘制流程图以显示前100个自然数的平方根6.绘制流程图生成Fibonacci数列。

前两个数应是0和1,最后一个数应是89。

提示:Fibonacci数列的数为:01 1 2 3 5 8 13 21 34 55 89。

除了前两个数0和1,数列中的每个数是前两个数之和。

7.办公室电话都有两个分机,分机号为1和2。

在任何时间点,只有一个分机忙。

以下给出的序列显示了分机1和分机2接收来电的顺序。

1、1、1、1、2、2、2、1、2、1、2、1、2、2、2、1、2具体某一天接收来电的总数为200。

绘制流程图以显示分机1和分机2接收来电的总数。

8.对以下情形绘制流程图:接受的100本书包括了书数、书名、书类和销售价。

显示以下详细信息:序列号No书数BookNo书名BookName销售价NetPrice类别Cat折扣SP净价(净价=销售价-折扣)Discount根据书的类别给出书的折扣,如下表所示:9.一个班级有20名学生。

每个学生参加5个测验。

每测验满分为100分。

计算并显示每个学生的平均分。

提示:创建模块计算平均得分。

10.求100~150之间和400~500之间能被9整除的数,将结果输出到屏幕上11.任意输入10个数,对这10个数按从小到大排列显示。

画出流程图12.已知XYZ+YZZ=532,其中X,Y,Z为0~9的数字,求出X,Y,Z,且显示出来。

画出流程图13.设有计算阶乘的函数f(n)=n!,试设计一个计算阶乘的方法和相应的类,并利用这个类计算f(5)和f(17)的值!画出流程图14.从键盘逐个输入字符,直到输入‘!’时结束,输出字符的个数(不包括‘!’)。

15.输出所有在正整数200和300之间能被6整除、但不能被4整除的数。

高中数学课件-循环结构练习

高中数学课件-循环结构练习
例题

按如图所示的程序框图运
行后,若输出的S的值等于16,
那么在程序框图中的判断框内
应填写的条件是( A )
• A.i>5?B.i>6?
• C.i>7?D.i>8?
例题:设计算法流程图,求解方程x3+4x-10=0在区
间[0,2]内的解(精确至10-5)
开始
a=0,b=2
是 a=(a+b)/2
是 f((a+b)/2)=0
2 4 6 12
例6:阅读如下程序框图,如果输出i=4,
则空白的判断框中应填入的条件是 _s___9__
例7:下图是某算法的程序框图,则程
序运行后输出的结果是___1_0___


f(a)f((a+b)/2)>0
b=(a+b)/2
否 b-a<10-5
是 输例1:执行右边的程序框图, 若输入n=6,m=3, 那么输出的p等于__1_2_0_
例2:阅读如下程序框图,运行相应的程序, 则程序运行后输出i的结果为__9____
例3:执行如图所示的程序框图
13
,输出的S值为___2_1__
例4:执行两次如图所示, 若第一次输入的a的值为-1.2, 第二次输入的a的值为1.2, 则第一次、第二次输出的a的值 分别为 _____________
a 0.8, a 0.2
例5:如图所示,程序框图 (算法流程图)的输出 结果为_______
1 1 1 11 s 0
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

【例1开始输出“是闰年”
y 输出“是闰年”y 输出“不是闰年”
y 输出“不是闰年”y y :=2000是是


否4整除y 100整除y 400整除y
(1(2(3三部分构成解:(1(2)(3【例2程图.
次比较..
i >100是循
开始
输出b 结

i := 2i := i +11
b := a b := a
b a
<是 是


输入…a ,a ,a ,1 2 10
i i
i >100
图2-2-32
【例3】菲波拉契数列表示的是这样一列数:0,1,1,2,3,5,…,后一项等于前两项的和.设计一个算法流程图,输出这个数列的前50项.
分析:输出数列的前50项,当然需设置50个变量:A 1,A 2,…,
A 50,若A i -2,A i -1,A i 分别表示数列中连续的三项,则有A i =A i -2+A i
-1
,即知任何一项的前2项,就可以把这项写出来. 解法一:流程图如图2-2-33.
开始输入 , A A 输出A 结束
A := 0
A := 1A := A + A i := 3i := i +1i >50是 否
图2-2-33
解法二:流程图如图2-2-34.
i 为循环变量,3为i 的初始值;
循环体为A i =A i -2+A i -1;终止条件为i >50.
法一中有50个变量,输出后不再进行其他操作,因此可只设三个变量A 1,A 2,A 3.
图2-2-34
【例4】设区间[0,1]是方程f(x)=0的有解区间,画出用二分法算法求方程f(x)=0在区间[0,1]上的一个近似解的流程图.要求精确度为ε.
分析:结合求精确度为ε的近似解的算法.
(1)由f(a)·f(b)<0,确定有解区间[a,b];
(2)取[a,b]的中点
2b
a+

(3)判断函数值f(
2b
a+
)是否为0.
①如果为0,则x=
2b
a+
是方程的解,问题解决完毕.
②如果不为0,则有两种情形.
a.若f(a)·f(
2b
a+
)<0,则(a,
2b
a+
)为新的有解区间.
b.若f(
2b
a+
)·f(b)<0,则(
2b
a+
,b)为新的有解区间.
(4)判断新的有解区间的长度是否小于ε.
①若大于ε,则在新的有解区间的基础上重复上述步骤.
②若不大于ε,则取新的有解区间的中点为方程的近似解.
解:算法流程图如图2-2-35.
先写出算法,再根据算法写流程图.其算法原理是不断取区间中点得到新的有解区间,同时使精度提高,最终得到满足条件的解.
设置两个循环变量a,b,其初始值分别为0,1,终止条件为
f(
2
b
a+
)=0或b-a≤ε.
输出结束
a b
+2a b +2。

相关文档
最新文档