合工大 net程序設(shè)計與系統(tǒng)開發(fā)試驗報告_第1頁
合工大 net程序設(shè)計與系統(tǒng)開發(fā)試驗報告_第2頁
合工大 net程序設(shè)計與系統(tǒng)開發(fā)試驗報告_第3頁
合工大 net程序設(shè)計與系統(tǒng)開發(fā)試驗報告_第4頁
合工大 net程序設(shè)計與系統(tǒng)開發(fā)試驗報告_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

本文格式為Word版,下載可任意編輯——合工大net程序設(shè)計與系統(tǒng)開發(fā)試驗報告

《.NET程序設(shè)計與系統(tǒng)開發(fā)》課程試驗報告

姓名(學(xué)號)分工成績

試驗時間2023試驗地點

專業(yè)電子商務(wù)13-01班所在學(xué)院管理學(xué)院指導(dǎo)老師

一、試驗?zāi)康?/p>

試驗一:C#語法基礎(chǔ)試驗

協(xié)同課程教學(xué),通過實際上機練習(xí),熟練把握和運用C#基本語法,能運用它進行控制臺應(yīng)用程序設(shè)計;熟悉VISUALSTUDIO.NET開發(fā)平臺;熟悉控制臺應(yīng)用程序的調(diào)試經(jīng)驗和技巧。

試驗二:C#語法高級試驗

進一步熟悉和把握C#語言,加強程序調(diào)試經(jīng)驗和技巧;鍛煉綜合運用所學(xué)知識能力,能設(shè)計和解決適當(dāng)問題。

二、試驗要求

試驗一:C#語法基礎(chǔ)試驗

實現(xiàn)試驗內(nèi)容提要中規(guī)定的各項需求;獨立(或合作或在別人協(xié)助下或老師指導(dǎo)下)創(chuàng)造性地完成試驗,嚴(yán)禁抄襲;試驗終止,提交試驗報告。

基于VISUALSTUDIO.NET平臺開展試驗,學(xué)會如何建立控制臺應(yīng)用的項目工程。把握以下語法知識:(1)數(shù)據(jù)類型;

(2)運算符、表達式、語句;(3)數(shù)組、字符串、迭代器;(4)異常處理與預(yù)處理指令;(5)類與接口;(6)事件與委托。試驗二:C#語法高級試驗

實現(xiàn)試驗內(nèi)容提要中規(guī)定的各項需求;獨立(或合作或在別人協(xié)助下或老師指導(dǎo)下)創(chuàng)造性地完成試驗,嚴(yán)禁抄襲;試驗終止,提交試驗報告。所建工程類型可以為:控制臺應(yīng)用、windows窗體應(yīng)用、ASP.NETweb應(yīng)用。

三、試驗內(nèi)容

試驗一:C#語法基礎(chǔ)試驗

任務(wù)1判斷每個輸入的數(shù)是否可被3,5和7整除,并將整除狀態(tài)輸出。要求:

(1)把握VISUALC#.NET的基本調(diào)試技巧。演示調(diào)試狀況,會跟蹤變量的值,會設(shè)置和取

消斷點,會跟蹤如何進入函數(shù)內(nèi)部

(2)對每個輸入數(shù),分別輸出對3,5和7的整除狀態(tài);(3)能實現(xiàn)屢屢輸入輸出,最好能有一些輸入提醒;(4)亦可同時輸入和處理多個數(shù),并輸出多個數(shù)的整除狀態(tài)。(5)考慮使用switch或if。

任務(wù)2練習(xí)使用for、while、dowhile、foreachin等循環(huán)語句。要求:

(1)上述循環(huán)語句至少使用1次;(2)至少有1題采用了string類實現(xiàn);(3)至少有1題采用了集合類實現(xiàn);任務(wù)3繪圖輸出y=a*sin(c*x+b)

輸出字符三角形

AAAAAAAAAAAAAAAAAAAAAAAAA

BBBBBBBBB輸出字符菱形

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBB

輸出背靠背字符三角形

WWWWWWWWBBBBBBBBBBBB

輸出交替字符倒三角形

STSTSSTSS

STSTSTSTSTSTSTSTSTSSTSTSTSTSTSTSTSTSSTSTSTSTSTSTSTSSTSTSTSTSTSTSSTSTSTSTSTSSTSTSTSTSSTSTSTSSTSTSSTSS

要求:

(1)系數(shù)a,b和c是可以變化的,可考慮是從鍵盤輸入的,或通過Main方法參數(shù)傳遞的;(2)x的取值范圍在0~4π之間,x,y值采用四舍五入;

提醒:根據(jù)輸入?yún)?shù),先生成一組數(shù)據(jù)(x,y),可考慮循環(huán)生成,四舍五入;在相應(yīng)位置輸出*或#。

任務(wù)4練習(xí)使用文件操作(選做)要求:

(1)采用程序生成楊輝三角,在屏幕上顯示;(2)創(chuàng)立目錄,并將文件存入硬盤;(3)讀取文件并在屏幕上顯示;

(4)復(fù)制文件、獲取文件屬性和其所在驅(qū)動器信息,并在屏幕上顯示;(5)創(chuàng)立目錄列表,并在屏幕上顯示;提醒:

(1)使用.NET框架中的相關(guān)操作類。

試驗二:C#語法高級試驗任務(wù)1試驗結(jié)果分析。

遺傳算法(geneticalgorithm)是模仿生物進化的智能算法,廣泛用于組合優(yōu)化等各類優(yōu)化問題。其過程包括編碼(coding)、初始化(initialization)、選擇selection/reproduction、交織(crossover)、變異(mutation)、解碼(decoding)、評估(evaluation)等過程,其中交織算子、選擇方式和適應(yīng)度值的定標(biāo)處理對算法的性能有很大影響。尋常,針對不同問題選擇不同組合,才能更好地解決問題。

常用的交織算子、選擇方式和定標(biāo)處理方法如表1-3所示。下面文件(scheme48.dat)是為了

*******

**********###

######

測試某一組合優(yōu)化問題的最正確參數(shù)組合得到,參數(shù)組合的個數(shù)為4*6*5=120,每個組合運行10次,得到該文件,例如如下:50612.9(最小值)

OnePointCrossover,GARouletteWheelSelector,GANoScaling(參數(shù)組合)runno.genvalue(第幾次運行最正確個體首次出現(xiàn)代適應(yīng)度值)075750626.9153750612.9272050612.9361550626.9472250612.9573850626.9667250626.9777050612.9850550612.9970450626.9

OnePointCrossover,GARouletteWheelSelector,GALinearScalingrunno.genvalue074650612.9163650612.9?

試進行以下分析:

?統(tǒng)計每個組合的10次運行中,達到最小值的次數(shù);

?每個組合的10次運行中,最正確個體首次出現(xiàn)代的最大、最小、平均值及方差;要求:

(6)把握VISUALC#.NET的基本調(diào)試技巧。演示調(diào)試狀況,會跟蹤變量的值,會設(shè)置和取消斷點,會跟蹤如何進入函數(shù)內(nèi)部

(7)為簡化輸出,根據(jù)表1-3中的簡寫,簡寫每個參數(shù)組合,如:OnePointCrossover,GARouletteWheelSelector,GANoScaling的簡寫是cO,rW,sN(8)輸出格式要求如下:Theminimalis50612.9.numminmaxmeanfdevcO,rW,sN:5505770650120.704cO,rW,sL:757080069781.8199cO,rW,sP:9475792658108.15cO,rW,sT:7419749557130.321cO,rW,sS:6445780625119.749cO,rT,sN:8451764640125.493cO,rT,sL:8290800610191.336cO,rT,sP:8174795481277.053cO,rT,sT:1063784425228.205cO,rT,sS:7293700509172.407數(shù)字為右對齊

numminmaxmeanfdev分別表示10次運行中達最小值的次數(shù)、最小代、最大代、達最小值代的平均值以及方差。

(9)將結(jié)果存入文件,輸入和輸出文件名均采用鍵盤輸入方式,即使用main函數(shù)的參數(shù)實現(xiàn);

(10)程序要通用,可處理類似問題。提醒:

(1)需采用循環(huán)讀入方式,如for;

(2)每讀完12行做1次處理,第一次是讀13行,可通過增加1循環(huán)狀態(tài)變量實現(xiàn);(3)使用System.IO.File類/StreamWriter/StreamReader進行文件操作(4)采用集合類,如List,ArrayList等;

(5)使用字符串函數(shù)IndexOf、LastIndexOf、StartsWith、EndsWith、substr;(6)使用數(shù)學(xué)函數(shù):冪函數(shù)Pow(x,y)、平方根Sqrt(x);(7)輸出方式控制WriteLine,

(8)集合類中的Equals和CompareTo方法實現(xiàn)比較和排序(9)標(biāo)準(zhǔn)方差和均值的計算公式如下:

表1交織算子一覽表交織算子英文簡稱單點OnePointCrossovercO兩點TwoPointCrossovercT均勻UniformCrossovercU奇偶EvenOddCrossovercE表2選擇方式一覽表選擇方式英文簡稱賭輪GARouletteWheelSelectorrW聯(lián)賽GATournamentSelectorrT排序GARankSelectorrR均勻GAUniformSelectorrU

確定性采樣GADSSelector,deterministicsamplingselectorrD隨機余數(shù)采樣GASRSSelector,stochasticremaindersamplingselectorrS表3適應(yīng)度值定標(biāo)處理方法一覽表定標(biāo)處理方法英文簡稱無定標(biāo)GANoScalingsN線性GALinearScalingsL冪函數(shù)GAPowerLawScalingsPσ截斷GASigmaTruncationScalingsT適應(yīng)值共享GASharingfitnesssharingsS

任務(wù)2日期處理類的設(shè)計、實現(xiàn)與測試基本描述

有大量日期處理的工作需要做。1)統(tǒng)計天數(shù)

旅游公司要統(tǒng)計每個人出差在外的總天數(shù),手頭上有每個人出差在外的起始和回來的考勤時間,給定一堆日期區(qū)間,將其所有的天數(shù)統(tǒng)計出來。2)推排日期

旅游公司要估計某個導(dǎo)游何時可以接受下一次任務(wù),并開列了一張當(dāng)前導(dǎo)游們還需要幾天才

能將手頭工作做完的清單,請按接受任務(wù)的早晚列出導(dǎo)游名字和可以接受任務(wù)的日期。3)確定天數(shù)

某月某日是個重要的旅游旺日,為了準(zhǔn)備迎接這個日子,須知道該日子離現(xiàn)在還有幾天,以便倒計時。4)星期幾

某個日子是星期幾,這是首先應(yīng)當(dāng)知道的,甚至是幾年以后的某一天也不例外。5)安排會議

會議議程橫跨某個時間區(qū)間,但是已經(jīng)有一些日子安排了其他工作,需要在沒有被安排的時間段中,找出最適合開會的時間。

為了使開會時間最大程度地避開其他占用的時間,會議安排應(yīng)選擇盡可能長的未安排時間區(qū)段,并且從中間劃出開會區(qū)段。假使最長的未安排區(qū)段有多個,則應(yīng)盡量早安排會議,所以假使兩邊間隔不對稱,則也應(yīng)取靠前安排。這就是所謂的最適合開會的時間。請編程將這幾個功能串在一起,用一個菜單驅(qū)動。

輸入描述:1)統(tǒng)計天數(shù)

輸入中含有若干組數(shù)據(jù),每組數(shù)據(jù)包括名字、日期和出去(out)的回來(back)的標(biāo)記。名字長度在[1,10]之間,日期為合法的yyyy-mm-dd格式的日期。對于某個人來說,出去與回來的日期成對出現(xiàn),先出去后回來,出去與回來的日期區(qū)間也不交織。例如:days.txt

Zhangsan2023-10-23outLisi2023-08-09out

Zhangsan2023-12-01backLisi2023-08-15back

2)推排日期

第一行是當(dāng)前日期(yyyy-mm-dd),以后是每個導(dǎo)游的名字(名字長度在[1,10]之間)以及完成當(dāng)前工作的所需要的天數(shù)n(0≤n≤1000)。例如:date.txt2023-10-22Zhangsan12Lisi3

3)確定天數(shù)

第一行是當(dāng)前日期(yyyy-mm-dd),后面是若干行日期,分別表示各個節(jié)日名稱(沒有空格隔開的字串)和日期(yyyy-mm-dd)。例如:future.txt2023-12-22

LabourDay2023-05-01NewYear2023-01-01NationalDay2023-10-01BeijingOlympiad2023-08-084)星期幾

輸入有若干個日期,日期之間以空格或回車隔開。例如:week.txt2023-02-22

2023-11-202023-03-085)安排會議

第一行是兩個日期和一個整數(shù),表示會議只能是這個日期區(qū)段中的某個子集,整數(shù)表示會議需要的天數(shù)。

接著若干行中每行用2個日期表示時間區(qū)段,那是已經(jīng)有了其他安排的日期,假使每行中只有一個日期,說明該時間區(qū)段只包含1天。例如:meeting.txt

2023-10-232023-12-2452023-10-272023-11-022023-11-062023-11-072023-11-142023-11-192023-11-21

2023-11-292023-12-092023-12-142023-12-20輸出描述1)統(tǒng)計天數(shù)

按名字的字母順序輸出,輸出其名字和合計天數(shù),每個人的數(shù)據(jù)占一行。名字按10位的寬度并且左對齊,而合計天數(shù)按5位寬度并且右對齊。在開始輸出前,首先輸出一行“統(tǒng)計天數(shù):〞。輸出至文件days.out或屏幕2)推排日期

按完成工作的先后順序排列,假使完成工作日期一致,則按名字字母順序排列。每人信息占一行,名字將按寬度11個字符左對齊。開始輸出前,輸出一行“推排日期:〞。輸出至文件date.out或屏幕3)確定天數(shù)

按節(jié)日離當(dāng)前日期的遠(yuǎn)近排列,近者靠前。若2個日期一樣,則按字母順序排列。每個節(jié)日名稱與天數(shù)列一行,節(jié)日名稱與天數(shù)之間空一行。開始輸出前,首先輸出一行“確定天數(shù):〞。輸出至文件future.out或屏幕4)星期幾

輸出每個日期所對應(yīng)的星期幾,星期幾以三位英文縮寫字母表示,每個日期占一行。開始輸出前。輸出“星期幾:〞。輸出至文件week.out或屏幕5)安排會議

要從未被安排的日期區(qū)段中尋覓最適合開會的時間,輸出該日期。在開始輸出前,輸出“安排會議:〞。輸出至文件meeting.out或屏幕要求:

(1)考慮自定義拷貝構(gòu)造函數(shù)、構(gòu)造函數(shù)默認(rèn)參數(shù)、字符串參數(shù)、c-串參數(shù)、整數(shù)參數(shù);

(2)使用抽象類做基類,考慮使用虛函數(shù);(3)數(shù)據(jù)成員為私有;

(4)考慮內(nèi)聯(lián)函數(shù);表達成員函數(shù)重載;(5)考慮異常處理;(6)考慮使用委托;

(7)能檢查日期的合法性,不合法給出提醒;

(8)有日期輸出功能;日期輸出時注意格式的設(shè)定,可根據(jù)枚舉型值決定輸出格式;

(9)可更改日期值;

(10)可直接進行日期對象賦值操作;(11)可根據(jù)日期判定是否閏年;

(12)能實現(xiàn)絕對天數(shù)與年月日間的相互轉(zhuǎn)換;(13)借助new可創(chuàng)立類對象;

(14)表達操作符重載,如+,++,>,--,==,+=,!=,

任務(wù)三:

任務(wù)四:

試驗二:任務(wù)一:

任務(wù)二:

六、試驗體會及思考題探討

(1)梳理和總結(jié)自己的收獲,積累經(jīng)驗;

(2)對有關(guān)思考題的探討。試驗一思考題:

1、如何添加和移除文件的訪問控制列表?

要在文件中添加或從文件中移除訪問控制列表(ACL)項,必需從文件或目錄中獲得FileSecurity或DirectorySecurity對象,對其進行修改,然后重新應(yīng)用回相應(yīng)的文件或

目錄。

在文件中添加或移除ACL項

調(diào)用GetAccessControl方法以獲取包含文件的當(dāng)前ACL項的FileSecurity對象。在從步驟1返回的FileSecurity對象中添加或移除ACL項。將FileSecurity對象傳遞到SetAccessControl方法以應(yīng)用更改。在目錄中添加或移除ACL項

調(diào)用GetAccessControl方法以獲取包含目錄的當(dāng)前ACL項的DirectorySecurity對象。

在從步驟1返回的DirectorySecurity對象中添加或移除ACL項。

將DirectorySecurity對象傳遞到SetAccessControl方法以應(yīng)用更改。例如

usingSystem;

usingSystem.IO;

usingSystem.Security.AccessControl;

namespaceFileSystemExample{

classFileExample{

publicstaticvoidMain(){try

{

stringfileName=\

Console.WriteLine(\//Addtheaccesscontrolentrytothefile.

AddFileSecurity(fileName,@\ghts.ReadData,AccessControlType.Allow);

Console.WriteLine(\//Removetheaccesscontrolentryfromthefile.RemoveFileSecurity(fileName,@\FileSystemRights.ReadData,AccessControlType.Allow);Console.WriteLine(\

}catch(Exceptione)

{Console.WriteLine(e);}}

//AddsanACLentryonthespecifiedfileforthespecifiedaccount.publicstaticvoidAddFileSecurity(stringfileName,stringaccount,FileSystemRightsrights,AccessControlTypecontrolType){

//GetaFileSecurityobjectthatrepresentsthe//currentsecuritysettings.

FileSecurityfSecurity=File.GetAccessControl(fileName);

//AddtheFileSystemAccessRuletothesecuritysettings.

fSecurity.AddAccessRule(newFileSystemAccessRule(account,rights,controlType));//Setthenewaccesssettings.

File.SetAccessControl(fileName,fSecurity);}

//RemovesanACLentryonthespecifiedfileforthespecifiedaccount.

publicstaticvoidRemoveFileSecurity(stringfileName,stringaccount,FileSystemRightsrights,AccessControlTypecontrolType){

//GetaFileSecurityobjectthatrepresentsthe

//currentsecuritysettings.

FileSecurityfSecurity=File.GetAccessControl(fileName);

//AddtheFileSystemAccessRuletothesecuritysettings.fSecurity.RemoveAccessRule(new

FileSystemAccessRule(account,rights,controlType));//Setthenewaccesssettings.

File.SetAccessControl(fileName,fSecurity);}}}編譯代碼

您必需提供有效的用戶或組帳戶才能運行此例如。此例如使用File對象;不過,對于FileInfo、Directory和DirectoryInfo類使用同一過程。

2、控制臺應(yīng)用程序的主菜單實現(xiàn)?

控制臺菜單項選擇項的實現(xiàn)(1)使用ifelse入門

程序清單1用ifelse作分支處理(V0.1)voidCmdRunning(){intiCmdNum;do{printf(\請選擇:0.退出;1.新建文件;2.開啟文件;3.保存文件

\\n\

printf(\感謝使用,再見!\\n\elseif(1==iCmdNum){CreateFile();}elseif(2==iCmdNum){OpenFile();}elseif(3==iCmdNum){SaveFile();}else{

printf(\對不起,你選擇的數(shù)字不存在,請重新選擇!\\n\}while(iCmdNum!=0);}

細(xì)心的同學(xué)可能會發(fā)現(xiàn),這段程序存在一個很嚴(yán)重的Bug,譬如,運行程序后輸入字符’a’(非數(shù)字),回車,死循環(huán)出現(xiàn)了。為什么會出現(xiàn)這種狀況呢?原因是scanf只能將緩沖區(qū)中的數(shù)字(使用了%d)讀入iCmdNum,并清空緩沖區(qū),而我們輸入的是非數(shù)字,那么scanf讀入失敗,失敗了它也就不會去清空緩沖區(qū),這樣造成的結(jié)果就是,我們不需要再輸入其它字符,scanf每次都會去讀緩沖區(qū)。

(2)入口檢查

“scanf(\〞語句是V0.1版本出現(xiàn)死循環(huán)的關(guān)鍵,那么我們不妨先從這里入手。其實只要將“%d“改為“%c〞,即可解決死循環(huán)問題。譬如:scanf(\是一個字符變量

iCmdNum=atoi(//將chCmd轉(zhuǎn)換為整型數(shù)值

這樣做就能夠解決死循環(huán)問題

(3)用switch簡化規(guī)律

由于使用ifelse處理多分支選項顯得更加繁瑣且效率低下,它必需一個一個分支的判斷,而處理多分支比較簡單想到的就是switch語句了。為了避免出現(xiàn)V0.1中的死循環(huán),我們后面的例子將使用另外一個輸入函數(shù),代碼詳見程序清單3。

程序清單3用switch語句做分支處理(V0.3)1voidCmdRunning()2{3intiCmdNum=0;14

5do{6printf(\請選擇:0.退出;1.新建文件;2.開啟文件;3.保存文件\\n\7iCmdNum=getchar();//獲得一個字符

8fflush(stdin);//清空緩沖區(qū)

9switch(iCmdNum){10case'0':11printf(\感謝使用,再見!\\n\

14CreateFile();15break;16case'2':

17OpenFile();18break;19case'3':

20SaveFile();21break;22

default:

23printf(\對不起,你選擇的數(shù)字不存在,請重新選擇!\\n\24}

25}while('0'!=iCmdNum);26}

試驗二思考題:

1、如何實現(xiàn)數(shù)據(jù)的比較和排序?見實例對DATETABLE的比較排序:

protectedvoidPage_Load(objectsender,EventArgse){

DataTabledt=newDataTable();dt.Columns.Add(\

dt.Columns.Add(\由于是字符串,所以排序不對dt.Rows.Add(\小明\dt.Rows.Add(\小張\dt.Rows.Add(\小紅\dt.Rows.Add(\小偉\dt.Rows.Add(\小美\

dt.DefaultView.Sort=\dt=dt.DefaultView.ToTable();

foreach(DataRowsindt.Rows){

Response.Write(s[\}

Response.Write(\

#region方法1:將年齡補齊為2位,然后再進行排序,但是實際不應(yīng)當(dāng)有0(僅作參考)

for(inti=0;idt.Rows[i][\}

dt.DefaultView.Sort=\

dt=dt.DefaultView.ToTable();

foreach(DataRowsindt.Rows){

Response.Write(s[\}

#endregion

Response.Write(\

#region方法2:創(chuàng)立新的DataTable,將Age類型變更為int類型DataTabledtNew=dt.Clone();

dtNew.Columns[\指定Age為Int類型foreach(DataRowsindt.Rows){

dtNew.ImportRow(s);//導(dǎo)入舊數(shù)據(jù)}

dtNew.DefaultView.Sort=\dtNew=dtNew.DefaultView.ToTable();

foreach(DataRowsindtNew.Rows){

Response.Write(s[\}

#endregion

Response.Write(\

#region方法3:添加一列,主要用于排序

dt.Columns.Add(\添加該列時,DataTable列數(shù)據(jù)即生成

dt.DefaultView.Sort=\dt=dt.DefaultView.ToTable();

foreach(DataRowsindt.Rows){

Response.Write(s[\}

#endregion

Response.Write(\

#region方法4:運用LinQ,將DataTable轉(zhuǎn)換為集合,再調(diào)用集合自帶的排序方法進行排序

foreach(DataRowsindt.Rows.Cast().OrderBy(r=>int.Parse(r[\{

Response.Write(s[\}

#endregion}

2、如何事件與委托模式?

事件是對象發(fā)送信號的行動發(fā)生的消息。該操作可能引起的用戶交互,例如鼠標(biāo)單擊,或可能會引起一些其他的程序規(guī)律。該事件引發(fā)(觸發(fā)器)的對象稱為事件發(fā)送方。捕獲事件,并對其作出響應(yīng)的對象稱為事件接收器。在事件通訊中,發(fā)件人的事件類不知道哪個對象或方法將接收(句柄)它引發(fā)的事件。我們需要的是中介人(或類似于指針機制)源和接收方之間。

.NET框架定義了一種特別類型(委托)所提供的功能的函數(shù)指針。委托是一類可以包含對方法的引用。與其他類不同,委托類具有一個簽名,按住它可以只對匹配其簽名的方法的引用。

七、附件

1、程序流程圖

2、關(guān)鍵核心代碼試驗一:

任務(wù)一:usingSystem;

usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;

usingSystem.Threading.Tasks;

namespaceMission_1{

classProgram{

staticvoidMain(string[]args){inta;

stringx;stringy;stringz;stringfff;

Booleanw;w=true;

for(intb=1;w==true;b++)

//將文件夾中的test文件復(fù)制到copy文件中File.Copy(path,\

//顯示文件屬性

Console.WriteLine(\文件的屬性為:\Console.WriteLine(File.GetAttributes(path));Console.WriteLine();

//獲取所在驅(qū)動的信息并輸出DriveInforecord=newDriveInfo(path);

Console.WriteLine(\所在驅(qū)動器卷標(biāo)為:\Console.WriteLine(record.VolumeLabel);Console.WriteLine();

Console.WriteLine(\所在驅(qū)動器名為:\Console.WriteLine(record.Name);Console.WriteLine();

Console.WriteLine(\所在驅(qū)動器類型為:\Console.WriteLine(record.DriveType);Console.WriteLine();

Console.WriteLine(\所在驅(qū)動器分區(qū)格式為:\Console.WriteLine(record.DriveFormat);Console.WriteLine();

Console.WriteLine(\所在驅(qū)動器大小為:(字節(jié))\Console.WriteLine(record.TotalSize);Console.WriteLine();

Console.WriteLine(\文件路徑為:\Console.WriteLine(path);

//防止.exe文件秒退Console.ReadLine();}}}試驗二:任務(wù)一:任務(wù)二:

3、運行與試驗結(jié)果

心得體會

在科技高度發(fā)展的今天,計算機在人們之中的作用越來越突出。而C#作為一種計算機的語言,學(xué)習(xí)它將有助于我們更好的了解計算機,與計算機進行交流,因此,我們一定要學(xué)

好C#,這對我們以后的發(fā)展是十分重要的。

通過試驗我也發(fā)現(xiàn)了自己不少的問題,這都是只看書上的程序而沒有自己親身上機編寫程序而無法得知的,假使我們只因看熟書上的程序就以為自己已經(jīng)把握了C#那就大錯特錯了。

為了能更好地學(xué)好C#,在今后學(xué)習(xí)中我要更多的動腦,綜合運用所學(xué),多看相關(guān)東西,多上機練習(xí),提高電腦水平,加強自學(xué)能力,把已會的東西把握好。以下是我對如何學(xué)好C#的看法和看法:

1、加深對課堂講授內(nèi)容的理解

課堂上要講授大量關(guān)于c#的語法規(guī)則,聽起來十分枯燥無味,也不簡單記住,死記硬背是不可取的。然而要使用c#這個工具解決實際問題,又必需把握它。通過屢屢上機練習(xí),對于語法知識有了感性的認(rèn)識,加深對它的理解,在理解的基礎(chǔ)上就會自然而然地把握c#的語法規(guī)定。對于一些內(nèi)容自己認(rèn)為在課堂上聽懂了,但上機實踐中會發(fā)現(xiàn)原來理解的偏差,這是由于大部分學(xué)生是初次接觸程序設(shè)計,缺乏程序設(shè)計的實踐所致。

學(xué)習(xí)c#不能停留在學(xué)習(xí)它的語法規(guī)則,而是利用學(xué)到的知識編寫c#程序,解決實際問題。即把c#作為工具,描述解決實際問題的步驟,由計算機幫助我們解題。只有通過上機才能檢驗自己是否把握c#、自己編寫的程序是否能夠正確地解題。通過上機試驗來驗證自己編制的程序是否正確,生怕是大多數(shù)同學(xué)在完成老師作業(yè)時的心態(tài)。但是在程序設(shè)計領(lǐng)域里這是一定要戰(zhàn)勝的傳統(tǒng)的、錯誤的想法。由于在這種思想支配下,可能你會想方法去\掩蓋\程序中的錯誤,而不是盡可能多地發(fā)現(xiàn)程序中存在的問題。自己編好程序上機調(diào)試運行時,可能有好多你想不到的狀況發(fā)生,通過解決這些問題,可以逐步提高自己對c#的理解和程序開發(fā)能力。2.學(xué)習(xí)上機調(diào)試程序

完成程序的編寫,決不意味著萬事大吉。你認(rèn)為萬無一

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論