兰州交通大学国家级计算机实验教学示范中心欢迎您!

设为首页 加入收藏 联系我们

此页面上的内容需要较新版本的 Adobe Flash Player。

获取 Adobe Flash Player

 
 
您的位置: 首页 > 实验教学 > 实验课程
实验课程
.NET程序设计与开发专题
 

一、实验课程基本信息

课程代码

32021541

课程英文名称

Experiments of .NET Programming and Development

开课实验室

计算机科学与技术实验中心

课程性质

必修课

课程类别

实践教育

单开课

是 R 否□

实验学时

32

学分数

2

适用专业

计算机科学与技术

执笔人

杜晓刚

审核人

陈永

编写日期

2013年 3 月

二、实验课程教学目的

《.NET程序设计与开发专题实验》是计算机科学与技术专业的一门实践性很强的专业课。通过本课程的实践,培养学生对学习程序设计的兴趣,使学生全面理解C#语言的特点,熟练掌握C#语言的基础知识,理解面向对象的基本概念和面向对象程序设计的思想和方法,最终掌握利用C#语言在Visual Studio .NET集成开发环境下进行基本程序设计和windows程序设计的能力,达到实验知识和理论知识的融会贯通。

三、实验课程教学基本要求

熟悉C#语言程序开发的环境Visual Studio .NET2005/2008/2010;学会在集成开发环境Visual Studio .NET下调试程序,能发现和排除程序中出现的语法错误和逻辑错误,使程序能正确运行,实现实验要求的功能。上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序,直至运行结果正确为止,上机结束后,应整理出实验报告。

四、实验课程教学基本内容

实验项目编号: 01

实验项目名称

VS开发环境和调试运行方法

实验类型

验证性

实验学时

2

必开 R 选开 □

备注

目的和要求:

(1) 开发环境Visual Studio 2005的安装和设置;

(2) 编写利用C#语言编写简单的控制台程序和windows应用程序。

(3) 利用Visual Studio 2005设置断点、单步跟踪和调试程序。

内容:

  1. 根据个人习惯配置开发环境,设置键盘方案和窗口布局等。
  2. 新建一个C#的控制台程序,输出“Hello C#!“。
  3. 新建一个C#的windows应用程序, 弹出对话框显示“Hello C#“。

主要仪器设备及试剂:

安装有Visual Studio2005/2008/2010开发环境的PC机。

实验项目编号: 02

实验项目名称

C#简单数据类型、运算、控制语句

实验类型

设计性

实验学时

4

必开 R 选开 □

备注

目的和要求:

(1) 掌握C#中变量和常量的定义和使用;

(2) 熟练掌握C#中的基本数据类型及转换、运算符和表达式运算;

(3) 熟练掌握C#中表达式语句、程序控制结构、注释语句的用法。

内容:

(1)写一条for语句,计数条件为n从100~200,步长为2;然后再用while语句实现同样的循环。

(2)编写一段程序,运行时向用户提问“你考了多少分?(0~100)”,接受输入后判断其等级并显示出来。判断依据如下:

等级={优 (90~100分);良(80~89分);中(60~69分);差(0~59分);}

(3)输入一个整数,将各位数字反转输出。

(4)使用穷举法并分别用for、while、do…while循环语句求出1~100之间的质数。

(5)求出1~1000之间的所有能被7整除的树,并计算和输出每5个的和。

(6)编写控制台程序,分别输出1~100之间的平方、平方根、自然对数、e指数的数学用表。

主要仪器设备及试剂:

安装有Visual Studio2005/2008/2010开发环境的PC机。

实验项目编号: 03

实验项目名称

数组和字符串

实验类型

设计性

实验学时

2

必开 R 选开 □

备注

目的和要求:

(1) 理解数组的概念,并掌握一维数组、二维数组、交错数组的使用;

(2) 理解字符串的概念,熟悉.NET类库中字符串操作的重要方法。

内容:

1. 编写一个使用代表的程序,对整型数组中的元素进行排序。

2. 建立一个一维数组,使用该数组列出所学习的课程名称。

3. 定义一个行数和列数相等的二维数组,并执行初始化,然后计算该数级两条对角线上的元素值之和。

4. 编写一个控制台应用程序,接收一个长度大于3的字符串,完成下列功能。

(1)输出字符串的长度。

(2)输出字符串中第一个出现字母a的位置。

(3)在字符串的第3个字符后面插入子串“hello”,输出新字符串。

(4)将字符串“hello”替换为“me”,输出新字符串。

(5)以字符“m”为分隔符,将字符串分离,并输出分离后的字符串。

主要仪器设备及试剂:

安装有Visual Studio2005/2008/2010开发环境的PC机。

实验项目编号: 04

实验项目名称

类和对象

实验类型

设计性

实验学时

6

必开 R 选开 □

备注

目的和要求:

(1) 理解面向对象编程的基本思想和特征;

(2) 掌握类的定义和使用方法,能够根据面向对象的分析方法定义一个类;

(3) 掌握构造函数、普通成员函数和静态成员函数的使用;

(4) 掌握对象的生成、使用和销毁的方法。

内容:

1、编写一个矩形类,私有数据成员为举行的长(len)和宽(wid),无参构造函数将len和wid设置为0,有参构造函数设置和的值,另外,类还包括矩形的周长、求面积、取举行的长度、取矩形的长度、取矩形的宽度、修改矩形的长度和宽度为对应的形参值等公用方法。

2、编写一个类,要求带有一个索引器可以存储100个整型变量。

3、建立三个类:居民、成人、官员。居民包含身份证号、姓名、出生日期,而成人继承自居民,多包含学历、职业两项数据;官员则继承自成人,多包含党派、职务两项数据。要求每个类中都提供数据输入输出的功能。

4、编写一个类,其中包含一个排序的方法Sort(),当传入的是一串整数,就按照从小到大的顺序输出,如果传入的是一个字符串,就将字符串反序输出。

5、设计一个复数类,并实现复数的输入和输出。设计三个方法分别完成复数的加法、减法和乘法运算。

主要仪器设备及试剂:

安装有Visual Studio2005/2008/2010开发环境的PC机。

实验项目编号: 05

实验项目名称

继承派生及访问控制

实验类型

设计性

实验学时

6

必开 R 选开 □

备注

目的和要求:

(1) 理解基类和派生类的概念和并掌握基类和派生类使用;

(2) 掌握访问控制符及可访问性;

(3) 掌握抽象类和封闭类的使用。

内容:

1. 定义一个车辆(Vehicle)基类,具有Run、Stop等方法,具有Speed(速度)、MaxSpeed(最大速度)、Weight(重量)等域。然后以该类为基类,派生出bicycle、car等类。并编程对该派生类的功能进行验证。

2. 编写出一个通用的人员类(Person),该类具有姓名(Name)、年龄(Age)、性别(Sex)等域。然后对Person 类的继承得到一个学生类(Student),该类能够存放学生的5门课的成绩,并能求出平均成绩,要求对该类的构造函数进行重载,至少给出三个形式。最后编程对student类的功能进行验证。

3. 编写一个控制台应用程序,完成下列功能,并写出运行程序后输出的结果。

(1)创建一个类A,在A中编写一个可以被重写的带int类型参数的方法MyMethod,并在该方法中输出传递的整型值加10后的结果。

(2)再创建一个类B,使其继承自类A,然后重写A中的MyMethod方法,将A中接收的整型值加50,并输出结果。

(3)在Main方法中分别创建类A和类B的对象,并分别调用MyMethod方法。

主要仪器设备及试剂:

安装有Visual Studio2005/2008/2010开发环境的PC机。

实验项目编号: 06

实验项目名称

多态

实验类型

设计性

实验学时

6

必开 R 选开 □

备注

目的和要求:

(1) 理解并掌握虚成员、重写;

(2) 理解多态对象及隐藏和重写的区别;

(3) 掌握多态的使用方法,理解多态的作用;

内容:

1. 采用纯虚函数实现多态性来建立通用的双向链表派生类。

2. 矩形法(rectangle)积分近似计算公式为:

梯形法(ladder)积分近似计算公式为:

辛普生法(simpson)积分近似计算公式(n为偶数)为:

被积函数用派生类引入,被积函数定义为纯虚函数。

基类(integer)成员数据包括:积分上下限b和a;分区数n;步长step=(b-a)/n,积分值result。定义积分函数integerate()为虚函数,它只显示提示信息。

派生的矩形法类(rectangle)重定义integerate(),采用矩形法作积分运算。

派生的梯形法类(ladder)和辛普生法(simpson)类似。

请编程,用三种方法对下列被积函数

  1. sin(x),下限为0.0和上限为π/2;
  2. exp(x),下限为0.0和上限为1.0;
  3. 4.0/(1+x*x),下限为0.0和上限为1.0。

进行定积分计算,并比较积分精度。

3. 几何形体的派生关系如下:

对平面形体有长和面积,对立体有表面积和体积,对几何图形基类,周长、面积和体积应怎样计算(用什么函数)?对平面图形体积怎样计算(用什么函数)?对立体图形周长怎么计算(用什么函数)?要求实现运行时的多态性。请编程,并测试。

4. 某公司雇员(employee)包括经理(manager),技术人员(technician)和销售员(salesman)。开发部经理(developermanger),既是经理也是技术人员。销售部经理(salesmanager),既是经理也是销售员。

以employ类为虚基类派生出manager,technician和salesman类;再进一步派生出developermanager和salesmanager类。

employee类的属性包括姓名、职工号、工资级别,月薪(实发基本工资加业绩工资)。操作包括月薪计算函数(pay()),该函数要求输入请假天数,扣去应扣工资后,得出实发基本工资。

technician类派生的属性有每小时附加酬金和当月工作时数,及研究完成进度系数。业绩工资为三者之积。也包括同名的pay()函数,工资总额为基本工资加业绩工资。

salesman类派生的属性有当月销售额和酬金提取百分比,业绩工资为两者之积。也包括同名的pay()函数,工资总额为基本工资加业绩工资。

manager类派生属性有固定奖金额和业绩系数,业绩工资为两者之积。工资总额也为基本工资加业绩工资。

而developermanager类,pay()函数是将作为经理和作为技术人员业绩工资之和的一半作为业绩工资。

salesamanager类,pay()函数则是经理的固定奖金额的一半,加上部门总销售额与提成比例之积,这是业绩工资。

编程实现工资管理。特别注意pay()的定义和调用方法:先用同名覆盖,再用运行时多态。

主要仪器设备及试剂:

安装有Visual Studio2005/2008/2010开发环境的PC机。

实验项目编号: 07

实验项目名称

Windows Form应用程序的开发

实验类型

设计性

实验学时

4

必开 R 选开 □

备注

目的和要求:

(1) 理解Windows应用的界面设计、输入输出及事件处理等概念;

(2) 掌握Windows应用程序的开发步骤;

(3) 掌握常见的文本类控件、按钮类控件、列表型控件、日期时间类控件等Windows控件的使用。

内容:

1. 在窗体上建立一个标签,一个文本框,一个命令按钮,标签的text属性设置为“VC#程序设计”,设计一个程序,单击命令按钮,将标签上的信息显示在文本框中。

2. 设计一个简单的计算器,在文本框中,显示输入值和计算结果,用命令按钮做为数字键和功能键。

3. 在窗体上建立一个列表框,一个文本框和一个命令按钮,在列表框中列有本班10个同学的姓名,当选中某个学生姓名后,单击此命令按钮,则在文本框中显示该学生的籍贯。

4. 用定时器控件按秒计时,在窗体上创建一个标签,程序执行后在标签内显示经过的秒。

主要仪器设备及试剂:

安装有Visual Studio2005/2008/2010开发环境的PC机。

实验项目编号: 08

实验项目名称

基于ADO.NET的数据库应用开发

实验类型

设计性

实验学时

2

必开 R 选开 □

备注

目的和要求:

(1) 理解ADO.NET数据库模型;

(2) 掌握SQL Server等数据库的连接与访问方法;

(3) 掌握存储过程的基本写法。

内容:

1.写出符合下列要求的数据库连接字符串以及所使用的数据库连接类。

(1) 数据库服务器地址为202.196.131.26,登录用户名为sa,密码为administrator,后台数据库为Microsoft SQL Server数据库,要连接的数据库名为test.

(2) 据库为Access数据库,数据库文件存放在运行程序所在目录的\db子目录下,文件名为jobtypeDB.Mdb。

(3) 数据库为FoxPro数据库,数据库目录为:\studentDB,数据表为grade.dbf。

2.分别写出符合要求的SQL语句。

(1) 创建表Table1结构为:

学生学籍表(学号,姓名,性别,出生年月,院系,籍贯)

(2) 创建表Table2结构为:

成绩表(学号,课程,成绩)

其中学号不能为空,并且是唯一的。

(3) 将以下信息分别插入到表中:

张小明,男,学号031245,1984年5月出生,计算机学院,江西南昌人。考试成绩为:数据结构 85分,计算机网络 75分,英语 80分,政治经济学 81分。

路宽,男,学号031256,1983年7月出生,计算机学院,河南焦作人,考试成绩为:数据结构 65分,计算机网络92分,英语 76分,政治经济学 59分。

查询名叫“张小明”的学生的所有课程的成绩。

查询有不及格门次的学生的学号、姓名、性别,及不及格的课程名。

将学号为031256的学生的马克思政治经济学成绩加5分。

计算所有学生的成绩总分,按降序排序并显示学生的学号和姓名。

计算并显示各门课程的平均分数及课程名。

主要仪器设备及试剂:

安装有Visual Studio2005/2008/2010开发环境的PC机。

五、考核方法与成绩评定

本课程采取的考核方式:考试。

课程总成绩=考勤成绩×10%+平时实验成绩×40%+考试成绩×50%

考勤成绩:根据实验出勤情况确定考勤成绩;

平时实验成绩:主要根据实验结果的正确性和实验报告的完整规范性进行考核;

考试成绩:教师确定实验考试题目,让学生在规定的时间内上机完成,根据完成情况确定考试成绩。

六、建议教材与教学参考书

[1]《Visual C#.NET程序设计教程(第1版)》,邱锦伦等编,清华大学出版社,2006年;

[2]《C#程序设计教程(第2版)》,郑阿奇等编,机械工业出版社,2001年;

[3]《C#程序设计教程(第2版)》,刘甫迎等编,电子工业出版社,

[4]]《C#入门经典(第4版)》,Karli Watson,Christian Nagel编,清华大学出版社,2008年;

[5]《Visual C#2008从入门到精通》, John Sharp(英)编,周靖译,北清华大学出版社,2009年;

[6]《C#高级编程》,内格尔(美),埃夫琴(美)等编,清华大学出版社,

中心图片  
“博创杯”西北赛区开幕式 校长观看学生作品演示 专家对参赛作品进行评审 专家对参赛作品进行评审 专家对参赛作品进行评审 博创杯颁奖仪式 学生作品展示 学生作品展示 学生作品展示 学生作品展示 学生作品展示
 
 
 
 
 
 

单位名称:兰州交通大学计算机科学与技术实验教学中心  中心办公室电话:0931-4957181、0931-4957180
 网址:http://jsjsfzx.lzjtu.edu.cn      E-mail:jsjsfzx@mail.lzjtu.cn        邮政地址:兰州交通大学802信箱   730070
 地址:兰州市安宁区安宁西路88号   兰州交通大学第六教学楼(图书馆东侧)