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

合集下载

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

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

计算机专业类课程实验报告课程名称:汇编语言程序设计学院:计算机科学与工程专业:计算机科学与技术学生姓名:郭小明学号:2011060100010日期:2013年12月24日电子科技大学实验报告实验一学生姓名:郭小明学号:2011060100010一、实验室名称:主楼A2-412二、实验项目名称:汇编源程序的上机调试操作基础训练三、实验原理:DEBUG 的基本调试命令;汇编数据传送和算术运算指令MASM宏汇编开发环境使用调试方法四、实验目的:1. 掌握DEBUG 的基本命令及其功能2. 学习数据传送和算术运算指令的用法3.熟悉在PC机上编辑、汇编、连接、调试和运行汇编语言程序的过程五、实验内容:编写程序计算以下表达式:Z=(5X+2Y-7)/2设X、Y的值放在字节变量VARX、VARY中,结果存放在字节单元VARZ中。

1.编辑源程序,建立一个以后缀为.ASM的文件.2.汇编源程序,检查程序有否错误,有错时回到编辑状态,修改程序中错误行。

无错时继续第3步。

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

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

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

七、实验数据及结果分析:程序说明:功能:本程序完成Z=(5X+2Y-7)/2这个等式的计算结果求取。

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

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

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

详细内容见程序注释。

程序清单:调试说明:将汇编语言(.asm文件)翻译为目标代码程序(.obj文件)(MASM.exe);没有出现错误或者警告,下一步进行链接,连接目标代码程序和库函数代码生成可执行程序文件(.exe文件),(LINK.exe);我们成功生成了test1.exe. 然后输入Debug命令进入调试环境,-是debug命令提示符。

软件开发环境实验报告

软件开发环境实验报告

软件开发环境大作业班级: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个新版本)(申请优秀必做)修改文件内容:检出错误:再次修改,检出错误:提交后无误。

电子科技大学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,显然不合情理。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

软件开发实验报告

软件开发实验报告

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

电子科技大学实验报告

电子科技大学实验报告
五、实验内容:
(一)用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的使用

软件开发环境与工具实验报告(2013)

软件开发环境与工具实验报告(2013)

本科实验报告
课程名称:软件开发环境与工具
实验项目:CASE工具PowerDesigner的使用实验地点:
专业班级:学号:
学生姓名:
指导教师:
2013年月日
本科实验报告
课程名称:软件开发环境与工具
实验项目:搭建visual studio开发环境,设计
windows控制台应用程序
实验地点:
专业班级:学号:201100
学生姓名:
指导教师:
2013年月日
本科实验报告
课程名称:软件开发环境与工具
实验项目:掌握在Visual Studio 2010中进行
Web应用程序的设计方法
实验地点:
专业班级:学号:
学生姓名:
指导教师:
2013年月日
本科实验报告
课程名称:软件开发环境与工具
实验项目:掌握在Visual Studio 2010中进行
Windows Form应用程序的设计方法实验地点:致远楼501
专业班级:1124班学号:2011005677
学生姓名:高睿
指导教师:崔秀鹃
2013年10 月21 日。

开发环境建立实验报告

开发环境建立实验报告

一、实验目的1. 掌握开发环境的搭建流程。

2. 熟悉常用开发工具的使用方法。

3. 提高编程实践能力。

二、实验环境1. 操作系统:Windows 102. 编程语言:Java3. 开发工具:IntelliJ IDEA4. 数据库:MySQL5. 网络环境:稳定网络连接三、实验内容1. 开发环境搭建2. 编写Java程序3. 连接数据库4. 测试程序功能四、实验步骤1. 开发环境搭建(1)下载并安装Java开发包(JDK)1)访问Oracle官网,下载适用于Windows操作系统的JDK版本。

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

3)安装完成后,在系统环境变量中配置JDK的bin目录。

(2)下载并安装IntelliJ IDEA1)访问IntelliJ IDEA官网,下载免费版或社区版。

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

3)安装完成后,启动IntelliJ IDEA。

(3)配置MySQL数据库1)下载并安装MySQL数据库。

2)运行MySQL安装程序,按照提示进行安装。

3)安装完成后,配置MySQL环境变量。

2. 编写Java程序(1)创建Java项目1)在IntelliJ IDEA中,选择“File” -> “New” -> “Project”。

2)选择“Java” -> “Maven” -> “Next”。

3)输入项目名称、项目位置等信息,点击“Finish”。

(2)编写Java代码1)在项目目录下,创建一个名为“src”的文件夹。

2)在“src”文件夹下,创建一个名为“com”的包。

3)在“com”包下,创建一个名为“main”的文件夹。

4)在“main”文件夹下,创建一个名为“java”的文件夹。

5)在“java”文件夹下,创建一个名为“HelloWorld”的类。

6)在HelloWorld类中,编写以下代码:```javapublic class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}}```(3)运行Java程序1)在HelloWorld类上,右键点击“Run”。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

计算机专业类课程实验报告课程名称:软件开发环境学院:计算机科学与工程专业:计算机科学与技术学生姓名:孙健学号: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;等于在栈中空出一片空间来存局部变量。

电子科技大学软件技术基础实验报告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、各部分硬件原理数码管动态扫描原理:动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。

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

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

软件技术技术实验报告

软件技术技术实验报告

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

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

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

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

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

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

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

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

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

开发环境搭建实验报告(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. 运行程序,查看输出结果。

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

电子科技大学 软件开发环境 实验报告
{
public:
void compress_file(const char *,const char *,const char *);
void uncompress_file(const char *,const char *,const char *);
void freFromFile(const char *,char **,char *,int *);
2.2 Huffman编码的基本原理
本实验要求使用Huffman编码算法,实现对文件的压缩和解压。因此,我们首先介绍huffman的编码算法。
Huffman编码是一种可变长编码方式,是由美国数学家David Huffman创立的,是二叉树的一种特殊转化形式。编码的基本原理是:将使用次数多的代码转换成长度较短的编码,而使用次数少的代码则可以使用较长的编码,并且保持编码的唯一可解性。
实验文件列表:file.txt 为源文件,out.txt 为压缩文件,out1.txt 为解压出来的文件
下面是dic.txt的部分信息,存放的依次是Huffman编码,对应的ASCII码
压缩后产生的文件,确实是乱码
解压后的文件,与压缩前的文件,大小内容完全一致。
C++
Controll类
class Controll //:public HuffmanTree
指导书试验原理部分较多,在这里就不做粘贴复制了。
四、实验目的:
本实验总体目的是,通过使用huffman编码算法从而实现文件的压缩和解压,以达到使学生掌握并灵活运用分割函数的三项原则。
5、实验内容:
本实验要求实现一个exe程序。这个程序按照huffman编码方式,同时包含了压缩功能和解压功能。用户通过以下命令进行压缩:

软件开发实验报告

软件开发实验报告

软件开发实验报告篇一:软件开发实验报告本科实验报告课程名称:软件开发环境与工具实验报告实验项目:CASE工具PowerDesigner的使用实验地点:专业班级:指导教师:XX年10月22日本科实验报告课程名称:软件开发环境与工具实验报告实验项目:搭建Visual Studio开发环境,设计实验地点:致远楼B303指导教师:崔秀娟XX年9月28日篇二:软件开发平台实验报告课程设计报告课程名称: 软件开发平台与工具任课教师: 姓名:学号:1. 引言1.1. 课程设计项目1.2. 背景简介从编程之初,便免不了和方法,类,接口之类的东西打交道。

久而久之,自然会对此进行总结,由此而产生了开发平台。

而今中国的程序员之中,有很大一部分都是编一些企业MIS、政府MIS之类的程序。

其主要工作就是对数据进行一下增删改查的操作,对MIS系统做一些基础的管理而已。

软件开发平台有两种平台模式:一种是传统的C/S架构模式,一种是现在流行的B/S架构模式。

B/S 架构模式是随着互联网的流行,自然又要求以互联网为基础,把这些都网络化,以实现网络资源共享,而不是传统的单机模式。

这便激发了软件开发者的创造力,形成了软件开发平台的B/S架构模式(web开发平台)。

对于web开发平台,我的个人理解是:1.以web2.0为基础,基于互联网的B/S架构的软件。

它本身也是一个软件,只不过不是最终的软件产品,而是用于二次开发的软件。

2.用于实现各类业务系统,如CRM、MIS、ERP、HIS、OA 等等的开发。

web开发平台本身就是一个二次开发平台,他不同于诸如eclipse等这样的开发工具,需要写大量的代码来完成各个业务模块,二次开发平台只需要设计好自己的数据结构,进行一些简单的配置、拖拉等操作就可以完成业务系统的开发。

3.能够快速的实现各种报表包括复杂的图表报表的设计制作,传统的编码式开发需要自己去编写想要的各种报表,而运用开发平台就简单多了,可以很轻松的配置出各种报表。

大学生软件开发实训报告

大学生软件开发实训报告

一、实习背景随着信息技术的飞速发展,软件行业在我国得到了空前的发展。

为了提升我国软件行业的竞争力,培养具有实际操作能力和创新精神的软件人才成为了当务之急。

在此背景下,我国各大高校纷纷开展了软件开发实训课程,旨在让学生在实践中提升专业技能,为毕业后顺利就业打下坚实基础。

本人有幸参加了为期一个月的软件开发实训,现将实训过程及心得体会总结如下。

二、实习目的1. 熟悉并掌握软件开发的基本流程和常用工具。

2. 提高编程能力和项目实战经验。

3. 培养团队协作和沟通能力。

4. 了解行业动态,为毕业后就业做好准备。

三、实习单位及岗位介绍实习单位:XX科技有限公司岗位:软件开发实习生实习期间,我主要参与了公司的一个项目管理,负责部分模块的设计与开发。

四、实习过程1. 项目需求分析在项目开始阶段,我们团队首先进行了需求分析,明确了项目目标和功能需求。

我负责其中一部分模块的需求分析,通过与项目经理和团队成员的沟通,对需求有了更深入的了解。

2. 技术选型根据项目需求和团队成员的技术背景,我们选择了Java作为开发语言,并确定了使用Spring Boot框架进行开发。

3. 设计阶段在设计阶段,我负责了部分模块的设计,包括数据库设计、接口设计等。

在设计过程中,我遵循了模块化、可扩展的原则,确保代码的可读性和可维护性。

4. 编码阶段在编码阶段,我按照设计文档进行了编码,实现了模块的功能。

在编码过程中,我遵循了良好的编程规范,确保代码的质量。

5. 测试阶段在测试阶段,我参与了单元测试和集成测试,对发现的问题进行了修改和优化。

6. 项目总结在项目结束后,我们团队进行了项目总结,对项目过程中的经验教训进行了总结,为今后的项目提供了借鉴。

五、实习收获1. 技术能力提升通过本次实训,我对Java语言和Spring Boot框架有了更深入的了解,掌握了软件开发的基本流程和常用工具,提升了编程能力。

2. 团队协作能力在项目过程中,我与团队成员密切合作,共同解决了许多技术难题,锻炼了我的团队协作能力。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

电子科技大学软件开发
环境实验报告
Coca-cola standardization office【ZZ5AB-ZZSYT-ZZ2C-ZZ682T-ZZT18】
本实验总体目的是,通过使用huffman编码算法从而实现文件的压缩和解压,以达到使学生掌握并灵活运用分割函数的三项原则。

五、实验内容:
本实验要求实现一个exe程序。

这个程序按照huffman编码方式,同时包含了压缩功能和解压功能。

用户通过以下命令进行压缩:
C:\> –c uncompress_filename compress_filename
上述命令中,是程序名,-c表示要进行压缩。

uncompress_filename是要压缩的文件名,可以包含路径信息,而compress_filename是压缩之后的文件名,同样可以包含路径信息。

用户可以通过如下命令进行解压:
C:\> –u compress_filename uncompress_filename
上述命令中,-u表示要执行解压命令。

compress_filename是要解压的文件名,可以包含路径信息;uncompress_filename就是解压后所得到的文件,同样可以包含路径信息。

提示:在实现程序时,需要考虑如何存储huffman树或者编码表或者词频表等等。

本实验要求实现两个版本的程序,一是C语言版本的,二是C++版本的。

对这两个版本的要求如下:
对于每一个版本的程序,需要在实验报告中给出函数调用关系图、流程处理关系
图以及它们的文字说明等内容;
对于每一个版本的程序,都需要在实验报告中给出源代码。

为了便于查重,代码
中注释的比例要占到总行数的20%;
C++版本的程序,需要给出类关系图。

实验报告的评分标准,包括以下几个方面:
实验报告是否规范
实验报告内容是否详实
实验报告中是否包含了函数调用图、流程图、类图以及它们的文字说明
实验报告中的代码注释是否达到要求
程序是否正确无误
程序是否严格按照分函数的原则编写
C++版本的程序类关系的耦合度如何
程序实现是否考虑了大文件情况
六、实验器材(设备、元器件):
PC机,vs 2008软件平台。

七、实验数据及结果分析:
代码见附件。

huffmanForC
文件中函数列表如下:
.........
...........
#sum_bit##count#
*/
void freToFile(int code[],HCode *HC)。

相关文档
最新文档