




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上精选优质文档-倾情为你奉上专心-专注-专业专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业软 件 学 院一级实践环节报告课题名称: 专 业: 计算机信息管理 班 级: 111 学 号: 学生姓名: 指导教师: 韩玉民 2012年 1 月 6 日目 录 TOC o 1-3 h z u 概述1.时间安排第19周(2012.01.022012.01.06)上午:8:0011:30; 下午:14:3017:30地点:2#楼102机房2.学分1学分3.课题项目系统要求:课题项目分为必做项目和拓展项目。必做项目每个学生必须完成,拓展项目可根据个人能力选做,将根据题目难度
2、和完成情况给予加分。完成后要经过教师验收。必做题目1. P72:习题6 2. P72:习题7 3. P72:习题8 4. P89:习题5 5. P89:习题6 6. P124:习题10 7. P124:习题11 8. P124:上机实验6 9. P157:习题9 10. P157:上机实验7程序设计使用Visual C# 控制台应用程序使用C# 程序设计语言本人完成的主要设计任务有:(1)循环求和;(2)杨辉三角;(3)计算的值;(4)数据排序;(5) 二维数组;(6)创建List类;(7)冒泡排序;(8)学生GPA成绩;(9)学生和教师;(10)图书管理。第2章 任务与实现2.1第4章习题6
3、循环求和1.题目要求编写一个控制台应用程序项目,输入正整数n,计算s=1+(1+2)+(1+2+3)+(1+2+3+n).2.设计思路使用While循环语句。流程图如图2-1 开始输入nSum=0,i=1i=n?j=1j 13) Console.WriteLine(输入的数值太大!); Else使用for语句控制输出数据: for (i = 0; i = n - 1; i+) for (j = 1; j 15 - i; j+) Console.Write( ); c = 1; Console.Write(0 , c); for (j = 1; j = i; j+) c = c * (i - j
4、 + 1) / j;使用if语句控制输出数据的位置: if (c 100) if (c 10) Console.Write(0 , c); else Console.Write(0 , c); else Console.Write(0 , c); 运行结果如图2-2所示: 图2-2 题2.2程序运行结果2.3第4章习题8计算的值1.题目要求编写一个控制台应用程序项目,利用下列公式编程计算的值。/4=1-1/3+1/5-1/7+1/(4n-3)-1/(4n-1)(n=2000)2.设计思路使用if语句表达计算式中两个不同公式再把所有公式想加求出值。3.实现使用if语句:namespace T8c
5、hapter4_8 class Program static void Main(string args) double pi = 0.0; int i; for (i = 1; i = 2000; i+) if (i % 2 = 1) pi = pi + 1.0 / (2 * i - 1); else pi = pi - 1.0 / (2 * i - 1); pi = 4 * pi; Console.WriteLine(=0, pi); 运行结果如图2-3所示: 图2-3 题2.3程序运行结果2.4第6章习题5数据排序1.题目要求编写一个控制台应用程序项目,假设10个整数用一个一维数组存放,
6、求其最大值和次大值2.设计思路建立一维数组使用Array.Sort(Array)进行排序。3.实现建立数组排序:namespace T8chapter5_5 class Program static void Main(string args) int a = new int10 5, 98, 64, 25, 48, 31, 43, 54, 7, 56 ; Array.Sort(a); Console.WriteLine(最大值0, a9); Console.WriteLine(次大值0, a8);运行结果如图2-4所示: 图2-4 题2.4程序运行结果2.5 第6章习题6二维数组1.题目要求
7、编写一个控制台应用程序项目,用二维数组存放5个考生4门功课的考试绩,求每位考生的平均成绩。2.设计思路建立二维数组,使用for语句访问二维数组。3.实现主要代码为:namespace T8chapter5_6 class Program static void Main(string args) int i, j ; int, a = new int5, 4 84, 95, 47, 54 , 74, 58, 49, 79 , 87, 47, 86, 68 , 78, 68, 85, 75 , 98, 74, 58, 67 ; for (i = 0; i = 4; i+) int sum = 0
8、; for (j = 0; j = 3; j+) sum += ai, j; Console.WriteLine(平均成绩:0, sum / 4);运行结果如图2-5所示: 图2-5 题2.5程序运行结果2.6第6章习题10创建List类1.题目要求编写一个控制台应用程序项目,创建List类,可以存储整数、实数、字符数据等(最多存放100个元素),并可以添加和删除元素等。用相关数据进行测试。2.设计思路创建List类定义储存范围为100构造函数,定义添加、删除元素3.实现主要代码:namespace T8chapter6_10class List private int Max = 100;
9、/储存最多元素 private int num = 0; /实际存的元素 private object list; /储存元素组 public List() /构造函数 list = new objectMax; public void add(object obj) /添加元素 listnum = obj; num+; public void delete(int pos) /删除元素 for (int i = pos + 1; i num; i+) listi - 1 = listi; num-; public object get(int pos) /获取指定元素位置 if (pos n
10、um) return listpos; else return null; public int getnum() /获取实际元素个数 return num; public string disp() /获取所有元素 string s = ; for (int i = 0; i num; i+) s += listi + ; return s; class Program static void Main(string args) List list = new List(); list.add(meiy); list.add(60.45); list.add(6); list.add(a);
11、 Console.WriteLine(元素序列:0,list.disp(); Console.WriteLine(元素个数:0,list.getnum(); Console.WriteLine(位置的元素:0,list.get(1); Console.WriteLine(删除位置的元素); list.delete(2); Console.WriteLine(元素序列:0, list.disp();运行结果如图2-6所示: 图2-6 题2.6程序运行结果2.7第6章习题11冒泡排序1.题目要求编写一个控制台应用程序项目,输入若干个学生的英语和数学成绩,求出总分,并按总分从高到低排序。要求设计一个
12、学生类Student,所有学生对象存放在Srudent对象数组中,通过一个方法对其按照总分进行降序排序,最终输出排序后的结果。2.设计思路创建类,定义变量name eng math sum构造函数,使用get访问器采用冒泡排序排列数据,实现输出。3.实现主要代码:namespace T8chapter6_11 public class Student private string name; /姓名 private int eng, math, sum; /英语,数学,总成绩 public int psum get return sum; /get访问 public void inscore(
13、) Console.Write(姓名:); name = Console.ReadLine(); Console.Write(英语:); eng = int.Parse(Console.ReadLine(); Console.Write(数学:); math = int.Parse(Console.ReadLine(); sum = eng + math; public void display() Console.WriteLine(t0t1t2t3, name, eng, math, sum); class Program const int Max = 100; static void
14、sort(int n, params Student p)/采用冒泡排序法排序 int i, j; bool A; Student tmp; for (i = 0; i = i; j-) if (pj + 1.psum pj.psum) tmp = pj + 1;/pj+1pj pj + 1 = pj; pj = tmp; A= true; if (A= false) break; static void Main(string args) int n, i; Student p = new StudentMax; /定义对象引用数组 Console.Write(输入n个学生:); n = i
15、nt.Parse(Console.ReadLine(); for (i = 0; i n; i+) /创建对象引用的实例 pi = new Student(); for (i = 0; i n; i+) Console.WriteLine(输入第0个学生数据:, i + 1); pi.inscore(); Console.WriteLine(排序前:); Console.WriteLine(t姓名t英语t数学t总分); for (i = 0; i n; i+) Console.Write(序号0:, i + 1); pi.display(); sort(n, p); /按总降序排序 Conso
16、le.WriteLine(排序后:); Console.WriteLine(t姓名t英语t数学t总分); for (i = 0; i n; i+) Console.Write(第0名:, i + 1); pi.display();运行结果如图2-7所示: 图2-7 题2.7程序运行结果2.8第6章上机实验6学生GPA成绩1.题目要求编写一个控制台应用程序项目,用于求学生的GPA。GPA是英文平均分的简称。美国大学的GPA是4个学分。课程1有4个学分,成绩是92(A);课程2有3个学分,成绩80(B);课程3有2个雪分,成绩98(A);课程4有6个学分,成绩70(C);课程5有3个学分,成绩89
17、(B)。计算GPA有两种,一是常见算法GPA,另一个是标准算法GPA。计算常见算法GPA时,先将分数转换成点数,其转换方法如下;90100对应点数为4.0,8089对应点数为3.0,7079对应点数为2.0;6069对应点数为1.0,其它为0.以上五项成绩GPA为常见算法GPA=(4*4+3*3+2*4+6*2+3*3)/(4+3+2+6+3)=3.00,标准算法GPA=(92*4+80*3+98*2+70*6+89*3)*4)/(4+3+2+6+3)*100)=3.31要求将学生课程分别设计成类Student和Course,计算一个学生GPA的输出结果如图。2.设计思路创建类,定义变量sno
18、 sname设置课程、分数数组使用if计算学生点数构造函数设置课程、分数可读可写3.实现主要代码:namespace T8chapter6_上机6 class Student /学生类 int sno; /学号 string sname; /姓名 Course course; /Course类对象数组 int score; /课程成绩数组 double sgpa1; /常见GPA值 double sgpa2; /标准GPA值 public int psno /psno属性可读可写 get return sno; set sno = value; public string psname /ps
19、name属性可读可写 get return sname; set sname = value; public void setcourse(params Course course1) /设置课程 course = new Coursecourse1.Length; for (int i = 0; i course1.Length; i+) coursei = course1i; public void setscore(int score1) /设置分数 score = new intscore1.Length; for (int i = 0; i score1.Length; i+) sc
20、orei = score1i; public void computegpa() /根据课程的学分以及学生成绩计算GPA int i; double s, sumc = 0, sumgpa1 = 0, sumgpa2 = 0; for (i = 0; i = 90) s = 4.0; /点数 else if (scorei = 80) s = 3.0; else if (scorei = 70) s = 2.0; else if (scorei = 60) s = 1.0; else s = 0.0; sumgpa1 += coursei.pcredits * s; sumgpa2 += co
21、ursei.pcredits * scorei; sumc += coursei.pcredits; sgpa1 = sumgpa1 / sumc; sgpa2 = sumgpa2 * 4 / sumc / 100; public void dispstud() /输出学生信息 Console.WriteLine(学号:0t姓名:1, sno, sname); Console.WriteLine( 课程名t学分t分数); for (int i = 0; i course.Length; i+) Console.WriteLine( 0t1t2, coursei.pcname, coursei.
22、pcredits, scorei); public void dispgpa() /输出GPA Console.WriteLine(常见算法GPA=0:n,标准算法GPA=1:n, sgpa1, sgpa2); class Course /课程类 string cname; /课程名 int credits; /课程学分 public Course() public Course(string name, int xf) /构造函数 cname = name; credits = xf; public string pcname /pcname属性,课程名可读可写 get return cna
23、me; set cname = value; public int pcredits /pcredits属性,课程学分可读可写 get return credits; set credits = value; class Program static void Main(string args) Course course1 = new Course new Course(课程1,4),new Course(课程2,3), new Course(课程3,2),new Course(课程4,6),new Course(课程5,3); int score1 = new int 92, 80, 98
24、, 70, 89 ; Student s1 = new Student(); s1.psno = 1; s1.psname = 王华; s1.setcourse(course1); s1.setscore(score1); putegpa(); s1.dispstud(); s1.dispgpa(); 运行结果如图2-8所示: 图2-8 题2.8程序运行结果2.9第7章习题9学生和教师1.题目要求编写一个控制台应用程序项目,实现学生和教师数据输入和显示功能。学生类Student有编号、姓名、班号和成绩等字段,教师类有编号、姓名、职称和部门等字段。要求将编号、姓名输入和显示设计成一个类Perso
25、n,并作为Student和Teacher的基类。需用相关数据进行测试。2.设计思路创建Parson类,定义变量name no构造函数调用函数3.实现主要代码: public class Person /人类 private int no; /编号 private string name; /姓名 public void input() Console.Write( 编号:); no = int.Parse(Console.ReadLine(); Console.Write( 姓名:); name = Console.ReadLine(); public void disp() Console.
26、WriteLine( 编号:0, no); Console.WriteLine( 姓名:0, name); public class Student : Person /学生类 private string sclass; /班号 private int degree; /成绩 public void input() base.input(); Console.Write( 班号:); sclass = Console.ReadLine(); Console.Write( 成绩:); degree = int.Parse(Console.ReadLine(); new public void
27、disp() base.disp(); Console.WriteLine( 班号:0, sclass); Console.WriteLine( 成绩:0, degree); public class Teacher : Person /教师类 private string prof; /职称 private string depart; /部门 public void input() base.input(); Console.Write( 职称:); prof = Console.ReadLine(); Console.Write( 部门:); depart = Console.ReadL
28、ine(); new public void disp() base.disp(); Console.WriteLine( 职称:0, prof); Console.WriteLine( 部门:0, depart); class Program static void Main(string args) Student s1 = new Student(); Teacher t1 = new Teacher(); Console.WriteLine(输入一个学生数据:); s1.input(); Console.WriteLine(输入一个教师数据:); t1.input(); Console
29、.WriteLine(显示一个学生数据:); s1.disp(); Console.WriteLine(显示一个教师数据:); t1.disp();运行结果如图2-9所示: 图2-9 题2.9程序运行结果2.10第7章上机实验7图书管理1.题目要求编写一个控制台应用程序项目,假设图书馆的图书类Book包含书名、编号和作者属性,读者类Reader包含姓名和借书证属性,每位读者最多可借5本书,设计它们的公共基类BClass。要求列出所有读者借书情况。2.设计思路创建基类,定义变量name no构造函数,创建图书类调用函数3.实现主要代码: public class BClass /基类 priva
30、te string name; /名称 private int no; /编号 public BClass(string na, int n) /构造函数 name = na; no = n; public void show() Console.Write(0(1), name, no); public class Book : BClass /图书类 string author; /作者 public Book(string na, int n, string auth) : base(na, n) author = auth; public void showBook() base.show(); Console.Write(作者:0, author); public class Reader : BClass /读者类 Book rent; /所借图书 int top; public Reader(string na, int n) : base(na, n) /构造函数 rent = new Book5; top = 0; public void rentBook(ref Book b) renttop = b; top+; public void showReader() Console.Write(读者
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 劳动合同的劳动报酬
- 配件采购合同范本
- 建筑白蚁防治合同范本
- 金子农机转让合同范本
- 都兰县粮油购销合同范本
- 英国孩子监护合同范本
- 卫浴合同范本的
- 交易收取佣金合同范本
- 除尘设备拆除合同范本
- 金属月度工作总结
- 北京版英语小学四年级下册单元测试卷
- 大数据时代下的人力资源管理创新研究——以智联招聘为例
- 国家开放大学《课程与教学论》形考任务1-4参考答案
- 钻孔灌注桩钢筋笼自动计算公式
- 放弃治疗同意书
- USP 1225检验方法验证和USP1226检验方法确认(中英文稿)
- 示波器检定证书模板
- 胆道射频消融技术PPT课件
- iso10110系列标准
- 英语话题兴趣与爱好复习课件
- 水力机械辅助设备安装质量评定表及填表说明
评论
0/150
提交评论