- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
信息学奥赛复赛模拟题解题参考
第一题 交通流量测试(traffic) 1
第二题 走楼梯(strair) 5
第三题 津津的储蓄计划(save) 6
第四题 合唱队形 (chorus) 9
第五题 均分纸牌(card) 10
第一题 交通流量测试(traffic)
【问题描述】
为调查统计车辆流量,在路边设置了一台车辆探测器。探测信号用线路连接到计算机。凡有一辆车通过时,探测器自动传送一个数字信号1给计算机;探测器中有个时钟,统计开始时,启动时钟,此后每一秒钟自动传送一个数字信号2给计算机;统计结束时,探测器向计算机发送一个数字为0的终止信号。编写一个程序,以处理探测器送来的这一系列信息,并输出下列结果:
(1)进行了多长时间的调查统计;
(2)记录到的车辆总数;
(3)在车辆之间最长的时间间隔是多少。
【输入文件】
输入文件traffic.in包括一行整数(有且仅有最后一个整数为0),分别表示探测器发送给计算机的数字信号。
【输出文件】
输出文件traffic.out包括三行,每行一个整数,分别表示调查统计的时间、记录到的车辆总数以及车辆间的最长时间间隔。
【样例输入】
1 1 2 2 1 1 1 1 2 1 2 2 2 2 2 1 1 1 1 1 2 0
【样例输出】
9
12
5
[解]这些结果,要等到探测结束时才能统计完成。在程序中要使用到如下变量:
过往车辆数,以标识符unms表示;
时间以seconds表示;
时间间隔以inter表示;
最长时间间隔以longest表示;
探测器信号以sig表示,分别为:1 车辆信号、2 计时信号、0 结束统计信号。
现在,我们开始学习用伪代码描述程序的开发过程。解决所提问题的程序设计过程,可表示如下:
第一步 把任务写成一个“总语句”:
program
begin
用车辆探测器统计车辆流量
end.
第二步 把任务分解为几个子任务(功能块):
program
begin
对有关变量赋以初值,准备开始统计;
当送来的信号不是结束信号时,反复处理探测器送来的信号;
输出统计结果。
end.
第三步 进一步细化各个子任务:
program
begin
若干个赋初值的赋值语句和读语句
while送来信号不是结束信号时 do
begin
if是车辆信号
then处理车辆信号
else if是计时信号
then处理计时信号;
送下一个信号
end;
输出统计结果的若干写语句。
end.
第四步 到目前这一步,赋初值与输出统计结果这两个子目标,已完全可以具体到
用语句描述了,但while语句的循环体,尚须进一步细化到用语句描述。
program
begin
若干赋初值的赋值语句和读语句 {变量初始化}
while sig0 do
begin
if sig=1
then begin
车辆数nums的值增1;
if interlongest
then inter的值取代longest的当前值;
inter置零;
end
else if sig=2
then begin
seconds的值增1,inter的值增1;
送下一个信号;
end
end;
输出统计结果的若干写语句;
end.
第五步 最终程序
program traffic;
{
过往车辆数,以标识符unms表示;
时间以seconds表示;
时间间隔以inter表示;
最长时间间隔以longest表示;
探测器信号以sig表示,取值分别为:1 车辆信号、2 计时信号、0 结束统计信号。
}
var
unms,secondS,inter,longest,sig:integer;
f1,f2:text;
begin
assign(f1,traffic.in);
assign(f2,traffic.out);
reset(f1);
rewrite(f2);
unms:=0;
secondS:=0;
inter:=0;
longest:=0;
read(f1,sig);
while sig0 do
begin
if sig=1
then begin
unms:=unms+1;
if inte
您可能关注的文档
最近下载
- 2025年全国特种设备安全管理人员A证考试题库(含答案) .docx
- 灌装操作工作业指导书.doc
- 番茄酱灭菌灌装机说明书end.doc VIP
- 性格培养08勇敢的小熊.pptx
- 腐植酸肥料生产建设项目可行性研究报告.doc
- 民营企业财务管理新规制度.doc
- 2023基于手机银行APP专区调研的客群精细化运营分析报告.pdf VIP
- 杀菌操作工作业指导书.doc VIP
- 基于手机银行APP专区调研的客群精细化运营分析报告-42页.doc VIP
- 马工程系列《教育学原理》项贤明主编第一到十章全完整版课件PPT:产生发展、教育与社会人的发展、目的培养目标、制度、课程教学德育、教师学生等(1).pptx
文档评论(0)