《面向对象程序设计》实验指导书(电商11)

更新时间:2024-06-13 13:19:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《面向对象程序设计》

实验指导书

西安科技大学 电子商务系

一、实验目的

1.了解SQL Server的集成环境、系统的菜单、工具栏、企业管理器、查询分析器的使用方法。

2.掌握创建数据库、数据表的方法;掌握数据表的操作命令;熟悉T-SQL命令的使用。

3.了解VB基本命令的使用方法;掌握常用函数、表达式的使用方法,掌握程序控制结构的使用和程序设计,掌握变量的作用范围和自定义函数的使用。

4.熟悉VB与数据库管理系统的连接方法,较熟练地掌握利用向导、数据环境、数据控件等工具开发应用程序的基本操作界面。

5.熟练掌握常用算法程序、常用统计程序、数据排序方法、简单数据加密和解密程序、矩阵基本操作程序的编写、调试和使用。

二、实验要求

1.学生在实验前必须熟悉每次实验的基本内容,查阅相关资料,根据实验内容进行认真准备,规划上机实验的主要操作步骤;

2.实验所涉及的程序在实验准备时要编写完整,实验中对编写的程序进行调试和运行程序;

3.每个实验完成后,要认真总结实验中出现的问题和解决方法、实验中存在的问题和实验的收获。

4.实验必须独立完成,相互抄袭则实习无成绩;

5.实验准备中或实验过程中遇到的各种问题,要做好记录,并及时向指导教师提问。

三、实验内容

实验一 Sql Server基本操作

说明:

1.在D盘创建“学号”文件夹(“学号”指自己的真实学号,实习中的所有文件均存放到自己创建的文件夹中);

2.实验中出现的“姓名”均指自己的真实姓名;“099”均代表“自己学号的后3位”;

3.按要求写出T-SQL命令,注意所有题目的SQL命令均放在“学号.sql”文件中,各个题目的SQL命令前面添加注释,注释中写清楚题目序号。

一、数据库操作

在“学号”文件夹中创建数据库stu099,该数据库的各项参数自己确定。

二、数据表操作

1. 在Stu099数据库中创建下列数据表:(注意:将099改成自己学号后3位,字段名称均用汉字。)

学生情况表099 学号 姓名 身份性证号 别 出生日期 省份 所属单位 班级 联系电话 83858011 83859012 83858021 宿舍号 备注 1102110099 张三1 1102110100 张三2 1102110101 张三3 男 1990-01-28 陕西省 女 1989-12-31 河南省 男 1990-03-09 湖南省 ?? 管理学院 电商1班 管理学院 电商2班 管理学院 电商1班 ?? ?? 课程情况表099 课程号 099 100 ??

学生选课表099

学号 1102110099 1102110100 1102110101 ?? 课程号 099 100 101 ?? 选课学期 1 2 3 成绩 85.5 92 96 备注 成绩等级 良好 优秀 优秀 课程名 大学英语 高等数学 ?? 学时 120 150 学分 11 13 是否必修 是 是 任课教师 张千 吴立 课程简介 职称 上课地点 2.用SQL命令语句,为上面三个数据表添加数据;

1) 向“学生情况表099”添加至少10条完整记录;(注意:学号为自己的学号开始的10个学号、姓名录入自己的“姓名”+序号、“课程号”录入自己学号的后3位开始的10个,其它数据自定。)

2) 向“课程情况表099”添加至少10条完整记录;(注意: “课程号”录入自己学号的后3位开始的10个,课程最好是自己已学习过的课程,其它数据自定。)

3)向“学生选课表099”添加至少30条完整记录;(注意:每个学生至少录入3门课程的信息,“学号”、 “课程号”要与上面两个数据表相对应。)

以上操作最终结果示意图:

图 1-1 学生情况表099结构设计

图 1-2 学生情况表099的记录信息

图 1-3 课程情况表099结构设计

图 1-4 课程情况表099的记录信息

图 1-5 选课情况表099结构设计

图 1-6 选课情况表099的记录信息

实验二 SQL Server 与程序设计语言连接

1. 利用VB生成数据操作界面

利用VB数据窗体向导生成上面创建的三个数据表的基本操作界面,部分界面如图2-1~3。(要求:对生成的界面必须进行修改,重新布局各个控件的位置、修改控件属性等,设计的界面要尽量体系自己的个性。)

图 2-1 单个数据表的操作界面

图2-2 一对多表的操作界面

图2-3 单表网格形式的操作界面

2.利用数据控件设计数据表操作界面

用数据控件完成各数据表的添加、修改、删除、查询等操作的窗体。图2-4、2-5是“学生情况表099”的基本操作界面,仅作参考。

实验要求:完成“学生情况表099”、“课程情况表099”、“选课情况表099”三个数据表的综合操作界面设计。(至少完成2个数据表的综合操作界面设计)

图2-4数据表基本的操作界面

图2-5 数据查询的操作界面

实验三 程序设计语言基本算法

(至少完成3个设计)

1.求素数、自然数对

概念:素数是一个大于2且只能被1和本身整除的数。自然数对是指两个自然数的和与差都是平方数,如8与17的和为25、差为9,都是平方数,则称8和17为自然数对。

实验:编写程序求“自己学号后3位到500”以内的所有素数及自然数对,设计程序运行效果如图3-1。

图3-1 计算素数的运行结果图

2.计算最大公约数和最小公倍数

任给两个正整数m和n,计算它们的最大公约数和最小公倍数。

基本算法:r = m Mod n,若r>0,则将n赋值给m,则将r赋值给n,继续计算,直到r=0。

实验:计算3个数的最大公约数和最小公倍数,并以最小公倍数作为总金额,计算人民币各种票额的张数。要求:

1) 2) 3) 4) 5)

第一个数为“自己学号后3位;

第二个随机数的产生方法:学号后3位+(你后面1个同学学号后3位+你后面第2个同学学号后3位)×”0~1之间的随机数”;

第三个随机数N的产生方法:学号后3位+你后面1个同学学号后3位×”0~1之间的随机数”。

计算3个数的最大公约数和最小公倍数。

以最小公倍数作为总金额,计算各种票额的张数。

6) 所有文本框只显示数据,不能修改。

程序运行效果如图3-2。

图3-2 计算最大公约数和最小公倍数的运行结果图

3.歌德巴赫猜想及守形数

歌德巴赫猜想:一个不小于6的偶数可以表示为两个素数之和,如6=3+3 守形数:若a为一个整数,若a2=m*10n-1+a成立,则称a为守形数。如52=2*10+5,252=6*102+25,则5和25均为守形数。

按下列要求验证: 1) 2) 3)

用滚动条设置文本框的背景颜色,色彩中至少有一个值为“学号后3位”;

计算“1~学号后3位”之间的所有守形数;

对“学号后3位~200或300之间”的所有偶数验证歌德巴赫猜想。

程序运行效果如图3-3。

图3-3 歌德巴赫猜想及守形数的运行结果图

4.百钱百鸡问题

编写程序解决百钱买百鸡问题:公鸡5元/只,母鸡3元/只,小鸡一元买3只,用100元买100只鸡,问有哪些购买方案?

图3-4 百钱百鸡问题的运行结果图

实验四 常用统计算法

1.成绩统计

利用文本框作为数据的输入和输出,产生数学、语文、英语、计算机等4门课程的成绩(数学为自己学号后3位的平方根,再乘以3~9之间的随机数;其他课程的成绩为0-100间随机数),然后按下列要求完成:

1) 2) 3)

各文本框只显示数据,不能修改;

计算它们的总成绩、平均成绩,并根据平均成绩计算其等级。 判断是否获奖。获奖条件:(1)总分超过360分;(2)各门课程成绩均在88分以上;(3)前三门课成绩在95分以上,后一门成绩在80分以上。

还可以统计成绩中的最高分、最低分等,学生根据自己的熟练程度加以补充。 运行效果如图2-1。

图4-1成绩统计的运行结果图

2.字符统计

分类统计是经常遇到的问题,是将一批数据按分类条件统计每一类中包含的个数。例如:将学生的成绩按优秀、良好、中等、及格、不及格五等统计各等级的人数;职工工资按职称进行统计;统计一篇英文中各个字母的个数等。

实验:随机产生200个“32到自己学号后3位”且小于128的随机数,将其转换成相应字符,形成一段统计字符。统计字符中各个字母、各数字、空格、其它字符的个数。按图2-2的结果进行输出。实验可以根据学生情况进行调整或补充,如统计各种标点符号的数目、或只统计字符个数、数字个数等。

图4-2 字符统计的运行结果图

实验五 常用排序方法

(至少完成2个设计)

1.选择法排序

选择法排序是最为简单且易理解的算法,其基本思想是每次将最小(或最大)的数找出来放在序列的最前面。假设按递增法将有n个数的数组A(1To n)进行排列,步骤为:

(1)假定最小值Temp,将Temp与A(2)进行比较,若A(2)

(2)对除第1个数外的其余n-1个数再按步骤(1)的方法选出次小的数 ,与第2个数交换位置。

(3)依次类推,经过n-1遍后构成递增序列。 若要按递减次序排列,只要每次选最大的数即可。

编写程序:随机产生10个“学号后3位到500之间”的数,用选择法进行递增排序。(注意:第1个数、第5个数必须是自己学号后3位)

图5-1选择法排序的运行结果图

2.冒泡法排序

冒泡排序是常用的一种排序方法。假设n个元素按递增的顺序排序 第一轮:从数组的第一项开始,每一项(i)都与下一项(i+1)进行比较。如果下一项的值较小,就将这两项的位置交换,直到最后第n-1与第n项进行比较,将最小的数排列在最前。

第二轮:从数组的第二项开始,每一项都与下一项进行比较。如果下一项的值较小,就将这两项的位置交换,直到最后,将次最小的数排列在第二项。

以此类推,直到n-1项与第n项进行比较交换,完成递增法排序。

实验: 随机产生10个“50到学号后3位之间”的数,然后用冒泡法按递增的顺序进行排序。(注意:第2个数、第9个数必须是自己学号后3位)

图5-2 冒泡法排序的运行结果图

3. 二维数组排序

二维数组排序方法是:先将二维数组的元素放到一维数组中,用上述的方法将一维数组排序,排序后再将一维数组转化为二维数组。

实验:随机产生“10到学号后3位之间”的数,形成一个4*5 的二维数组,按升序排列。

图5-3 二维数组排序的运行结果图

实验六 加密解密与数制转换

1.数据加密与解密

简单数据加密解密的实现方法是:将字母和数字采用后移N位来实现。

编写程序:根据产生的后移位数(按自己学号后3位 MOD 26确定),输入字符串包括“自己学号和姓名汉语拼音”,然后将输入的字符进行加密和解密。

图6-1 简单数据加密解密的运行结果图

2.数制转换

输入任意进制(二进制、八进制、十进制、十六进制)数,然后按要求将其转换成其他进制的数。(要求,至少有一个数为自己学号后3位)

图6-2数制转换的运行结果图

实验七 矩阵的基本运算

(至少完成4项设计)

随机产生数组A(4,4),数组元素为10-99之间的两位数;随机产生数组B(4,4),数组元素为“学号后3位-999”之间的三位数;按下列要求对矩阵进行操作。

1)对A、B矩阵进行求和运算; 2)对A、B矩阵进行乘积运算; 3)对A、B矩阵进行转置运算;

4)在A、B矩阵乘积运算中,找出最大素数及所在行、列位置; 5)显示矩阵A的上三角形,显示矩阵B的下三角形;

6)将矩阵A的第1行和第3行互换,矩阵B的第1列和第3列互换; 7)显示矩阵A的主、副对角线上的元素,并求出这些元素的和。 界面设计及运行效果如图7-1。

图7-1 矩阵操作的运行结果图

实验八 综合应用

1.数据文件管理

编写应用程序实现学生基本信息的管理。学生的信息由学号、姓名、性别、单位、专业、联系电话、成绩组成。程序主要功能:

1)建立随机文件,至少添加5条记录(各记录的学号从自己学号开始的5个,姓名为自己的姓名+序号,其它自定); 2)浏览记录:可以按记录浏览学生的基本信息; 3)记录更改:可以添加、修改、删除记录;

4)查找信息:可以按学号、姓名、专业等方式查找学生。 程序运行效果如图8-1

图8-1 文件管理学生信息示意图

2.设计程序封面

封面中必须使用图形控件作出简单的图形,有文字滚动显示,根据自己的构思,设计一个创意封面。

图8-4 程序封面示意图

3.系统集成界面设计

将上面的各种实验设计的程序集成到一个管理系统。

图8-5 系统集成界面示意图

《面向对象程序设计》实习报告

班级:

学号:

姓名:

指导教师:刘春光 史恭龙 延秀娟 付静

实习时间:2013.1.7-2013.1.18

(以上的内容字体、字号可以自己修改)

一、 实习目的

概述本次实习了解、掌握的主要内容(根据实习练习的内容和SQL Server、VB相关知识进行总结) 二、 实验内容

(说明本次实习完成了哪些内容,哪些还存在问题没有完成。以下详细列出已完成实习内容的运行界面截图) 实验一 Sql Server基本操作

1.创建学生情况表及数据录入

图 1-1 学生情况表099结构设计

图 1-2 学生情况表099的记录信息 ??

实验二、SQL Server 与程序设计语言连接

1、利用VB数据窗体向导生成学生情况表099的录入界面如下:

??

实验三、程序算法设计与实现

(注意:在截图或窗体上一定要体现自己学号后3位,否则无成绩。根据自己设计的程序按序编写,例如:)

1.编写程序求“自己学号后3位到500”以内的所有素数及自然数对。

图1-1 素数及自然数对程序运行界面图

??

三、实习总结

总结本次实习的主要收获、取得的经验、存在的问题、实习需要改进的意见或建议等。

参考资料:(写出自己所参考的所有资料、书籍)

1.《SQL Server程序设计》.XXX编写.清华大学出版社,2008.1 2.??

本文来源:https://www.bwwdw.com/article/it66.html

Top