题目1php
解答:ios
开发环境选择的是c++,开发工具使用的是Visual c++6.0。c++
首先,先完成一个最简单的工能,随机产生一个只有两个操做数一个运算符的式子,接受输入并判断输入答案是否正确:git
代码以下:程序员
#include<iostream.h>github
#include<stdlib.h>数据库
#define MAX 100;编程
#include<time.h>浏览器
int main()服务器
{
srand((unsigned(time(NULL))));///初始化当前时间种子
int num1=rand()%100;///生成操做数
int num2=rand()%100;
char ope[]={'+','-','*','/'};////生成运算符
int num=rand()%4;
int result,input;
cout<<num1<<ope[num]<<num2<<"=";
cin>>input;
cout<<endl;
switch(num)///计算
{
case 0: result=num1+num2;break;
case 1: result=num1-num2;break;
case 2: result=num1*num2;break;
case 3: result=num1/num2;break;
}
if(input==result)////判断
cout<<"right"<<endl;
else
cout<<"false"<<endl;
return 0;
}
其次完成第二个需求,须要能够求真分式的运算,初始界面输入-n出现普通运算,输入-r命令出现真分式运算。代码以下:
#include<iostream>
#include<stdlib.h>
#define MAX 100;
#include<time.h>
#include<string>
using namespace std;
int main()
{
srand((unsigned(time(NULL))));
string order;
cin>>order;
char ope[]={'+','-','*','/'};
int num=rand()%4;
if(order=="-n")
{
int num1=rand()%100;
int num2=rand()%100;
int result,input;
cout<<num1<<ope[num]<<num2<<"=";
cin>>input;
cout<<endl;
switch(num)
{
case 0: result=num1+num2;break;
case 1: result=num1-num2;break;
case 2: result=num1*num2;break;
case 3: result=num1/num2;break;
}
if(input==result)
cout<<"right"<<endl;
else
cout<<"false"<<endl;
}
if(order=="-r")////生成真分式,并计算
{
string Fraction(int num1,int num2);
int num1=rand()%100;
int num2=rand()%100%num1;
int num3=rand()%100;
int num4=rand()%100%num3;
string result,input;
cout<<num2<<"/"<<num1<<ope[num]<<num4<<"/"<<num3<<"=";
cin>>input;
cout<<endl;
switch(num)
{
case 0: result=Fraction(num2*num3+num4*num1,num1*num3);break;
case 1: result=Fraction(num2*num3-num4*num1,num1*num3);break;
case 2: result=Fraction(num2*num4,num1*num3);break;
case 3: result=Fraction(num2*num3,num1*num4);break;
}
cout<<result;
if(input==result)
cout<<"right"<<endl;
else
cout<<"false"<<endl;
}
return 0;
}
string Fraction(int num1,int num2)///约分的函数
{
string s1,s2;
char *a=new char[10],*b=new char[10];
for(int i=2;i<=num1;i++)
{
if(num1%i==0&&num2%i==0)
{
num1/=i;
num2/=i;
}
}
sprintf(a, "%d", num1);
sprintf(b, "%d", num2);
s1=a;
s2=b;
return s1+"/"+s2;
}
题目2:
解答:
(1)TFS(Team Foundation Server)是一个工做流协做的引擎,它容许一个团队使用他们自定义的流程,并使用在项目历史中实时收集起来的一个集中的数据仓库。因为常常作.net项目开发,因此对TFS仍是比较了解的,它的优势很是明显:
可是缺点也是在让人头痛:
(2)GitHub:Ruby社区的程序员使用Git之后,找不到好的Git托管网站,因而就开发了Github出来。开源出来就是但愿更多人关注,接近与关注者的距离,方便交流,github在这一点上无疑是最好的。
(3)Bugzilla:为Unix定制的追踪系统的软件,能够管理软件开发中缺陷的提交、修复、关闭等整个生命周期。开源免费的产品,具备缺陷跟踪和强大的检索功能。
(4)TortoiseSVN: 是 Subversion 版本控制系统的一个免费开源客户端,能够超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改之外,版本库很是像普通的文件服务器。你能够将文件恢复到过去的版本,而且能够经过检查历史知道数据作了哪些修改,谁作的修改。
做为团队内部使用的版本控制软件TortoiseSVN很是好用,能够独立部署,并且对于版本和时间管理颇有效,对于公司和企业来说能够在内部搭建服务器环境,从而保证源代码的保密性。
题目3
解答:
(1) 办公自动化系统,属于Internal Software,是咱们学校内部的办公系统,这类软件在高校中出现通常是在本世纪初(即2000-2003年左右),在当时,高校实现办公自动化系统逐渐成为一种趋势,当时学校经过政府采购招标,选择了云南大学开发的一套Netcase2000办公自动化系统。当时市面上国产的办公自动化系统并非不少,基本上都是以营利为目的;
(2)当时2002年是一名大二的学生在学校的办公室帮忙,参与了这个软件项目需求书的辨析和软件的总体实施过程,当时对于办公自动化系统的使用作了严格的限制,只容许行政办公人员使用,因此最大的目标就是功能全面,用户体验良好;
(3)2001年左右在天津软件行业较为红火,就业去向很好,不少大型的软件公司对于迎接毕业生都可以给出3k左右的薪酬;
(4)当时有专门的软件工程师对学校老师进行统一的培训,我做为实习学生负责平时对服务器的维护,也参与了培训。当时的办公自动化系统的确使得学校在办公效率上有了质的飞跃,可是因为原有的行政审批流程依旧大行其道,仍旧没有真正实现无纸化办公。随着软件应用的逐渐深刻,愈来愈多的bug也在出现,例如,当时采用的是文件数据库,发送一个文件,就须要将这个文件拷贝到接收人的文件夹,若是一个文件有10M,发送给10我的就要占用服务器100M的空间。到2005年左右的时候系统的运行效率很是低下了,打开收件箱旺旺须要10几秒钟的时间,当时,咱们本身编写了一个软件,负责定时清理历史数据,并进行备份来提升系统的运行效率。2005年左右,云南大学开发了基于关系数据库的新型办公自动化系统,可是须要从新政府采购购买;
(5)当前,国内的OA软件多如牛毛,有的是以产品的形式出现,有的是根据用户需求定制开发。可是不一样厂商之间的竞争基本上都基于“功能性”和“价格”两个方面。如今咱们学校已经更换了OA系统,是由一家公司定制研发的,由于这样更可以针对学校的办公流程和特有的工做习惯,市面上的不少OA都是针对企业和政府部门的,与高校的管理仍是存在比较大的理念上的差别;
(6)2006年的时候,服务器在硬件水平上已经有了明显的提升,能够供软件调用的资源较2001年已经提高了好几个量级,可是软件的功能已经再也不可以知足学校办公的须要,须要根据需求进行升级;
(7)观察市面上大多数的OA系统,在系统的可扩展性上都存在较大的缺陷,你们每每把精力放到流程的可定义、表单的可自动化配置等方面,反而忽略了系统功能的扩展性,若是须要增长一个新的功能,每每带来的是大量新的开发工做量和系统维护工做量。
题目4
解答:
写程序与作软件之间固然是有区别的。一个优秀的程序员也绝对不是单打独斗的独行侠。ACM比赛中写的程序在我看来只属于编写代码,还不能构成一个完整软件。开发一款成熟的软件,不但要熟练掌握其开发环境,正确的编写代码,还要对一些相关知识有必定的了解,好比说需求及功能的制定,界面的设计,最后的软件测试等。固然,开发组成员之间的配合也是必不可少的。这些东西在开发软件的过程当中尤其重要。所以,作软件毫不只是写写程序那么简单,编写代码只是一个实现软件功能的过程而已。
至于软件工程,对于它,一直都没有一个很精准的定义。可是说软件工程就是教那些不怎么会写程序的人开发软件仍是太狭隘了。在我看来,软件工程不只是让咱们明白如何编写代码,还包括了一个软件是如何进行开发的等一系列的内容。软件工程包含的东西太多,还有不少值得咱们去学习。
题目5
解答:
我所在的学校开设了计算机科学专业和软件工程专业。相关的教学计划总的来讲差异不大,有一些课都是有共同之处的。可是,计算机专业的课程涵盖面更加宽广,包括计算机硬件、软件以及一些应用的基本理论知识。而软件工程专业,固然更侧重软件和工程,包括程序的设计,工程实践等,关于计算机硬件的课程开设较少。总的来讲,计算机专业宽而浅,软件专业窄而深。至于这两个专业的毕业出路其实也相差不大,都是读研、出国或者工做。读研和出国的同窗没必要多说,研究方向也都各不相同。工做方面,大多数都是从事一些开发类型的工做,好比说某些软件公司的程序员等。可是由于本科时学到的知识有限,步入工做时确定还要学习更多的东西。
题目6
解答:
“刷课机”或者“刷票软件”,在法律范围内探讨,它的出现是合法的,可是若从道德规范方面思考的话,就如现实中排队时插队同样,是不符合道德规范的。网上选课或者是购票网站,是为了更加合理地分配现有资源,要体现的是对每个参与者的公平性,若使用了“刷课机”或者是“刷票软件”,虽然可以帮助使用者解决某些问题,可是却使资源的分配失去其应有的公平,因此是不道德的。
从“软件工程”的研究范围来看,这种软件是不符合工程师或者是产品经理的职业道德的,由于它会破坏现有的资源分配规则并与公众的利益相悖。
参考信息:“约车软件”的出现,若是仅从对出租车的使用来讲,它与“刷票软件”是彻底不一样的。“约车软件”是改变了人们使用出租车的方式,使你们叫车更加的方便快捷,是人们线下直接拦车向线上约车的习惯的转变,它使资源的分配更加的快捷、准确。
题目7
解答:
我认为中文编程并非一个能大幅度提升效率的编程方法,首先:中文编程一个最最明显的缺点就是,输入法的来回切换,这无疑增长了工做量。其次,中华文化博大精深,中文一个词、一个句子,在不一样的语境下都有不一样的意思,把中文用到编程这种严谨的工做中可不是一个好想法。对于一个职业的程序员来讲,中文编程绝对是一个鸡肋。可是中文编程也不是一无可取,它能够适用于推广电脑教育,对编程的初学者以及编程的业余爱好者来讲,中文编程可能让他们能更好的入门。
题目八、9
解答:
(1)如何才能真正有效的实现编程规范,项目组中是否真的有人去执行代码复审;
(2)结对编程在项目实践过程当中是否真的可以实现;
(3)程序设计是不是项目经理的必修课程;
(4)如何才能对软件质量进行量化;
(5)软件的运维应该是现代软件工程中很重要的内容,课程是否须要对此进行进一步的讲解。
题目九、10
解答:
(1)当前博客已经创建,小组成员:
组长:杨彬,2016级硕士生,男,河北沧州人,本科毕业于河北大学网络工程专业
成员:
(2)
1)当时小组作的项目没有正式发表,仅仅是当作课程的做业来完成的,也没有面向用户公布咱们所开发的项目。
2)项目的源代码和相关文档还都保留着,能够进行进一步的开发。
3)软件的开发是一个团队协做的过程,必需要团队成员相互配合才能进行下去。除此以外,必需要在项目开发以前就要进行合理的时间规划,这对完成项目有很大的帮助。
4)学习软件工程不能只停留在编写代码上,还要多参加一些项目的开发,理论结合实践,这样学习才更有效率。
题目11
解答:
1958年Turkey在论文"The Teaching of Concrete Mathematics"中提出软件这一律念。软件工程是在1968年北大西洋公约组织在前联邦德国开会提出的。瀑布模型这一律念是1970年由温斯顿·罗伊斯(Winston Royce)提出的。Agile Methodology是一种从1990年代开始逐渐引发普遍关注的一些新型软件开发方法。
题目12
解答:
软件要运行在硬件芯片上面,看了硬件芯片的发展过程,我认为一个优秀的软件工程师应该及时的了解芯片的发展进程,以保证本身发开出的软件能更好的适应硬件,而不是拖硬件的后腿。由于硬件的发展速度实在是太快了。
题目13
解答:
其实,从出生咱们有正常的自我认知开始到死亡,压力会伴随咱们一辈子。压力对于有些人来讲,也许会成为他逃避问题的借口,但对于另外一些人来讲,也许会成为其前进的动力。是借口也好,是动力也罢,主要取决于咱们对压力的见解。就像TED中所说,你能够将压力当作有害健康的,也能够认为压力是咱们身体活力充沛的象征。在我看来,压力是我进行求知的动力,由于压力存在,说明我在处理某些问题时知识还存在欠缺,若是将这些欠缺的知识补上,那么问题也就天然而然可以解决,压力也就随之消失。
在与他人合做时,相互帮助、相互学习,在本身遇到压力时,向周围的人寻求帮助,不只弥补了本身知识的欠缺,又解决了问题;在他人遇到困难,存在压力时,你主动帮助他人,既帮助他人解决了困难,减轻了压力,同时也会增长本身在工做方面的信心。在相互帮助的过程当中,既看清了本身的强项,也认清了本身的不足,学习、工做的压力天然而然的转化成进取的动力,双方在相互帮助中取得双赢,共同成长。
题目14
解答:
第一个平台,Windows平台,用VS2010开发工具开发,开发语言为C#的winform程序,运行界面以下:
第二个平台,网页,Apache+PHP,首先须要配置环境。程序运行界面以下:
代码以下:
<?php
echo "hello world"
?>
题目15
解答:
关于这个问题,我认为,这个游戏团队只是作了一个自认为好的软件,软件的消费群体定位、商业模式、营销都考虑的不到位。
首先,游戏的消费群体,文中开发者只是简单说了购买者的评价(优美的画面、动听的音乐等等),并未说明该款游戏的主流消费群体是哪些,是学生为主仍是上班族为主,是主打碎片时间的休闲娱乐仍是竞技,这些不界定,又怎能去吸引主流消费群体下载软件。
其次,商业模式,开发者只是简单的利用平台的付费下载来盈利,这在如今的多元化社会显得有点太过于单一化了,毕竟如今的游戏软件太过于繁多了,你不可能作到,让消费者在看了一眼软件的简单介绍后就去付费下载。若是仅仅做为一个独立游戏开发者,其实改为先期免费下载,试玩一段时间之后再进行收费,或者直接免费,后期向广告商收费,这样更能增长软件的下载量。
最后,营销,开发者只是经过媒介宣传、展会、参加竞赛等等进行宣传,这对一款不是定位小众群体的游戏软件来讲明显是不够的。其实,在一开始若是对游戏的消费群体界定方面就存在误差的话,最后的营销也很难起到多大的做用。若是像文中开发者说的,“社区模式”不适合该款游戏,那我以为,前期利用免费邀请重度游戏爱好者试玩不失为一个好的方式,毕竟普通消费者大多会存在“跟风”某一方面“领袖”的行为,而重度游戏爱好者不少在游戏方面具备“领袖”的地位。
以上只是看过文章后的简单见解,毕竟在如今的社会,要作一款好的软件产品要考虑的因素实在是太多了。