NET程序設計實驗課程教學大綱副本_第1頁
NET程序設計實驗課程教學大綱副本_第2頁
NET程序設計實驗課程教學大綱副本_第3頁
NET程序設計實驗課程教學大綱副本_第4頁
NET程序設計實驗課程教學大綱副本_第5頁
已閱讀5頁,還剩13頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、.NET程序設計實驗課程教學大綱學時:8 學分:0.5 開課學期:第5學期一、課程目的與任務(黑體小四、下同)本課程為信息管理與信息系統專業的專業選修課程。本課程與培養目標的關系是:為學生應用.NET平臺和VISUAL C#.NET進行WEB應用程序開發打下語言基礎,本課程可以實現培養要求中的信息系統開發方面的知識和能力要求。課程主要講述的內容為:C#語法基礎實驗包括標準輸入/輸出測試、循環語句使用、正弦函數輸出;C#語法高級試驗包括日期處理和實驗數據處理。二、課程目標與要求知識目標:(1)數據類型;(2)運算符、表達式、語句;(3)數組、字符串、迭代器;(4)異常處理與預處理指令;(5)類與

2、接口;(6)事件與委托。能力目標:熟練運用VISUAL STUDIO.NET開發平臺,進行單項和綜合的控制臺應用程序開發,并熟悉控制臺應用程序的調試經驗和技巧。素質目標:進一步理解面向對象程序設計思想,增強軟件工程素養。三、與其它課程的聯系和分工本課程為.NET程序設計的組成部分,.NET程序設計的任務是C#語法教學。本門課的任務是:鞏固課堂的學習內容,熟練掌握和運用VISUAL C#.NET語言語法;培養學生的動手能力和創新能力,使學生能熟練運用VISUAL STUDIO.NET平臺進行單項和綜合控制臺應用程序開發。四、實驗主要內容與學時分配序號實驗項目名稱實驗學時實驗類別必做選做實驗內容簡

3、述1C#語法基礎實驗計算器應用程序4綜合Ö標準輸入/輸出測試、循環語句使用、正弦函數輸出2C#語法高級試驗Windows窗體+ADO或ASP.NET +ADO4設計Ö日期處理類設計、實現與測試;試驗數據分析實驗的考核采用考查形式考核學生學習情況。指導教師要檢查每個學生的程序運行情況,并且在實驗結束后,學生要提交完整的實驗報告。成績結合平時出勤表現、現場檢查及試驗報告給出。指導書要求.NET程序設計課程試驗指導書,自編注:實驗類別分:演示、驗證、綜合、設計性、其它五種;必做與選做欄以“”表示。五、實驗項目與內容提要序號實 驗名 稱內 容提 要每組人數實驗學時實驗要求實驗類別實

4、驗地點1C#語法基礎實驗標準輸入/輸出測試、循環語句使用、正弦函數輸出3-54必開綜合機房2C#語法高級試驗日期處理類設計、實現與測試;試驗數據分析3-54必開設計機房六、實驗的主要儀器設備本實驗課程主要使用的儀器設備有:計算機、服務器、集線器、交換機、投影儀、集成開發工具等。七、實驗指導書相關要求見.NET程序設計課程實驗指導書。八、關于實驗報告的要求見.NET程序設計課程實驗指導書。.NET程序設計課程實驗指 導 書(信管及相關專業使用)合肥工業大學管理學院二一二年六月目 錄試驗一、C#語法基礎實驗試驗二、C#語法高級試驗前 言該課程試驗是為了配合課程.NET程序設計的學習,幫助學生更好地

5、掌握課程的教學內容。與教學內容對應,課程試驗分為2個部分:C#語法基礎實驗和C#語法高級試驗。C#語法基礎實驗,為綜合性試驗,用于熟悉和掌握C#基本語法。C#語法高級試驗,為綜合性試驗,希望藉此掌握和綜合應用C#語法知識,開發相對復雜的控制臺應用程序。實驗一 C#語法基礎實驗一、目的配合課程教學,通過實際上機練習,熟練掌握和運用C#基本語法,能運用它進行控制臺應用程序設計;熟悉VISUAL STUDIO.NET開發平臺;熟悉控制臺應用程序的調試經驗和技巧。二、基本要求實現試驗內容提要中規定的各項需求;獨立(或合作或在別人協助下或老師指導下)創造性地完成試驗,嚴禁抄襲;試驗結束,提交試驗報告。基

6、于VISUAL STUDIO.NET平臺開展試驗,學會如何建立控制臺應用的項目工程。掌握以下語法知識:(1)數據類型;(2)運算符、表達式、語句;(3)數組、字符串、迭代器;(4)異常處理與預處理指令;(5)類與接口;(6)事件與委托。三、實驗內容任務1 判斷每個輸入的數是否可被3,5和7整除,并將整除狀態輸出。要求:(1) 掌握VISUAL C#.NET的基本調試技巧。演示調試情況,會跟蹤變量的值,會設置和取消斷點,會跟蹤如何進入函數內部(2) 對每個輸入數,分別輸出對3,5和7的整除狀態;(3) 能實現多次輸入輸出,最好能有一些輸入提示;(4) 亦可同時輸入和處理多個數,并輸出多個數的整除

7、狀態。(5) 考慮使用switch 或if。任務2 練習使用for、while、do while、foreach in等循環語句。輸出背靠背字符三角形W WWW WWWWW WWWWWWW WWWWB BBB BBBBB BBB輸出字符三角形AAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBB 輸出交替字符倒三角形STSTSSTSSSTSTSTSTSTSTSTSTSTSSTSTSTSTSTSTSTSTSSTSTSTSTSTSTSTSSTSTSTSTSTSTSSTSTSTSTSTSSTSTSTSTSSTSTSTSSTSTSSTSS輸出字符菱形AAAAAAAAAAAAAAAAAAA

8、AAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBB要求:(1) 上述循環語句至少使用1次;(2) 至少有1題采用了string類實現;(3) 至少有1題采用了集合類實現;任務3 繪圖輸出y=a*sin(c*x + b)要求:(1) 系數a, b和c是可以變化的,可考慮是從鍵盤輸入的,或通過Main方法參數傳遞的;(2) x的取值范圍在04之間,x,y值采用四舍五入;提示:根據輸入參數,先生成一組數據(x, y),可考慮循環生成,四舍五入;在相應位置輸出*或#。 * * * * * * * * * * * * * * * * * # # # # # # # #任務4 練習使用

9、文件操作(選做)要求:(1)采用程序生成楊輝三角,在屏幕上顯示;(2)創建目錄,并將文件存入硬盤;(3)讀取文件并在屏幕上顯示;(4)復制文件、獲取文件屬性和其所在驅動器信息,并在屏幕上顯示;(5)創建目錄列表,并在屏幕上顯示;提示:(1) 使用.NET框架中的相關操作類。四、實驗方法與實驗步驟試驗方法:在VISUAL STUDIO.NET平臺編程完成相應任務,并測試通過。試驗步驟:1、組長確定組員任務分工; 2、分別熟悉試驗任務,熟悉試驗環境;3、各組員開發和測試各自的任務;4、各組員撰寫各自任務的試驗報告,形成自己的試驗報告;5、組長將組員的報告合并,包括整體工作,形成本組報告,封面寫上所

10、有組員名字,內部在相應部分標示組員工作。五、設備或工具使用說明硬件平臺:計算機、服務器、集線器、交換機、數碼相機;系統平臺:Windows開發語言:C#開發平臺:VISUAL STUDIO.NET六、注意事項注重實現及實戰演練,不要求進行系統分析與設計;注重C#語法的應用,非功能本身;注意將各組各人使用的數據分開,防止相互影響。七、思考題1、如果添加和移除文件的訪問控制列表?2、控制臺應用程序的主菜單實現?實驗二 C#語法高級試驗一、目的進一步熟悉和掌握C#語言,增強程序調試經驗和技巧;鍛煉綜合運用所學知識能力,能設計解決適當問題。二、基本要求實現試驗內容提要中規定的各項需求;獨立(或合作或在

11、別人協助下或老師指導下)創造性地完成試驗,嚴禁抄襲;試驗結束,提交試驗報告。三、實驗內容任務1試驗結果分析。遺傳算法(genetic algorithm)是模仿生物進化的智能算法,廣泛用于組合優化等各類優化問題。其過程包括編碼(coding)、初始化(initialization)、選擇selection/reproduction、交叉(crossover)、變異(mutation)、解碼(decoding)、評估(evaluation)等過程,其中交叉算子、選擇方式和適應度值的定標處理對算法的性能有很大影響。通常,針對不同問題選擇不同組合,才能更好地解決問題。常用的交叉算子、選擇方式和定標處

12、理方法如表13所示。下面文件(scheme48.dat)是為了測試某一組合優化問題的最佳參數組合得到,參數組合的個數為4*6*5=120,每個組合運行10次,得到該文件,示例如下:50612.9(最小值)OnePointCrossover,GARouletteWheelSelector,GANoScaling(參數組合)run no.genvalue(第幾次運行最佳個體首次出現代適應度值)075750626.9153750612.9272050612.9361550626.9472250612.9573850626.9667250626.9777050612.9850550612.997045

13、0626.9OnePointCrossover,GARouletteWheelSelector,GALinearScalingrun no.genvalue074650612.9163650612.9試進行以下分析:l 統計每個組合的10次運行中,達到最小值的次數;l 每個組合的10次運行中,最佳個體首次出現代的最大、最小、平均值及方差;要求:(6) 掌握VISUAL C#.NET的基本調試技巧。演示調試情況,會跟蹤變量的值,會設置和取消斷點,會跟蹤如何進入函數內部(7) 為簡化輸出,根據表13中的簡寫,簡寫每個參數組合,如:OnePointCrossover,GARouletteWheelS

14、elector,GANoScaling的簡寫是cO,rW,sN (8) 輸出格式要求如下:The minimal is 50612.9. num min max mean fdevcO,rW,sN: 5 505 770 650 120.704cO,rW,sL: 7 570 800 697 81.8199cO,rW,sP: 9 475 792 658 108.15cO,rW,sT: 7 419 749 557 130.321cO,rW,sS: 6 445 780 625 119.749cO,rT,sN: 8 451 764 640 125.493cO,rT,sL: 8 290 800 610 1

15、91.336cO,rT,sP: 8 174 795 481 277.053cO,rT,sT: 10 63 784 425 228.205cO,rT,sS: 7 293 700 509 172.407數字為右對齊num min max mean fdev分別表示10次運行中達最小值的次數、最小代、最大代、達最小值代的平均值以及方差。(9) 將結果存入文件,輸入和輸出文件名均采用鍵盤輸入方式,即使用main函數的參數實現;(10) 程序要通用,可處理類似問題。提示:(1) 需采用循環讀入方式,如for;(2) 每讀完12行做1次處理,第一次是讀13行,可通過增加1循環狀態變量實現;(3) 使用Sy

16、stem.IO.File類/StreamWriter/ StreamReader進行文件操作(4) 采用集合類,如List, ArrayList等;(5) 使用字符串函數IndexOf、LastIndexOf、StartsWith、EndsWith、substr;(6) 使用數學函數:冪函數Pow(x,y)、平方根Sqrt(x);(7) 輸出方式控制WriteLine,(8) 集合類中的Equals和CompareTo方法實現比較和排序(9) 標準方差和均值的計算公式如下:表1交叉算子一覽表交叉算子英文簡稱單點OnePointCrossovercO兩點TwoPointCrossovercT均勻

17、UniformCrossovercU奇偶EvenOddCrossovercE表2選擇方式一覽表選擇方式英文簡稱賭輪GARouletteWheelSelectorrW聯賽GATournamentSelectorrT排序GARankSelectorrR均勻GAUniformSelectorrU確定性采樣GADSSelector, deterministic sampling selectorrD隨機余數采樣GASRSSelector, stochastic remainder sampling selectorrS表3適應度值定標處理方法一覽表定標處理方法英文簡稱無定標GANoScalingsN線

18、性GALinearScalingsL冪函數GAPowerLawScalingsP截斷GASigmaTruncationScalingsT適應值共享GASharing fitness sharingsS任務2 日期處理類的設計、實現與測試基本描述有許多日期處理的工作需要做。1)統計天數旅游公司要統計每個人出差在外的總天數,手頭上有每個人出差在外的起始和回來的考勤時間,給定一堆日期區間,將其所有的天數統計出來。2)推排日期旅游公司要估計某個導游何時可以接受下一次任務,并開列了一張當前導游們還需要幾天才能將手頭工作做完的清單,請按接受任務的早晚列出導游名字和可以接受任務的日期。3)確定天數某月某日是

19、個重要的旅游旺日,為了準備迎接這個日子,須知道該日子離現在還有幾天,以便倒計時。4)星期幾某個日子是星期幾,這是首先應該知道的,甚至是幾年以后的某一天也不例外。5)安排會議會議議程橫跨某個時間區間,但是已經有一些日子安排了其他工作,需要在沒有被安排的時間段中,找出最適合開會的時間。為了使開會時間最大程度地避開其他占用的時間,會議安排應選擇盡可能長的未安排時間區段,并且從中間劃出開會區段。如果最長的未安排區段有多個,則應盡量早安排會議,所以如果兩邊間隔不對稱,則也應取靠前安排。這就是所謂的最適合開會的時間。請編程將這幾個功能串在一起,用一個菜單驅動。輸入描述:1)統計天數輸入中含有若干組數據,每

20、組數據包括名字、日期和出去(out)的回來(back)的標記。名字長度在1,10之間,日期為合法的yyyy-mm-dd格式的日期。對于某個人來說,出去與回來的日期成對出現,先出去后回來,出去與回來的日期區間也不交叉。示例:days.txtZhangsan 2005-10-23 outLisi 2005-08-09 outZhangsan 2005-12-01 backLisi 2005-08-15 back2)推排日期第一行是當前日期(yyyy-mm-dd),以后是每個導游的名字(名字長度在1,10之間)以及完成當前工作的所需要的天數n(0n1000)。示例:date.txt2006-10-2

21、2Zhangsan 12Lisi 33)確定天數第一行是當前日期(yyyy-mm-dd),后面是若干行日期,分別表示各個節日名稱(沒有空格隔開的字串)和日期(yyyy-mm-dd)。示例:future.txt2006-12-22LabourDay 2008-05-01NewYear 2008-01-01NationalDay 2008-10-01BeijingOlympiad 2008-08-084)星期幾輸入有若干個日期,日期之間以空格或回車隔開。示例:week.txt2008-02-222006-11-202008-03-085)安排會議第一行是兩個日期和一個整數,表示會議只能是這個日期區

22、段中的某個子集,整數表示會議需要的天數。接著若干行中每行用2個日期表示時間區段,那是已經有了其他安排的日期,如果每行中只有一個日期,說明該時間區段只包含1天。示例:meeting.txt2006-10-23 2006-12-24 52006-10-27 2006-11-022006-11-06 2006-11-072006-11-14 2006-11-192006-11-212006-11-29 2006-12-092006-12-14 2006-12-20輸出描述1)統計天數按名字的字母順序輸出,輸出其名字和合計天數,每個人的數據占一行。名字按10位的寬度并且左對齊,而合計天數按5位寬度并且

23、右對齊。在開始輸出前,首先輸出一行“統計天數:”。輸出至文件days.out或屏幕2)推排日期按完成工作的先后順序排列,如果完成工作日期相同,則按名字字母順序排列。每人信息占一行,名字將按寬度11個字符左對齊。開始輸出前,輸出一行“推排日期:”。輸出至文件date.out或屏幕3)確定天數按節日離當前日期的遠近排列,近者靠前。若2個日期一樣,則按字母順序排列。每個節日名稱與天數列一行,節日名稱與天數之間空一行。開始輸出前,首先輸出一行“確定天數:”。輸出至文件future.out或屏幕4)星期幾輸出每個日期所對應的星期幾,星期幾以三位英文縮寫字母表示,每個日期占一行。開始輸出前。輸出“星期幾:

24、”。輸出至文件week.out或屏幕5)安排會議要從未被安排的日期區段中尋找最適合開會的時間,輸出該日期。在開始輸出前,輸出“安排會議:”。輸出至文件meeting.out或屏幕要求:(1) 考慮自定義拷貝構造函數、構造函數默認參數、字符串參數、c串參數、整數參數;(2) 使用抽象類做基類,考慮使用虛函數;(3) 數據成員為私有;(4) 考慮內聯函數;體現成員函數重載;(5) 考慮異常處理;(6) 考慮使用委托;(7) 能檢查日期的合法性,不合法給出提示;(8) 有日期輸出功能;日期輸出時注意格式的設定,可根據枚舉型值決定輸出格式;(9) 可更改日期值;(10) 可直接進行日期對象賦值操作;(11) 可根據日期判定是否閏年;(12) 能實現絕對天數與年月日間的相互轉換;(13) 借助new可創建類對象;(14) 體現操作符重載,如+,+, <<,>>,

溫馨提示

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

評論

0/150

提交評論