南邮软件工程实验四

合集下载

南京邮电大学matlab软件设计(超详细)doc综述

南京邮电大学matlab软件设计(超详细)doc综述

南京邮电大学通信学院软件课程设计实验报告模块名称:___MATLAB软件设计专业班级:__通信工程姓名:____ ____学号:___实验日期:2013年 6 月 17—28日实验报告日期: 2013 年 7 月 1 日一、要求练习的实验部分1.在时间区间 [0,10]中,绘出t e y t 2cos 15.0--=曲线。

程序:t=0:0.1:10;y=1-exp((-0.5)*t).*cos(2*t);plot(t,y,'r-');shg结果:2. 写出生成如图E2-1所示波形的MA TLAB 脚本M 文件。

图中虚线为正弦波,要求它的负半波被置零,且在23处被削顶。

程序:t=linspace(0,3*pi,500);y=sin(t);a=sin(pi/3);z=(y>=0).*y;z=(y>=a).*a+(y<a).*z;plot(t,y,':r');hold on;plot(t,z,'b-')xlabel('t'),ylabel('z=f(t)'),title('逐段解析函数')legend('y=sin(t)','z=f(t)',4),hold off结果:3. 令⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321A ,运行 [U,S,V]=svd(A);tol=S(1,1)*3*eps; 然后回答以下问题: (1)sum(diag(S)>tol) - rank(A) 是多少 ? (2)S(1,1) - norm(A) = 0 是多少 ? (3)sqrt(sum(diag(S*S))) - norm(A,'fro') 的结果是什么 ? (4)S(1,1)/S(3,3) - cond(A) 的结果是什么 ? (5)S(1,1)*S(2,2)*S(3,3) - det(A) < tol 的运行结果是什么? (6)V(:,1)'*null(A) 得到什么结果 ? (7)abs(A*null(A)) < tol 得到什么结果 ? (8) U(:,1:2) = = orth(A) 的运行结果是什么 ?程序:clear;clc;disp('设 A=[1,2,3;4,5,6;7,8,9],得')A=[1,2,3;4,5,6;7,8,9] %一个3*3矩阵disp('设 [U,S,V]=svd(A),得')[U,S,V]=svd(A) %奇异值分解(SVD)USV:U m*m酉矩阵 V n*n酉矩阵 S 对角阵disp('设 tol=S(1,1)*3*eps,得')tol=S(1,1)*3*epsdisp('设 a=sum(diag(S)>tol) - rank(A),求 a')a=sum(diag(S)>tol) - rank(A)disp('设 b=S(1,1) - norm(A),求 b')b=S(1,1) - norm(A)disp('设 c=sqrt(sum(diag(S*S))) - norm(A, fro ),求 c')c=sqrt(sum(diag(S*S))) - norm(A,'fro')disp('设 d=S(1,1)/S(3,3) - cond(A),求 d')d=S(1,1)/S(3,3) - cond(A)disp('设 e=S(1,1)*S(2,2)*S(3,3) - det(A) < tol ,求 e')e=S(1,1)*S(2,2)*S(3,3) - det(A) < toldisp('设 f=V(:,1) *null(A),求 f')f=V(:,1)'*null(A)disp('设 g=abs(A*null(A)) < tol,求 g')g=abs(A*null(A)) < toldisp('设 h=U(:,1:2) == orth(A),求 h')h=U(:,1:2) == orth(A)结果:设 A=[1,2,3;4,5,6;7,8,9],得A =1 2 34 5 67 8 9设 [U,S,V]=svd(A),得U =-0.2148 0.8872 0.4082-0.5206 0.2496 -0.8165-0.8263 -0.3879 0.4082S =16.8481 0 00 1.0684 00 0 0.0000V =-0.4797 -0.7767 -0.4082-0.5724 -0.0757 0.8165-0.6651 0.6253 -0.4082设 tol=S(1,1)*3*eps,得tol =1.1223e-014设 a=sum(diag(S)>tol) - rank(A),求 aa =设 b=S(1,1) - norm(A),求 bb =设 c=sqrt(sum(diag(S*S))) - norm(A, fro ),求 cc =3.5527e-015设 d=S(1,1)/S(3,3) - cond(A),求 dd =-8设 e=S(1,1)*S(2,2)*S(3,3) - det(A) < tol ,求 ee =1设 f=V(:,1) *null(A),求 ff =设 g=abs(A*null(A)) < tol ,求 gg =111设 h=U(:,1:2) == orth(A),求 hh =1 11 11 1结果分析:由上面的结果得出如下的题目答案:(1)sum(diag(S)>tol) - rank(A) 的结果是0;(2)S(1,1) - norm(A) = 0 的结果是0;(3)sqrt(sum(diag(S*S))) - norm(A,'fro') 的结果是3.5527e-015;(4)S(1,1)/S(3,3) - cond(A) 的结果是-8;(5)S(1,1)*S(2,2)*S(3,3) - det(A) < tol 的运行结果是1;(6)V(:,1)'*null(A)的结果是0;(7)abs(A*null(A)) < tol 的结果是111 ;(8)U(:,1:2)==orth(A)的运行结果是1 11 11 14. 求积分dt t x⎰0]sin[cos ,π20≤≤x 。

南京邮电大学软件设计实验报告

南京邮电大学软件设计实验报告

软件设计报告( 2014 / 2015 学年第二学期)课程名称软件设计指导老师赵江实习时间第十八周学生姓名学号____学院______专业软件设计课程编号:B0465011C适用专业:班级:一、所涉及的课程及知识点涉及的课程:第6学期之前的专业基础课程。

知识点:专业基础课程中所学的知识点。

二、目的与任务目的:通过软件设计,培养学生的实践能力和创新精神,加强学生对专业基础课程的理解和掌握,加强学生高级语言编程能力、应用软件以及仿真能力。

任务:选择以下任一模块进行设计:Matlab软件仿真、C语言及应用。

软件设计的内容题目1:如果给出两个矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=136782078451220124A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=087654321B ,执行下面的矩阵运算命令。

(1)B A *5+和I B A +-分别是多少(其中I 为单位矩阵) (2)B A *⋅和B A *将分别给出什么结果,它们是否相同为什么 逻辑功能程序:function [ ] = EXP1()A=[4,12,20;12,45,78;20,78,136]; B=[1,2,3;4,5,6;7,8,0]; I=eye(3); disp('A+5*B='); disp(A+5*B); disp('A-B+I=') disp(A-B+I); disp('A.*B='); disp(A.*B) disp('A*B='); disp(A*B); End 实验过程与结果打开matlab ,在命令窗口“Command Window ”中键入edit,启动程序编辑器。

输入完整程序后利用save as 储存为M 文件,文件名为EXP1。

返回主界面,在命令窗口“Command Window”中输入函数EXP1(),按下回车,得到程序运行结果如下:>> EXP1( )A+5*B=9 22 3532 70 10855 118 136A-B+I=4 10 178 41 7213 70 137A.*B=4 24 6048 225 468140 624 0A*B=192 228 84738 873 3061284 1518 528实验结果分析(1)利用MATLAB提供的disp函数既可以输出表达式、数值,也可以输出字符串,其调用方式为:disp(表达式或数值)、disp(‘待显示字符串’);(2)在MATLAB的矩阵运算中,+、-运算符通用,表示矩阵相加、减;*与.*不同在于*表示矩阵乘法,而.*表示矩阵对应位置元素相乘,所以*要求两个矩阵的行、列数互为转置,而.*则要求两个矩阵行、列数要相同;(3)使用eye可以获得单位矩阵函数(矩阵对角线处元素为1,其余元素为0),矩阵的阶数由括号内的值决定,格式为eye(n),n为矩阵阶数。

南邮操作系统实验4.文件系统模拟实现

南邮操作系统实验4.文件系统模拟实现


关闭文件close close (fd);
实验内容及原理说明——实验4

读文件read




写文件write

nr = read (fd, buf, count); buf 为读出信息所应送入的用户数据区首地址 count 为要求传送字节数 nr 为实际读入字节数 一旦读到文件末尾,系统调用就返回,故nr可能小于 count,甚至为0 nw = write (fd, buf, count); 参数类似 read 其中 buf 是信息传送的源地址,即将buf指向的用户数 据区中的信息写入文件中

具体功能:




#include <unistd.h> #include <stdio.h> #include <fcntl.h>
实验内容及原理说明——实验4

创建文件creat(兼具打开功能)

fd = creat (filenamep, mode);


filenamep指向所要创建的文件路径名
实验4:文件系统的模拟实现

实验基本信息 实验内容说明

实验基本信息

实验名称

文件系统的模拟实现

实验类型:综合 学时:2+2 实验时间:13.5.30(下午3-4节) 地点:教5-501 实验环境:

VMWare + Ubuntu
实验内容及原理说明——实验4

实验目link、open、close、 read、write的使用,编程模拟实现文件系统基本功能 运行终端给出命令提示,请用户选择创建、删除、读、 写、退出等操作(可用数字表示不同命令) 根据用户选择命令,提示用户输入文件名、文件内容 等信息 执行用户命令

南邮操作系统实验报告

南邮操作系统实验报告

操作系统课程实验报告实验题目:Linux进程信号通信、进程消息通信专业软件工程学生姓名班级学号教师陈兴国指导单位计算机学院日期 2016-9-30一、实验目的1.了解Linux的信号,熟悉Linux系统中进程之间软中断通信的基本原理2.学习如何利用消息缓冲队列进行进程间的通信,并加深对消息通信机制的理解。

二、实验指导1.kill(),signal(),lockf()系统调用kill()系统调用系统调用格式:int kill(pid,sig)参数定义: int pid,sid;pid是一个或一组进程的标识符,sig是要发送的软中断信号。

pid>0时,核心将信号发送给进程pid;pid=0时,核心将信号发送给与发送进程同组的所有进程;pid<0时,核心将信号发送给搜有用户标识符真正等于发送进程的有效用户标识号的进程。

signal()系统调用预置对信号的处理方式,允许调用进程控制软中断信号。

系统调用格式:signal (sig,function)参数定义:Signal (sig,function)int sig;void (*func)();sig用于指定信号的类型,sig为0则没有收到任何信号。

function:在该进程中的一个函数地址,在核心态返回用户态时,它以软中断信号的序号作为参数调用该函数,对除了信号SIGNAL,SIGTRAP和SIGPWR以外的信号,核心自动地重新设置软中断信号处理程序的值为SIG_DFL,一个进程不能捕获SIGKILL信号。

lockf()系统调用用作锁定文件的某些段或者整个文件。

系统调用格式:lockf(files,function,size)参数定义:int lockf(files,function,size)int files,function;long size;2.消息的创建,发送和接收使用系统调用msgget(),msgsnd,msgrec,及msgctl()函数编写消息的发送和接收程序三、实验过程描述与结果分析1.Linux进程信号通信#include <stdio.h>#include <signal.h>#include<unistd.h>#include <stdlib.h>void waiting(),stop();int wait_mark;/*用来避免锁的竞争,保证p1,p2无法在同一时刻获得文件的锁,即lockf(stdout,1,0)*/main(){int p1,p2,stdout;signal(SIGINT,stop);/*if press the ^c or ^break ,jump to stop function*/ while((p1=fork())==-1) ;/* create child process p1*/if(p1>0){while( ( p2=fork() ) ==-1);/* create child process p2*/if(p2>0){wait_mark=1;sleep(5);/* 接收到^c信号,转stop函数*/waiting();kill(p1,16); /*向子进程p1发送软中断信号16*/kill(p2,17);/*向子进程p2发送软中断信号17*/wait(0);/*wait()系统方法,父进程会一直等待,直到子进程因暂停或者终止发来软中断信号为止*/wait(0);printf("Parent process is killed!\n");exit(0);}else{//p2被杀死的逻辑,响应kill(p1,17);wait_mark=1;signal(17,stop);/*接收到父进程发来的软中断信号,然后执行stop函数*、*/waiting();lockf(stdout,1,0);/*锁定输出,使得下面的语句可以正常输出打印*/printf("Child process 2 is killed by parent!\n");lockf(stdout,0,0);/*解锁输出*/exit(0);/*正常终止子进程p2,使得父进程跳出wait(0),得以继续执行*/ }}else{//p1被杀死的逻辑,响应kill(p2,16);wait_mark=1;signal(16,stop);waiting();lockf(stdout,1,0);printf("Child process 1 is killed by parent!\n");lockf(stdout,0,0);exit(0);}}void waiting(){while(wait_mark!=0);}void stop(){wait_mark=0;}按住Ctrl+c,可见执行结果2.Linux进程消息通信1.server.c#include <sys/types.h>#include <sys/ipc.h>#include <sys/msg.h>#include <stdio.h>#define MSGKEY 75struct msgform{long mtype;char mtext[256];};int main(int argc, char const *argv[]) {struct msgform msg;int msgqid;int j,pid,*pint;msgqid=msgget(MSGKEY,0777|IPC_CREAT);for(;;){msgrcv(msgqid,&msg,256,1,0);pint=(int*)msg.mtext;pid=*pint;printf("server:receive from pid %d\n",pid);msg.mtype=pid;*pint=getpid();msgsnd(msgqid,&msg,sizeof(int),0);}return 0;}2.client.c#include <sys/types.h>#include <sys/ipc.h>#include <sys/msg.h>#include <stdio.h>#define MSGKEY 75struct msgform{long mtype;char mtext[256];};int main(int argc, char const *argv[]){struct msgform msg;int msgqid,pid,*pint;msgqid=msgget(MSGKEY,0777);pid=getpid();pint=(int*)msg.mtext;*pint=pid;msg.mtype=1;msgsnd(msgqid,&msg,sizeof(int),0);msgrcv(msgqid,&msg,256,pid,0);printf("client:receive from pid%d\n",*pint);return 0;}运行结果:四、自我评析与总结1.你认为你完成的实验那些地方做得比较好或比较出色做的相对比较快,一些命令比较熟悉一点2.差距与局限,什么地方做得不太好,或什么地方可以做得更好程序的编写,C语言遗忘的很严重,还是得常用3.从本实验得到的收获。

南京邮电大学软件设计实验报告

南京邮电大学软件设计实验报告

通信与信息工程学院2012/2013学年第二学期软件设计实验报告模块名称Visual C++专业广播电视工程学生班级B100117学生学号B10011714学生姓名王建明指导教师田炜题目一:P021E实验要求:设计一个简单的文本编辑器,该系统要求对一个文本文件中的容进行各种常规操作,例如:(1)编辑文本;(2)保存、打开指定位置的文本文件;(3)具有输入输出界面。

1、问题分析与方案设计。

本次程序主要为了让我们了解C语言中对于文件的一般操作。

文件是程序设计中的一个重要概念。

操作系统是以文件为单位对数据进行管理的,也就是说,如果想找外部介质上的数据,必须先按文件名找到所指定的文件,然后再从该文件中读取数据。

C语言把文件看作是一个字符(字节)的序列,即由一个一个字符(字节)数据顺序组成。

根据数据的组织形式,可分为ASCII文件和二进制文件。

ASCII文件又称文本(text)文件,他的每一个字节放一个ASCII代码,代表一个字符。

二进制文件是把存中的数据按其在存中的存储形式原样输出到磁盘上存放。

在文件系统中,“文件指针”是一个非常重要的概念,通常在进行关于文件操作的C程序时,会定义一个结构体变量的文件指针(FILE *fp),以便于C语言程序能够准确的对文件进行访问及操作。

本次实验程序包含了简单地对于文件的打开、插入、删除、查找、替换、显示、保存的操作,通过对于文件指针的运用以及各种文件指令的运用,基本达到了实验的要求。

在本次实验中,按照顺序程序的设计方法,加以熟练地运用C程序中主函数与一般函数之间的熟练调用,顺利的实现了实验要求的各种结果。

程序中用到的核心方法包括:文件的打开与关闭、文件的读写、文件的定位以及文件的出错检测等。

其中包括了fopen、fclose、fputc、fgetc、fread、fwrite、rewind、fseek、ftell和ferror等函数。

这些函数对算法的实现起了很大的作用具体算法实现过程如下图所示。

南京邮电大学算法设计实验报告——动态规划法

南京邮电大学算法设计实验报告——动态规划法
for(int j=1;j<=n;j++) {
if(a[i]==b[j]) {
c[i][j]=c[i-1][j-1]+1; s[i][j]=1; } else if(c[i-1][j]>=c[i][j-1]) { c[i][j]=c[i-1][j]; s[i][j]=2; } else { c[i][j]=c[i][j-1]; s[i][j]=3; } } } return c[m][n]; //返回最优解值 }
算法分析与设计 A
动态规划法
2009
年 11 月 20 日
计算机学院软件工程系
张怡婷
学生姓名 学院(系)
丁力琪 班级学号 计算机学院 专 业
B07030907 软件工程
实验报告
实验名称
动态规划法
指导教师 张怡婷
实验类型
验证
实验学时 2×2 实验时间 2009-11-20
一、 实验目的和任务
目的:加深对动态规划法的算法原理及实现过程的理解,学习用动态
6
8、输入序列 X={x1,x2,……,xm}={a,b,c,b,d,a,b}和 Y={y1,y2,……,yn}={b,d,c,a,b,a}作为测 试数据,测试程序是否能够正确运行?输出结果是什么? 运行正确,实验结果显示:4
bcba
9、分析该动态规划算法的两个主要成员函数 int LCSLength()和 void CLCS()的时间复杂 性。
#include<iostream> #include<string> using namespace std; #define maxlength 11 class LCS { public:

南邮软件工程报告

南邮软件工程报告

实验报告课程名:软件工程与数据库概论任课教师:胥备专业:信息工程学号:14130130姓名:马一鸣二○一六至二○一七年度第 2 学期南京邮电大学通达学院实验报告一实验名称:SQL语言的应用指导教师:胥备实验类型:验证实验学时:4*2实验时间:2017.4.18一、实验目的和要求1、练习使用SQL SERVER数据库产品,熟练使用查询分析器和企业管理器;2、掌握SQL语言中常用的语句:用DDL创建基本表;用DML插入、修改、删除数据;用QL查询数据等。

二、实验环境(实验设备)硬件:个人计算机;软件:MS SQL SERVER环境。

三、实验原理及内容1.创建实验数据库数据库名称:M14130112;操作步骤:Create DataBase M14130112;2.打开刚刚创建的数据库操作步骤:Use M141301123.在查询分析器中要完成的实验内容1.建立如下表,并插入数据:说明:应为表建立主键、其他完整性约束可自己添加;表中数据也可以自己设计课程课use M14130112;create table s(sno char(20) not null unique,sname char(20),age int,sex char(1),primary key(sno));create table c(cno char(20),cname char(20),chour int,credit int,ctype char(20),primary key(cno));create table sc(sno char(20),cno char(20) ,grade int,primary key(sno,cno),foreign key(sno) references s(sno),foreign key(cno) references c(cno));insert into s values('S1','WANG',20,'M');insert into s values('S2','LIU',19,'F');insert into s values('S3','CHEN',22,'M');insert into s values('S4','WU',19,'M');insert into s values('S5','LI',21,'F');insert into c values('C2','MATHS',64,4,'基础'); insert into c values('C4','PHYSICS',48,3,'基础'); insert into c values('C3','C',32,2,'专业基础'); insert into c values('C1','DB',48,3,'专业'); insert into c values('C5','OS',32,2,'专业'); insert into sc values('S1','C2',89);insert into sc values('S2','C1',70);insert into sc values('S3','C2',NULL);insert into sc values('S1','C5',80);insert into sc values('S4','C3',NULL);insert into sc values('S5','C4',78);insert into sc values('S2','C4',79);2.对以上数据完成以下功能:(1)把基础课的学分提高1学分,学时提高8学时;update cset credit=credit+1,chour=chour+8where ctype='基础';(2)把MATH课的非空成绩提高10%;update scset grade=grade *1.1where grade is not null and o in(select cno from c where cname ='MATHS');(3)当所有学生不选修PHYSICS课程时,删除相应数据;delete from c where cname='PHYSICS' and cno not in(select cno from sc) ;(4)LIU同学因病退学,删除相应数据。

南京邮电大学软件工程实验报告

南京邮电大学软件工程实验报告

南京邮电大学软件工程实验报告实验报告( 2015 / 2016 学年第二学期)课程名称软件开发技术基础实验名称实验二小型MIS系统的分析与设计实验时间2016 年 5 月18 日指导单位计算机学院指导教师王传栋学生姓名班级学号学院(系) 通信学院专业电子信息工程实验报告三、实验原理及内容1、理解需求进行数据建模1) 绘制概念模型ER 图。

2) 将第1 步得到的ER 模型,转换为DB 的关系模型。

STUDENT(SNO,SNAME,SEX,CLASS_NO,DEPARTMENT_NO)COURSE (CNO, CNAME, CREDIT, CREDIT_HOUR, CPNO, TNO) TEACHER (TNO, TNAME, TITLE, SEX)SC (SNO, CNO, GRADE)ADMIN (ANO, ANAME, SEX)1) 绘制系统的用例图。

2) 特殊用例,要进行用例详述。

建模中分别以系统角色学生、教师和教务员绘制分层DFD 图。

顶层数据流图:学生管理系统一层数据流图:管理学生模块数据流图:管理学生模块数据流图:选课管理与成绩管理模块数据流图:4、在第3 步骤的基础上,绘制系统的体系结构图:学生管学生教师系统查询成查询基录入成修改成删除成查询成录入基修改学删除学查询信5、绘制系统的对象模型,完成:1) “类图”,可以针对不同的业务场景分别绘制;在学生选课情况下,各个类之间的关系如下图所示:2) 特殊的业务类,根据需要绘制“状态图”教师录入成绩的状态图如下图所示:3) 特殊的业务场景,根据需要绘制“顺序图”教师成绩管理顺序图如下:。

软件工程 实验四

软件工程 实验四

软件工程实验四软件工程实验四实验目的本次实验旨在加深学生对软件工程的理解,通过实践的方式巩固和应用所学的软件工程知识,加强对软件开发过程的掌握,并学习使用项目管理工具和版本控制工具。

实验过程1. 创建项目首先,我们需要创建一个新的软件项目。

在本次实验中,我们将创建一个简单的待办事项管理系统。

2. 需求分析在开始开发之前,我们需要进行需求分析,明确系统的功能和特性。

根据实验要求,我们的待办事项管理系统应该具备以下功能:- 用户可以添加待办事项- 用户可以查看待办事项列表- 用户可以更新待办事项的状态(进行中/已完成)- 用户可以删除待办事项3. 设计系统架构在进行具体开发之前,我们需要设计系统的架构。

首先,我们决定使用Web技术来实现我们的系统,并选择使用MVC架构模式。

- 模型(Model):负责数据的存储和处理- 视图(View):负责用户界面的展示和与用户的交互- 控制器(Controller):负责接收用户的请求,并调用模型和视图进行处理4. 编码实现根据需求分析和系统设计,我们可以开始进行编码实现了。

首先,我们创建一个`Todo`模型,用于表示待办事项的数据结构。

然后,我们创建一个`TodoController`控制器,用于接收用户的请求并调用相应的模型方法进行处理。

最后,我们创建一个`TodoView`视图,用于展示待办事项列表并与用户进行交互。

5. 软件测试在完成编码实现之后,我们需要进行软件测试,确保系统的功能和特性都能正常工作。

我们可以编写一些测试用例,并使用自动化测试工具来运行这些测试用例。

如果测试通过,则说明系统的功能正常;如果测试失败,则需要进行修复和优化。

6. 版本控制为了方便团队协作和代码管理,我们可以使用版本控制工具来管理我们的代码。

常见的版本控制工具包括Git和SVN等。

我们可以根据需要选择合适的版本控制工具,并进行代码的提交、更新和协作开发。

实验总结通过本次实验,我进一步了解了软件工程的概念和方法,学会了使用项目管理工具和版本控制工具。

南邮软件工程实验四_git版本控制

南邮软件工程实验四_git版本控制
打开sourcetree,文件-打开选中gitdemo文件夹
三、版本控制
在gitdemo新建一个文件:demo.txt
写入内容1111111111,打开sourcetree
先点击stage all ,输入日志为版本1,点击提交,则在仓库中生成了一个版本
同样修改demo.txt,生成第二个版本:
四、版本还原
实验报告
(2016 2017学年第二学期)
课程名称
软件工程(双语)
实验名称
Version Conrol
实验时间
2016

4

24

指导单位
南京邮电大学
指导教师
学生姓名
班级学号
学院(系)
计算机软件
专业
软件工程NIIT
实验报告
实验名称
Version Conrol
指导教师
实验类型
上机实验
实验学时
4
实验时间
在版本1上右键选择检出即可将demo.txt还原到版本1时的内容
、实验小结(包括问题和解决方法、心得体会、意见与建议等)
通过实验了解到git的安装和使用,以及sourcetree的可视化操作
五、指导教师评语
成绩
批阅人
日期
SourceTree是一款可视化操作的git工具,原生git使用命令行来工作,对于初学者不是很友好。
一、安装git和sourcetree
直接去官网下载对应操作系统的安装包进行安装,
安装完成后,在桌面空白区域鼠标右键,会出现git的选项
Sourcetree安装完成后,打开桌面的图标
二、新建项目
在桌面新建一个文件夹gitdemo,打开这个文件夹,右键选择git bash here,然后在git命令框中输入git init初始化一个git仓库。

南京邮电大学软件设计实验报告

南京邮电大学软件设计实验报告

软件设计报告( 2014 / 2015 学年第二学期)课程名称软件设计指导老师赵江实习时间第十八周学生XX学号____学院______专业软件设计课程编号:B0465011C适用专业:班级:一、所涉及的课程及知识点涉及的课程:第6学期之前的专业基础课程。

知识点:专业基础课程中所学的知识点。

二、目的与任务目的:通过软件设计,培养学生的实践能力和创新精神,加强学生对专业基础课程的理解和掌握,加强学生高级语言编程能力、应用软件以及仿真能力。

任务:选择以下任一模块进行设计:Matlab软件仿真、C语言及应用。

软件设计的内容题目1:如果给出两个矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=136782078451220124A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=087654321B ,执行下面的矩阵运算命令。

(1)B A *5+和I B A +-分别是多少(其中I 为单位矩阵)?(2)B A *⋅和B A *将分别给出什么结果,它们是否相同?为什么? 逻辑功能程序:function [ ] = EXP1()A=[4,12,20;12,45,78;20,78,136];B=[1,2,3;4,5,6;7,8,0];I=eye(3);disp('A+5*B=');disp(A+5*B);disp('A-B+I=')disp(A-B+I);disp('A.*B=');disp(A.*B)disp('A*B=');disp(A*B);End实验过程与结果打开matlab ,在命令窗口“mand Window ”中键入edit,启动程序编辑器。

输入完整程序后利用save as储存为M文件,文件名为EXP1。

返回主界面,在命令窗口“mand Window”中输入函数EXP1(),按下回车,得到程序运行结果如下:>> EXP1()A+5*B=9 22 3532 70 10855 118 136A-B+I=4 10 178 41 7213 70 137A.*B=4 24 6048 225 468140 624 0A*B=192 228 84738 873 3061284 1518 528实验结果分析(1)利用MATLAB提供的disp函数既可以输出表达式、数值,也可以输出字符串,其调用方式为:disp(表达式或数值)、disp(‘待显示字符串’);(2)在MATLAB的矩阵运算中,+、-运算符通用,表示矩阵相加、减;*与.*不同在于*表示矩阵乘法,而.*表示矩阵对应位置元素相乘,所以*要求两个矩阵的行、列数互为转置,而.*则要求两个矩阵行、列数要相同;(3)使用eye可以获得单位矩阵函数(矩阵对角线处元素为1,其余元素为0),矩阵的阶数由括号内的值决定,格式为eye(n),n为矩阵阶数。

南邮软件工程报告

南邮软件工程报告

实验报告课程名:软件工程与数据库概论任课教师:胥备专业:信息工程学号:姓名:马一鸣二○一六至二○一七年度第 2 学期南京邮电大学通达学院实验报告一实验名称:SQL语言的应用指导教师:胥备实验类型:验证实验学时:4*2实验时间:一、实验目的和要求1、练习使用SQL SERVER数据库产品,熟练使用查询分析器和企业管理器;2、掌握SQL语言中常用的语句:用DDL创建基本表;用DML插入、修改、删除数据;用QL查询数据等。

二、实验环境(实验设备)硬件:个人计算机;软件:MS SQL SERVER环境。

三、实验原理及内容1.创建实验数据库数据库名称:M;操作步骤:Create DataBase M;2.打开刚刚创建的数据库操作步骤:Use M3.在查询分析器中要完成的实验内容1.建立如下表,并插入数据:说明:应为表建立主键、其他完整性约束可自己添加;表中数据也可以自己设计课程create table s(sno char(20) not null unique,sname char(20),age int,sex char(1),primary key(sno));create table c(cno char(20),cname char(20),chour int,credit int,ctype char(20),primary key(cno));create table sc(sno char(20),cno char(20) ,grade int,primary key(sno,cno),foreign key(sno) references s(sno),foreign key(cno) references c(cno));insert into s values('S1','WANG',20,'M');insert into s values('S2','LIU',19,'F');insert into s values('S3','CHEN',22,'M');insert into s values('S4','WU',19,'M');insert into s values('S5','LI',21,'F');insert into c values('C2','MATHS',64,4,'基础');insert into c values('C4','PHYSICS',48,3,'基础'); insert into c values('C3','C',32,2,'专业基础');insert into c values('C1','DB',48,3,'专业');insert into c values('C5','OS',32,2,'专业');insert into sc values('S1','C2',89);insert into sc values('S2','C1',70);insert into sc values('S3','C2',NULL);insert into sc values('S1','C5',80);insert into sc values('S4','C3',NULL);insert into sc values('S5','C4',78);insert into sc values('S2','C4',79);2.对以上数据完成以下功能:(1)把基础课的学分提高1学分,学时提高8学时;update cset credit=credit+1,chour=chour+8where ctype='基础';(2)把MATH课的非空成绩提高10%;update scset grade=grade *1.1where grade is not null and o in(select cno from c where cname ='MATHS');(3)当所有学生不选修PHYSICS课程时,删除相应数据;delete from c where cname='PHYSICS' and cno not in (select cno from sc) ;(4) LIU同学因病退学,删除相应数据。

南京邮电大学通达学院 软件工程 上机编程实验

南京邮电大学通达学院 软件工程  上机编程实验

《程序设计(上机)》课内周数:2周本次设计的课题采用每人一个题目,五个题目,学号最后一位为1-5的,对应做1-5题,尾号为6,7,8,9,0的,对应做1,2,3,4,5题。

提交文档1.报告一份,每人提交一份2.软件运行的视频截图3. 源代码最后一节课上以文件夹的形式提交到教师指定地方文件夹命名:程序设计_班号_学号_姓名评分标准1.专业课程设计Ⅰ成绩采用五级制,其对应关系如下:百分制90-100 80-89 70-79 60-69 0-59五级制优秀良好中等及格不及格2.个人成绩由四部分组成:1)指导教师评价成绩,占30%左右;2)报告评阅成绩,占40%左右;4)平时成绩,占30%左右;内容与要求题目一:猜单词(一)课题内容要求用C或C++模拟猜单词游戏。

游戏包括:单词管理、玩家纪录、猜词过程、系统设置等必须完成的基本功能以及成绩计算、猜词时间限制、词库管理等选做的扩展功能。

通过该课题全面熟悉数组、字符串、文件的使用,掌握程序设计的基本方法。

(二)课题要求课题分基本要求和扩展要求,基本要求是必须完成的,扩展要求视能力自选一个或多个完成。

1. 基本要求(1) 单词管理:程序中用来做谜题的单词必须存放在磁盘文件中,文件中的单词数不得少于200个。

(2) 玩家纪录:程序要求记录前五名成绩。

成绩指标自行设计,必须包括时间。

记录的时候要求有排名、玩家姓名、成绩三项,并保存在文件中。

在程序开始运行的时候就必须读入,以便随时供玩家查询、及时更新成绩。

(3) 猜词过程:①先请用户输入猜的单词数量,可以有一个默认值。

②随机抽取单词,对每个单词,系统根据谜底单词长度在屏幕上显示相应个数'-',假设谜底单词为"hello",则在屏幕上输出"-----"。

③玩家输入一个字母进行猜测,如果这个字母不在单词中,系统提示玩家不对;如果猜对字母,比如玩家输入了一个'l',则在屏幕上输出"--ll-"。

南邮大数据编程实训报告

南邮大数据编程实训报告

一、实训背景随着信息技术的飞速发展,大数据已成为国家战略资源。

为了培养适应时代需求的大数据技术人才,南京邮电大学(以下简称“南邮”)开设了大数据编程实训课程。

本次实训旨在通过实践操作,使学生掌握大数据技术的基本原理和编程技能,提高解决实际问题的能力。

二、实训目标1. 理解大数据的基本概念、技术架构和发展趋势。

2. 掌握Hadoop、Spark等大数据处理框架的使用方法。

3. 熟悉大数据编程语言,如Java、Scala等。

4. 能够运用大数据技术解决实际问题,提高编程能力。

三、实训内容本次实训主要分为以下几个部分:1. 大数据概述- 学习大数据的基本概念、技术架构和发展趋势。

- 了解大数据在各个领域的应用。

2. Hadoop生态圈- 学习Hadoop分布式文件系统(HDFS)的基本原理和使用方法。

- 掌握Hadoop MapReduce编程模型,实现数据的分布式处理。

- 熟悉Hadoop生态圈中的其他组件,如Hive、HBase、YARN等。

3. Spark编程- 学习Spark的基本原理和使用方法。

- 掌握Spark的核心编程模型,如Spark SQL、Spark Streaming等。

- 实践Spark与Hadoop生态圈的整合。

4. 数据挖掘与分析- 学习数据挖掘的基本方法,如聚类、分类、关联规则等。

- 掌握数据可视化工具,如ECharts、D3.js等。

- 实现数据挖掘与分析项目。

5. 项目实践- 根据实际需求,选择合适的大数据技术栈,完成项目实践。

- 项目实践包括需求分析、设计、开发、测试、部署等环节。

四、实训过程1. 阶段一:理论学习- 通过课堂讲授、自学等方式,掌握大数据相关理论知识。

2. 阶段二:实验操作- 在实验室内,按照实训指导书的要求,进行实验操作。

- 针对实验过程中遇到的问题,与同学和老师进行讨论。

3. 阶段三:项目实践- 根据项目需求,选择合适的大数据技术栈。

- 在老师的指导下,完成项目实践。

软件工程实验报告(总)

软件工程实验报告(总)

软件工程实验报告(总)信息工程学院软件工程实验报告专业:班级:学号:姓名:指导老师:实验一:软件开发的过程计划实验课时:2课时一、实验目的项目计划的目的是为项目的研发和管理工作制定合理的行动纲领,以便所有相关人员按照计划有条不紊地开展工作。

⑴估计项目的总体规模、工作量和成本。

⑵制定项目计划,重点放在产品生命周期中的主要关键任务。

⑶制定项目时间表和预算。

二、实验环境1.硬件环境P4以上的个人计算机环境,要求内存不少于512MB,硬盘不小于20G.。

2.软件环境操作系统:Windows XP数据库:Sql Server 2000以上或Access 2003以上3.通用工具软件通用绘图工具:MicroSoft Visio 2003以上文本编辑工具:MicroSoft Word 2003以上4.CASE工具UML建模工具:Rational Rose 2000三、实验要求、实验内容1、实验要求:在进行实验之前,必须掌握软件开发过程的一些基础知识,准备参考资料和阅读相关的过程模型的文档。

2、实验内容熟悉RUP(Rational Unified Process)软件开发统一过程的思想,RUP(Rational Unified Process)是由Rational公司(现已是IBM 公司的一部分)提出的过程模型,它软件工程史上最完整、最成熟、最优秀的过程模型之一。

学习软件开发的组织和管理,将项目开发各阶段的任务明确,掌握各阶段的里程碑,并熟悉相应的工具。

四、思考题1、项目开发首先要做的事是什么?答:进行需求分析和定义,了解客户或用户的需求,然后再进行后续。

2、你认为该软件应具备的最重要的特性是什么。

答:安全性、实用性、灵活性。

3、你认为怎样分工是最合理的?答:该项目已经采取项目经理制,但是在具体开发过程中,情况也许会比预计的复杂,因此,在了解了各组员的工作风格的情况下,根据性格类型进行工作分配,比如:外向而且善于交流的,可以给他安排和客户交流沟通,让客户随时了解我们的工作情况,并且反应客户的需求改变;为了让项目更好的组织和管理,可以采取主程序员负责制;这样,在项目经理的带领下,内部安排主程序员和副程序员,工作员有问题的话,内部自己解决,只要按时汇报工作就可以了。

南京邮电大学操作系统实验报告

南京邮电大学操作系统实验报告

通信与信息工程学院2015 / 2016学年第二学期实验报告课程名称:操作系统实验名称:1、LINUX及其使用环境2、进程管理3、进程间通信4、文件的操作和使用班级学号专业电子信息工程学生姓名指导教师赵建立实验名称试验一 LINUX及其使用环境实验类型验证实验学时1实验时间2016.6.2一、实验目的和要求1、了解UNIX的命令及使用格式。

2、熟悉UNIX/LINUX的常用基本命令。

3、练习并掌握UNIX提供的vi编辑器来编译C程序。

4、学会利用gcc、gdb编译、调试C程序。

二、实验环境Windows XP + VMWare + RedHat Enterprise Linux(RHEL) 4三、实验原理及内容1、熟悉LINUX的常用基本命令。

如ls、mkdir、grep等,学会使用man、help等其它命令,掌握vi编辑器的使用。

(1)显示目录文件 ls例:ls -al 显示当前目录下的所有文件(2)建新目录 mkdir例:mkdir test 新建一个test目录(3)删除目录rmdir(4)改变工作目录位置 cd例:cd test 更改工作目录至test目录下(5)显示当前所在目录pwd(6)查看目录大小du(7)文件属性的设置 chmod(8)命令在线帮助 man2、设计一个实现文件拷贝功能的shell程序。

(1)在文本编辑器里输入shell程序:#!/bin/shecho “please enter source file:”read soucecho please enter destination file:”read destcp $souc $destls $dest将程序保存在主目录下,命名为shell.(2)打开终端,输入ls -l,显示目录下所有文件的许可权、拥有者、文件大小、修改时间及名称。

输入 ./shell,运行shell程序。

输入源文件hello.c,目标文件B13011206.c。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Visual SVN Server、TortoiseSVN
三、实验原理及内容
实验内容:
(1)安装软件版本管理服务器VisualSVN,并掌握其配置方法
1.安装VisualSVN,双击安装文件按照提示操作:
2.VisualSVN server配置:
3.安装完VisualSVN Server后,运行Visual SVNServer Manger。
4.添加一个代码库。右击“Repository”,选择一种方式均可创建一个新的代码库
5.创建用户Users。在左侧的Users上点击右键,任意选择一种方式均可创建一个新的用户。
6.按照同样的方式创建另外一个用户
(2)安装软件版本管理客户端软件TortoiseSVN,并掌握其配置和使用方法:
1.安装软件
五、指导教师评语
成绩
批阅人
日期
2.新建Txt文本并ቤተ መጻሕፍቲ ባይዱ接服务器端
3.完成svn的添加、提交、更新、分支、合并等操作。
实验报告
四、实验小结(包括问题和解决方法、心得体会、意见与建议等)
本次实验让我们了解开源软件配置工具SVN的安装、配置和使用。
通过本次实验我知道了怎么安装SVN服务器端软件Visual SVN Server及配置,安装SVN客户端软件TortoiseSVN及配置和SVN的使用方法。安装时比较简单的,只是有的时候会不兼容。在具体使用时,我对一些方法还有不理解的地方,比如它的merge方法的使用等。。这次实验使我们熟悉了VisualServer和TortoiseSVN的安装,以及VisualSVN Server与TortoiseSVN的基本组合使用,了解了两软件的基本功能。增加了学习的兴趣和信心,也为以后的学习工作积累了经验。
指导教师
陈云芳
实验类型
验证
实验学时
2
实验时间
2015.12.10
一、实验目的和要求
实验目的:了解开源软件配置工具SVN的安装、配置和使用。
实验要求:1、安装SVN服务器端软件Visual SVN Server及配置;
2、安装SVN客户端软件TortoiseSVN及配置。
3、SVN的使用方法演示。
二、实验环境(实验设备)
实验报告
(2015/2016学年第一学期)
课程名称
软件工程(双语)
实验名称
Software Configuration management
实验时间
2015

12

10

指导单位
计算机学院软件工程系
指导教师
陈云芳
学生姓名
钱颖
班级学号
B13040906
学院(系)
计算机学院
专业
软件工程
实验报告
实验名称
Software Configuration management
相关文档
最新文档