信息学竞赛辅导习题集
习题一
1.写出下列算术表达式的结果和数据类型:
(1)50 DIV 6 (2)50 MOD 6
(3)SQR(SQRT(9)) (4)ROUND(3.75)+TRUNC(3.75)
(5)int(3.63)+frac(3.63) (6)(4-3)* 5*(7/2)
2.指出下列程序的语法错误,并加以改正:
program shu1-shu2;
var shu:integer;
BEGIN
write(shu1,shu2=);READLN(shul,shu2);
shu=shu1-shu2;
WRITELN('shu'=;shu)
END;
3.编写一个程序,已知长方体的长、宽、高,求长方体的全面积和体积。
习题二
1.开机引入DOS系统:
2.插入TURBOPASCAL盘,引入PASCAL系统;
3.观察屏幕顶行的显示(即主菜单)是:——;
4.要进入主菜单,应打——键;
5.打ALT+E键进入编辑状态,并输入下列程序:
PROGRAM SHIXI1:
VAR NAME:STRING;
BEGIN
WRITE('A MORE OPEN CHINA AWAITS')
WRITELN('2000 OLYPICS')
END.
6.按ALT+F9键对上面程序进行编译
7.按CTRL+F9键运行程序;
8.如果要再看显示页,应按——键,请按这个键,把屏幕显示结果写出;
9.在上面程序最后(END之前)增加语句READLN,然后再运行,结果与前面有什厶不同?
10.选主菜单“FILE”项,再选其中“NEW”子项,按回车键,计算机有什么反应?——,因此NEW的作用是——;
习题三
1.编一程序,从键盘输入一个真分数的分子和分母,输出它的小数形式,精确到小数点后第20位。
提示:如果我们用变量N表示分子,D表示分母,当从键盘输入这两个值后,程序应判断是否有N<D,如果不满足,应该返回要求重新输入,直到满足为止。如果用q表示两个正整数n和d相除的整数商,r表示余数。则算法这样来设计:
(1)n作为第1个余数:
(2)r*10除以d,商为q,余数为r,输出q值:
(3)如果r=0,表示已除尽,则结束程序运行;如果r>0,而商的数字*已到达20个也结束运行;否则返回(2),重复执行第2和第3的步骤。
请画出流程(N-S)图并编写程序。
2.古代百鸡问题。公鸡5元1只,母鸡3元1只,小鸡3只1元。现用100元买了100只鸡。编
程求公鸡,母鸡,小鸡各买了多少只?
3.编一程序,从键盘输入若干个整数,以连续输入两个0作为结束标志。求出这些整数的和。
习题四
1.编一程序,求0~100以内的所有偶数之和。
2.编一程序,显示如下n(n<10)行字符图形(以指针拼音n=5为例):
1
12
123
1234
12345
3.编一程序求表达式:
s=1/(1+2)+1/(1+2+3)+…+1/(1+2+3+…+n)的值。
4.编一程序,从键盘读入n值(n为奇数),显示如下字符图形(以n=5为例):
* * * * *
* * *
*
* * *
* * * * *
习题五
1.从键盘输入3个互不相同的数,输出居中那个数。程序如下,请画出相应的N-S图。
PROGRAM li4-1B;{a<b<c}
VAR i:INTEGER;
a:array[1..3] of REAL;
max,min,sum:REAL;
BEGIN
WRITE('abc=');READLN(a[1],a[2],a[3]);
max:=-1e38;min:=1e38; sum:=0;
FOR i:=1 to 3 do
BEGIN
sum:=sum+a[i];
IF max<a[i] THEN max;
IF min>a[i] THEN min;
END;
WRITELN('mid=',sum-max-min);
READLN
END.
2.用CASE语句编一程序,从键盘输入1—7之间的一个整数,输出相应的星期几的英语单词。其中1表示星期一,2表示星期二……,7表示星期日。1个星期7天的英语分别是:Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday。
3.分别用IF语句和CASE编两个程序,从键盘输入两个数a和b,再输入1个字符,根据字符是'+','-','*','/'来输出a,b的和,差,积,商。显示格式如下
a,b=12 - 13
yunsuanfu:-{运算符}
a-b=25
4.有8个球,其中有1个次品,外形相同,仅重量不同(可轻可重)。现在以天平为工具,用最少的次数挑出次品,并确定它是轻是重。编程模拟这一过程。程序先输入次品的编号及重量,再输入正品的重量。最后输出结果。显示格式如下:
cipln hao:7 {次品号}
cipin zhong: 36 {次品重}
zhengpinzhong:40 {正品重}
输出结果:
cipin hao: 7
cipin QING
提示:可以用下面流程图表示的算法来设计程序:
b1+b2+b3 ? b4+b5+b6
>=<
b1+b4?b2+b5 b7?b8bl+b4?b2+b5
>=
<><>=<
b1?b263?b1b2?b1b7?b1b8?blbl?b2b1?b3
b2?b1
>==>>=>==>>=>=>=
是是是是是是是是是是是是是是是是
b1b5b6b3b2b4b7b8b7b8b2b4b3b6blb5
重轻轻重重轻重轻轻重轻重轻重轻重
习题六
1.现有30名小朋友,编号分别为1~30号,顺序围坐一圈,然后从1号开始顺序1~4报数,逢4者离开坐位到圈外,问最后剩下的小朋友原来的位置编号是多少号?
2.幼儿园教师把40块糖分给班上的25名小朋友,她让小朋友围坐一圈按1~25编号,然后从1号开始1~3报数,逢数到3的小朋友分得一块糖。问最后把糖分尽后,都有哪些小朋友还没得到糖,哪位小朋友得到的糖最多?
3.班上N名同学排成一列,按1—N顺序编号。然后从队头开始1,2报数,数1的出列。剩下的同学再从队头开始1,2报数……直到剩下最后一名同学时,这名同学就幸运的作为全班的代表到电视台“七光”节目中当观众。问这名同学开始时应排在第几号?
4.随机产生20个互不相等的小于100的正整数围成一圈,按顺序编号。求:
(1)连续3个数之和的最大值是几?是哪3个数的和?
(2)相隔的两个数之积的最小值是几?是哪2个数的积?
打印出它们的算式。
5.N名小朋友围坐一圈(10≤N≤20),每人由教师分给2~50之间的偶数块糖,然后按下列规则调整:所有小朋友同时把自己手中糖的一半给坐在他左边的小朋友。如果这时他手中的糖为奇数块,则由教师给补一块,再如此分下去,直到他们手中糖块数相等为止。编程并打印每次分糖的结果。
6.20名小朋友围坐一圈(按L~20编号),开始时每人从教师那里领8—40块是4的倍数的糖,然后按下面的方法同时分,自己留下一半,分别分给左右小朋友各l/4。然后当手中的糖不足4的倍数时,再跟教师要几块糖补足。直到每人手中的糖数相同时为止。编程并打印每次分糖的结果。
7、54张扑克牌排成1列,从头开始1~3报数,逢3取出,到最后1张后再往回数,如此往复后,剩下的最后1张牌,原来的位置是几?
8.在新年联欢会上,全班40名同学每人准备1份礼物,并在礼物上贴上自己学号的标签。然后用l~40号不同号码的纸条折好放在1个空盒里,每人抓1个。按所抓到的号码,并统计全班有几人正好拿到自己送的礼物。
习题七
1.编一程序,统计从键盘输入的n个英语单词中以c开头的单词个数。
2.从键盘输入一个自然数,用字符处理的方法把它的各个数字分离出来,求出它们的平方和。例如
输入 n=324
输出 29
3.编一程序,在字符串'AbCDEFGH'中插入小写字母,要插入的字母和位置从键盘输入,然后把新字符串显示出来。例如
输入zifu & weizhi=a 5
输出xinchuan=AbCDaEFGH
4.从键盘输入两个字符串C1和C2,编一程序出它们最长的公共子字符串。例如
输入AbCDEFGXFGACDEFX
输出CDEF
5.试编一个程序,将键盘输入的英语单数名词变成复数形式输出。规则如下:
(1)以辅音字母y结尾,则把y改成i,再加es;
(2)以s,x,ch,sh结尾,则加es;
(3)以元音o结尾,则加es:
(4)其他情况直接加s。
6.用二维数组编程,打印出如下杨辉三角形:
1
1 2 1
1 3 3 1
1 4 6 4 1
习题八、用过程编程
1.利用过程编一程序,求3个正整数a,b,c的最小公倍数。
2.编一程序,验证如下结论:两个正整数的最大公因数和最小公倍数的积,等于这两个数之积。显示格式如下:
a,b=36 42
a* b=1512
GCD* LCM=6*252=1512
9*b=GCD*LCM
3.编一程序,验证如下结论:如果两个正整数a,b的最大公因数是1,则祢为a,b互质。如果a,b互质,一定能到两个整数m和n,使得等式am+bn=1成立。显示格式如下:
a&b=16 35
m=11 n=-5
16*11+35*(-5)=1
习题九、用自定义函数编程
1.编一程序,求10名运动员参加某项比赛,取前3名(冠军,亚军和季军)的不同情况共有多少种?
提示:从m个不同元素中,取出n个元素,按一定顺序排列,称为从m个不同元素中取出n个元素的排列。从m个元素中取出n个元素的所有排列种数称为排列数,用P(m,n)表示,求排列数的公式为:
P(m,n)=m!/(m-n)!
2.编一个求组合数的通用程序,即求C(m,n)的程序,其中m和n从键盘输入。并用下面数据验证程序的正确性:C(20,10)=184756,C(30,9)=14307150。
3.编一程序,验证下面公式:
(1)C(m,n)=C(m-1,n)+C(m-1,n-1)
(2)C(m,1)+C(m,2)+…+C(m,m-1)+C(m,m)=2^m-1
习题十
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论