信息学竞赛Pascal语言:循环结构程序设计(四)
信息学竞赛Pascal语言:循环结构程序设计。
For语句
1.递增型FOR循环。
FOR循环控制变量:=循环初值TO循环终值DO循环的语句(或语段)
例:FORI:=5TO10DOWRITELN(I);
输出的结果为:5678910即循环一共执行了6次
如果要重复多个语句,一定要用BEGIN-END形式:
例:
FORI:=1TO10DO
BEGIN
WRITELN(I);
WRITELN(10-I);
END;
2.递减型FOR循环
FOR循环控制变量:=循环初值DOWNTO循环终值DO循环语句
递减型FOR循环与递增型FOR循环基本相同,只是循环控制变量每次递减。
3.FOR循环的几点注意内容:
(1)循环控制变量必须是顺序类型的变量。所谓顺序类型的变量,就是指整型,字符型,枚举型,子界型,不允许是实型。
(2)不允许在循环体内再对循环控制变量赋值。
例如:
A:=10;B:=50;
FORK:=ATOBDO
BEGIN
K:=K+1;{这一句是错误的!!!!!!!!}
WRITELN(K);
END;
(3)当循环初值或循环终值中包含变量时,允许在循环体内改变这些变量的值,但并不改变原定的循环次数。
例:
A:=1;B:=10;
FORI:=ATOBDO
BEGIN
A:=5;B:=4;
END;
在上面例子中,A,B的值在循环的内部发生了变化,但并不影响循环的次数,依然是10次。
4.多重循环循环体由PASCAL语句构成,当然也可以包含FOR语句,这就构成了循环的嵌套,形成多重循环。
例如,以下FOR循环输出5行,每行输出10个星号(*)
FORi:=1to5DO
BEGIN
FORj:=1TO10DO
Write('*');
END;
初学者应当特别注意,内层的循环变量不能和外层的循环变量相同。也就是说,嵌套的各层循环应当使用不同的变量作为循环变量。
下一页阅读:While语句
While语句
1.WHILE循环的执行形式WHILE布尔表达式DO语句
例如:
k:=10;
WHILEk>0DO
BEGIN
Writeln(k);
k:=k-1
END;
其中
(1)WHIlE和DO是PASCAL保留关键字,是WHILE循环语句的组成部分。
(2)保留关键字DO后面的“语法”只能是一条语句,称为“循环体”;如果循环体中需要包含多个语句则应该如上例所示,采用一条复合语句。
2.WHILE循环的执行功能当执行到WHILE语句时
(1)求出布尔表达式的值
(2)若布尔表达式的值为真,则执行循环体内的语句;若为“假”,执行步骤4
(3)重复步骤1和2
(4)循环结束,执行循环后面的语句。
下一页阅读 :Repeat-Until语句
Repeat-Until语句
1.REPEAT-UNTIL类型的循环的执行形式
REPEAT
语句1
语句2
……
语句n
UNTIL布尔表达式
例如:以下循环求n=1+2+3+……+100
n:=0;t:=i;
REPEAT
n:=n+t;t:=t+1;
UNTILt>100;
其中
(1)REPEAT和UNTIL是PASCAL保留关键字。
(2)在REPEAT和UNTIL之间的语句构成循环。在它们之间可以有任意多个语句,这一点和FOR,WHILE循环不同,FOR,WHILE循环体在语法上只允许一条语句。
2.REPEAT-UNTIL循环的执行功能
(1)遇到REPEAT语句后,即进入循环体,顺序执行循环体内的语句。
(2)遇到UNTIL语句后,求布尔表达式的值。若值为假,则返回步骤1;若为“真”,执行步骤3
(3)循环结束,执行UNTIL后面的下一条语句。
下一页阅读:思考与练习
思考与练习:
1、计算下列式子的值:
(1)1+2+……+100
(2)1+3+5+……+97+99
2、输入一个四位数,求它各位上数字的和。
3、求水仙花数。所谓水仙花数,是指一个三位数abc,如果满足a^3+b^3+c^3=abc,则abc是水仙花数。
4、宰相的麦子:相传古印度宰相达依尔,是国际象棋的发明者。有一次,国王因为他的贡献要奖励他,问他想要什么。达依尔说:“只要在国际象棋棋盘上(共64格)摆上这么些麦子就行了:第一格一粒,第二格两粒,……,后面一格的麦子总是前一格麦子数的两倍,摆满整个棋盘,我就感恩不尽了。”国王一想,这还不容易,刚想答应,如果你这时在国王旁边站着,你会不会劝国王别答应,为什么?
5、打印下列图案:(输入N值来控制图案的规模,下列图案均以N=3为例)
& | ||
& | & | |
& | & | & |
& | & | & |
& | & | & |
& | & | & |
* | ||||
* | * | * | ||
* | * | * | * | * |
# | @ | ||||
# | # | @ | @ | ||
# | # | # | @ | @ | @ |
7、求两个数的最小公倍数和最大公约数。(提示:公约数一定小于等于两数中的小数,且能整除两数中的大数。公倍数一定大于等于两数中的大数,且是大数的倍数,又能给两数中的小数整除。)
8、编写一个译码程序,把一个英语句子译成数字代码。译码规则是以数字1代替字母A,数字2代替字母B,……,26代替字母Z,如遇空格则打印一个星号‘*’,英文句子以‘.‘结束。
9、“百钱买百鸡”是我国古代的著名数学题。题目这样描述:3文钱可以买1只公鸡,2文钱可以买一只母鸡,1文钱可以买3只小鸡。用100文钱买100只鸡,那么各有公鸡、母鸡、小鸡多少只?与之相似,有"鸡兔同笼"问题。
10、输入一个正整数N,把它分解成质因子相乘的形式。
如:36=1X2X2X3X3;19=1X19
(提示:设因子为I,从2开始到N,让N重复被I除,如果能整除,则用商取代N,I为一个因子;如果不能整除,再将I增大,继续以上操作,直到I等于N。)
【信息学竞赛Pascal语言:循环结构程序设计(四)】相关文章:
相关文章
网友关注
网友关注视频
精品推荐
分类导航
- 太原小学奥数第二讲—有余除法
- 太原小学奥数第一讲—找规律
- 武汉楚才作文登报作品《一件“伟大”事》
- 武汉楚才作文登报作品《又是一年银耳飘香》
- 武汉楚才作文登报作品《芬芳何处寻》
- 武汉楚才作文登报作品《我总想着这些事》
- 合肥市28届青少年信息学(计算机)竞赛获奖名单(小学组)
- 屯小13名选手参加包河区第四届青少年信息学计算机竞赛
- NOIP2013普及组初赛答案
- 2013全国青少年信息学奥林匹克竞赛时间日程
- 合肥中小学生参加信息学奥赛有哪些好处?
- 信息学竞赛Pascal语言 数组与字符串(五)
- 合肥市“讯飞”杯信息学竞赛(小学组)考试大纲
- 青少年信息学竞赛对小升初的作用?
- 合肥市青少年信息学竞赛(小学组)大纲
- 全国青少年信息学(计算机)奥林匹克联赛初赛内容
- 全国青少年信息学(计算机)奥林匹克联赛题型
- 合肥“讯飞杯”信息学竞赛评分标准