ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:28.71KB ,
资源ID:8953863      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8953863.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(高级程序设计期末考试题.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

高级程序设计期末考试题.docx

1、高级程序设计期末考试题一、算法分析题(本大题共3小题,选做2题,每小题40分,共80分)1. 逃学威龙John无心向学,总是打逃课的主意,他确信他的期末考试绝对能够考过,但是老师可不相信他,因此老师定下了一条规矩,最后的期末成绩将由平时成绩和考试成绩组成,各占50%的分数,也就是满分100分,其中平时成绩50分,考试成绩50分。而老师为了不让同学们逃课,平时成绩将仅由出勤情况确定,每点名到一次逃课就要扣掉10分的平时成绩。John很不满于老师这套想法,决心要将翘课进行到底,他有足够的信心和实力在期末考中得到满分,剩下的就只看平时成绩了,只要他在平时成绩中保留的分数=10分,他这个学期就可以合格

2、。他甚至为此充分调查了老师的点名习惯,发现如下规律:每个学期这门课程共有K个课时(K=20),而对于某节课老师点不点名是一个独立的事件,并且老师在某一节课点名的概率是p(0.0=p=1.0),现在fish_ball想尽可能多的逃课,但是要保证他有90%以上的概率不挂掉这门课,问fish_ball这个学期最多能翘掉多少课?输入规格:第一行是一个整数C,C=20,紧接着C组数据,每组数据包含一行,依次给出整数K (1=K=20)和p(0.0=p=1.0),如题目中所描述。输出规格:对于每组数据,输出一个整数,表示John这学期最多能够翘掉几堂课。算法分析:设John逃课次数为skipNum,课程总

3、数为classNum,当skipNum=classNum时,在skipNum次逃课中,John被点名的次数 = 0.9 ( 即90% ),则John可以通过该课程。RealPossibility等于在skipNum次中分别被点0、1、2、3、4次的概率之和, 即 :RealPossibility =当满足 RealPossibility = 0.9 时求的的SkipNum最大值即为John最大可逃的课程数。程序:#include #include math.hstruct KE int K; float p;int classNum ; / ClassNum 为课程总数float p; / P

4、为每节课老师点名的次数int skipNum = 5; /skipNum为John逃课次数double getPossibility(int a,int b,double p );/用于求a(skipNum)次逃课中被点b次的概率double getRealPossble(int a2,int b2,double p2);/求skipNum次中分别被点0-4次的概率和void main()int C; coutInput:C; KE *ke=new KEC; for(int i=0;ikei.Kkei.p; coutOutput:endl; for(i=0;i0.9) & (skipNumcl

5、assNum) ) skipNum+; elsebreak;coutskipNum=0)sumP=sumP+getPossibility(a2,tempCt,p2);tempCt-;return sumP;/*Get Possibility*/double getPossibility(int a,int b,double p1)int countUp=1;int sumUp=1;double sumALL;int sumDown=1;int temp = a;while (countUp=b)sumUp=sumUp*a;a-;countUp+;for(int i=1;i0的区域是泥泞的地面,

6、Alfred在泥泞的地面上的移动速度是v1(米/秒),而y0的区域是水泥地,Alfred在水泥地上的移动速度只有v2(米/秒),其中v1=v2,A在第二象限,B在第四象限。Alfred是一个物工院的学生,他稍微估算了一下,剩下的时间已经不多了,他看看表,现在离9点整只剩下T秒了 (T由题目给出),Alfred想知道,他如果用最优的策略赶往公交站,今天的课是否会迟到。 输入规格:第一行是一个整数C,C=10,紧接着C组数据,每组数据依次给出xA,yA,xB,yB,v1,v2 和T,他们的意义如上文所述,x,y坐标的单位是米,所有坐标的绝对值109,T是一个整数。 输出规格:对于每组数据,输出YE

7、S或NO,表示Alfred会不会迟到。算法:在x轴上取P(p,0),对每组数据,给出xA,yA,xB,yB,v1,v2.,xA=p=0,Yes;t-T0,No.第二题。不粉我你什么心态#include#include#include#includeusing namespace std;class zuobiao/基坐标protected :double x,y;public:virtual void run()=0;virtual void print()=0;double getX();double getY();class A:public zuobiao/A坐标public:A()ru

8、n();void run();void print();class B:public zuobiao/B坐标public:B()run();void run();void print();class Alfred/人物public:Alfred()setSpeed();void setSpeed();void calc();void print();private:A a;B b;double v1,v2;double t;double zuobiao:getX()return x;double zuobiao:getY()return y;void A:run()x=0-rand()%109

9、;y=rand()%109;void B:run()x=rand()%109;y=0-rand()%109;void A:print()cout坐标A:(x,y) ;void B:print()cout坐标B:(x,y=a&a0)v2=b;v1=a;break;void Alfred:print()coutv1=v1,v2=v2;t=rand()%150;cout T=tendl;void Alfred:calc()double i;double k;/横坐标距离k=b.getX()-a.getX();a.print();b.print();print();for(i=0;i=k;i+)if(

10、sqrt(a.getY()*a.getY()+i*i)/v1+sqrt(b.getY()*b.getY()+(k-i)*(k-i)/v2)=t)coutYSEendl;return;coutNOendl;int main()int c,i;srand(unsigned)time(NULL);Alfred a10;coutc;coutendl;for(i=0;ic;i+)ai.calc();return 0;3. 货物1000吨,3辆车同时起运,大车装5吨,来回一趟2小时,中车装3吨,来回一趟1.8小时(十进制),小车装2吨,来回一趟1.6小时(十进制),并规定:若有多辆车同时到达,装车的优先次

11、序是:大车中车小车。不记装车时间。问:(1)最后一趟车是那种车?(2)大、中、小车各运多少趟?算法:设时间为t,然后起始t=0,剩余货物为m=1000-5-2-3,对t进行循环,在循环里,分开三种判断,1,t整除20等于0,就令m-5;2,t整除18等于0;就令m-3;3,t整除16=0,就令m-2;每循环一次t自加一次;当m=0时,循环结束。此时再进行判断:若t整除20等于0,最后为大车;若t整除18等于0,最后为中车;若t整除16=0,最后为小车。大车趟数:t/20+1;中车趟数:(t-1)/18+1,小车趟数:(t-1)/16+1#include void main () int i=0

12、,left=1000-5-3-2; while (1) i+; if (i%20=0) left-=5; if (left=0) break ; if (i%18=0) left-=3; if (left=0) break ; if (i%16=0) left-=2; if (left=0) break ; if (i%20=0) printf(最后一趟是大车n); else if (i%18=0) printf(最后一趟是中车n); else printf (最后一趟是小车n); printf(大车运输了%d次n中车运输了%d次n小车运输了%d次n,i/20+1, (i-1)/18+1,(i

13、-1)/16+1);#include using namespace std;int main()int x=0,y=0,z=0;/次数int t=0;/时间int sum=1000;int a1=5,a2=3,a3=2;while(sum=0)if(t%20=0)/大车if(sum=0)cout大车是最后一趟!;break;elsesum=sum-a1;x+;if(t%18=0)if(sum=0)cout中车是最后一趟!;break;elsesum=sum-a2;y+;if(t%16=0)if(sum=0)cout小车是最后一趟!;break;elsesum=sum-a3;z+;t=t+2;

14、coutendl;cout三种车运送次数如下endl;coutx y zendl;return 0;0000* */33* * 二、论述题(本大题共1小题,每小题20分,共20分)以数字图书馆的应用,论述改进Web服务器性能的有关技术。【提示】由于在数字化图书馆信息系统中流通着的大多是数字化的索引、文摘、全文、图像或音频视频等多媒体信息,对Web服务器性能有着较高的要求,所以一个大中型的图书馆信息系统涉及到许多方面的技术与方案。着重讨论与Web服务器性能有关的一些内容:从硬件实现手段(缓存服务器、均衡负载设备、Web双机镜像、CPU和网卡的提升、网络带宽扩充)和软件实现手段(三层C/S软件结构

15、设计、应用程序部署)等两个大方面论述如何提高Web服务器的性能,以便使用户能够更快捷、高效、安全地使用应用系统。(1)缓存服务器和均衡负载设备使用可以缓解访问瓶颈,提高网络带宽、实现均衡负载。缓存服务器也称为cache服务器,可以存储cache静态的内容如网页、多媒体点播资源和会议实况(已压缩的、有一定格式要求的)等。cache服务器通常放到防火墙之外,外网Web服务器之前,因此Internet用户点击网页不再直接访问网站Web服务器,而是访问cache服务器。由于cache服务器具有多个CPU和高速大容量I/O通道,独立的OS,因此能大大缓解Internet访问瓶颈,而且也具有一定的抗黑客攻

16、击的能力。*目前某图书馆采用这种方式,把大数据量的静态图片、点播资源、虚拟三维应用等都事先置放在cache服务器中,即使现今只有2M Internet的接入带宽,以上应用的播放速度和效果仍能让用户满意。*另外一种方式采用均衡负载设备或Web双机镜像。这种方式通过负载均衡的方法达到 Web访问性能最优。Web双机镜像是较早以前流行的方式,虽能使系统可靠性提升,但由于双机总是在互相询问对方状态,将会影响一定的访问性能。均衡负载设备是独立于Web服务器的硬件,它和Web服务器及网站中其他服务器接在同一交换机上,通过负载调度程序为各个服务器分配工作量,从而,能达到充分利用资源,提高访问性能的目的。只是

17、由于某图书馆目前对外发布资源相对仍较少,只采用了少量Web服务器,因此目前的均衡负载设备作用还不显著。(2)从Web服务器的配置来看Web服务器自身CPU个数及速度、网卡数量、Web服务器与防火墙的位置关系等,都会影响到Web服务器的性能。从Web服务器硬件本身来讲,CPU个数的增加、网卡个数的增加、I/O信道的扩展无疑可以直接地提高Web服务器性能。此外,由于千兆口的防火墙目前较少且费用较高,如果把Web服务器放置防火墙之后,一定会大大影响Internet访问性能。某图书馆采用IDS(入侵侦测)+Web服务器(服务器防火墙,较低端,不会影响流量)+应用服务器+数据库服务器(防火墙,高端),分

18、层次的安全模式,既保证了系统的安全性,又提升了网络访问性能。另外,某图书馆还采用了SAN网络区域存储来提高服务器访问速度。(3)三层C/S软件结构设计和应用程序的适当部署也会提高Web服务器的性能。将业务逻辑、通用访问接口与数据等相互分离、分别置放于Web服务器、应用服务器、数据库服务器上,通过程序功能和逻辑的合理部署,也能大大改进Web服务器性能。一般的原则是,Web服务器只需接受Internet http访问请求,使Web只有最少的任务,把实际处理交给各个应用服务器处理,然后返回结果给Browser。某图书馆采用这种方式专门开发了搜索引擎应用服务器和混合检索应用服务器等,达到了良好的应用效果。事实上,Web服务器的性能提升还存在很多手段和方法,比如CPU与存储之间关系,Web交换机等等.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1