2008年慈溪市小学生计算机编程竞赛复赛题解答!急~帕斯卡~

2008年慈溪市小学生计算机编程竞赛

复赛试题

比赛时间:2008年2月26日上午8:30-10:30。

主题概述

中文标题名称提交源文件名称提交可执行文件名称输入文件名输出文件名时间限制每考点考试点数分数运行内存上限时间限制推广收费钱。递给money.exe钱。inmoney.out1秒10 10 50M 65438+ 0秒计数。帕斯count.exe伯爵。incount.out1秒10 10 50M 1秒队形变换队形。帕斯formation.exe编队。information . out 65 . 438+0秒101050m 1秒分配作业。帕斯job.exe工作。injob。out 1秒1060m 1秒。

需要注意的事项

1.每个玩家首先要在D盘根目录下建立自己的答题卡文件夹,这个文件夹的名字就是自己的考号;2.参赛选手最终提交的所有文件必须存放在自己的考生文件夹中,任何错放的答案和书面答案都将被视为无效;3.每道题提交的解答必须包含以下两个文件,即源程序文件和编译后的可执行文件,其名称必须与每道题中指定的名称一致;4.在程序中,必须采用读写文件的方法来实现数据输入和结果输出,即在程序运行时,从标题中指定的输入文件中读取输入数据(而不是键盘输入),将程序的结果写入标题中指定的文件中(而不是输出到屏幕上)。5.用于提供输入数据和记录输出结果的文件名已在标题中指定,播放器程序在调用它们时不应为它们指定任何特殊路径。6.重赛的机房c盘已经设置为启动恢复保护。玩家不要把程序存在c盘,否则重启后程序就不存在了。7.比赛结束后请不要关机。

慈溪市教育局教研室

慈溪市青少年科技辅导员协会

第1页,第*** 4页

1.推广费

(money.pas/exe)

问题描述元旦快到了,各商场都在策划大型促销活动。慈溪国际购物中心计划推出“满300减120,满500减240”的活动,即顾客每满300元可获得120元的优惠,每满500元可获得240元的优惠,无上限。因此,商场收费系统需要升级。请帮忙慈溪国际购物中心设计一个程序,输入顾客购买商品的总金额,即输出打折后付款的总金额。注意,一定要用最有利的方法计算!输入文件money.in只有一行,是客户购买的各种物品的总金额n。保证是整数,N (N ≤2000000000)输出文件money.out只有一行,就是打折后的付款金额。

投入产出样本

310

2.数一数人数。

(count.pas/exe)

数学竞赛结束后,所有的班主任都渴望知道他们班全年前N名的人数。于是,教务主任邀请信息学兴趣小组的学生来帮他,让他写一个程序。只要告诉电脑K班和前N名,然后输入M个学生的分数,电脑就会统计出当年前N名的K班人数。(假设每个学生的总分不一样)在输入文件count.in *** M+1的第一行输入三个整数,依次分别是M,K,n,表示年度期间***,有M个学生,需要统计年度期间前n名的K个班级的人数。(M≤1000,K≤20,N≤M)下面M行是M个学生的班级和年级,中间用一个空格隔开。Output输出文件count.out ***一行,表示年份段中前N名的K类个数。

投入产出样本

725 2 65 3 90 9 100

慈溪市教育局教研室

计数2

慈溪市青少年科技辅导员协会

第2页,***第4页

8 64 2 66 2 80 4 84

3.队形变换

(formation.pas/exe)

问题描述:团体操表演中,队形经常变换。在2008年慈溪市中小学艺术节开幕式团体操表演中,导演确定队形分为连续队形(代号1)和梅花桩队形(代号2)两种,每个队形又分为行排列(代号1)和列排列(代号2)两种。为了让表演者快速知道自己应该站在哪一行哪一列,请设计一个程序,输入表演者人数n,队形码X,排列码Y,每行(或每列)位置数r,表演者人数m,然后输出表演者应该站在哪一行哪一列。比如16人参与演出,各种安排如下:①n = 16,X = 1,Y = 1,R = 6654,38+0,7654,38+03②n = 16,X = 65438。Y=1,R = 7 1 5 8 12 15④N = 16,X=2,Y=2,R = 6 1 4 2 5 3 6 9 12 8 16 5438+05 7 10 14 65438

如果输入N = 16,X = 1,Y = 2,R = 3,M = 12,玩家应该站在第3行第4列。

慈溪市教育局教研室

慈溪市青少年科技辅导员协会

第3页,***第4页

输入文件formation.in只有一行,有五个整数用空格隔开,分别是N、X、Y、R、M,分别表示参加演出的人数、队形码、编曲码、每行(或每列)的位置数和一个表演者的人数。(N≤10000).输出文件formation.out ***包含两个整数,中间用空格隔开,分别表示某个性能团队成员M应该站在哪一行哪一列。

投入产出样本

形成,形成,形成

4.工作分配

(job.pas/exe)

问题描述在一个工厂里,如果每道工序都是由不同的工人来完成,那么所花费的时间往往是不一样的。精明的老板为了提高效率,总是把生产某种产品所需的N道工序进行最佳搭配,使生产某种产品所花费的总时间最少。现在N个工人分别做N道工序就要花时间了。请计算一下,如果每个N个工人做N道工序中的一道,生产一件产品(即完成所有N道工序)的最短时间是多少?输入文件job.in的第1行有1个整数N(1≤N≤20),表示有N个workers。接下来的n行,每一行都有n个数字,表示工人完成每个过程所需的时间。输出输出文件job.out *** line,即生产一个产品的最短时间。

投入产出样本

工作在4 1324 3245 3412 4532工作在6