題目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
解答:
關於這個問題,我認爲,這個遊戲團隊只是作了一個自認爲好的軟件,軟件的消費羣體定位、商業模式、營銷都考慮的不到位。
首先,遊戲的消費羣體,文中開發者只是簡單說了購買者的評價(優美的畫面、動聽的音樂等等),並未說明該款遊戲的主流消費羣體是哪些,是學生爲主仍是上班族爲主,是主打碎片時間的休閒娛樂仍是競技,這些不界定,又怎能去吸引主流消費羣體下載軟件。
其次,商業模式,開發者只是簡單的利用平臺的付費下載來盈利,這在如今的多元化社會顯得有點太過於單一化了,畢竟如今的遊戲軟件太過於繁多了,你不可能作到,讓消費者在看了一眼軟件的簡單介紹後就去付費下載。若是僅僅做爲一個獨立遊戲開發者,其實改爲先期免費下載,試玩一段時間之後再進行收費,或者直接免費,後期向廣告商收費,這樣更能增長軟件的下載量。
最後,營銷,開發者只是經過媒介宣傳、展會、參加競賽等等進行宣傳,這對一款不是定位小衆羣體的遊戲軟件來講明顯是不夠的。其實,在一開始若是對遊戲的消費羣體界定方面就存在誤差的話,最後的營銷也很難起到多大的做用。若是像文中開發者說的,「社區模式」不適合該款遊戲,那我以爲,前期利用免費邀請重度遊戲愛好者試玩不失爲一個好的方式,畢竟普通消費者大多會存在「跟風」某一方面「領袖」的行爲,而重度遊戲愛好者不少在遊戲方面具備「領袖」的地位。
以上只是看過文章後的簡單見解,畢竟在如今的社會,要作一款好的軟件產品要考慮的因素實在是太多了。