oracle实验4(实验报告)-pl_sql程序设计
学期
Oracle数据库应用技术
实验报告
选课序号:
班级:
学号:
姓名:
指导教师:史金余
成绩:
2017年月日
目录
1.实验目的............................... 错误!未定义书签。
2.实验内容............................... 错误!未定义书签。
触发器设计........................... 错误!未定义书签。
存储过程、自定义函数设计............. 错误!未定义书签。
程序包设计........................... 错误!未定义书签。
3.实验步骤............................... 错误!未定义书签。
创建表空间RESTAURANT,创建用户DINER.. 错误!未定义书签。
创建餐饮系统数据库的所有表,并向各表插入演示数据错误!未定义书签。
完成【实验内容】中的触发器、存储过程、函数和程序包等功能设计,将程序脚本保存到文本文件中...... 错误!未定义书签。
4.实验总结............................... 错误!未定义书签。
PL/SQL程序设计
1.实验目的
掌握PL/SQL程序设计基本技巧,包括基本数据类型、表类型、数组类型、
匿名程序块、控制语句、PL/SQL中使用SQL语句、游标、错误处理等。
熟悉和掌握PL/SQL中关于存储过程、函数、包和触发器程序设计技术。
2.实验内容
实验平台:PL/SQL Developer或Oracle的其它客户端管理工具。
某餐饮系统数据库(加粗字段为主键,斜体字段为外键),请创建如下各数据表,并实现如下存储过程、函数、包和触发器等功能设计,将程序脚本保存到文本文件中:
(1)菜肴类别表MK(菜肴类别编号MKid,菜肴类别名称MkName),菜肴类别名称:鱼类、蔬菜类、凉菜类、肉类、主食类和酒水类等。
(2)菜单信息表MList(菜肴编号Mid,菜肴名称Mname,菜肴类别MKid,菜肴单价Mprice,菜肴成本单价Mcost,更新日期Mdate)。
(3)餐台类别表DK(餐台类别编号DKid,餐台类别名称DkName),餐台类别:包间和散台等。
(4)餐台信息表Dinfo (餐台编号Did,餐台名称Dname,餐台类别DKid,座位数Dseats,更新日期Ddate)。
(5)消费单主表C (消费单号Cid,餐台编号Did,消费开始时间StartTime,结账时间EndTime,消费金额合计Smoney,盈利金额合计SPsum),其中,消费金额合计=消费单明细表CList中该消费单号的所有消费记录的消费
金额的合计,即SUM(消费金额)或SUM(菜肴单价×消费数量),盈利
金额合计=消费单明细表CList中该消费单号的所有消费记录的盈利合
计,即SUM((菜肴单价 - 菜肴成本单价)×消费数量)。
(6)消费单明细表CList (消费单号Cid,序号Sid,菜肴编号Mid,菜肴名称
Mname,消费数量Cqty,菜肴单价Mprice,菜肴成本单价Mcost,消费金额Cmoney) ,消费金额=消费数量×菜肴单价;消费数量为正数是正常点菜,消费数量为负数是退菜,消费数量为0是赠菜。
触发器设计
2.1.1 为消费单明细表CList定义一个触发器,每插入(INSERT)一条消费单明
细记录(消费单号,序号,菜肴编号,消费数量),自动根据菜肴编号从菜单信息表MList中读取菜肴名称Mname、菜肴单价Mprice、菜肴成本单价Mcost,然后计算其消费金额(=消费数量×菜肴单价)、以及消费单主表C的消费金额合计、盈利金额合计。编写相应的插入语句(INSERT)和查询语句(SELECT)测试该触发器效果。
2.1.2 为消费单明细表CList定义一个触发器,每更新UPDATE一条消费单明细
表记录,自动修改其消费金额、以及消费单主表C的消费金额合计、盈利金额合计。编写相应的更新语句(UPDATE)和查询语句(SELECT)测试该触发器效果。
2.1.3 为消费单明细表CList定义一个触发器,每删除DELETE一条消费单明细
表记录自动修改其消费单主表C的消费金额合计、盈利金额合计。编写相应的删除语句(DELETE)和查询语句(SELECT)测试该触发器效果。
2.1.4 将【】、【】、【】三个触发器禁用disable,重新编写一个触发器实现这三
个触发器的全部功能。编写相应的插入语句(INSERT)、更新语句(UPDATE)、删除语句(DELETE)和查询语句(SELECT)测试该触发器效果。
存储过程、自定义函数设计
2.2.1设计一个自定义函数fGetDTSum,实现统计某年份给定餐台类别的成本金
额合计的功能,输入参数是统计年份和餐台类别,返回数据是成本金额合计。
成本金额=消费数量×菜肴成本单价。求年份的函数为EXTRACT(YEAR FROM 日期字段),本题:统计年份= EXTRACT(YEAR FROM EndTime),EndTime为结账时间字段。
2.2.2设计一个存储过程pGetKindSum,实现统计某年份给定菜肴类别的盈利金
额合计的功能,输入参数是统计年份和菜肴类别,输出参数是盈利金额合计。
盈利金额=消费数量× (菜肴单价 - 菜肴成本单价)。
2.2.3编写一段匿名PL/SQL程序块,调用函数fGetDTSum,输出2013年餐台类
别名为“包间”的成本金额合计;调用存储过程pGetKindSum,输出2013年菜肴类别名为“鱼类”的盈利金额合计。
程序包设计
2.3.1设计一个程序包,包名为pkSUM,包括并实现【】和【】的函数及存储过
程功能,注意:先创建包头package,包头创建成功后,再创建包体package body。
2.3.2 设计一个匿名PL/SQL程序块,参照【】调用【】中程序包的函数和存储
过程,输出2013年餐台类别名为“散台”的成本金额合计,输出2013年菜肴类别名为“蔬菜类”的盈利金额合计。
3.实验步骤
(备注:如果用实验室微机,请从【】开始做,登录用户DINER改为stu XX)
创建表空间RESTAURANT,创建用户DINER
用户SYSTEM登录Oracle
3.1.3创建表空间RESTAURANT,大小10M。
CREATE TABLESPACE RESTAURANT
DATAFILE'F:\'SIZE10M
DEFAULT STORAGE
(INITIAL10K
NEXT50K
MINEXTENTS1
MAXEXTENTS99
PCTINCREASE10)
ONLINE;
创建用户DINER,口令XXX,默认表空间RESTAURANT,给该用户授予角色权限CONNECT、RESOURCE。
CREATE USER DINER IDENTIFIED BY "wzl123" DEFAULT TABLESPACE RESTAURANT;
GRANT CONNECT TO DINER;
GRANT RESOURCE TO DINER;
创建餐饮系统数据库的所有表,并向各表插入演示数据
启动PL/SQL Developer(或者启动SQL*PLUS、Enterprise Manager Console、浏览器模式的EM(企业管理器)等工具均可以),用户DINER登录Oracle。
3.2.2 创建实验内容中的餐饮系统数据库的所有表(菜肴类别表MK、菜单信息表
MList、餐台类别表DK、餐台信息表Dinfo、消费单主表C、消费单明细表CList)。
create table MK(
MKid number,
MkName varchar2(64),
constraint pk_MKid primary key(MKid)
);
create table MList(
Mid number,
Mname varchar2(64),
MKid number references MK(MKid),
Mprice number(8,2),
Mcost number(8,2),
Mdate date,
constraint pk_Mid primary key(Mid)
);
create table DK(
DKid number,
DkName varchar2(64),
constraint pk_DKid primary key(DKid)
);
create table Dinfo(
Did number,
Dname varchar2(64),
DKid number references DK(DKid),
Dseats number,
Ddate date,
constraint pk_Did primary key(Did)
);
create table C(
Cid number,
Did number references Dinfo(Did),
StartTime date,
EndTime date,
Smoney number(8,2),
SPsum number(8,2),
constraint pk_Cid primary key(Cid)
);
create table CList(
Sid number,
Cid number references C(Cid),
Mid number references MList(Mid),
Mname varchar2(64),
Cqty number,
Mprice number(8,2),
Mcost number(8,2),
Cmoney number(8,2),
constraint pk_Sid primary key(Sid)
);
3.2.3依次向菜肴类别表MK、菜单信息表MList、餐台类别表DK、餐台信息表
Dinfo插入足够多的演示数据。
insert into MK values(1,'鱼类');
insert into MK values(2,'蔬菜类');
insert into MK values(3,'凉菜类');
insert into MK values(4,'肉类');
insert into MK values(5,'主食类');
insert into MK values(6,'酒水');
insert into MList values(1,'鲤鱼',1,,,sysdate); insert into MList values(2,'三文鱼',1,,,sysdate); insert into MList values(3,'白菜',2,,,sysdate); insert into MList values(4,'土豆',2,,,sysdate); insert into MList values(5,'油麦菜',2,,,sysdate); insert into MList values(6,'凉拌黄瓜',3,,,sysdate); insert into MList values(7,'鸡肉',4,,,sysdate); insert into MList values(8,'米饭',5,,,sysdate); insert into MList values(9,'二锅头',6,,,sysdate);
insert into DK values(1,'包间');
insert into DK values(2,'散台');
insert into Dinfo values(1,'1号包间',1,20,sysdate);
insert into Dinfo values(2,'2号包间',1,30,sysdate);
insert into Dinfo values(3,'3号包间',1,50,sysdate);
insert into Dinfo values(4,'1号散台',2,8,sysdate);
insert into Dinfo values(5,'2号散台',2,8,sysdate);
insert into Dinfo values(6,'3号散台',2,15,sysdate);
insert into C values(1,2,sysdate,sysdate,275,150);
insert into C values(2,2,sysdate,sysdate,155,80);
insert into C values(3,1,sysdate,sysdate,566,302);
insert into C values(4,2,sysdate,sysdate,89,53);
insert into C values(5,1,sysdate,sysdate,798,435);
insert into CList values(1,1,2,'三文鱼',1,,,;
insert into CList values(2,1,5,'油麦菜',1,,,;
insert into CList values(3,1,9,'二锅头',2,,,;
完成【实验内容】中的触发器、存储过程、函数和程序包等功能设计,将程序脚本保存到文本文件中
3.3.1 在PL/SQL Developer环境下,用户DINER登录Oracle 3.3.2新建SQL窗口
3.3.3 完成【触发器设计】
(1)OR REPLACE TRIGGER tri_CList
BEFORE INSERT ON CList FOR EACH ROW
DECLARE
t_Smoney %type;
t_SPsum %type;
BEGIN
--补全Mlist
SELECT Mname,Mprice,Mcost,:*Mprice INTO:,:,:,:
FROM Mlist WHERE=:;
--计算Mlist的增加量
SELECT NVL(SUM(Cqty*Mprice),0),NVL(SUM(Cqty*(Mprice-Mcost)),0)
INTO v_Smoney,v_SPsum FROM Clist WHERE=:;
--更新C
update C set Smoney=t_Smoney+:,SPsum=t_SPsum+(:*(::)
where=:;
END tri_CList;
(2)OR REPLACE TRIGGER tri_upCList BEFORE UPDATE ON CList FOR EACH ROW BEGIN
SELECT Mname,Mprice,Mcost INTO:,:,:
FROM Mlist WHERE=:;
::=NVL(:,:*NVL(:,:;
UPDATE C SET Smoney=Smoney-:+:,
SPsum=SPsum-:*(::+:*(::
WHERE=:;
END tri_upCList;
(3)OR REPLACE TRIGGER tri_delCList
BEFORE DELETE ON CList FOR EACH ROW
BEGIN
UPDATE C SET=:,
=(:*(::)
WHERE=:;
END tri_delCList;
(4)OR REPLACE TRIGGER tri_all
BEFORE INSERT OR UPDATE OR DELETE
ON CList
FOR EACH ROW
DECLARE
t_Smoney %type;
t_SPsum %type;
BEGIN
IF INSERTING THEN
Select Mname,Mprice,Mcost,:*Mprice
into:,:,:,:
from Mlist
where=:;
Select nvl(sum(Cqty*Mprice),0),nvl(sum(Cqty*(Mprice-Mcost)),0) into t_Smoney,t_SPsum
from Clist
where=:;
update C
set Smoney=t_Smoney+:,SPsum=t_SPsum+(:*(::)
where=:;
ELSIF UPDATING THEN
select Mname,Mprice,Mcost
into:,:,:
from Mlist
where=:;
::=nvl(:,:*nvl(:,:;
Update C set Smoney=Smoney-:+:,
SPsum=SPsum-:*(::+:*(::
where=:;
ELSE
UPDATE C SET=:,=(:*(::);
END IF;
END tri_all;
3.3.4 完成【存储过程、自定义函数设计】(1)OR REPLACE FUNCTION fGetDTSum
(Cyear char,Ctable %type)
RETURN%TYPE
AS
cons %TYPE;
BEGIN
select nvl(sum(spsum),0)into cons from C
where did in(
select did from dinfo where dkid in(
select dkid from dk where dkname=Ctable))
and(to_char(endtime,'YYYY')=Cyear);
RETURN cons;
EXCEPTION
WHEN NO_DATA_FOUND THEN
('The data is invalid!');
END fGetDTSum;
(2)OR REPLACE PROCEDURE pGetKindSum(
Cyear char,Cname char,
cons out%TYPE)
AS
BEGIN
select nvl(sum(mprice-mcost),0)into cons from clist
where mid in
(select mid from mlist where mkid in
(select mkid from mk where mkname=Cname))
and
cid in
(select cid from C where to_char(endtime,'YYYY')=Cyear); EXCEPTION
WHEN NO_DATA_FOUND THEN
('The data doesn’’t exists!');
END pGetKindSum;
(3) cons1 %TYPE;
cons2 %TYPE;
BEGIN
cons1:=fGetDTSum('2013','包间');
pGetKindSum('2013','鱼类',cons2);
('cons1 '||cons1||'cons2 '||cons2||'');
END;
3.3.5完成【程序包设计】
(1)OR REPLACE PACKAGE pkSUM
AS
FUNCTION fGetDTSum
(Cyear char,Ctable %type)
RETURN%TYPE;
PROCEDURE pGetKindSum(
Cyear char,Cname char,
cons out%TYPE);
END pkSUM;
CREATE OR REPLACE PACKAGE BODY pkSUM
AS
CREATE OR REPLACE FUNCTION fGetDTSum
(Cyear char,Ctable %type)
RETURN%TYPE
AS
cons %TYPE;
BEGIN
select nvl(sum(spsum),0)into cons from C
where did in(
select did from dinfo where dkid in(
select dkid from dk where dkname=Ctable))
and(to_char(endtime,'YYYY')=Cyear);
RETURN cons;
EXCEPTION
WHEN NO_DATA_FOUND THEN
('The data is invalid!');
END fGetDTSum;
CREATE OR REPLACE PROCEDURE pGetKindSum(
Cyear char,Cname char,
cons out%TYPE)
AS
BEGIN
select nvl(sum(mprice-mcost),0)into cons from clist
where mid in
(select mid from mlist where mkid in
(select mkid from mk where mkname=Cname))
and
cid in
(select cid from C where to_char(endtime,'YYYY')=Cyear);
EXCEPTION
WHEN NO_DATA_FOUND THEN
('The data doesn’’t exists!');
END pGetKindSum;
END pkSUM;
CREATE OR REPLACE PACKAGE BODY pkSUM
AS
CREATE OR REPLACE FUNCTION fGetDTSum
(Cyear char,Ctable %type)
RETURN%TYPE
AS
cons %TYPE;
BEGIN
select nvl(sum(spsum),0)into cons from C
where did in(
select did from dinfo where dkid in(
select dkid from dk where dkname=Ctable))
and(to_char(endtime,'YYYY')=Cyear);
RETURN cons;
EXCEPTION
WHEN NO_DATA_FOUND THEN
('The data is invalid!');
END fGetDTSum;
CREATE OR REPLACE PROCEDURE pGetKindSum(
Cyear char,Cname char,
cons out%TYPE)
AS
BEGIN
select nvl(sum(mprice-mcost),0)into cons from clist where mid in
(select mid from mlist where mkid in
(select mkid from mk where mkname=Cname))
and
cid in
(select cid from C where to_char(endtime,'YYYY')=Cyear);
EXCEPTION
WHEN NO_DATA_FOUND THEN
('The data doesn’’t exists!');
END pGetKindSum;
END pkSUM;
(2) cons1 %TYPE;
cons2 %TYPE;
BEGIN
cons1:=('2013','散台');
('2013','蔬菜类',cons2);
('cons1:'||cons1||' cons2:'||cons2||'');
END;
4.实验总结
这次实验让我学会了许多东西,比如PLSQL Developer的使用,高级PL/SQL 程序的编写,其中包括触发器,储存过程,自定义函数,匿名函数,程序包的设计与编写。另外,也让我又温习了一遍基础SQL语言。我也明白了一个道理,“纸上得来终觉浅,绝知此事要躬行”,学好这门课最好的办法还是上级亲自实践一遍。总之,这门课令我受益匪浅。
Oracle实验报告
Oracle数据库实验报告 实验一:Oracle 10g安装卸载及相关工具配置 一、实验目标: 安装Oracle 10g,了解OEM,通过DBCA安装数据库,通过DBCA删除数据库,sqldeveloper连接数据库,卸载oracle 10g。 二、实验学时数 2学时 三、实验步骤和内容: 1、安装Oracle10g(默认安装数据库) 双击setup.exe, 选择基本安装,安装目录D:盘,标准版,默认数据库orcl,口令bhbh。 进入先决条件检查界面时:网络配置需求选项不用打勾,直接下一步,是。 直到安装成功。 2、登陆和了解OEM 主要是已网页的形式来对数据库进行管理。
http://主机IP:1158/em 用户名:sys 口令:bhbh 身份:sysdba 或者 用户名:system 口令:bhbh 身份:normal 3、通过DBCA删除已安装的默认数据库orcl 程序->Oracle - OraDb10g_home1->配置和移植工具->Database Configuration Assistant->删除数据库->…… 4、通过DBCA安装数据库xscj 程序->Oracle - OraDb10g_home1->配置和移植工具->Database Configuration Assistant->创建数据库->…… 5、sqldeveloper连接数据库 打开sqldeveloper,新建连接 连接名:system_ora 用户名:system 口令:bhbh 主机名:本机计算机名 SID:xscj 测试,显示成功,连接,保存。
6、卸载oracle 10g Windows下 1>停止所有Oracle服务,点Universal Installer卸载 2>删除注册表中的所有关于Oracle项 在HKEY_LOCAL_MACHINE\SOFTWARE下,删除Oracle目录 3>删除硬盘上所有Oracle文件。 (1)Oracle安装文件 (2)系统目录下,在Program files文件夹中的Oracle文件 四、上机作业 根据实验步骤完成逐个实验目标中的任务。 五、心得体会 通过这次的实验,我了解了oracle数据库的情况。懂得了数据库就是把数据存储在一个类似与仓库的地方,需要用时才从数据库里调出来。通过上机实践,知道了装数据库和卸载数据库,并且学会了怎样连数据库。 实验二:Oracle 10g手工建数据库 一、实验目标: 安装Oracle 10g数据库环境,手工建立数据库;通过Net Configuration Assistant建立监听,使用sqldeveloper连接数据库测试。 二、实验学时数 2学时 三、实验步骤和内容: 先安装好Oracle 10g数据库环境(不安装默认数据库)。 1.创建好相关的目录
软件工程 实验报告
v1.0 可编辑可修改 院系:计算机科学学院 专业:计算机科学与技术 年级: 2013级 课程名称:软件工程 组员:司少武(1135) 兰少雄(1136) 张宇(1133) 纳洪泽(1132) 指导教师:刘卫平 2015年 12月 26 日
聊天室 1 前言 即时消息系统的研究现状 即时消息系统[1](Instant Messenger,IM)是一种在后 PC 时代兴起的,以Internet 网络为基础的,允许交互双方即时地传送文字、语音、视频等信息,能够跟踪网络用户在线状态的网络应用软件。即时消息系统产生有着深刻的社会原因:人们都有渴望社交,获得社会尊重、实现自我的需求,这正是即时消息软件风行的原动力,而物质文明的日益发达所带来副作用,又使得人们习惯与周围的人保持距离,以致人们更愿意对陌生人敞开心扉,在网络中可以跨越年龄、身份、行业、地域的限制,达到人与人、人与信息之间的零距离交流。从这点上讲,即时消息系统的出现改变了人们的沟通方式和交友文化,大大拓展了个人生活交流的空间。 本工程的主要内容 随着互联网逐步普及,人们的生活和工作也越来越离不开信息网络的支持,而聊天室是人们最常见,最直接的网上交流的方式。本聊天系统以聊天交流为主,为广大用户提供一个借助网络进行人际交往的平台,也是网络与现实最贴近的实用型网站。本文所介绍的网络聊天系统是基于开放的JAVA应用程序开发设计的,其主要特性是能动态、实时的完成信息的传递,且具有高效的交互性,更有效的处理客户请求,且具有脱离数据库技术方法,易于维护和更新的特点。 2 需求分析 本系统所要实现的主要功能是当用户聊天时,将当前用户名、聊天对象、聊天内容、聊天语气和是否私聊进行封装,然后与服务器建立Socket连接,再用对象输出流包装Socket的输出流将聊天信息对象发送给服务器端当用户发送聊天信息时,服务端将会收到客户端用Socket传输过来的聊天信息对象,然后将其强制转换为Chat对象,并将本次用户的聊天信息对象添加
C语言程序设计课程设计题目
1 一元稀疏多项式的运算 问题描述:设有两个带头指针的单链表表示两个一元稀疏多项式A、B,实现两个一元稀疏多项式的处理。 实现要求: ⑴输入并建立多项式; ⑵输出多项式,输出形式为整数序列:n,c1,e1,c2,e2……c n,e n,其中n是多项式的项数,c i,e i分别为第i项的系数和指数。序列按指数降序排列; ⑶多项式A和B相加,建立多项式A+B,输出相加的多项式; ⑷多项式A和B相减,建立多项式A-B,输出相减的多项式; ⑸多项式A和B相乘,建立多项式A×B,输出相乘的多项式; ⑹设计一个菜单,至少具有上述操作要求的基本功能。 测试数据: (1) (2x+5x8-3.1x11)+(7-5x8+11x9) (2) (6x-3-x+4.4x2-1.2x9)-(-6x-3+5.4x2+7.8x15) (3)(x+x2+x3)+0 (4)(x+x3)-(-x-x-3) 2 成绩排序 假设某年级有4个班,每班有45名同学。本学期有5门课程考试,每门课程成绩是百分制。假定每个同学的成绩记录包含:学号、姓名各门课程的成绩共7项,其中学号是一个10位的字符串,每个学生都有唯一的学号,并且这4个班的成绩分别放在4个数组中,完成以下操作要求: ⑴编写一个成绩生成函数,使用随机数方法,利用随机函数生成学生的各门课程的成绩(每门课程的成绩都是0∽100之间的整数),通过调用该函数生成全部学生的成绩; ⑵编写一个平均成绩计算函数,计算每个同学的平均成绩并保存在成绩数组中; ⑶用冒泡排序法对4个班的成绩按每个同学的平均成绩的以非递增方式
进行班内排序; ⑷用选择排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进行班内排序; ⑸对已按平均成绩排好序的4个班的同学的构造一个所有按平均成绩的以非递增方式排列的新的单链表; ⑹设计一个菜单,至少具有上述操作要求的基本功能。 3 迷宫问题 问题描述:以一个m×n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。 实现要求: ⑴实现一个以链表作存储结构的栈类型,然后编写一个求解迷宫的非递归程序。求得的通路以三元组(i,j,d)的形式输出,其中:(i,j)指示迷宫中的一个坐标,d表示走到下一坐标的方向。 ⑵编写递归形式的算法,求得迷宫中所有可能的通路; ⑶以方阵形式输出迷宫及其通路。 [测试数据] 迷宫的测试数据如下:左上角(1,1)为入口,右下角(8,9)为出口。 1 2 3 4 5 6 7 8 实现提示:
程序设计实验报告
学生实验报告 院系:测绘学院 专业班级:测绘13级3班 学号:2013305517 学生姓名:王泽 指导教师:郭辉老师 2016年05月20日
安徽理工大学实验报告 实验课程名称:数据结构与软件开发上机实验 开课院系及实验室:测绘学院红楼二楼机房 实验1 编程基本知识练习 实验目的: 通过该实验课内容的练习,学生应掌握VB 编程的基本语法、变量的定义、数组(动态数组)的定义、VB 语言中子过程与函数的定义以及文本文件的读写等知识。 实验内容: 1)变量的定义动态数组的定义与应用; 2)矩阵的加、减、乘运算(定义Sub()子过程或Function()来实现); 3)数据文件的建立、数据的读取与写入。 实验步骤: 1.编辑界面 1.1 打开VB 编程工具,进入编程主界面。
1.2 在窗体上新建“读入数据”和“输出数据”两个按钮。 1.3 双击“窗体”进入代码输入界面,进行代码编辑。 2.用VB 编写的源代码 2.1 矩阵基本运算源码详见附录一。 (1)两矩阵相加 (2)两矩阵相减 (3)矩阵转置 (4)两矩阵相乘 (5)矩阵求逆 2.2 文本文件(本实验中data.txt)的读取源代码 (1)建立文本文件并输入数据 在桌面上新建一“data.txt” ( 文本文件路径为C:\Users\ WH\Desktop\练习\data.txt”)。输入以下内容: 6,7,4,0.005 A,35.418 B,45.712 C,25.270
D,24.678 在桌面上新建一“result.txt” ( 文本文件路径为C:\Users\ WH\Desktop\练习\result.txt”)。(2)从文本文件中读数据 Dim linedata as string, m_GaochaN as integer,m_Pnumber as integer,m_knPnumber as integer,M as Double,k1 as integer 'linedata 为存储文本文件一行信息的字符串变量 Dim a() as String,H() as Double 'a()为存储点名,H()存储高程 Open“C:\Users\ WH\Desktop\练习\data.txt”For Input As #1 Line Input #1, linedata k = Split(linedata, ",") m_GaochaN = Val(k(0)) m_Pnumber = Val(k(1)) m_knPnumber = Val(k(2)) M = CDbl(k(3)) For k1 = 1 To m_knPnumber Line Input #1, linedata k = Split(linedata, ",") a(k1)= k(0) GetstationNumber (a) H(k1) = CDbl(k(1)) Next Close #1 (3)将读入点名存储到点名数组中,且返回该点名所对应编号 Function GetstationNumber(name As String) Dim i As Integer For i = 1 To m_Pnumber If P_Name(i) <> "" Then '将待查点名与已经存入点名数组的点比较 If P_Name(i) = name Then GetstationNumber = i Exit For End If Else '待查点是新的点名,将新点名放到P_Name 数组中 P_Name(i) = name GetstationNumber = i Exit For End If Next i End Function (4)从文本文件中写数据(将从data.txt 读入的数据,写入到result.txt 文件中) Open“C:\Users\ WH\Desktop\ 练习\result.txt” For Output As #1 outstring = outstring + str(m_GaochaN) +","
Oracle 实验4(实验报告)-PL_SQL程序设计
学期 Oracle数据库应用技术 实验报告 选课序号: 班级: 学号: 姓名: 指导教师:史金余 成绩: 2017年月日
目录 1.实验目的 (1) 2.实验内容 (1) 2.1 触发器设计 (2) 2.2 存储过程、自定义函数设计 (2) 2.3 程序包设计 (3) 3.实验步骤 (3) 3.1 创建表空间RESTAURANT,创建用户DINER (3) 3.2 创建餐饮系统数据库的所有表,并向各表插入演示数据 (4) 3.3 完成【实验内容】中的触发器、存储过程、函数和程序包等 功能设计,将程序脚本保存到文本文件Source.sql中 (7) 4.实验总结 (13)
PL/SQL程序设计 1.实验目的 ◆掌握PL/SQL程序设计基本技巧,包括基本数据类型、表类型、数组类 型、匿名程序块、控制语句、PL/SQL中使用SQL语句、游标、错误处 理等。 ◆熟悉和掌握PL/SQL中关于存储过程、函数、包和触发器程序设计技术。 2.实验内容 实验平台:PL/SQL Developer或Oracle的其它客户端管理工具。 某餐饮系统数据库(加粗字段为主键,斜体字段为外键),请创建如下各数据表,并实现如下存储过程、函数、包和触发器等功能设计,将程序脚本保存到文本文件Source.sql中: (1)菜肴类别表MK(菜肴类别编号MKid,菜肴类别名称MkName),菜肴类别名称:鱼类、蔬菜类、凉菜类、肉类、主食类和酒水类等。 (2)菜单信息表MList(菜肴编号Mid,菜肴名称Mname,菜肴类别MKid,菜肴单价Mprice,菜肴成本单价Mcost,更新日期Mdate)。 (3)餐台类别表DK(餐台类别编号DKid,餐台类别名称DkName),餐台类别:包间和散台等。 (4)餐台信息表Dinfo (餐台编号Did,餐台名称Dname,餐台类别DKid,座位数Dseats,更新日期Ddate)。 (5)消费单主表C (消费单号Cid,餐台编号Did,消费开始时间StartTime,结账时间EndTime,消费金额合计Smoney,盈利金额合计SPsum),其中,消费金额合计=消费单明细表CList中该消费单号的所有消费记录的消费金额的合计,即SUM(消费金额)或SUM(菜肴单价×消费数量),盈利金额合计=消费单明细表CList中该消费单号的所有消费记录的盈利合计,即SUM((菜肴单价- 菜肴成本单价)×消费数量)。 (6)消费单明细表CList (消费单号Cid,序号Sid,菜肴编号Mid,菜肴名称Mname,消费数量Cqty,菜肴单价Mprice,菜肴成本单价Mcost,消费金额Cmoney) ,消费金额=消费数量×菜肴单价;消费数量为正数是正常点菜,消费数量为负数是退菜,消费数量为0是赠菜。
高级语言程序设计实验报告 C语言实验报告
C语言程序设计实验报告 实验二循环结构程序设计 班级 2012196 学号 201219628 姓名李明月 一、实验目的 (1)掌握用while语句,do-while语句和for语句实现循环的方法; (2)掌握循环结构的嵌套; (3)掌握break语句和continue语句的使用方法。 二、实验内容及步骤 1.相传国际象棋是古印度舍罕王的宰相达依尔发明的。舍罕王十分喜欢象棋,决定让宰相自己选择何种赏赐。这位聪明的宰相指着8×8共64格的象棋盘说:陛下,请您赏给我一些麦子吧,就在棋盘的第一个格子中放1粒,第2格中放2粒,第3格放4粒,以后每一格都比前一格增加一倍,依此放完棋盘上的64个格子,我就感恩不尽了。舍罕王让人扛来一袋麦子,他要兑现他的许诺。国王能兑现他的许诺吗? 程序1:试编程计算舍罕王共要多少粒麦子赏赐他的宰相,这些麦子合多少立方米?(已知1立方米麦子约1.42e8粒)总粒数为:sum=1+2+22+23+…+263 程序代码: #include
2. 求完数。 程序2:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6的因子为1,2,3,而6=1+2+3,因此6是“完数”。编程找出1000之内的所有完数,输出所有的完数(要求:一行显示6个数); 程序代码: #include 设计题目:学生成绩管理系统班级:计0902 姓名:付乐颖 学号:20091221067 完成日期:2010.10.15 1. 课程设计目的和要求 随着科学的发展和社会的进步,许多过去有人工处理的繁杂事务开始交付计算机来完成。学生成绩管理系统可以说是一个得力助手,它利用计算机对学生成绩进行统一管理,实现学生成绩信息管理工作流程的系统化、规范化和自动化,提高了广大教师的工作效率。 本程序旨在训练学生的基本编程能力,了解管理信息系统的开发流程,熟悉C语言的文件等的各种基本操作,使学生能对C语言的文件操作有一个更深的理解。为进一步开发出高质量的信息管理系统打下坚实的基础。 2. 课程设计任务内容 学生包含以下信息项:学号、姓名、学院、班级、高数成绩、英语成绩、C语言成绩、总分、平均分。系统的主要功能包括: 1. 创建学生成绩信息文件,根据提示输入学生的各项信息,计算出总分和平均分,然后按学号对学生信息进行排序,并将排序后的学生成绩信息存储到一个二进制文件中。 2. 增加学生信息,在原有学生信息文件的基础上增加新的学生成绩信息,要求:增加后的学生信息仍按学号排序,并继续保存至原文件。 3. 删除学生信息,提示用户输入要进行删除操作的学号,如果在文件中有该信息存在,则将该学号所对应的学生信息删除,否则输出提示信息,并提示用户选择是否继续进行删除操作。 4. 修改学生信息,提示用户输入要进行修改操作的学号,如果在文件中有该息存在,则将提示用户输入该学号对应的要修改的选项,结果保存至原文件,并提示用户选择是否继续进行修改操作。 5. 按不同条件对学生信息进行查询操作,输出满足条件的学生信息。 (1) 按学号查询,输入一个学号,输出对应的学生信息。 《C程序设计》实验教学大纲 一、适用范围 大纲适用信息管理专业本科教学使用。 二、课程名称 C程序设计 三、学时数与学分 总学时:90 总学分:4 实验学时:28 实验学分:1 四、教学目的和基本要求 目的:通过C程序设计实验,培养学生对学习程序设计的兴趣,加深对讲授内容的理解,尤其是通过上机来掌握语法规则,使学生全面了解 C 语言的特点,熟练掌握 C 语言程序设计的基本方法和编程技巧。 基本要求:了解和熟悉C语言程序开发的环境;学会上机调试程序,善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行,达到实验知识和理论知识的融会贯通。上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止,上机结束后,应整理出实验报告。 注:带*的实验项目为选做实验项目 六、教材、讲义及参考书 《C程序设计题解与上机指导》谭浩强主编清华大学出版社 七、实验成绩评定办法 实验成绩=平时实验表现+实验报告。实验成绩占总成绩的20%。 实验成绩以等级形式给出,评定等级分优、良、中、及格、不及格五类。 1、平时考核:上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止。在实验中,教师可根据学生编程操作能力、观察和分析及运用知识能力、程序编制正确性以及学生的课堂纪律、实验态度、保持实验室卫生等方面的表现进行综合考核。 2、实验报告:学生实验后应按时完成实验报告。 八、实验教学大纲说明 本大纲共安排28学时的实验,其中带*号实验项目为选做实验项目,实际课时为18学时。实验项目多为设计性实验项目,每个设计性实验项目中都包含数个小的设计性题目,其中带*号的题目为选做题目,有时间和有能力的同学可以选做。 九、实验项目 实验一C程序的运行环境和运行一个C程序的方法 一、实验目的 1.了解Visual C++6.0编译系统的基本操作方法,学会独立使用该系统。 2.了解在该系统上如何编辑、编译、连接和运行一个C程序。 3.通过运行简单的C程序,初步了解C源程序的特点。 二、实验内容 1.用编辑程序,输入教材第一章例1.1程序,并进行编译和运行。应了解所用的系统是用什么命令进行编译和连接运行的。编译和连接后所得到的目标程序的后缀是什么形式的? 2.编写一个C程序,输出以下信息: **************************** very good! **************************** 3.输入并运行教材第一章中例1.3,了解如何在运行时向程序变量输入数据。 实验二数据类型、运算符和表达式 一、实验目的 1.掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用格式转换符。 2.学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。 二、实验内容 1.输入并运行以下程序: main( ) { char c1,c2; c1=97;c2=98; pr intf(“%c %c\n”,c1,c2); printf(“%d %d\n”,c1,c2); } 在此基础上 ①将第三行、第四行改为: c1=321;c2=353; 再使之运行,分析其运行结果。 ②将第二行改为: int c1,c2; 再使之运行,分析其运行结果。。 2.输入并运行以下程序: 上机1:Oracle的安装与配置 (时间:2011.2.28) 一、实验目的 掌握Oracle10g的安装与网络连接配置 二、实验内容 1、安装Oracle10g 2、查看安装后的数据库文件目录结构 3、查看当前数据库的数据文件、控制文件、重做日志文件、参数文件 4、为连接到Oracle服务器进行网络连接配置 上机2:Oracle10g常用工具的使用 (时间:2011.3.1) 一、实验目的 掌握Oracle10g常用工具(SQL*PLUS、iSQL*PLUS、EM)的使用 二、实验内容 1、利用企业管理器(EM)查看当前数据库: 1) 查看当前数据库系统的内存结构 2) 查看当前数据库的工作模式 3) 查看当前数据库“SYS”方案下的逻辑对象 4) 查看当前数据库的表空间 5) 查看“SYS”用户的权限 2、利用SQL*PLUS查看当前数据库 分别查看当前数据库的数据文件、控制文件、重做日志文件。 3、利用iSQL*PLUS查看当前数据库,分别查看当前数据库的数据 文件、控制文件、重做日志文件。 上机3:PowerDesigner开发与应用-1 (时间:2011.3.7) 一、实验目的 掌握使用PowerDesigner工具设计CDM(概念数据模型)二、实验内容 设计“员工医疗保险系统”数据库的CDM(概念数据模型) 上机4:PowerDesigner开发与应用-2 (时间:2011.3.8) 一、实验目的 掌握使用PowerDesigner工具设计PDM(物理数据模型)二、实验内容 设计“员工医疗保险系统”数据库的PDM(物理数据模型) 上机5:创建数据库 (时间:2011.3.15) 一、实验目的 1、复习巩固网络连接配置操作 2、了解使用Oracle数据库配置助手创建、删除数据库的操作 二、实验内容 (详见教材102:实践内容) 上机6:创建数据库、表空间和数据文件 (时间:2011.3.17) 一、实验目的 掌握表空间和数据文件的创建、查看、修改、删除操作及命令 二、实验内容 (详见教材102-103:实践内容) 上机7:数据库的安全管理-1 (时间:2011.3.22) 一、实验目的 1、掌握概要文件的建立、修改、查看、删除操作 2、掌握用户的建立、修改、查看、删除操作 二、实验内容 详见教材130-131:(1)—(6)、(13) 第一章目的与要求 书上有。 第二章需求分析 软件设计的一个重要的环节就是需求分析。本章在对ATM取款机管理系统的应用情况作了全面调查的基础上,确定系统目标,并对系统所需要的基础功能进行分析,从而确定用户的需求。以下是ATM取款机管理系统所需要的需求分析。 ATM管理系统包括六个模块:登录,挂失功能,修改密码,取款功能,转账功能,查询功能。 ①登录: 输入银行卡的账号,密码,验证银行卡的卡号,密码是否正确,之后进入主界面 ②挂失功能: 确认是否对银行卡进行挂失,挂失后账户无法操作 ③修改密码: 用户可自由对其银行卡密码进行修改,修改之后的新密码将会覆盖其原密码 ④取款功能: 用户可自由取得所持银行卡内的存款,所取款数必须在其原有账户余额之内 ⑤转账功能: 用户可将本账户中的存款转入其他账户,转账过程中,需要转入账户的账 号 ⑥查询功能: 用户可查询用户信息,其中包括用户姓名、用户身份证号码、银行卡号以及存款余额 模拟ATM取款机的操作: 首先录入账户信息,格式如下 ㈠、登录功能:输入帐号和密码进行登录,如密码错误提示重新输入密码,如帐号错误提示无此帐户。 ㈡、查询功能:查询账户余额。 ㈢、取款功能:取款,更新余额。 ㈣、挂失功能:挂失后,该账户不能进行任何操作。 ㈤、修改密码:输入原密码和新设置密码。 ㈥、转账功能:输入转账的转出账户以及转账金额,进行转账。 第三章设计分析 3.1、ATM系统管理 3.1.1系统基本功能 首先,确定系统中存在两种用户,一种是ATM,可以进行信息录入和后台管理。另外一种是取款人,取款人主要是进行信息的查询,不能进行信息录入。所以在创建类的时候,先创建一个ATM类,然后创建取款人类,并与ATM 类形成有元,进而继承ATM的所有功能,并添加录入信息的功能。 基本功能: 登录功能---------输入帐号和密码进行登录,如密码错误提示重新输入密码,如帐号错误提示无此帐户。 查询功能---------查询账户余额。 取款功能---------取款,更新余额。 挂失功能---------挂失后,该账户不能进行任何操作。 修改密码---------输入原密码和新设置密码。 转账功能---------输入转账的转出账户以及转账金额,进行转账。、 C语言程序设计实验报告(数组) 1实验目的 (1)熟练掌握一维数组,二维数组的定义,初始化和输入、输出方法; (2)熟练掌握字符数组和字符串函数的使用; (3)掌握与数组有关的常用算法(查找、排序等)。 2实验内容 编写函数catStr(char str1[],char str2[])用于进行两个字符串的连接,编写函数lenStr(char str[])用于统计一个字符串的长度,并在主函数中调用。 要求: 1、不允许用strcat()和strlen()字符处理库函数; 2、在主函数以直接初始化的方式输入两个字符串str1和str2.调用函数 strlen()计算并返回两个字符串的长度; 3、调用函数catstr()连接两个字符串(将str2连接在str1后面); 4、调用函数lenstr()计算并返回连接后字符串的长度; 5、在主函数中输入两个原始的字符串及几个字符串的长度,以及处理后字 符串及其长度。 3算法描述流程图 4源程序 #include for (i=0;m[i]!='\0';i++); printf("%d",i); } void main() {char s1[50]="forever",s2[50]="more"; printf("s1=%s,s2=%s",s1,s2); printf("\ns1的长度:"); lenStr(s1); printf("\ns2的长度:"); lenStr(s2); catStr(s1,s2); printf("\n连接后的字符:"); printf("%s\n",s1); printf("连接后字符的长度:"); lenStr(s1); printf("\n"); } 5测试数据 s1=forever, s2=more 6运行结果 7出现问题及解决方法 在输入程序时,少写了半边引号,调试时发现存在错误,找到了错误并加以改正。无论什么事,细心都是必不可少的,认真是解决问题的关键。 8实验心得 通过本次实验,对于函数的定义和声明,数组以及循环语句有了进一步的认识,掌握了字符数组和字符串函数的使用,以及与数组有关的常用算法。此次实验不是调用strlen()和strcat()函数,而是通过自己设计程序来进行字符串的连接以及计量字符串的长度,由此我学会了如何去理清自己的思路来设计程序。 1 矩阵的操作(6人) 设有两个矩阵A=(a ij)m×n,B=(b ij)p×q 实现要求: ⑴编写矩阵输入函数INPUT_MAT,通过该函数完成矩阵的输入并返回保存矩阵的数组和对应矩阵的行数、列数。(不能使用全局变量) ⑵编写矩阵输出函数OUTPUT_MAT,通过该函数完成矩阵的输出。 ⑶求矩阵的转置,矩阵的转置A’=(a ji)n×m,转置前输出原矩阵,转置后输出转置矩阵。 ⑷求矩阵A、B的和。矩阵A和B能够相加的条件是:m=p,n=q;矩阵A和B如果不能相加,请给出提示信息;若能够相加,则求和矩阵C并输出C。 C=A+B=(c ij)m×n,其中c ij=a ij+b ij ⑸求矩阵A、B的积。矩阵A和B能够相乘的条件是:p=n;矩阵A和B 如果不能相乘,请给出提示信息;若能够相乘,则求积矩阵D并输出D。 D=A×B=(d ij)m×q,其中d ij=∑a ik×b kj,k=1,2,……,n ⑹设计一个菜单,具有求矩阵的转置、求矩阵的和、求矩阵的积、退出等基本的功能。在求矩阵的和或求矩阵的积时要求能够先提示输入两个矩阵的,然后再进行相应的操作。 2 数据汇总 (6人) 问题描述: 在数据处理中经常需要对大量数据进行汇总,将相同关键字记录的某些数据项的值叠加起来,生成一个分类汇总表。 假设某超级市场销售有m种商品(假设商品的编号为1,2,3,┅┅,m),有n台前台收款机(假设收款机的编号为1,2,3,┅┅,n)进行收款,以记录的形式提供给计算机,每个记录表示某台收款机的一种商品一次交易的数量和销售额。记录由4个域组成:收款机编号、商品编号、销售数量、销售金额。构造一个结构体类型,每次销售数据以一个结构体变量保存在一个数据文件中。实现要求: ⑴编写实现将数据记录插入到数据文件的最后的函数; ⑵编写以收款机为单位的数据分类处理函数。构造n个单链表,每个链表保存一台收款机的销售记录,这n个单链表的头指针存放在一个指针数组中,通过数组的下标就可以知道是哪台收款机。读取数据文件的记录,将所有的销售记录(数据文件中的全部记录)分解插入到n个单链表; ⑶统计每台收款机的销售总额; ⑷编写以商品为单位的数据分类处理函数。构造m个单链表,每个链表保存一种商品的销售记录,这m个单链表的头指针存放在一个指针数组中,通过数组的下标就可以知道是哪种商品。读取数据文件的记录,将所有的销售记录(数据文件中的全部记录)分解插入到m个单链表; ⑸以商品为单位,统计每种商品的销售总额。 ⑹设计一个菜单,具有插入数据记录、按收款机统计销售总额、按商品统计销售总额、退出系统等最基本的功能。 四川师范大学计算机学院oracle实验报告册 院系名称:计算机科学学院 课程名称:oracle数据库运用与开发 实验学期2012 年至2013 年第 1 学期 专业班级:电子商务2010级5班 姓名:苏瑶学号:2010110338 指导教师:俞晓老师 实验最终成绩: 实验一了解ORACLE环境,使用ORACLE数据库实用工具 (验证性实验 4学时) 1.目的要求: 了解ORACLE数据库的各个常用工具软件 2.实验内容: 在ORACEL数据库下使用SQL*PLUS ,SQL*PLUS Worksheet,PL/SQL Developer工具,企业管理器等实用工具与Oracle交互。并在企业管理器中观察ORACLE的底层存储原理。在PL/SQL Developer中书写简单的SQL语言。 3.主要仪器设备及软件 1)PC 2)ORACLE数据库 --创建用户 create user user1 identified by user1; --赋给用户建表、连接等权限 grant connect to user1; grant create any table to user1; grant resource ,dba to u1; --连接用户 Conn user1/user1; --收回权限(dba ) revoke dba from u1; ------------------------------------------------------------------------- 实验二熟悉SQL语言 (验证性实验 4学时) 1.目的要求 在SQL*PLUS或PL/SQL Developer工具中编写SQL语句 2.实验内容 在ORACLE 数据库中定义用户,给用户赋权限,创建,修改和删除表格,视图等数据库对象,并向表格中插入,修改和删除数据。体会SQL语言中ORACLE的“方言”。 对自己建立的表做查询:包括单表查询,多表查询,嵌套查询,分组查询,相关查询 3.主要仪器设备及软件 1)PC 2)ORACLE数据库 --修改数据: update student set sAge=19where sage=18; --删除数据: delete from student where sname='吴芳'; --输出成绩大于60小于80的学生的名字 select sname from student,sc where grade >60and grade <80and student.sno=sc.sno; --输出学生表中的总人数 select count(*)from student; 高级程序设计 实验报告 班级 学号: 姓名: 实验名称: 指导老师: 日期: 实验十一文件和流I/O 一、实验题目:文件和流I/O 二、实验内容: 1.掌握磁盘的基本操作 2.掌握目录的基本操作 3.文件的基本操作 4.文本文件的读取和写入 5.字符串的读取和写入 6.二进制文件的读取和写入I 7. 二进制文件的读取和写入2 三、主要程序代码: 1. using System; using System.IO; using System.Collections.Generic; using System.Text; namespace实验1 { class Test { public static void Main() { DriveInfo[] allDrives = DriveInfo.GetDrives(); foreach (DriveInfo d in allDrives) { Console.WriteLine("Drive {0}", https://www.360docs.net/doc/8a6353528.html,); Console.WriteLine(" File type: {0}", d.DriveType); if (d.IsReady == true) { Console.WriteLine(" Volume label: {0}", d.VolumeLabel); Console.WriteLine(" File system: {0}", d.DriveFormat); Console.WriteLine(" Available space to current user:{0, 15} bytes",d.AvailableFreeSpace); Console.WriteLine("Total available space: {0, 15} bytes",d.TotalFreeSpace); Console.WriteLine( " Total size of drive: {0, 15} bytes ", d.TotalSize); } } Console.ReadKey(); 测量数据处理程序设计指导书 设计名称:测量数据处理程序设计 计划周数:2周 适用对象:测绘工程专业本科 先修课程:测量学,测量平差基础,大地控制测量,测量程序设计 一、设计目的 测量数据处理程序设计是学生在系统学习完大地控制测量学、测量平差基础、测量程序设计等相关课程之后,为了系统理解控制网平差的整体过程及综合运用科学工具而安排的。通过课程设计主要达到以下几个目的:掌握控制网平差课程设计具体内容、方法和步骤;通过理论联系实际,进一步巩固已学到的专业理论知识,并加深对理论的认识;培养学生对编写代码,上机调试和编写说明书等基本技能;锻炼学生阅读各类编程参考书籍及加以编程运用的能力。 二、设计内容及日程 在VB、 VC软件或matlab科学计算软件的平台上,选择的具体课程设计题目,进行程序设计与实现,共计10个工作日,工作程序如下: 三、设计的组织: 1.设计领导 (1)指导教师:由教研室指派教师、实验员兼任。 职责:全面组织设计大纲的实施,完成分管工作及相关技术指导。 (2)设计队长:学生班长兼任。 职责:协助教师做好本班学生的人员组织工作。 (3)设计组长:每组一人。 职责:组织执行下达的设计任务,安排组内各成员的工作分工。 2.设计分组 学生实习作业组由3~4人组成(含组长一人)。 四、设计内容 在VB、VC或MATLAB 软件平台上,按选择的设计题目进行相关程序开发 1、闭合导线简易平差、附合导线简易平差支导线计算 2、闭合水准网计算、附合水准网简易平差 3、地形图编号(新、旧两种方法) 4、误差椭圆的参数的计算与绘制误差椭圆 5、水准网严密平差 6、高斯正反算计算 7、高斯投影换带计算 8、七参数大地坐标转换(WGS84-bj54坐标转换、WGS84-CGCS2000坐标转换) 9、四参数坐标转换(西安80-bj54坐标转换、CGCS2000-bj54坐标转换、CGCS2000-西安80坐 标转换(平面) 10、大地高转换为正常高的计算 11、工程投影变形超限的处理 12、遥感图像数据处理 13、曲线(曲面)拟合 14、摄影测量空间后方交会 15、****管理信息系统设计与开发 五、上交成果 1) 小组利用vb、vc或matlab编写的软件包一个及测试数据一份 2)小组关于所开发程序设计说明书一份 3) 个人课程设计的心得一份 4)小组答辩PPT一份 C++程序设计 实验报告 专业计算机科学与技术班级 ____________ 学号 ____________ 姓名 ____________ 指导教师 __许加兵_ 信息与电子工程学院2013年9月-12月 C++程序设计实验报告 专业__________班级__________学号__________姓名__________ 成绩____________ 指导教师____________ 日期____________ 实验1 C++集成开发环境与C++函数程序设计 一、实验目的 1、了解和使用Visual Studio 2010的C++集成开发环境; 2、熟悉Visual Studio 2010环境的基本命令、功能键和常用的菜单命令; 3、学会完整的C++程序开发过程; 4、学习并掌握C++函数程序设计; 二、实验内容 1、安装、了解和使用Visual Studio 2010的C++集成开发环境; 2、通过以下的C++函数程序设计,熟悉Visual Studio 2010环境的基本命令、功能键和常用的菜单命令; 3、通过以下的C++函数程序设计,学会完整的C++程序开发过程; 4、完成以下的C++函数程序设计和调试: 1)编写一个函数print(),将一个整型向量输出到cout。此函数接受两个参数:一个字符串(用于“标记”输出)和一个向量。 2) 编写一个函数,接受一个vector 合肥工业大学计算机与信息学院 实验报告 课程:汇编语言程序设计专业班级:**************** 学号:********** 姓名:***** 目录 实验一 (3) 实验二 (7) 实验三 (12) 实验四 (22) 实验一Debug程序的使用 一.实验目的 1、熟悉DEBUG程序中的命令,学会在DEBUG下调试运行汇编语言源程序。 2、掌握8086/8088的寻址方式及多字节数据的处理方法。 二.实验内容 1、利用DEBUG程序中的“E”命令,将两个多字节数“003F1AE7H”和“006BE5C4H”分别送入起始地址为DS:0200H和DS:0204H两个单元中。 2、分别用直接寻址方式和寄存器间接寻址方式编写程序段,实现将DS:0200H 单元和DS:0204H单元中的数据相加,并将运算结果存放在DS:0208H单元中。要求: 本次实验的内容均在DEBUG下完成,实现数据的装入、修改、显示;汇编语言程序段的编辑、汇编和反汇编;程序的运行和结果检查。 三.实验过程和程序 实验内容一: e ds:0200 E7 1A 3F 00 e ds:0204 C4 E5 6B 00 实验内容二: (1)直接寻址方式 MOV AX,[0200] MOV BX,[0202] ADD AX,[0204] ADC BX,[0206] MOV [0208],AX MOV [020A],BX (2)寄存器间接寻址方式 MOV SI,0200H MOV DI,0204H MOV BX,0208H MOV AX,[SI] MOV DX,[SI+2] ADD AX,[DI] ADC DX,[DI+2]程序设计基础课程设计
C语言程序设计实验报告(实验大纲+过程)
oracle实验报告
程序设计基础课程设计报告 内容样例
C语言程序设计实验报告(数组)
程序设计基础课程设计
oracle实验报告
高级程序设计实验报告
《测量程序设计课程设计》指导书-2015
C+程序设计实验报告-2013
合工大汇编语言程序设计实验报告