电子科技大学 软件开发环境 实验报告55p

合集下载

软件开发环境试验55p

软件开发环境试验55p

HuffmanNode 类 class HuffmanNode { public: char info; //结点信息 double weight; //结点权值 int parent, lchild, rchild; //父亲结点,左右孩子结点 HuffmanNode() { parent=lchild=rchild=-1; }
四、实验目的:
本实验总体目的是,通过使用 huffman 编码算法从而实现文件的压缩和解压,以达到使学 生掌握并灵活运用分割函数的三项原则。
五、实验内容:
本实验要求实现一个 exe 程序。这个程序按照 huffman 编码方式,同时包含了压缩功能和
大型企业经典管理资料模板,WORD 文档,欢迎下载交流
大型企业经典管理资料模板,WORD 文档,欢迎下载交流
分享一个苹果,各得一个苹果,分享一种思想,各得两种思想。分享是件快乐的事件,乐于分享的人,事业更容易成功。
电 子 科 技 大 学

学生姓名:郭小明 一、实验室名称: 主楼 A2-412 二、实验项目名称:



学 号:2011060100010
/*从编码表文件读取相应信息以用来解压文件,读取信息包括编码和叶子信息*/
HCode* freFromFile(int code[],HCode *HC)
/*压缩文件*/
void compress_file(char* file1,char*file2)
/*用于在解压的时候将读取到的 ASCII 码转换为二进制数*/
int getSumBytes() //获取压缩后文件的总 bit 数 int getSumBits() //建立 huffman 树 根据 huffman 树的特性,具有 n 个节点的 huffman 树的具有 2n-1 个节 点 //n 值由全局变量 count 值来确定,该函数主要用来初始化 Huffman 树的所有节点信息 void createHufmanTree(Node * huffmanTree)

电子科技大学C++程序设计实验报告

电子科技大学C++程序设计实验报告

实验报告课程名称:c++程序设计学院专业:计算机科学与工程计算机科学与技术学生姓名:***学号:***********指导教师:丘志杰杨浩淼实验地点:主楼 A2-412实验一:一、实验目的:学习VC++开发环境的基本使用方式,包括项目的创建、文件的添加、程序的编译、运行和调试等。

二、实验内容:熟悉VC++开发环境,实现编译器输出helloworld,在给出的程序computer sale 中找出一个以上的bug。

三、实验原理:1) helloworld输出代码:#include <iostream>using namespace std;int main(){cout<<" Hello C++ "<<endl;return 0;}2) computer sale 源代码:#include "iostream"using namespace std;struct Computer{char model[20];int total;}computers[100];int modelCount = 0;void list();void enterWarehouse();void outWarehouse();void input(struct Computer &computer);int find(char* model);int main(){int action;do{cout<<"-----------菜单-----------"<<endl;cout<<"1)查看库存"<<endl;cout<<"2)电脑入库"<<endl;cout<<"3)售出"<<endl;cout<<"4)退出程序"<<endl;cin>>action;switch(action){case 1:list();break;case 2:enterWarehouse();break;case 3:outWarehouse();break;case 4:return 0;default:cout<<"您输入了错误的菜单项,请重新选择!";}}while(1);}void list(){cout<<"-------库存-------"<<endl;cout<<"型号\t"<<"数量"<<endl;for(int i=0;i<modelCount;i++){cout<<computers[i].model<<"\t"<<computers[i].total<<endl;}cout<<"-------库存-------"<<endl;}void enterWarehouse(){struct Computer computer;input(computer);int i = find(computer.model);if(i == modelCount){strcpy(computers[i].model , computer.model);computers[i].total = computer.total;modelCount++;}else{computers[i].total += computer.total;}}void outWarehouse(){struct Computer computer;input(computer);int i = find(computer.model);if (i==0) {cout<<"型号错误!"<<endl;}else{computers[i].total -= computer.total;}}void input(struct Computer &computer){cout<<"型号:";cin>>computer.model;cout<<"数量:";cin>>computer.total;}int find(char* model){int i;for(i=0;i<modelCount;i++){if(strcmp(computers[i].model,model) == 0){break;}}return i;}四、实验数据及结果分析:(vc编译)1)2)对于第二个找bug程序,其实有很多不合理的地方,比如这段:int i = find(computer.model);if (i==0) {cout<<"型号错误!"<<endl;}else{computers[i].total -= computer.total;}调用find函数,其实只要i不为零则就型号错误,而find函数的返回值其实就是i,显然不合情理。

软件开发实验报告

软件开发实验报告

软件开发实验报告软件开发实验报告一、引言在当今信息化社会,软件开发成为了推动科技进步和社会发展的重要手段。

本次实验旨在通过开发一个简单的软件项目,探索软件开发的基本流程和技术。

二、需求分析在软件开发的第一阶段,我们需要明确软件的需求和目标。

本次实验的软件项目是一个个人任务管理工具,旨在帮助用户高效地管理个人任务和时间。

三、设计与规划在需求分析的基础上,我们开始进行软件的设计和规划。

首先,我们确定了软件的基本功能模块,包括任务添加、任务查看、任务编辑和任务删除等。

然后,我们进行了软件的界面设计,力求简洁直观,提供良好的用户体验。

最后,我们制定了详细的开发计划,明确了每个开发阶段的任务和时间节点。

四、开发与测试在设计与规划完成后,我们进入了软件的开发与测试阶段。

根据开发计划,我们采用敏捷开发的方式,将整个开发过程分为若干个迭代周期。

每个迭代周期内,我们先进行功能开发,然后进行单元测试和集成测试,确保软件的质量和稳定性。

五、问题与解决在开发过程中,我们遇到了一些问题,例如界面设计与实现的不一致、功能模块的交互问题等。

为了解决这些问题,我们进行了团队讨论和合作,通过不断优化和调整,最终找到了合适的解决方案。

六、用户反馈与优化在软件开发完成后,我们邀请了一些用户进行试用,并收集他们的反馈和建议。

根据用户的反馈,我们对软件进行了一些优化和改进,提升了软件的易用性和功能完整性。

七、总结与展望通过本次实验,我们深入了解了软件开发的基本流程和技术,提高了团队合作和问题解决的能力。

同时,我们也认识到软件开发是一个复杂而庞大的系统工程,需要不断学习和实践。

未来,我们将继续深入研究软件开发领域,探索更多创新的方法和技术,为社会发展做出更大的贡献。

八、致谢在此,我们要感谢实验指导老师的悉心指导和帮助,以及团队成员的辛勤付出和合作精神。

没有你们的支持和帮助,我们无法完成这个软件开发实验。

谢谢大家!以上就是本次软件开发实验的实验报告,通过这次实验,我们不仅学到了软件开发的基本流程和技术,还提升了团队合作和问题解决的能力。

电子科技大学实验报告

电子科技大学实验报告
五、实验内容:
(一)用WinDLX模拟器执行求阶乘程序fact.s。
这个程序说明浮点指令的使用。该程序从标准输入读入一个整数,求其阶乘,然后将结果输出。
该程序中调用了input.s中的输入子程序,这个子程序用于读入正整数。
(二)用WinDLX模拟器执行程序gcm.s。
该程序从标准输入读入两个整数,求他们的greatest common measure,然后将结果写到标准输出。
该程序中调用了input.s中的输入子程序。
(三)用WinDLX模拟器执行求素数程序prim.s。
这个程序计算若干个整数的素数。
六、实验器材(设备、元器件):
PC微机一台
七、实验步骤及操作:
1.双击WinDLX图标运行WinDLX。装入测试程序之前,先初始化WinDLX模拟器:点击File菜单中的Reset all菜单项,弹出一个“Reset DLX”对话框。然后点击窗口中的“确认”按钮即可。
1.2.选择File/Load Code or Data,按如下步骤操作,可将fact.s和input.s这两个程序装入主存:
◆点击fact.s
◆点击select按钮
◆点击input.s
◆点击select按钮
◆点击load按钮
3.点击主窗口中的Execution开始运行。
4.程序gcm.s和prim.s的运行过程同上。
八、实验数据及结果分析:
九、实验结论:
十、总结及心得体会:
十一、对本实验过程及方法、手段的改进建议:
报告评分:
指导教师签字:
电子科技大学
实验报告
学生姓名:
学号:
一、实验室名称:计算机学院计算心
二、实验项目名称:熟悉WinDLX的使用

c语言程序开发环境实验报告

c语言程序开发环境实验报告

实验报告:C语言程序开发环境一、实验目的本次实验旨在让学生熟悉C语言程序开发环境,掌握常用的C语言编译器和集成开发环境(IDE)的使用方法,以便能够进行C语言程序的编写、调试和运行。

二、实验内容1. 下载并安装C语言编译器和IDE;2. 熟悉IDE的基本界面和功能;3. 创建一个简单的C语言程序,并进行编译、调试和运行。

三、实验步骤1. 下载并安装C语言编译器和IDE根据实验要求,选择合适的C语言编译器和IDE进行下载和安装。

常用的C语言编译器有GCC、Clang等,常用的IDE有Code::Blocks、Eclipse CDT等。

2. 熟悉IDE的基本界面和功能打开安装好的IDE,熟悉其基本界面和功能。

通常,IDE界面分为代码编辑区、编译和运行按钮、调试工具等。

了解每个功能的作用,掌握常用的快捷键操作。

3. 创建一个简单的C语言程序在IDE中创建一个新的C语言项目,然后创建一个C源文件。

在该源文件中编写一个简单的C语言程序,如输出"Hello, World!"。

4. 编译、调试和运行程序使用IDE提供的编译按钮编译源代码。

如果有错误提示,根据提示进行修改,直到成功编译通过。

然后,使用IDE提供的调试功能对程序进行调试。

设置断点,逐步执行程序,观察变量的值和程序流程,确保程序的正确性。

最后,点击运行按钮运行程序,观察程序的输出结果是否符合预期。

四、实验总结通过本次实验,我成功下载并安装了C语言编译器和IDE,并且熟悉了IDE的基本界面和功能。

我创建了一个简单的C语言程序,并通过编译、调试和运行验证了程序的正确性。

这次实验让我更加熟悉了C语言程序开发环境,为以后的C语言编程打下了基础。

电子科技大学软件开发环境实验报告

电子科技大学软件开发环境实验报告

计算机专业类课程实验报告课程名称:软件开发环境学院:计算机科学与工程专业:计算机科学与技术学生姓名:孙健学号:2010060030016指导教师:胡成华日期:2012年12月3日电子科技大学实验报告实验一代码清单2解释:先把3赋值给i(dword ptr [i]),cmp指令则是比较i(dword ptr[i])和3的大小,jie比较结果是相等,就跳转到01291382地址处,完成程序运行。

代码清单3和2类似,不同的是jge指令时第一个操作数大于或第二个操作数时跳转.代码清单4的反汇编代码,当执行到jne时,jne是如果第一个操作数和第二个操作数不相等时,就跳转至指令地址。

2.3 if/else语句的反汇编反汇编里面的判断语句和源码的是相反的编写代码清单7,并给出其反汇编代码首先mov指令把3赋值给dword ptr [i],cmp比较3和1EH(30)的大小,jle指令3小于30 跳转到411394h,在继续比较14H,3也小于20,在跳转到004113A3h 在比较3小于5,符合要求,mov指令把6赋值给dword ptr[i],跳转至4113D7.if-else分支用的都是反比,先进行比较根据结果进行跳转。

根据对代码清单9的分析,总结出for循环的反汇编代码规律先赋初值,根据cmp来进行判断,看是否应该跳出循环,如果不跳出则利用add 或sub指令进行重新赋值,知道跳出循环为止。

代码清单10 首先先把0赋值给dword ptr [i];,把0赋值给dword ptr[j];,cmp指令比较dword ptr [i]和0AH(10)的大小,通过jge指令,如果i的值大于或等于10就跳转至4113A6H,执行地址00411392处、地址00411395处、地址00411398处的机器码。

这三条指令的含义是对j做加1运算,同理,041139B,041139E,04113A1对i做加一运算。

代码清单11首先先把0赋值给dword ptr [i];,把0赋值给dword ptr[j];041138C,041138F,0411392三条地址指令对j进行加一运算,0411395,0411398,041139B对i进行加一运算,到地址041139E处,cmp 指令比较i与0AH(10)的大小,jl不大于就回跳到41138C的地址,继续执行循环.计算机专业类课程实验报告课程名称:软件开发环境学院:计算机科学与工程学院专业:计算机科学与技术学生姓名:孙健学号:2010060030016指导教师:胡成华日期:2012年12月8日电子科技大学实验报告实验二代码清单2的反汇编解释:保存ebp,将esp放入ebp中,此时ebp和esp相同,把esp往上移动一个范围0C0H;等于在栈中空出一片空间来存局部变量。

软件小组实验报告汇总

软件小组实验报告汇总
说明:同一用户可以拥有顾客就餐管理,顾客住宿管理,数据库信息管理,帐号信息。管理中一个或多个权限,如果拥有全部权限,则个该用户就事系统管理员。
3.帐号信息管理
帐号信息管理员管理软件的用户,对用户进行增删,设定权限等。
报告评分:
指导教师签字:
电子科技大学
实验报告三
成员姓名:学号:指导教师:肖逸飞
实验地点:主楼A2-412实验时间:2015.11.8

备注
statetime
int
×
0
状态计时
delmark
int
×
0
删除标记
other1
varchar

保留1
other2
varchar

保留2
4.客户类型表
[customertype]
字段名
类型
允许为空
默认值
说明
pk
decimal
×
主键
id
varchar
×
客户类型编号
c_type
varchar
×
客户类型
在概要设计中,我们将项目分成几个模块,每人分别完成所需模块的设计。
我进行系统模块、输入处理及系统处理和帐号信息管理的模块开发。
1.系统模块(总控模块)
该系统模块按照输入——>处理——>输出的流程进行工作。
2.输入处理及系统处理
用户在进入系统时,需要输入用户名和密码。输入处理就是根据用户输入的用户名及密码进行判断该用户的合法性。如果口令有效则进行权限判断,以控制该用户的行为,如果口令无效,则提示出错。
×
房间类型编号
r_no
varchar
×

电子科技大学软件技术基础实验报告5

电子科技大学软件技术基础实验报告5

电子科技大学通信与信息工程学院标准实验报告(实验)课程名称软件技术基础实验电子科技大学教务处制表电子科技大学实验报告一、实验室名称:校公共机房二、实验项目名称:查找与排序三、实验学时:4学时四、实验原理:使用VS2010等C语言集成开发环境(IDE),在微型计算机上对程序进行编辑、编译、连接与运行。

通过上机练习掌握顺序查找、二分查找函数、简单选择法、直接插入法、冒泡法排序、快速排序等方法、过程和实际应用。

五、实验目的:1.熟练掌握顺序查找、二分查找函数、简单选择法、直接插入法、冒泡法排序、快速排序等算法方法并实现。

2.掌握课程平台使用方法。

六、实验内容:ex5_1:查找设有序序列的数据元素为:(3,10,13,17,40,43,50,70)1)编写顺序查找函数2)编写二分查找函数3)在主程序中输入关键字(43和5),分别调用两种查找函数,输出结果。

//第一题#include <stdio.h>#define maxnum 20typedef struct{int data[maxnum];int length;}list_type;void create(list_type *l){l->length=8;l->data[0]=3;l->data[1]=10;l->data[2]=13;l->data[3]=17;l->data[4]=40;l->data[5]=43;l->data[6]=50;l->data[7]=70;}void shunxucz(list_type *l,int a1,int a2){int i,flag=0;printf("-----------------------------------------------\n");printf("顺序查找法:\n");for(i=0;i<l->length;i++){if(a1==l->data[i]){printf("%d是第%d个元素\n",a1,(i+1));flag=flag+1;} }if(flag==0) printf("表中没有大小为%d的元素\n",a1);flag=0;for(i=0;i<l->length;i++){if(a2==l->data[i]){printf("%d是第%d个元素\n",a2,(i+1));flag=flag+1;} }if(flag==0) printf("表中没有大小为%d的元素\n",a2);}void erfencz(list_type *l,int a1,int a2){printf("-----------------------------------------------\n");printf("二分查找法:\n");int low,h,m,flag=0,i;low=0;h=l->length-1;for(i=0;i<l->length;i++){m=(low+h)/2; //如果有小数就向小的数字取值9/2=4if(l->data[m]==a1){printf("%d是第%d个元素\n",a1,(m+1));flag=1;break;}else if(l->data[m]<22) low=m+1;else if(l->data[m]>22) h=m-1;}if(flag!=1)printf("表中没有大小为%d的元素\n",a1);flag=0;low=0;h=l->length-1;for(i=0;i<l->length;i++){m=(low+h)/2; //如果有小数就向小的数字取值9/2=4if(l->data[m]==a2){printf("%d是第%d个元素\n",a2,(m+1));flag=1;break;}else if(l->data[m]<22) low=m+1;else if(l->data[m]>22) h=m-1;}if(flag!=1)printf("表中没有大小为%d的元素\n",a2);}int main(){int flag1=43,flag2=5;list_type list,list1,list2;create(&list);create(&list1);create(&list2);shunxucz(&list1,flag1,flag2);erfencz(&list1,flag1,flag2);printf("-----------------------------------------------\n");}ex5_2:排序1)编写简单选择法函数2)编写直接插入法函数3)编写冒泡法排序函数4)编写快速排序函数5)在主程序中输入一组数据元素(513,87,512,61,908,170,897,275,653,462),分别调用4种排序函数,输出每趟排序结果。

电子科技大学Linux实验 (2)

电子科技大学Linux实验 (2)

电子科技大学实验报告学生姓名:李学号:2016 指导教师:李林实验地点:主楼A2-412 实验时间:2016.11.23一、实验室名称:Linux环境高级编程实验室二、实验项目名称:插件框架实验三、实验学时:4学时四、实验目的:学习在Linux环境下插件框架的开发的使用,掌握如何开发一个高效有用的插件框架。

五、实验内容:●版本1:开发一个程序,向屏幕打印“Hello World”;在不重新编译链接原程序的前提下,将打印的文字改为“Hello China”●版本2:同时要打印“Hello World”,打印“Hello China”,甚至同时打印未来才会增加的其他打印信息,打印未来的这些信息,也不能重新编译链接原程序●版本3:版本2是同时调用所有插件的打印功能,现在要求一次只调用一种功能版本4:在版本3中,插件导出了Print、GetID、Help三个函数,主程序需要使用多个容器分别保存这些函数地址。

六、实验步骤:版本一:function.cpp#include <iostream>using namespace std;extern "C" void Print(){cout << "Hello lifeng" << endl;}main.cpp#include <dlfcn.h>#include <iostream>using namespace std;int main(){void *handle = dlopen("./function.so", RTLD_LAZY);if(handle == 0) {cout << "dlopen error" << endl;return 0;}typedef void (*FUNC_PRINT)();FUNC_PRINT dl_print = (FUNC_PRINT)dlsym(handle, "Print");if(dl_print == 0){cout << "dlsym error" << endl;return 0;}(dl_print)();dlclose(handle);return 0;}运行结果截图:版本二:f1.cpp#include <iostream>using namespace std;//输出文件需要用extern “C”修饰,这样才能被标准C语言调用extern "C" void print(){cout<<"lifeng "<<endl;}f2.cpp#include <iostream>using namespace std;extern "C" void print(){cout<<"hello lifeng"<<endl;}main.cpp#ifndef CPLUGINENUMERATOR_H#define CPLUGINENUMERATOR_H#include <vector>#include <string>#include <dirent.h>#include <dlfcn.h>#include <iostream>#include <string.h>using namespace std;bool getPluginNames(vector<string>& v_plugin){//打开动态链接库的存放目录,返回目录的索引结构DIR* dir=opendir("./plugin");if(dir==0)return false;for(;;){//返回一个direent结构体,结构体中包含了索引节点号和文件名struct dirent* p=readdir(dir);if(p==0)break;//Linux文件目录下第一个为“.”表示当前目录,需要筛掉if(strcmp(p->d_name,".")==0)continue;if(strcmp(p->d_name,"..")==0)continue;string str="./plugin/";//动态链接库的存放目录str+=p->d_name;//现在str为绝对路径v_plugin.push_back(str);//将绝对路径保存入向量}closedir(dir);return true;}int main(){vector<string> v_plugin;if(!getPluginNames(v_plugin)){cout<<"获取动态链接库名失败"<<endl;return 0;}for(int i=0;i<v_plugin.size();i++){void* handle=dlopen(v_plugin[i].c_str(),RTLD_LAZY);//打开动态链接库if(handle==0){cout<<"打开动态链接库出错"<<endl;return 0;}typedef void(*P_print)();P_print p_print=(P_print)dlsym(handle,"print");//映射动态链接库函数if(p_print==0){cout<<"映射动态链接库函数失败"<<endl;return 0;}(p_print)();dlclose(handle);}return 0;}#endif运行结果截图:七、总结及心得体会:本次实验,学习在Linux系统下插件的开发和使用,实验过程中遇到很多困难,但在同学的帮助下解决了大部分困难,多交流也是很重要的学习方法。

电子科技大学实验报告可编辑

电子科技大学实验报告可编辑

电 子 科 技 大 学实 验 报 告一、 实验室名称: 电子技术综合实验室二、 实验项目名称:现代电子技术综合实验三、 实验学时: 40四、 实验目的与任务:1、 熟悉系统设计与实现原理2、 掌握KEIL C51的基本使用方法3、 熟悉SMART SOPC 实验箱的应用4、 连接电路,编程调试,实现各部分的功能5、 完成系统软件的编写与调试五、 实验器材1、 PC 机一台2、 示波器、SMART SOPC 实验箱一套六、 实验原理、步骤及内容(一)试验要求1、程序开始后:当只有第1个发光二极管亮时,同时第1个数码管显示数字1,其余显示”-”;持续0.5秒之后,只有第2个发光二极管亮,电子科技大学实验报告【最新资料,WORD 文档,可编辑修改】同时第2个数码管显示数字2,其余显示”-”;再过0.5秒,只有第3个发光二极管亮,同时第3个数码管显示数字3,其余显示”-”;……;间隔0.5秒后,只有第8个发光二极管亮,同时第8个数码管显示数字8,其余显示”-”。

此后进入循环状态。

循环过程中,按按键进入任务2。

2、停止任务1中发光二极管显示,数码管的第1、2位显示学号最后二位,第4、5位显示电机转速(初始转速30)。

第7、8位实现秒表功能,从5.0开始倒计时,计时到0.0后程序自动进入任务3.3、数码管的第1、2位显示电机转速,第3、4 、5、6位显示”-”, 第7、8位显示二位电压值(0.0~2.4V),增减调节电压值,电机转速(初始转速30)能够跟随电压增减以10倍变化量(0~24),进行加减速变化。

按按键进入任务1。

(二)实验内容1、硬件设计PDIP40封装80C51引脚布局图SmartSOPC相配套的基于8051单片机的Quick51核心板2、各部分硬件原理数码管动态扫描原理:动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。

选亮数码管采用动态扫描显示。

所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。

软件开发实训报告

软件开发实训报告

软件开发实训报告本人在大学期间参加了一项软件开发实训,本文将分享我在实训过程中的体验和收获。

实训背景在准备毕业前夕,学校要求我们进行一项实训,目的是让我们在实践中掌握软件开发的核心技能,为日后的职业发展打下坚实的基础。

实训内容我们的实训项目是一个线上购物商城,需要完成前端UI设计、后端开发以及数据库设计等工作。

我们分为若干个小组,每个小组负责一个或多个模块的开发,大家需要协同工作才能完成整个项目。

实训过程在实训的过程中,我们遇到了一些挑战。

首先,项目涉及的领域比较广泛,有些成员并不擅长某些技术,有些人可能会因为一些原因缺席,需要其他成员顶上去。

其次,在完成整个项目中,需要不断进行信息交流和协调,特别是在前后端调试时,这是一个比较耗时的工作。

此外,我们还需要在紧张的期限内完成每个里程碑任务。

最后,在项目上线前,需要进行多次测试和修复漏洞,确保程序的运行稳定性和安全性。

实训收获经过一段时间的紧张工作,我们最终成功地完成了整个项目。

在这个过程中,我们不仅学会了如何采用所学习的技术来开发软件,而且也发现了许多软实力方面的技能。

例如:团队协作、问题解决、自我管理以及沟通技巧等。

具体来说:- 团队协作:我们在实践中体会到了团队合作的重要性。

每个人都可以发挥自己的特长,同时也需要配合其他成员的工作,让项目顺利地前进。

- 问题解决:在项目实施过程中,我们遇到了许多的技术问题,例如:前后端接口调试、数据库操作以及版本控制等问题。

针对这些问题,我们需要不断学习和尝试解决方案来克服它们。

- 自我管理:在实践中,我们学会了如何更好地管理自己的时间、精力和资源。

例如:分配任务、优化工作流程、自我约束等。

- 沟通技巧:在团队协作和问题解决中,我们要面对许多的沟通和交流问题,例如:如何清楚地表达自己的想法、如何理解他人的话语等。

因此,我们需要学会如何有效地沟通和处理团队内部的矛盾。

总结通过实践,我深刻地认识到软件开发实训的重要性。

软件技术技术实验报告

软件技术技术实验报告

电子科技大学通信学院标准实验报告(实验)课程名称软件技术基础实验名称软件技术基础设计学生姓名雷宏伟学号2015010910001指导老师孟中楼电子科技大学教务处制表一、实验室名称:基础实验大楼506二、项目名称:顺序表三、实验学时:4学时四、设计目的:通过建立顺序表,熟悉顺序表的建立,在顺序表中插入,删除元素等用法。

五、设计原理:六、设计内容:1)首先创建一个顺序表:从键盘读入一组整数(长度小于等于11),按输入顺序放入顺序表,输入以-1结束(注意-1不放到顺序表内);将创建好的顺序表元素依次输出到屏幕上。

2)在已创建好的顺序表中插入一个元素:从键盘读入需插入的元素值和插入位置,调用插入函数完成插入操作;然后将顺序表元素依次输出到屏幕上。

3)在已创建好的顺序表中删除一个元素:从键盘读入欲删除的元素位置(序号),调用删除函数完成删除操作;然后将顺序表元素依次输出到屏幕上。

4)删除顺序表中元素值为负数的所有元素,然后将顺序表元素依次输出到屏幕上。

七、实验器材(设备、元器件):计算机,vc实验平台八、测试步骤:1)编写语句2)运行测试3)查看结果九、测试数据及结果分析:十、设计与测试结论:十一、总结及心得体会:通过实验深刻了解了顺序表的用法,并实现了顺序表的插入,元素的删除等功能。

十二、对本实验过程及方法、手段的改进建议:1)对于程序编写生疏了,由于原先用的是vs,首次用vc不太习惯,应多加练习,对于顺序表掌握还不够完全,课余应多交流。

2)第四个内容刚开始不能运行,后来改进后成功。

报告评分:指导教师签字:。

电子科技大学_汇编实验报告

电子科技大学_汇编实验报告

电子科技大学计算机工程学院标准实验报告(实验)课程名称电子科技大学教务处制表电子科技大学实验报告实验一学生姓名:穆萨·图拉克学号:2012060090033 指导教师:实验地点:主楼A2-412 实验时间:19:00~一、实验室名称:二、实验项目名称:汇编源程序的上机调试操作基础训练三、实验学时:四、实验原理:(包括知识点,电路图,流程图)DEBUG 的基本调试命令;汇编数据传送和算术运算指令MASM宏汇编开发环境使用调试方法五、实验目的:1. 掌握DEBUG 的基本命令及其功能2. 学习数据传送和算术运算指令的用法3. 熟悉在PC机上编辑、汇编、连接、调试和运行汇编语言程序的过程六、实验内容:(介绍自己所选的实验内容)1. DEBUG命令的使用2. 程序的调试与运行3. 编写程序计算以下表达式:Z=(5X+2Y-7)/2设X、Y的值放在字变量V ARX、V ARY中,结果存放在字节单元V ARZ中。

七、实验器材(设备、元器件):WinXP PC机,MASM,50 ,VisulASM软件平台。

八、实验步骤:(编辑调试的过程)1.编辑源程序,建立一个以后缀为.ASM的文件.2.汇编源程序,检查程序有否错误,有错时回到编辑状态,修改程序中错误行。

无错时继续第3步。

3.连接目标程序,产生可执行程序。

4.用DEBUG程序调试可执行程序,记录数据段的内容。

九、实验数据及结果分析:(实验运行结果介绍或者截图,对不同的结果进行分析)程序说明:功能:本程序完成Z=(5X+2Y-7)/2这个等式的计算结果求取。

其中X 与Y是已知量,Z是待求量。

结构:首先定义数据段,两个DB变量VARX与VARY(已经初始化),以及结果存放在VARZ,初始化为?。

然后定义堆栈段,然后书写代码段,代码段使用顺序程序设计本程序,重点使用MOV和IMUL以及XOR,IDIV完成程序设计。

详细内容见程序注释。

程序清单:DATA SEGMENTVARX DB10VARY DB10VARZ DB?DATA ENDSSTACK SEGMENT PARA STACKSTACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKMAIN:MOV AX,DATAMOV DS,AXMOV AL,VARXMOV AH,VARYSAL AL,1SAL AL,1ADD AL,VARXSAL AH,1ADD AL,AHSUB AL,7SAR AL,1MOV VARZ,ALMOV AH,4CHINT21HCODE ENDSEND MAIN程序框图:结束调试说明:将汇编语言(.asm文件)通过masm命令转换为目标程序(.obj 文件),通过link命令转换为目标程序可执行程序(.exe文件); 这次试验还要用-p参数以及d参数显示结果为:十、实验结论:(联系理论知识进行说明)通过本次实验,我们学习了解掌握了DEBUG 的基本命令及其功能,学习了数据传送和算术运算指令的用法,熟悉了在PC机上编辑、汇编、连接、调试和运行汇编语言程序的过程。

开发环境搭建实验报告(3篇)

开发环境搭建实验报告(3篇)

第1篇实验名称:开发环境搭建实验目的:1. 掌握开发环境的搭建流程。

2. 熟悉常用的开发工具和版本控制工具。

3. 提高软件开发的实践能力。

实验时间:2022年X月X日实验地点:个人电脑实验器材:1. 操作系统:Windows 102. 编程语言:Java3. 开发工具:Eclipse IDE4. 版本控制工具:Git实验内容:1. 开发环境的搭建2. 编写简单的Java程序3. 使用Git进行版本控制实验步骤:一、开发环境的搭建1. 安装Java开发工具包(JDK)(1)下载JDK安装包:进入Oracle官网,选择适合自己操作系统的JDK版本进行下载。

(2)安装JDK:双击下载的安装包,按照提示进行安装。

(3)配置环境变量:在系统属性中,点击“环境变量”按钮,在“系统变量”中,找到“Path”变量,点击“编辑”,在变量值中添加JDK安装路径下的bin目录,如C:\Program Files\Java\jdk1.8.0_241\bin。

2. 安装Eclipse IDE(1)下载Eclipse安装包:进入Eclipse官网,选择适合自己的Eclipse版本进行下载。

(2)安装Eclipse:双击下载的安装包,按照提示进行安装。

3. 安装Git(1)下载Git安装包:进入Git官网,选择适合自己的Git版本进行下载。

(2)安装Git:双击下载的安装包,按照提示进行安装。

(3)配置Git:打开Git Bash,执行以下命令:```$ git config --global "你的名字"$ git config --global user.email "你的邮箱"```二、编写简单的Java程序1. 打开Eclipse IDE,创建一个新的Java项目。

2. 在项目中创建一个新的Java类,命名为“HelloWorld”。

3. 编写以下代码:```javapublic class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}}```4. 运行程序,查看输出结果。

软件开发毕业实习报告600字5篇

软件开发毕业实习报告600字5篇

软件开发毕业实习报告600字5篇软件开发毕业实习报告600字一转眼已经在___实训这样的大家庭中生活快10个月时间了,之前的兴奋、喜悦如今已经让我熟悉,在这里的每一天都会让我有成为一名真正财富拥有者的冲动。

也许对别人来说,一定不能体会为什么在这不到10个月的时间会让一个人有翻天覆地的变化,但是变化就是这样一点一点产生的。

在___的实训生活中,我深深体会到了自己在专业知识方面的欠缺和不足,也意识到了自己做为计算机软件工程专业的学生,要想在以后的职业中崭露头角,除了要有过硬的理论知识,健康的体魄外,还必须具备良好的心理素质,使自己在以后的途中无论经历什么样的困难,都立于不败之地。

这正是本次实训的根本目的。

通过实训中心老师的课堂讲解与企业化标准的培训,使我加深了对自己专业的认识。

从而确定自己以后的努力方向。

要想在短暂的实训时间内,尽可能多的学到东西,就需要我们跟老师或同学进行很好的沟通,加深彼此的了解。

只有我们跟老师多沟通,让老师更了解我们,才能跟真切的对我们进行培训工作。

由此,班级的文化共享就在生活中慢慢形成了。

纸上得来终觉浅,绝知此事要躬行!在这短短的时间里,让我深深的感觉到自己在实际应用中所学专业知识的匮乏。

让我真真领悟到学无止境这句话的涵义。

而老师在专业认识周中所讲的,都是课本上没有而对我们又非常实用的东西,这又给我们的实训增加了浓墨淡采的光辉。

我懂得了实际生活中,专业知识是怎样应用与实践的。

在这些过程中,我不仅知道了职业生涯所需具备的专业知识,而且让我深深体会到一个团队中各成员合作的重要性,要善于团队合作,善于利用别人的智慧,这才是大智慧。

靠单一的力量是很难完成一个大项目的,在进行团队合作的时候,还要耐心听取每个成员的意见,使我们的组合达到更加完美。

这次实训带给我太多的感触,它让我知道工作上的辛苦,事业途中的艰辛。

让我知道了实际的工作并不像在学校学习那样轻松。

人非生而知之,虽然我现在的知识结构还很差,但是我知道要学的知识,一靠努力学习,二靠潜心实践。

软件开发环境实验报告

软件开发环境实验报告

软件开发环境大作业班级:2012学号:2012姓名:教师:孟宇龙、李晋2015年6月一、文挡规范(F0) 5分二、Project项目管理工具(F1) 10分完成本次作业的项目管理(包括任务名称,任务计划时间,分配资源,完成情况,实际用时)至少20个任务点,有前置任务,分级, 任务升降级。

人力资源为自己学号+前后两个学号截图至少包含:1.甘特图 5分2.跟踪甘特图 1分3.任务分配状况图 2分4.成本视图 2分(申请优秀必做)三、建模工具(Visio) (F2) 20分1.业务流程图(visio) 4分2.功能结构分解图(visio) 4分商品库存管理模块功能划分图:库存管理库存查询库存预警库存登记报损管理报损管理报损管理商品管理模块功能划分:商品管理销售管理销售查询退货管理退货查询修改销售信息添加销售信息删除销售信息查询销售信息导出销售信息添加退货信息修改退货信息删除退货信息查询退货信息导出退货信息商品采购管理模块功能划分图:采购管理商品采购查询采购商品管理登录进货信息采购商品管理采购商品管理修改进货信息删除进货信息档案管理模块划分:档案管理供货商管理员工管理添加员工信息修改员工信息删除员工信息删除员工信息添加供货商信息修改供货商信息删除供货商信息查询供货商信息分析模块:分析管理库存分析销售分析报损分析采购分析3. ER 图(visio 或ERwin) 2分(实体和联系,少量属性)进货职工编号职工/用户姓名性别进货单号销售日期数量名称身份证号m销售m客户n价格进货日期商品编号进货单号商品n工资条形码供货m供货商n银行账号供货日期开户行地址名称电话供货商编号4. 系统结构图 2分超市销售管理系统商品管理采购管理档案管理系统管理库存管理分析管理商品销售管理 商品退货管理 商品销售查询 商品退货查询 采购商品管理 商品采购查询 员工管理供应商管理数据还原 库存查询 数据备份 库存报警 库存等级 库存分析 报损管理 销售分析 采购分析 报损分析5. 绘制软件功能界面 3分(申请优秀必做)使用visio 的“软件”的windows xp 用户界面(窗口和对话框,公共控件形状)登陆界面:用户名密码主功能:超市商品销售管理系统主功能选项商品管理采购管理档案管理库存管理系统管理分析管理相关报表业务员进货明细表供应商供货明细表商品销售明细表退出系统商品进货管理界面:商品采购返回单价(元)商品名称商品货号供应商进货日期数量商品货号商品名称单价(元)数量进货日期供应商增加修改删除6. 时序图 5分(申请优秀必做) 进货信息查询时序图:销售信息查询时序图:四、Power Designer 设计(F3) 10分1. 绘制CDM 模型 5分(2个实体,1个联系,主属性必须有,少量属性)2. 生成PDM 模型 3分3. 生成SQL 脚本 2分/*==============================================================*/StockStaff*#**姓名职工编号性别身份证号...Characters (20)Characters (20)Characters (10)Characters (20)Product*#*商品名称商品编号价格...Characters (20)Characters (20)Characters (20)FK_Stock FK_Stock2Staff姓名职工编号性别身份证号...char(20)char(20)char(10)char(20)<pk>Product商品名称商品编号价格...char(20)char(20)char(20)<pk>Stock职工编号商品编号char(20)char(20)<pk,fk1><pk,fk2>/* DBMS name: MySQL 5.0 *//* Created on: 2015/6/17 9:11:18 *//*==============================================================*/drop table if exists Product;drop table if exists Staff;drop table if exists Stock;/*==============================================================*//* Table: Product *//*==============================================================*/create table Product(ProName char(20) not null,ProNo char(20) not null,Price char(20) not null,primary key (ProNo));/*==============================================================*//* Table: Staff *//*==============================================================*/create table Staff(Name char(20) not null,StaID char(20) not null,Sex char(10) not null,IDNumber char(20) not null,primary key (StaID));/*==============================================================*//* Table: Stock *//*==============================================================*/create table Stock(StaID char(20) not null,ProNo char(20) not null,primary key (StaID, ProNo));alter table Stock add constraint FK_Stock foreign key (StaID)references Staff (StaID) on delete restrict on updaterestrict;alter table Stock add constraint FK_Stock2 foreign key (ProNo)references Product (ProNo) on delete restrict on updaterestrict;五、MyEclipse工具开发Struts (F4) 40分(报告中包含截图和核心代码,页面和代码包含学号后4位)使用Struts开发邮件管理系统.1.herbernate使用 5分2.用户登陆功能 5分3.用户注册功能(包含多个不同类型的Struts标签) 5分4.表格浏览邮件功能(收邮件) 5分(申请优秀必做)5.查找邮件功能 5分(申请优秀必做)6.新建邮件功能 5分7.删除邮件功能 5分(申请优秀必做)8.修改个人资料功能 5分(视频录制操作过程作为附件,包含各功能的操作演示)六、SVN版本控制(F5) 10分对开发过程中的代码进行版本控制.(所有操作要体现包含学号后四位)1.创建新版本库 1分2.创建用户 1分3.导入数据到版本库 1分4.在客户端检出副本 2 分(两次检出不同版本)检出两个文件夹5.检出副本后,在本地进行修改,将修改提交到版本库 5 分(两次提交,产生2个新版本)(申请优秀必做)修改文件内容:检出错误:再次修改,检出错误:提交后无误。

电子科大环境工程实训报告

电子科大环境工程实训报告

一、实训背景随着我国经济的快速发展,环境问题日益突出。

为了培养具有创新精神和实践能力的环境工程人才,电子科技大学特开设了环境工程实训课程。

本次实训旨在通过实际操作和现场学习,使学生对环境工程的理论知识有更深入的理解,提高解决实际问题的能力。

二、实训目的1. 理解环境工程的基本理论和方法。

2. 掌握环境监测和污染治理的基本技能。

3. 培养团队合作精神和实际操作能力。

4. 增强环保意识和责任感。

三、实训内容本次实训主要包括以下内容:1. 环境监测与评价:学习环境监测的基本原理和方法,包括水质、大气、土壤等环境指标的监测。

通过实际操作,了解监测仪器的使用和维护。

2. 污染治理技术:学习水处理、固废处理、大气污染治理等基本技术。

了解不同污染物的处理方法,如物理法、化学法、生物法等。

3. 环境影响评价:学习环境影响评价的基本流程和方法,包括环境影响识别、环境影响预测和评价报告撰写。

4. 环境工程案例分析:通过分析实际案例,了解环境工程在实际工程中的应用,提高解决实际问题的能力。

四、实训过程1. 理论学习:首先,我们对环境工程的基本理论进行了系统学习,包括环境科学、环境监测、污染治理、环境影响评价等课程。

2. 实验室实训:在实验室,我们进行了水质、大气、土壤等环境指标的监测实验,学习了监测仪器的使用和维护。

3. 现场实训:我们前往污水处理厂、垃圾处理场、大气污染治理设施等现场进行实训,了解了污染治理的实际操作过程。

4. 案例分析:我们分析了多个环境工程案例,包括水污染治理、固废处理、大气污染治理等,了解了环境工程在实际工程中的应用。

五、实训成果1. 理论知识掌握:通过本次实训,我们对环境工程的基本理论有了更深入的理解,为今后的学习和工作打下了坚实的基础。

2. 实践技能提高:通过实际操作和现场学习,我们掌握了环境监测和污染治理的基本技能,提高了解决实际问题的能力。

3. 团队合作精神:在实训过程中,我们学会了与他人合作,共同完成任务,培养了团队合作精神。

国开(电大)软件工程课程实验报告1

国开(电大)软件工程课程实验报告1

国开(电大)软件工程课程实验报告1
实验目的
本实验旨在深入理解软件工程的概念和原理,通过实际操作掌握软件工程的基本方法和技术。

实验内容
1. 阅读并理解软件工程的基本概念和原理;
2. 设计并实现一个简单的软件项目;
3. 使用软件工程的方法和技术进行项目管理和团队协作;
4. 编写实验报告,总结实验过程和结果。

实验步骤
1. 阅读教材中关于软件工程的相关章节,理解软件工程的基本概念和原理;
2. 确定一个简单的软件项目并进行需求分析和设计;
3. 使用项目管理工具进行任务分配和进度管理;
4. 遵循软件工程的开发流程,按计划逐步实现软件项目;
5. 在开发过程中进行团队协作,及时沟通和解决问题;
6. 完成软件项目的开发和测试,并进行优化;
7. 撰写实验报告,记录实验过程、项目功能、问题解决等信息。

实验结果
通过本次实验,我深入了解了软件工程的基本概念和原理,并
成功设计和实现了一个简单的软件项目。

在实验过程中,我学会了
使用项目管理工具进行任务分配和进度管理,以及团队协作的重要性。

通过不断地改进和优化,最终成功完成了软件项目的开发和测试。

在实验报告中,我详细记录了实验过程、项目功能和问题解决
等信息。

总结
本次实验对于我的软件工程研究具有重要意义。

通过实际操作,我更加深入地理解了软件工程的概念和原理,掌握了软件工程的基
本方法和技术。

在以后的研究和实践中,我将继续运用所学知识,
并不断提升自己在软件工程领域的能力和水平。

参考文献
- 软件工程教材一
- 软件工程教材二。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子科技大学
实验报告
学生姓名:郭小明学号:*************
一、实验室名称:主楼A2-412
二、实验项目名称:
软件开发环境试验-----Huffman编码实验
三、实验原理:
2.1分割函数的三项原则
分割函数的三项原则包括:与其写注释,不如写函数;重复就是罪恶;函数不要超过50行至70行。
关于分割函数三原则的具体含义,请见教材和课堂教学PPT关于电话本的内容。这里不再赘述。
实验文件列表:file.txt为源文件,out.txt为压缩文件,out1.txt为解压出来的文件
/*
将编码表写入默认文件当中,并在结尾存入叶子节点数(count)与压缩后文件的总bit数
1111000 27
...........
...........
#sum_bit##count#
*/
void freToFile(int code[],HCode *HC)
//由于词频表是按照字符串方式存储的叶子节点信息,读取出来的字符串需要转换成int值再使用
int powmy(int a,int b)
/*从编码表文件读取相应信息以用来解压文件,读取信息包括编码和叶子信息*/
HCode* freFromFile(int code[],HCode *HC)
/*压缩文件*/
void compress_file(char* file1,char*file2)
/*用于在解压的时候将读取到的ASCII码转换为二进制数*/
C++版本的程序,需要给出类关系图。
实验报告的评分标准,包括以下几个方面:
实验报告是否规范
实验报告内容是否详实
实验报告中是否包含了函数调用图、流程图、类图以及它们的文字说明
实验报告中的代码注释是否达到要求
程序是否正确无误
程序是否严格按照分函数的原则编写
C++版本的程序类关系的耦合度如何
程序实现是否考虑了大文件情况
C:\>test.exe–u compress_filename uncompress_filename
上述命令中,-u表示要执行解压命令。compress_filename是要解压的文件名,可以包含路径信息;uncompress_filename就是解压后所得到的文件,同样可以包含路径信息。
提示:在实现test.exe程序时,需要考虑如何存储huffman树或者编码表或者词频表等等。
六、实验器材(设备、元器件):
PC机,vs 2008软件平台。
七、实验数据及结果分析:
代码见附件。
huffmanForC
文件中函数列表如下:
///统计词频时用于查找是否已经记录过,记录过的话返回下标,没有则返回0
int isInNode(int value)
//获取文件词频,记录在Node huffmanNode[260]的节点数组当中
//n值由全局变量count值来确定,该函数主要用来初始化Huffman树的所有节点信息
void createHufmanTree(Node * huffmanTree)
/*字符编码,从构建好的Huffman树当中读取每个叶子节点的huffman编码,并将叶子节点的信息放入到code[]中*/
HCode * getHuffmanCode(Node * huffmanTree,HCode *HC,int code[])
int swap(int data)
/*进行文件的解压*/
void uncompress_file(char* file1,char* file2)
//主函数
int mห้องสมุดไป่ตู้in(int argc, char **argv)
函数关系调用图:
向下箭头为顺序依次调用,斜线为函数内调用
输入-c argv[2] argv[3]
指导书试验原理部分较多,在这里就不做粘贴复制了。
四、实验目的:
本实验总体目的是,通过使用huffman编码算法从而实现文件的压缩和解压,以达到使学生掌握并灵活运用分割函数的三项原则。
五、实验内容:
本实验要求实现一个exe程序。这个程序按照huffman编码方式,同时包含了压缩功能和解压功能。用户通过以下命令进行压缩:
本实验要求实现两个版本的test.exe程序,一是C语言版本的,二是C++版本的。对这两个版本的要求如下:
对于每一个版本的程序,需要在实验报告中给出函数调用关系图、流程处理关系图以及它们的文字说明等内容;
对于每一个版本的程序,都需要在实验报告中给出源代码。为了便于查重,代码中注释的比例要占到总行数的20%;
void calWeight(char *file)
/*得到待压缩文件的总字节数,权值为几就代表着有多少个字节*/
int getSumBytes()
//获取压缩后文件的总bit数
int getSumBits()
//建立huffman树根据huffman树的特性,具有n个节点的huffman树的具有2n-1个节点
C:\>test.exe–c uncompress_filename compress_filename
上述命令中,test.exe是程序名,-c表示要进行压缩。uncompress_filename是要压缩的文件名,可以包含路径信息,而compress_filename是压缩之后的文件名,同样可以包含路径信息。用户可以通过如下命令进行解压:
获取argv[2]文件中的词频信息
根据词频信息建立Huffan树
获取Huffman编码
将argv[2]文件使用编码压缩成argv[3]
将编码信息写入编码表文件,以备解压使用
输入-u argv[2] argv[3]
从词频表当中读取编码信息
将argv[2]文件解压为argv[3]文件
代码见附件。
上面操作实现了将file.txt压缩成out.txt (同时生成了默认词频表文件dic.txt),然后实现了解压缩功能。
2.2 Huffman编码的基本原理
本实验要求使用Huffman编码算法,实现对文件的压缩和解压。因此,我们首先介绍huffman的编码算法。
Huffman编码是一种可变长编码方式,是由美国数学家David Huffman创立的,是二叉树的一种特殊转化形式。编码的基本原理是:将使用次数多的代码转换成长度较短的编码,而使用次数少的代码则可以使用较长的编码,并且保持编码的唯一可解性。
相关文档
最新文档