作业总:信息学奥赛初学练习题

更新时间:2023-08-20 13:43:01 阅读量: 高等教育 文档下载

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

信息学奥赛初学练习题:

第一章:顺序结构练习题:重点掌握read,readln,write,writeln,场宽,小数位数和常用函数

1、输入三个字符,然后按输入字符次序输出这三个字符(一行),再输出每个字符的序号(一行),最后按与输入字符相反的次序输出这三个字符(一行)。

2、输入一个三位整数,将它反向输出。例如输入127,输出应为721。

3、从键盘上读入小写的“pascal”,利用chr()和ord(),输出大写的“PASCAL”。 4、从键盘上读入一个实数,利用ROUND()和TRUNC()函数,输出该实数本身(场宽10,小数位数为3)、整数部分、小数部分、四舍五入后的值。要求:分三行输出 ;输出实数本身时,格式与读入时相同;整数部分、小数部分在同一行输出,中间以空格间隔开;其它各占一行。

5、从键盘上读入长方形的边长a,b(实型),计算它的面积和周长,并分两行输出。

第二章:选择结构:掌握if和case语句,分支嵌套,以及begin end的用法。

1、对一批货物征收税金(长整型)。价格在1万元及以上的货物征税5%,在5000元及以上,1万元以下的货物征税3%,在1000元及以上,5000元以下的货物征税2%,1000元以下的货物免税。编写一程序,读入货物价格,计算并输出税金。

2、输入3个整数,将其中最小的数输出。

3、某超市为了促销,规定:购物不足50元的按原价付款,超过50不足100的按九折付款,超过100元的,超过部分按八折付款。编一程序完成超市的自动计费的工作。

4、打印某年某月有多少天。(提示:A、闰年的计算方法:年数能被4整除,并且不能被100整除;或者能被400整除的整数年份。B、利用MOD运算可以判断一个数能否被另一个数整除。

C、用CASE语句)

5、编程模拟剪刀、石头、布游戏:用S表示剪刀,用R表示石头,用P表示布。规则是:剪刀剪布,石头砸剪刀,布包石头。游戏者分别把自己的选择输入,计算机给出结果。

6、当前小学生的成绩单由以前的百分制改为优秀、良好、合格、不合格四个等级的等级制。编一程序完成分数的自动转换工作。转换规则如下:60分以下的为不合格;60到69分为合格;70到89分为良好;90分以上的为优秀。(提示:可以利用DIV运算来使程序更简明,结合case语句)。

第三章:循环结构:掌握多重循环和for,until,while三种语句的用法。

1、输入20个数,统计其中正、负、零的个数;

2、在1—500中,找出能同时满足用3除余2,用5除余3,用7除余2的所有整数。

3、输出1---999中能被3整除,且至少有一位数字是5的所有整数。

4、求100---999中的水仙花数(若三位数abc,则a3+b3+c3=abc)

5、打印如下图形

*

* * *

* * * * *

6、输入一整数A,判断它是否质数。(提示:若从2到A的平方根的范围内,没有一个数能整除A,则A是质数。)

7、打印数字金字塔(P89)

8、验证哥德巴赫猜想(任何充分大的偶数都可由两个素数之和表示)。将4到100中的所有偶数分别用两个素数之和表示。输出为:

4=2+2

6=3+3

9、求2—100中,每个数的质因子,输出形式如下

2=2

3=3

4=2*2

100=2*2*5*5

10、求2--1000中的完数(因子和等于它本身的数为完数。例如28的因子是1,2,4,7,14,且1+2+4+7+14=28,则28是完数)。

11、求2—1000中的亲密数对(如果a的因子和等于b,b的因子和等于a,且a<>b,则称a,b是亲密数对)

12、编写一个译码程序,把一个英语句子译成数字代码。译码规则是以数字1代替字母A,数字2代替字母B,……,26代替字母Z,如遇空格则打印一个星号 * ,英文句子以 . 结束。

13、“百钱买百鸡”是我国古代的著名数学题。题目这样描述:3文钱可以买1只公鸡,2文钱可以买一只母鸡,1文钱可以买3只小鸡。用100文钱买100只鸡,那么各有公鸡、母鸡、小鸡多少只?与之相似,有"鸡兔同笼"问题。

第四章:函数与过程、枚举、子界类型(重点掌握形参、实参和递归)

1、定义一个求两个数之间较大的数的函数。输入a和b,输出a和b中较大者。

2、用一个过程求两个数之间的较大的值。(参数用形参,借此区分值参和形参的区别)。

3、区分形参、实参和全局变量、局部变量。请写出P124页的5.19的输出结果。

4、用递归形式求n!。

5、完成书上P110上的汉诺塔游戏.

6、顺序读入字符,以 ? 结束,然后以和输入相反的次序输出读入的字符,用递归过程作。

7、完成书本上P129,P130,P133上的示例。

第五章:数组和字符串

1、输入一串字符,以 ? 结束,分别统计其中每个数字0,1,2,3 9出现在次数。

2、随机产生20个100以内的数,输出;按从小到大的顺序排序,输出(使用冒泡排序法)。

3、随机产生20个100以内的数,输出;按从小到大的顺序排序,输出(使用选择排序法)。

4、完成书本上P171 7.7 和7.9 约瑟夫问题。

5、完成书本上P172 7.18 7.19 7.20

第六章:集合、记录集

重点掌握集合和记录集的使用方法即可。

1、 完成P181页例题:用筛法求素数

2、 记录类型的使用方法:

type

tree=record

left,right:integer; end;

var

ss:array[1..100]of tree;

{此时的ss数组的元素类型是一个记录类型,包含两个数据left和right,可以这样调用 ss[i].left,ss[i].right}

3、 输入10个学生记录(每个记录包括学号、姓名、性别、年龄、成绩),组成记录数组,

统计男、女生人数,计算平均年龄,平均成绩,并将低于平均成绩的学生记录输出。(用记录来做)。

第七章: 文件

掌握用文件的输入输出。

如,题目要求输入文件test.in中读入一个整型数据,并将这个整型数据输出test.out中,设

置如下:

var

i:integer;

begin

assign(input, test.in );reset(input);

end.

assign(output, test.out );rewrite(output); readln(i); writeln(i); close(input); close(output);

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

Top