《.NET程序设计实验课程教学大纲》由会员分享,可在线阅读,更多相关《.NET程序设计实验课程教学大纲(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
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程序设计课程试验指导书,自编注:实验类别分:演示、验证、综合、设计性、其它五种;必做与选做栏以“”表示。五、实验项目与内容提要序号实 验名 称内 容提 要每组人数实验学时实验要求实验类别实验地点1C#语法基础实验
4、标准输入/输出测试、循环语句使用、正弦函数输出3-54必开综合机房2C#语法高级试验日期处理类设计、实现与测试;试验数据分析3-54必开设计机房六、实验的主要仪器设备本实验课程主要使用的仪器设备有:计算机、服务器、集线器、交换机、投影仪、集成开发工具等。七、实验指导书相关要求见.NET程序设计课程实验指导书。八、关于实验报告的要求见.NET程序设计课程实验指导书。.NET程序设计课程实验指 导 书(信管及相关专业使用)合肥工业大学管理学院二一二年六月目 录试验一、C#语法基础实验试验二、C#语法高级试验前 言该课程试验是为了配合课程.NET程序设计的学习,帮助学生更好地掌握课程的教学内容。与教
5、学内容对应,课程试验分为2个部分:C#语法基础实验和C#语法高级试验。C#语法基础实验,为综合性试验,用于熟悉和掌握C#基本语法。C#语法高级试验,为综合性试验,希望藉此掌握和综合应用C#语法知识,开发相对复杂的控制台应用程序。实验一 C#语法基础实验一、目的配合课程教学,通过实际上机练习,熟练掌握和运用C#基本语法,能运用它进行控制台应用程序设计;熟悉VISUAL STUDIO.NET开发平台;熟悉控制台应用程序的调试经验和技巧。二、基本要求实现试验内容提要中规定的各项需求;独立(或合作或在别人协助下或老师指导下)创造性地完成试验,严禁抄袭;试验结束,提交试验报告。基于VISUAL STUD
6、IO.NET平台开展试验,学会如何建立控制台应用的项目工程。掌握以下语法知识:(1)数据类型;(2)运算符、表达式、语句;(3)数组、字符串、迭代器;(4)异常处理与预处理指令;(5)类与接口;(6)事件与委托。三、实验内容任务1 判断每个输入的数是否可被3,5和7整除,并将整除状态输出。要求:(1) 掌握VISUAL C#.NET的基本调试技巧。演示调试情况,会跟踪变量的值,会设置和取消断点,会跟踪如何进入函数内部(2) 对每个输入数,分别输出对3,5和7的整除状态;(3) 能实现多次输入输出,最好能有一些输入提示;(4) 亦可同时输入和处理多个数,并输出多个数的整除状态。(5) 考虑使用s
7、witch 或if。任务2 练习使用for、while、do while、foreach in等循环语句。输出背靠背字符三角形W WWW WWWWW WWWWWWW WWWWB BBB BBBBB BBB输出字符三角形AAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBB 输出交替字符倒三角形STSTSSTSSSTSTSTSTSTSTSTSTSTSSTSTSTSTSTSTSTSTSSTSTSTSTSTSTSTSSTSTSTSTSTSTSSTSTSTSTSTSSTSTSTSTSSTSTSTSSTSTSSTSS输出字符菱形AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
8、AAAAAAAAAABBBBBBBBBBBBB要求:(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)等过程,其中交叉算子、选择方式和适应度值的定标处理对算法的性能有很大影响。通常,针对不同问题选择不同组合,才能更好地解决问题。常用的交叉算子、选择方式和定标处理方法如表13所示。下面
12、文件(scheme48.dat)是为了测试某一组合优化问题的最佳参数组合得到,参数组合的个数为4*6*5=120,每个组合运行10次,得到该文件,示例如下:50612.9(最小值)OnePointCrossover,GARouletteWheelSelector,GANoScaling(参数组合)run no.genvalue(第几次运行最佳个体首次出现代适应度值)075750626.9153750612.9272050612.9361550626.9472250612.9573850626.9667250626.9777050612.9850550612.9970450626.9OnePoi
13、ntCrossover,GARouletteWheelSelector,GALinearScalingrun no.genvalue074650612.9163650612.9试进行以下分析:l 统计每个组合的10次运行中,达到最小值的次数;l 每个组合的10次运行中,最佳个体首次出现代的最大、最小、平均值及方差;要求:(6) 掌握VISUAL C#.NET的基本调试技巧。演示调试情况,会跟踪变量的值,会设置和取消断点,会跟踪如何进入函数内部(7) 为简化输出,根据表13中的简写,简写每个参数组合,如:OnePointCrossover,GARouletteWheelSelector,GANo
14、Scaling的简写是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 191.336cO,rT,
15、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) 使用System.IO.File
16、类/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均匀UniformCross
17、overcU奇偶EvenOddCrossovercE表2选择方式一览表选择方式英文简称赌轮GARouletteWheelSelectorrW联赛GATournamentSelectorrT排序GARankSelectorrR均匀GAUniformSelectorrU确定性采样GADSSelector, deterministic sampling selectorrD随机余数采样GASRSSelector, stochastic remainder sampling selectorrS表3适应度值定标处理方法一览表定标处理方法英文简称无定标GANoScalingsN线性GALinearSca
18、lingsL幂函数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-22Zhangsan 12
21、Lisi 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)星期几输出每个日期所对应的星期几,星期几以三位英文缩写字母表示,每个日期占一行。开始输出前。输出“星期几:”。输出至文件week.
24、out或屏幕5)安排会议要从未被安排的日期区段中寻找最适合开会的时间,输出该日期。在开始输出前,输出“安排会议:”。输出至文件meeting.out或屏幕要求:(1) 考虑自定义拷贝构造函数、构造函数默认参数、字符串参数、c串参数、整数参数;(2) 使用抽象类做基类,考虑使用虚函数;(3) 数据成员为私有;(4) 考虑内联函数;体现成员函数重载;(5) 考虑异常处理;(6) 考虑使用委托;(7) 能检查日期的合法性,不合法给出提示;(8) 有日期输出功能;日期输出时注意格式的设定,可根据枚举型值决定输出格式;(9) 可更改日期值;(10) 可直接进行日期对象赋值操作;(11) 可根据日期判定是
25、否闰年;(12) 能实现绝对天数与年月日间的相互转换;(13) 借助new可创建类对象;(14) 体现操作符重载,如+,+, ,-,=,+=,!=,-,-=;(15) 实现菜单操作。提示:(1) 需使用using system,用于清屏和获取屏幕输入ReadKey(),ReaLline();(2) 将每个功能作为一个函数,它们是同类型的,为了调用方便,可将它们做成函数指针数组,调用起来比较方便。(3) 老师可先讲解主程序结构,即菜单实现,可指导学生一块一块实现;(4) 可考虑采用日期的天数版四、实验方法与实验步骤试验方法:在VISUAL STUDIO.NET平台编程完成相应任务,并测试通过。试
26、验步骤:1、组长确定组员任务分工; 2、分别熟悉试验任务,熟悉试验环境;3、各组员开发和测试各自的任务;4、各组员撰写各自任务的试验报告,形成自己的试验报告;5、组长将组员的报告合并,包括整体工作,形成本组报告,封面写上所有组员名字,内部在相应部分标示组员工作。五、设备或工具使用说明硬件平台:计算机、服务器、集线器、交换机;系统平台:Windows开发语言: Visual C#.NET开发平台:VISUAL STUDIO.NET 六、注意事项注重实现及实战演练,不要求进行系统分析与设计;注重C#语法的综合应用,非功能本身;注意将各组各人使用的数据分开,防止相互影响。七、思考题1、如何实现数据的比较和排序?2、如何事件与委托模式?实验报告要求.NET程序设计课程实验报告时间: 年 月 日 地点:一、实验目的结合试验指导书写。二、实验要求结合试验指导书写。三、实验内容可结合具体每个人的不同情况,来自己具体承担的任务。四、实验步骤写具体步骤,详写环境搭建、每一步的具体实现,以及各项功能的实现。五、实验结果系统的运行及测试情况。六、实验体会及思考题讨论梳理和总结自己的收获,积累经验;对有关思考题的讨论。七、附件实验报告应包含以下附件:1、程序流程图2、关键核心代码3、运行与试验结果正文用5号宋体,字数15000-25000之间。