《.NET程序设计实验课程》教学大纲学时:8学分:0.5开课学期:第5学期一、课程目的与任务(黑体小四、下同)本课程为信息管理与信息系统专业的专业选修课程。本课程与培养目标的关系是:为学生应用.NET平台和VISUALC#.NET进行WEB应用程序开发打下语言基础,本课程可以实现培养要求中的信息系统开发方面的知识和能力要求。课程主要讲述的内容为:C#语法基础实验包括标准输入/输出测试、循环语句使用、正弦函数输出;C#语法高级试验包括日期处理和实验数据处理。二、课程目标与要求知识目标:(1)数据类型;(2)运算符、表达式、语句;(3)数组、字符串、迭代器;(4)异常处理与预处理指令;(5)类与接口;(6)事件与委托。能力目标:熟练运用VISUALSTUDIO.NET开发平台,进行单项和综合的控制台应用程序开发,并熟悉控制台应用程序的调试经验和技巧。素质目标:进一步理解面向对象程序设计思想,增强软件工程素养。三、与其它课程的联系和分工本课程为《.NET程序设计》的组成部分,《.NET程序设计》的任务是C#语法教学。本门课的任务是:巩固课堂的学习内容,熟练掌握和运用VISUALC#.NET语言语法;培养学生的动手能力和创新能力,使学生能熟练运用VISUALSTUDIO.NET平台进行单项和综合控制台应用程序开发。四、实验主要内容与学时分配序号实验项目名称实验学时实验类别必做选做实验内容简述1C#语法基础实验计算器应用程序4综合标准输入/输出测试、循环语句使用、正弦函数输出2C#语法高级试验Windows窗体+ADO或ASP.NET+ADO4设计日期处理类设计、实现与测试;试验数据分析实验的考核采用考查形式考核学生学习情况。指导教师要检查每个学生的程序运行情况,并且在实验结束后,学生要提交完整的实验报告。成绩结合平时出勤表现、现场检查及试验报告给出。指导书要求.NET程序设计课程试验指导书,自编注:实验类别分:演示、验证、综合、设计性、其它五种;必做与选做栏以“√”表示。五、实验项目与内容提要序号实验名称内容提要每组人数实验学时实验要求实验类别实验地点1C#语法基础实验标准输入/输出测试、循环语句使用、正弦函数输出3-54必开综合机房2C#语法高级试验日期处理类设计、实现与测试;试验数据分析3-54必开设计机房六、实验的主要仪器设备本实验课程主要使用的仪器设备有:计算机、服务器、集线器、交换机、投影仪、集成开发工具等。七、实验指导书相关要求见《.NET程序设计》课程实验指导书。八、关于实验报告的要求见《.NET程序设计》课程实验指导书。《.NET程序设计》课程实验指导书(信管及相关专业使用)合肥工业大学管理学院二O一二年六月目录试验一、C#语法基础实验试验二、C#语法高级试验前言该课程试验是为了配合课程《.NET程序设计》的学习,帮助学生更好地掌握课程的教学内容。与教学内容对应,课程试验分为2个部分:C#语法基础实验和C#语法高级试验。C#语法基础实验,为综合性试验,用于熟悉和掌握C#基本语法。C#语法高级试验,为综合性试验,希望藉此掌握和综合应用C#语法知识,开发相对复杂的控制台应用程序。实验一C#语法基础实验一、目的配合课程教学,通过实际上机练习,熟练掌握和运用C#基本语法,能运用它进行控制台应用程序设计;熟悉VISUALSTUDIO.NET开发平台;熟悉控制台应用程序的调试经验和技巧。二、基本要求实现试验内容提要中规定的各项需求;独立(或合作或在别人协助下或老师指导下)创造性地完成试验,严禁抄袭;试验结束,提交试验报告。基于VISUALSTUDIO.NET平台开展试验,学会如何建立控制台应用的项目工程。掌握以下语法知识:(1)数据类型;(2)运算符、表达式、语句;(3)数组、字符串、迭代器;(4)异常处理与预处理指令;(5)类与接口;(6)事件与委托。三、实验内容任务1判断每个输入的数是否可被3,5和7整除,并将整除状态输出。要求:(1)掌握VISUALC#.NET的基本调试技巧。演示调试情况,会跟踪变量的值,会设置和取消断点,会跟踪如何进入函数内部(2)对每个输入数,分别输出对3,5和7的整除状态;(3)能实现多次输入输出,最好能有一些输入提示;(4)亦可同时输入和处理多个数,并输出多个数的整除状态。(5)考虑使用switch或if。任务2练习使用for、while、dowhile、foreachin等循环语句。要求:(1)上述循环语句至少使用1次;(2)至少有1题采用了string类实现;(3)至少有1题采用了集合类实现;任务3绘图输出y=a*sin(c*x+b)要求:(1)系数a,b和c是可以变化的,可考虑是从键盘输入的,或通过Main方法输出字符三角形AAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBB输出字符菱形AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBB输出背靠背字符三角形参数传递的;(2)x的取值范围在0~4π之间,x,y值采用四舍五入;提示:根据输入参数,先生成一组数据(x,y),可考虑循环生成,四舍五入;在相应位置输出*或#。任务4练习使用文件操作(选做)要求:(1)采用程序生成杨辉三角,在屏幕上显示;(2)创建目录,并将文件存入硬盘;(3)读取文件并在屏幕上显示;(4)复制文件、获取文件属性和其所在驱动器信息,并在屏幕上显示;(5)创建目录列表,并在屏幕上显示;提示:(1)使用.NET框架中的相关操作类。四、实验方法与实验步骤试验方法:在VISUALSTUDIO.NET平台编程完成相应任务,并测试通过。试验步骤:1、组长确定组员任务分工;2、分别熟悉试验任务,熟悉试验环境;*****************#########3、各组员开发和测试各自的任务;4、各组员撰写各自任务的试验报告,形成自己的试验报告;5、组长将组员的报告合并,包括整体工作,形成本组报告,封面写上所有组员名字,内部在相应部分标示组员工作。五、设备或工具使用说明硬件平台:计算机、服务器、集线器、交换机、数码相机;系统平台:Windows开发语言:C#开发平台:VISUALSTUDIO.NET六、注意事项注重实现及实战演练,不要求进行系统分析与设计;注重C#语法的应用,非功能本身;注意将各组各人使用的数据分开,防止相互影响。七、思考题1、如果添加和移除文件的访问控制列表?2、控制台应用程序的主菜单实现?实验二C#语法高级试验一、目的进一步熟悉和掌握C#语言,增强程序调试经验和技巧;锻炼综合运用所学知识能力,能设计解决适当问题。二、基本要求实现试验内容提要中规定的各项需求;独立(或合作或在别人协助下或老师指导下)创造性地完成试验,严禁抄袭;试验结束,提交试验报告。三、实验内容任务1试验结果分析。遗传算法(geneticalgorithm)是模仿生物进化的智能算法,广泛用于组合优化等各类优化问题。其过程包括编码(coding)、初始化(initialization)、选择selection/reproduction、交叉(crossover)、变异(mutation)、解码(decoding)、评估(evaluation)等过程,其中交叉算子、选择方式和适应度值的定标处理对算法的性能有很大影响。通常,针对不同问题选择不同组合,才能更好地解决问题。常用的交叉算子、选择方式和定标处理方法如表1-3所示。下面文件(scheme48.dat)是为了测试某一组合优化问题的最佳参数组合得到,参数组合的个数为4*6*5=120,每个组合运行10次,得到该文件,示例如下:50612.9(最小值)OnePointCrossover,GARouletteWheelSelector,GANoScaling(参数组合)runno.genvalue(第几次运行最佳个体首次出现代适应度值)075750626.9153750612.9272050612.9361550626.9472250612.9573850626.9667250626.9777050612.9850550612.9970450626.9OnePointCrossover,GARouletteWheelSelector,GALinearScalingrunno.genvalue074650612.9163650612.9…试进行以下分析:统计每个组合的10次运行中,达到最小值的次数;每个组合的10次运行中,最佳个体首次出现代的最大、最小、平均值及方差;要求:(6)掌握VISUALC#.NET的基本调试技巧。演示调试情况,会跟踪变量的值,会设置和取消断点,会跟踪如何进入函数内部(7)为简化输出,根据表1-3中的简写,简写每个参数组合,如: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数字为右对齐numminmaxmeanfdev分别表示10次运行中达最小值的次数、最小代、最大代、达最小值代的平均值以及方差。(9)将结果存入文件,输入和输出文件名均采用键盘输入方式,即使用main函数的参数实现;(10)程序要通用,可处理类似问题。提示:(1)需采用循环读入方式,如for;(2)每读完12行做1次处理,第一次是读13行,可通过增加1循环状态变量实现;(3)使用System.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均匀UniformCrossovercU奇偶EvenOddCrossovercE表2选择方式一览表选择方式英文简称赌轮GARouletteWheelSelectorrW联赛GATournamentSelectorrT排序GARankSelectorrR均匀GAUniformSelectorrU确定性采样GADSSelector,deterministicsamplingselectorrD随机余数采样GASRSSelector,stochasticremaindersamplingselectorrS表3适应度值定标处理方法一览表定标处理方法英文简称无定标GANoScalingsN线性GALinearScalingsL幂函数GAPowerLawScalingsPσ截断GASigmaTruncati