软件技术基础实验指导
- 格式:pdf
- 大小:565.21 KB
- 文档页数:10
计算机软件实验报告计算机软件实验报告引言:计算机软件实验是计算机科学与技术专业学生必修的一门实践课程,通过实验,学生可以深入了解计算机软件的原理和应用。
本次实验报告将对我所进行的一次计算机软件实验进行详细的描述和分析。
实验目的:本次实验的目的是通过使用特定的计算机软件,掌握软件的基本操作和功能,进一步加深对计算机软件的理解,并能够应用软件解决实际问题。
实验过程:本次实验使用的软件是XXX软件,该软件是一款功能强大的图像处理软件。
在实验过程中,我首先学习了该软件的基本操作,包括打开、保存、导入和导出等功能。
然后,我通过实验手册提供的实例,逐步学习了软件的高级功能,如图像编辑、滤镜效果、图像合成等。
在实验过程中,我按照实验手册的指导,一步一步地操作软件,并观察其效果和结果。
实验结果:通过本次实验,我成功地掌握了XXX软件的基本操作和高级功能。
我能够熟练地打开、保存和导入图像文件,并对图像进行编辑和处理。
我还学会了如何使用滤镜效果,使图像更加鲜艳和美观。
此外,我还学会了如何将多个图像合成为一个,并调整它们的位置和大小。
通过实验,我不仅提高了对计算机软件的操作技能,还培养了对图像处理的兴趣和热情。
实验心得:本次实验让我深刻认识到计算机软件的重要性和应用价值。
计算机软件不仅可以帮助我们处理和编辑图像,还可以用于音频处理、视频剪辑、数据分析等多个领域。
掌握计算机软件的基本操作和高级功能,对我们未来的学习和工作都非常有帮助。
通过实验,我还学会了如何解决实际问题,如如何调整图像的亮度和对比度,如何去除图像中的噪声等。
这些技能对于我将来从事计算机相关的工作非常重要。
结论:通过本次实验,我不仅加深了对计算机软件的理解,还提高了对图像处理的技能。
我相信这些知识和技能将对我的学习和工作产生积极的影响。
我将继续努力学习和探索计算机软件的更多功能和应用,为将来的发展打下坚实的基础。
同时,我也希望能够将所学的知识和技能应用于实际生活,为社会创造更多的价值。
《软件技术基础》实验指导书电子商务教研室2009年9月实验三队列的应用◆实验目的与基本要求1、掌握队列的顺序存储和链式存储结构。
2、掌握队列的特点。
3、掌握队列的基本运算。
◆实验条件1、硬件:一台微机2、软件:操作系统和C语言系统◆实验方法确定存储结构后,上机调试实现队列的基本运算。
◆实验内容1、写出队列的出队和入队算法。
2、设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。
车辆按到达停车场时间的早晚,依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。
如果停车场已停放n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场。
停车场内如有某辆车要开走,在它之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来的次序进场。
每辆车在离开停车场时,都应根据它在停车场内停留的时间长短交费。
如果停留在便道上的车未进停车场要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆次序。
编制一个程序模拟该停车场的管理。
◆性质:必做◆类型:验证◆2h队列是从日常排队现象抽象出来的一种数学模型。
当然数据结构中的队列远没有生活中的排队灵活。
数据结构中的队列规定:数据只能从队尾进,从队首出来。
已经进入队列的数据次序不能再做改变。
这就叫做“先进先出”(FIFO)或者说“后进后出”(LILO)。
允许插入的一端称为队尾,通常用一个称为尾指针(rear)的指针指向队尾元素,即尾指针总是指向最后被插入的元素;允许删除的一端称为队首,通常也用一个队首指针(front)指向队首元素的前一个位置(当然也可以直接指向队首元素,只是许多数据结构的书上都习惯这么定义)。
与队列类似,我们可以用一维数组来模拟队列这种数据结构,也可以用链表来模拟。
根据以上描述,队列可以可以有以下基本操作:1、创建初始化:按约定置队列为空状态。
《软件技术基础2》实验报告3学院机械学院专业能源与动力工程年级2015姓名666任课教师葛卫民实验指导葛卫民2016年10月日实验三一、实验目的通过本试验,使学生理解数组、指针的概念及基本用法;掌握数组与指针程序的设计方法;掌握求最大最小、排序、字符串处理等基本算法的思想和使用方法。
二、实验内容1.通过程序实例,理解数组及指针的概念及基本语法。
2.编写教材第三章习题3中1、2、3、5、6、7要求的程序,并完成上机调试的实验任务。
其中第3题的第7小题需要分别用数组、指针结合动态内存分配两种方法来实现。
三、实验准备1.复习第三章的内容,重点是3.1、3.2、3.5节的内容及相关例题;2.编写教材第三章习题3中1、2、3、5、6、7要求的程序。
四、实验任务任务一:第1小题1.内容:向数组a中输入十个整数,求其中最大值,最小值和十个数的算术平均值。
2.源程序:#include <iostream.h>void main( ){int a[10],amax,amin,sum(0);double ave;cout<<"输入10个数:";for (int i=0; i<10; i++) cin>> a[i];for(i=0;i<10;i++) sum+=a[i];ave=sum/10.0;amax=amin=a[0];i=1;while(i<10){ if(a[i]>amax) amax=a[i];if(a[i]<amin) amin= a[i];i++;}cout<<"算术平均值="<<ave<<endl;cout<<"最大值="<<amax<<endl;cout<<"最小值="<<amin<<endl;}3.运行结果:4.实验中遇到的主要问题及解决方法无任务二:第2小题1.内容:输入十个学生一门课的成绩,分别统计大于平均值的人数和小于60分的人数。
轮台县职业高中计算机基础实验指导书姓名:班级:实验要求通过实验,能够培养良好的信息素养,具备使用软件工具处理日常事务的能力,能够利用计算机和Internet表达、交流和学习,为后续专业课程的学习有力的信息技术保证。
学生完成本实验课,能够熟练计算机操作系统使用,掌握Word编辑和排版,掌握Excel电子表格的使用,能够进行演示文稿的制作和播放,并能够利用网络进行信息交流和信息查询,并能够安装操作系统。
在本课程实验过程中,要求学生做到:(1)预习实验指导书有关部分,认真做好实验内容的准备,就实验可能出现的情况提前作出思考和分析。
(2)仔细观察上机编程时出现的各种现象,记录主要情况,作出必要说明和分析。
(3)认真书写实验报告。
实验报告包括实验目的和要求,实验情况及其分析。
(4)遵守机房纪律,服从辅导教师指挥,爱护实验设备。
(5)实验课程不迟到,如有事不能出席,所缺实验一般不补。
目录实验一Windows XP操作系统的安装.............................................- 4 - 实验二操作系统的备份与还原.........................................................- 4 - 实验三Windows的启动及基本操作 ...............................................- 4 - 实验四键盘指法练习........................................................................- 22 - 实验五汉字输入练习........................................................................- 25 - 实验六Windows基本操作一..........................................................- 31 - 实验七Windows基本操作二............................ 错误!未定义书签。
《计算机软件技术基础》实验报告专业_____________年级_____________学号_____________学生姓名_____________指导老师_____________南华大学计算机学院编I 实验要求1.每次实验中有若干习题,每个学生至少应该完成其中的两道习题。
2.上机之前应作好充分的准备工作,预先编好程序,经过人工检查无误后,才能上机,以提高上机效率。
3.独立上机输入和调试自己所编的程序,切忌抄袭、拷贝他人程序。
4.上机结束后,应整理出实验报告。
书写实验报告时,重点放在调试过程和小节部分,总结出本次实验中的得与失,以达到巩固课堂学习、提高动手能力的目的。
实验一线性表【实验目的】1.熟悉VC环境,学习如何使用C语言实现线性表的两种存储结构。
2.通过编程、上机调试,进一步理解线性表的基本概念,熟练运用C语言实现线性表基本操作。
3.熟练掌握线性表的综合应用问题。
【实验内容】必做:1.一个线性表有n个元素(n<MAXSIZE, MAXSIZE指线性表的最大长度),且递增有序。
(1)现有一元素x要插入到线性表的适当位置上,并保持线性表原有的顺序不变。
采用链式存储表示方法实现,设计程序实现(2)从单链表中删除指定的元素x,若x在单链表中不存在,给出提示信息。
要求:①指定的值x由键盘输入;②程序能处理空链表的情况。
选做:3.设有头结点的单链表,编程对表中的作一值只保留一个结点,删除其余值相同的结点。
要求:①该算法用函数(非主函数)实现;②在主函数中调用创建链表的函数创建一个单链表,并调用该函数,验证算法的正确性。
4.已知非空单链表第一个结点由head指出,请写一算法,交换p所指结点与其下一个结点在链表中的位置。
要求:①该算法用函数Reverse(head,p)实现,其中head为表头指针,p指向要交换的结点;②在主函数中调用创建链表的函数创建一个单链表,并调用该函数,验证算法的正确性。
《计算机软件技术基础》实验指导书编写:XXX适用专业:电器工程与自动化通讯工程电子信息工程安徽建筑工业学院电子与信息工程学院2007年9月实验一:线性链表的建立、查找、插入、删除实验实验学时:2实验类型:验证实验要求:必修一、实验目的通过本实验的学习,要求学生能够通过单链表的存储结构,掌握单链表的基本操作,包括单链表的建立、查找、插入、删除、输出等操作。
通过本实验可以巩固学生所学的线性表知识,提高编程能力,为后继课程的学习奠定基础。
二、实验内容1、为线性表{10,30,20,50,40,70,60,90,80,100}创建一个带头结点的单链表;2、在该链表上查找值为50,65的结点,并返回查找结果(找到:返回在县新链表中的位置);3、在该链表上值为50的结点后,插入一个值为120的结点;4、删除该链表上值为70的结点。
写出各操作的实现函数,并上机验证。
三、实验原理、方法和手段使用带头结点的单链表的表示线性表,通过实验,熟悉链表的创建、查找、插入、删除、输出等是链表的基本操作。
具体如下:(1)首先定义单链表的节点结构;(2)在单链表创建过程中,首先初始化一个带头结点的空链表,对线性表中的各元素依次通过键盘输入、建立该元素结点、插入到单链表中,实现单链表的创建过程;结点的插入有头插入和尾插入两种方法,采用不同方法时应注意元素的输入顺序。
(3)查找过程可以从头结点开始,将待查找的数据依次与每个结点的数据域比较,匹配及查找成功,弱链表访问完未找到匹配的元素,则查找不成功。
为能够返回查找成功的结点位置,在链表的搜索过程中,应设置一个计数器,记录搜索结点的序号;(4)插入结点时,首先要通过查找算法,找到带插入结点的前驱结点,然后为带插入元素建立结点,通过指针的修改,将结点插入。
(5)删除结点时,首先要通过查找算法,找到待删除结点的前驱,然后通过指针的修改,将待删除结点从链表中卸下,释放该结点。
(6)以上操作的正确性,均可以通过链表的输出结果来验证。
《软件工程》实验指导书太原理工大学计算机科学与技术学院2013年3月目录第一部分实验教学大纲 (1)第二部分实验说明 (3)实验一软件工程的网上资源与常用的CASE工具 (3)实验二传统软件开发方法的可行性研究 (5)实验三传统软件开发方法的需求分析建模 (6)实验四传统软件开发方法的结构设计 (7)实验五系统测试 (8)实验六面向对象的分析与设计 (9)实验七软件项目管理 (10)附录一实验题目 (11)第一部分实验教学大纲课程名称:软件工程(Software Engineering)课程总学时: 48 学时[理论: 40 学时;实验: 8 学时]课程总学分: 3 学分适用专业和年级:计算机科学与技术、软件工程专业一、实验的目的与任务本实验课程通过完整地实施软件生命周期各阶段的任务,让学生系统地学习到软件开发过程的主要理论、方法、技术、标准和规范,使他们具备基本的软件开发设计能力;通过软件工程中常用CASE工具和软件项目管理的实践,使他们具备运用各种工具完成项目设计和实施的基本技能;通过集体项目开发,培训学生的合作意识和团队精神,培养学生对技术文档的编写能力。
二、实验内容和要求本课程的实验内容包括结构化(生命周期法)的方法学和面向对象的方法学。
通过一个模拟项目,要求学生分别用结构化方法和面向对象的方法完成系统的分析、设计和实现的整个软件开发过程。
此外实验中引入我国国家《计算机开发规范》,以规范技术文档的书写标准,提高实验教学质量。
实验要求学生采用“项目小组”的形式,结合具体的开发项目进行分析、设计。
每个项目小组必须按照《软件工程实验指导书》附录中给定的文档规范标准提供项目文档;具体要求如下:1.班级按项目不进行分组。
2.每个人均为负责人或项目经理,由项目经理召集项目组成员讨论、选定开发项目,所有实验中都要采用同一个实验题目。
项目开发的每项任务要规定该任务的起止日期和时间。
3.每个项目均要进行需求分析,完成需求分析报告,修订并评审需求分析报告,确定系统的需求分析模型。
实验报告
实验名称数据库应用系统的开发
班级
学号
姓名
成绩
【实验方案设计】
1. 利用Visual Basic里的VB Application Wizard按照步骤逐步创建一个窗体应用程序,并链接到上一实验创建的数据库中,同时添加各种操作按钮,如插入、删除、更改等,最后将数据库的每个表视图集合到主视图中
【实验过程】(实验步骤、记录、数据、分析)
1.选择数据来源种类
2.选择数据库文件并做链接
3.选择数据视图布局,此处选择网格式布局,便于查看全部数据
4.选择一个表及要添加的字段和排列顺序
5.选择对数据可进行的操作按钮,如添加、更改、删除、更新、关闭等
6.添加完一个表后,继续添加其他表,直到整个数据库所有表已添加
7.添加完成后界面
8.通过链接到ACCESS数据库的VB数据库管理程序查看每个表数据,并进行数据增加、删除、修改等操作
9.在数据库管理系统中对数据进行增加操作,此处增加一条订单ID为151112的记录,可以看到在ACCESS中的数据表进行了同步增加。
这样就可以达到不打开ACCESS而只通过一个单界面应用程序就实现对数据库的维护工作,具有简单性、高效性的特点。
软件工具与应用实验指导书一、实验平台VisualC++是Microsoft公司为开发Windows应用程序而创建的一种新的编程工具,它是生产效率最高的C++工具,用于创建性能最高的Windows应用程序和Web程序。
儿乎所有的世界级软件,从领先的Web浏览器到以任务为主的应用程序,都是用MiCrOSOflViSUaIC++开发系统创建的。
ViSUalC++6.0给C++带来了高水准的生产效率,并具有使用灵活、性能强大和控制简单等优点。
它的高性能及高度集成的开发环境,可使用户比从前更方便、快捷地创建、修改和调试WindOWS应用程序,而无需手工编制程序语句。
VisualC++6.0与以前的版本相比有了多方面的改进。
它的编译器、调试器、连接器、编辑器、资源编辑器都有所加强,在编辑器中还提供了自动语句生成功能,编辑器会像VisualBasic一样自动提示函数的参数、对象的成员。
另夕卜,VisualC++6.0还提供了很多向导。
MFC提供了一些新的类,提供了更强大的数据访问功能。
用户可利用ViSUalC++6.0以两种方式编写Win32应用程序,一种方式是基于WindowsAPI的编程方式,另一种是基于MFC的编程方式。
二、实习目的和要求软件工具与应用是一门实际技术课程,有很强的实践性。
通过实验教学环节,对学生进行实践技能和科学研究方法的训练,巩固其在课堂上所学书本知识,加深印象、熟练掌握。
实验中,一是理解使用ViSUalC++进行面向对象与可视化程序设计的基本原理和方法;二是掌握使用API函数进行可视化编程、使用MFC进行可视化编程和VisualC++高级编程的技能;三是锻炼对前后章节知识的综合运用的能力,逐步全面掌握面向对象与可视化编程技术,为实际的软件开发打下基础。
三、实验实验一:ViSlIaIC++基础及开发环境实验目的:让学生熟悉VisualC++开发环境。
实验内容和要求:通过上机实习熟悉ViSUalC++开发环境及其各个成分的使用方法:菜单、工具栏、项目工作区窗口、文档窗口、输出窗口。
《软件技术基础》上机实验报告2018至2019学年,第1学期学生姓名:***班级:***学号:***授课教师:***指导教师:***报告完成时间:2018年12月9日实验一:链式二叉排序树的创建和遍历一.实验目的和要求1.加深理解数据结构的目的和概念,以及逻辑结构和物理结构的关系;2.练习数据结构操作算法的编程实现;3.练习链表的程序设计,掌握二叉链表的设计技术;4.练习递归函数的设计方法;5.巩固二叉排序树的概念;6.熟悉软件功能的分析设计方法。
二.功能分析与设计利用C或C++,设计程序,定义二叉链表,存储二叉排序树,声明并定义相应的函数,实现链式二叉排序树的下列操作:1. 输入数据个数DataCount(要求在10和20之间)和数据最大值MaxData(在50和100之间)。
算法实现:该任务需要限制输入的DataCount在10和20之间,MaxData在50和100之间,只有当两者均满足要求时,程序才会向下执行。
若不满足时,会提示“输入不正确,请重新输入!”,并继续输入DataCount和MaxData,直至满足要求。
这里用while(1)死循环,不得到正确输入不退出。
部分代码如下:while(1){printf("请输入DataCount:");scanf("%d",&DataCount);printf("请输入Maxdata:");scanf("%d",&Maxdata);if(DataCount>=10&&DataCount<=20&&Maxdata>=50&&Maxdata<=100) break;printf("输入不正确,请重新输入! \n");fflush(stdin); //清空输入}2. 在0和MaxData之间,随机产生DataCount个不重复的整数,按产生先后顺序形成一个数据序列,并输出该序列。
实验报告
( 2015 / 2016 学年第二学期)
课程名称软件开发技术基础
实验名称实验二小型MIS系统的分析与设计
实验时间2016 年 5 月18 日指导单位计算机学院
指导教师王传栋
学生姓名班级学号
学院(系) 通信学院专业电子信息工程
实验报告
三、实验原理及内容
1、理解需求进行数据建模
1) 绘制概念模型ER 图。
2) 将第1 步得到的ER 模型,转换为DB 的关系模型。
STUDENT(SNO,SNAME,SEX,CLASS_NO,DEPARTMENT_NO)
2、对需求进行用例建模
1) 绘制系统的用例图。
2) 特殊用例,要进行用例详述。
3、对数据进行DFD 建模
建模中分别以系统角色学生、教师和教务员绘制分层DFD 图。
顶层数据流图:
学生管理系统一层数据流图:
管理学生模块数据流图:
管理学生模块数据流图:
选课管理与成绩管理模块数据流图:
4、在第3 步骤的基础上,绘制系统的体系结构图:
5、绘制系统的对象模型,完成:
1) “类图”,可以针对不同的业务场景分别绘制;
在学生选课情况下,各个类之间的关系如下图所示:
学生管理系统
学生 教师 系统管理员
查询成绩
查询基本信息
录入成绩
修改成绩
删除成绩
查询成绩
录入基本信息
修改学生信息
删除学生信息
查询信息
2) 特殊的业务类,根据需要绘制“状态图”
教师录入成绩的状态图如下图所示:
3) 特殊的业务场景,根据需要绘制“顺序图”
教师成绩管理顺序图如下:。
软件工程实验指导书 2021一、实验目的软件工程是一门将理论与实践紧密结合的学科。
通过本实验课程,旨在帮助学生深入理解和掌握软件工程的基本原理、方法和技术,培养学生的软件开发能力、团队协作能力和问题解决能力,为今后从事软件开发及相关工作打下坚实的基础。
二、实验环境1、操作系统:Windows 10 或 Linux(如 Ubuntu)。
2、开发工具:Eclipse、IntelliJ IDEA 等集成开发环境(IDE)。
3、数据库管理系统:MySQL、Oracle 等。
4、版本控制系统:Git。
三、实验要求1、学生应在实验前认真预习实验内容,熟悉相关的理论知识和技术。
2、实验过程中,学生应严格遵守实验室的规章制度,爱护实验设备。
3、学生应独立完成实验任务,不得抄袭他人的实验成果。
4、实验结束后,学生应及时整理实验数据和结果,撰写实验报告。
四、实验内容实验一:软件需求分析1、实验目的掌握软件需求分析的方法和过程。
学会使用需求分析工具,如 UML 用例图、活动图等。
2、实验内容确定软件项目的目标和范围。
对用户的需求进行调研和分析,收集相关的信息和资料。
绘制用例图和活动图,描述系统的功能和业务流程。
编写需求规格说明书。
3、实验步骤第一步:明确软件项目的背景和目标,与相关人员进行沟通和交流,了解项目的需求和期望。
第二步:通过问卷调查、用户访谈等方式收集用户的需求,对需求进行整理和分类。
第三步:使用 UML 工具绘制用例图和活动图,对系统的功能和业务流程进行建模。
第四步:根据需求分析的结果,编写需求规格说明书,详细描述系统的功能、性能、数据、安全等方面的需求。
实验二:软件设计1、实验目的掌握软件设计的原则和方法。
学会使用设计模式,提高软件的可维护性和可扩展性。
2、实验内容进行软件体系结构设计,选择合适的架构模式。
设计软件的模块结构和接口。
运用设计模式对软件进行优化。
3、实验步骤第一步:根据需求规格说明书,确定软件的体系结构,如分层架构、微服务架构等。
《软件工程》实验指导书计算机学院2017年2月软件工程实验指导前言软件工程实验是为计算机相关专业本科《软件工程》课程配套设置的,是《软件工程》课程讲授中一个重要的、不可或缺的实践环节。
其目的是使学生能够针对具体软件工程项目,全面掌握软件工程管理、软件需求分析、软件初步设计、软件详细设计、软件测试等阶段的方法和技术,通过该课程设计使学生进一步理解和掌握软件开发模型、软件生命周期、软件过程等理论在软件项目开发过程中的意义和作用,培养学生按照软件工程的原理、方法、技术、标准和规范,进行软件开发的能力,培养学生的合作意识和团队精神,培养学生对技术文档的编写能力,从而使学生提高软件工程的综合能力,提高软件项目的管理能力。
按该课程的特点,实验内容包括软件开发的两大方法学的专题训练,即结构化(生命周期学)的方法学和面向对象的方法学,通过对一个简单项目,要求学生利用结构化软件开发技术或面向对象的软件开发技术完成对该项目的开发。
因此设置五个实验项目,从项目发的准备工作,系统分析过程,系统设计过程,软件测试到系统实施,覆盖软件开发的整个过程,此外又引入我国国家《计算机开发规范》,以规范技术文档的书写标准,提高实验教学质量。
通过实验训练,达到如下目的:使学生进一步了解和掌握软件工程原理,提高对实际项目的分析和设计能力,通过实验课程,熟悉和基本掌握软件工程方法学、软件开发的过程,文档资料的编写格式及规范,全面领会和贯通所学习的理论知识,从而培养学生综合运用所学课程知识,分析解决问题的能力,培养学生理论联系实际作风,实事求是,严肃认真的科学态度和良好的工作作风,为今后从事科学研究工作打下基础。
实验要求软件工程实验具体要求如下:每个项目小组必须按照《软件工程实验指导书》附录中给定的文档规范标准提供项目文档;题目自定或采用附录二中的题目;软件开发的方法自定(结构化或面向对象的方法学)。
实验一用Visio进行功能分析和建模1. 实验目的掌握结构化分析的方法。
软件技术基础实验指导书2014年9月1日目录实验一斐波那契数列的实现算法及分析 (3)实验二顺序表的实现与应用 (5)实验三链表的实现和应用 (7)实验四栈的实现和应用 (9)实验五队列 (11)实验六二叉树的创建和遍历 (12)实验七图 (15)实验八哈夫曼树及哈夫曼编码 (16)实验九查找算法的实现 (19)实验十内部排序算法的实现 (26)实验十一迷宫问题 (29)实验十二 B+树程序设计 (30)实验十三四叉树程序设计 (31)实验十四修路方案问题 (32)实验一斐波那契数列的实现算法及分析实验目的:1.掌握分别用递归和非递归方法计算斐波那契(Fibonacci)数列。
2.掌握算法性能测试的方法,并能进行算法分析和比较。
实验环境(硬/软件要求):Windows 2000, VisualC++ 6.0实验内容:二阶Fibonacci数列的定义如下:F0=1,F1=1, F2=2,F3=3,F4=5,。
,Fi=F(i-1)=F(i-2) (i>=1).试用递归法和非递归法两种方法写出计算Fn的函数。
实验要求:1.完成计算Fn的递归函数Fib-rec.2.完成计算Fn的非递归数列Fib-ite.3.当n=10,15,20,25,30,35,40,45时测试以上两种算法执行的时间,并把测试结果填写在附表1-1中。
附表1-1 测试表注:表格中填写的是测试时间,单位μm.4.试解释两种算法在执行时间上的不同,并对两种算法进行算法分析。
【C语言源程序】#include <stdio.h>#include <time.h>Long Fib-rec(int n){if(n==0||n==1)return(1);else return(Fib-rec(n-1) + Fib-rec(n-2) );}long Fib-ite(int n){long fib1,fib2,fib;int i;fib1=1;fib2=1;for (i=3;i<=n,i + + ){fib=fib1+fib2;fib1=fib2;fib2=fib;}return fib;}void main ( ){clock-t us1, us2;int n;printf(“请输入n:\n”);scanf(“%d,&n);us1=clock( );printf(“递归函数计算结果:%1d\n”,Fib-rec(n) ); us2=clock( );printf(“递归函数执行时间%1d毫秒\n”,us2-us1);us1=clock( );printf(“非递归函数计算结果:%1d\n”,Fib-ite(n) ); us2=clock( );printf(非递归函数执行时间%1d毫秒\n”,us2-us1);}实验二顺序表的实现与应用实验目的:1.掌握线性表的概念。
实验1软件工程概念与相关工具1.1 软件工程的计算环境(实验估计时间:90 分钟)1.1.1 背景知识软件工程学主要研究如何以较少的代价获得高质量的软件,而要达到这个目的,就必须研究软件开发方法和软件开发工具。
软件开发方法就是开发软件的规范化方法。
软件工具是指能支持软件生存周期中某一阶段(如系统定义、需求分析、设计、编码、测试或维护等)的需要而使用的软件系统;软件开发环境则是面向软件整个生存周期,为支持各个阶段的需要,在基本硬件和宿主软件的基础上使用的一组软件系统。
软件工具和软件开发环境都是软件工程的重要支柱,对于提高软件生产率,改进软件质量,以及适应计算机技术的迅速发展有着越来越大的作用。
从20世纪70年代末开始,专家们就致力于软件开发自动化工具的研究,并逐步形成了应用于软件过程的集成的项目支撑环境(Integrated Project Support Environment)和计算机辅助软件工程(CASE,Computer-Aided Software Engineering)工具。
在此基础上建立集成式软件开发环境,全面支持软件开发过程,以期实现软件设计过程的自动化或半自动化。
1.1.2 实验目的1)理解软件工程的基本概念,熟悉软件、软件生存周期、软件生存周期过程和软件生存周期各阶段的定义和内容。
2)通过Internet 搜索与浏览,了解网络环境中主流的软件工程技术网站,掌握通过专业网站不断丰富软件工程最新知识的学习方法,尝试通过专业网站的辅助与支持来开展软件工程应用实践。
1.1.3 工具/准备工作在开始本实验之前,请预习教科书第一章的相关内容。
需要准备一台带有浏览器、能够访问因特网的计算机。
1.1.4 实验内容与步骤1)请查阅有关资料,给“软件”下一个权威性的定义:软件(中国大陆及香港用语,台湾作软体,英文:Software)是一系列按照特定顺序组织的计算机数据和指令的集合。
一般来讲软件被划分为编程语言、系统软件、应用软件和介于这两者之间的中间件。
《软件建模》实验指导书前言软件建模课程是计算机科学与技术本科专业的一门重要的专业课.通过本课程的学习,使学生在已有的计算机软硬件基础知识、程序设计知识、数据库和网络通信知识的基础上系统掌握面向对象系统分析与设计的基本方法和技术,并具有针对特定环境下的应用问题进行信息系统开发(包括系统分析,设计与实现)的能力。
通过学习本课程学生可以理解和掌握软件建模的分析和设计方法,掌握面向对象系统分析和设计的建模标准UML语言,能够利用Rational Rose(或Microsoft Viso)软件以某一信息系统为例进行系统分析和设计。
本课程主要介绍系统原理的基本概念、系统开发过程RUP、对面向对象分析和面向对象设计的方法、对面向对象分析和设计的建模标准UML等内容。
通过本课程的学习,学生掌握的知识、内容及掌握的程度要求为:1. 使学生理解面向对象的信息系统的开发过程、系统分析和设计的原则和方法;2. 使学生掌握UML语言的基础知识,以及UML在面向对象的软件系统分析和设计中的应用,并能使用UML工具建立系统模型;3. 使学生掌握在UML系统模型下应用高级语言建立应用系统的方法;4. 通过案例教学和实验,提高学生在应用面向对象技术开发软件方面的动手能力和解决问题的能力,并鼓励创新。
本实验所要求的建模工具为Rational Rose 2003。
实验要求计算机软件建模技术现在越来越广泛的应用于软件工程、软件体系结构中。
本课程实验的目的是为了使学生在课程理论学习的同时,通过在一个实践的环境下,实际学习软件统一建模语言,对软件建模技术有一个初步的了解及认识。
通过本指导书中的各个实验,学习掌握对一般面向对象系统建模的方法与技术。
总之,通过上述实验环节,使学生加深了解和更好地掌握《软件建模》课程教学大纲要求的内容。
在《软件建模》的课程实验过程中,要求学生做到:(1)预习实验指导书有关部分,认真做好实验内容的准备,就实验可能出现的情况提前作出思考和分析。
计算机软件实验报告姓名:班级:学号:指导教师:实验一线性表的基本操作一、实验目的与基本要求1.掌握数据结构中的一些基本概念。
数据、数据项、数据元素、数据类型和数据结构,以及它们之间的关系。
2.了解数据的逻辑结构和数据的存储结构之间的区别与联系;数据的运算与数据的逻辑结构的关系。
3.掌握线性表的基本操作:插入、删除、查找以及线性表的合并等运算。
4.掌握运用C语言上机调试线性表的基本方法。
二、实验条件1.硬件:一台微机2.软件:操作系统和C语言系统三、实验方法确定存储结构后,上机调试实现线性表的基本运算。
四、实验内容1.试编写在无头结点的单链表上实现线性表基本运算LOCATE(L,X),INSERT (L,X,1)和DELETE(L,1)的算法。
2.假设有两个按数据元素值递增有序排列的线性表A和B,均以单链表作为存储结构。
编写算法将A表和B表归并成一个按元素值递减有序(即非递增有序,允许值相同)排列的线性表C,并要求利用原表(即A表和B表)结点空间存放表C。
3.将一个线性表中的值就地逆置。
4.在线性表的顺序存储结构的第一个位置上插入一个元素。
(注意区分链表和顺序表)实验代码:#include"stdlib.h"#include"stdio.h"struct node //定义结构体{int d;struct node *next;};struct node *head1,*head2,*p,*q;void pre(struct node *head) //打印数据{printf("链表中的数据为:\n");p=head;while(p!=NULL){printf("%5d",p->d);q=p;p=p->next;}printf("\n");}struct node *creat() //建立链表{struct node *head;int x;printf("输入你要储存的数据:\n");head=NULL;q=NULL;scanf("%d",&x);while(x>0){p=(struct node *)malloc(sizeof(struct node));p->d=x;p->next=NULL;if(head==NULL) head=p;else q->next=p;q=p;scanf("%d",&x);getchar();}pre(head);return (head);}void locate(struct node *head,int x) //查找链表中的数据{int u=1;p=head;while (p->next!= NULL){if (p->d==x)break;else{ p=p->next;u++;}}if(p->d!= x)printf("无此结点");printf("在链表中的位置为:");printf("%d",u);}void insert(struct node *head,int x, int i) //插入数据{ p = head;int j=1;q=(struct node *)malloc(sizeof(struct node));q->d=x;if(i==1){ q->next=head;head=q;}else{while((j<i-1)&&(p->next !=NULL)){j++;p=p->next;}q->next=p->next;p->next=q;}}void delet(struct node *head,int i) //删除数据{ p=head;int j=1;if(i<0) printf("无此位置");if(i==1){q=head; head=head->next; free(q);}else{while((j<i-1) && (p->next != NULL)){ p=p->next;j++;}q=p->next;p->next=q->next;free(q);}}void hebing(struct node *x,struct node *y) //合并两个链表{p=x;q=y;while(p->next!=NULL)p=p->next;p->next=q;pre(x);}void paixu(struct node *head) //对链表中的数据进行排序{int m,n,i=1,t;p=head;while(p->next!=NULL){p=p->next;i++;}p=head;for(n=i;n>1;n--){p=head;for(m=1;m<n;m++){q=p->next;if(p->d<q->d){t=p->d;p->d=q->d;q->d=t;}p=p->next;}}}void caozuo(struct node *head) //操作界面{int m,n;char t;printf("输入你要的操作:,查找 2,插入 3,删除\n");scanf("%c",&t);switch(t){case'1':{printf("输入你要查找的元素的值:\n");scanf("%d",&m);locate(head,m);}break;case'2':{printf("输入你要插入的元素的值和位置:\n");scanf("%d",&m);scanf("%d",&n);insert(head,m,n);pre(head);}break;case'3':{printf("输入你要删除的元素的位置:\n");scanf("%d",&m);delet(head,m);pre(head);}break;default:printf("error\n");}}void main() //主函数{char frag='y',n=NULL;printf("输入你要建立的第A链表中的元素:\n");head1=creat();printf("输入你要建立的第B链表中的元素:\n");head2=creat();do{printf("选择你要操作的链表A/B或者合并排序操作C:\n"); //选择操作scanf("%c",&n);getchar();switch(n){case'A':{caozuo(head1);}break;case'B':{caozuo(head2);}break;case'C':{hebing(head1,head2);paixu(head1);pre(head1);}break;default:printf("error\n");}printf("\n是否继续y/n:\n");scanf("%c",&frag);getchar();}while(frag=='y');}实验2 栈和队列的基本操作一、实验目的与基本要求1.掌握栈和队列的顺序存储和链式存储结构2.掌握栈和队列的特点。
科 技 教 育199 科技资讯 S CI EN CE & T EC HNO LO GY I NF OR MA TI ON 随着计算机技术的迅速普及与发展,高校学生的计算机基础教育越来越受到社会的关注和学校的重视,计算机基础课已经成为高校重要的基础课程之一。
《计算机软件技术基础》是我校为工商类、金融、信息与计算科学等专业的本科生开设的一门计算机基础课程。
1 规划课程体系由于理工类、管理类、文法类等学生的专业领域不同,因而对计算机技术的要求也各有不同,我校分别对不同专业的学生设置了相关的计算机类课程。
该课程是针对非计算机类的工商类、金融、信息与计算科学等专业开设的一门软件综合技术基础课程。
其涉及面广,内容相对独立,涉及计算机操作系统、数据结构、数据库技术、软件工程等课程的基本内容。
通过学习该课程,可使非计算机专业的学生能够了解并掌握计算机软件最基本的概念、思想、原理和方法,掌握开发应用软件所必需的软件基础知识,提高软件素质和用计算机技术求解实际问题的能力,为今后更好地服务于该专业打下必要的基础。
2 组织教学环节2.1制定教学大纲和教学内容计算机软件技术基础课程是一门成熟的课程,开设时间较长,但由于其包含的内容丰富,所涉及专业较广,所以课程内容应充分考虑专业培养方案适时调整,2013年我们对旧的教学大纲进行了修订,宗旨是既体现该课程在专业培养目标中的地位和作用,又使课程教学内容保留经典,体现现代、涉及前沿。
目前关于计算机软件技术基础的教材很多,内容也比较成熟,但却鲜有主要依据C语言来描述算法的教材,由于我校所授课学生先修的高级语言仅有C语言,因此在教学实施中,我们将教材中对应内容的算法和例题用C语言进行描述,便于学生理解和学习。
2.2制作多媒体课件计算机软件技术基础是一门交互性很强的课程,因此采用多媒体教学是行之有效的教学手段,多媒体课件的制作是多媒体教学中的一个重要环节。
(1)课件的整体布局上,遵循“按章节组织教学内容、涉及每个知识点、突出重点和难点”的原则,不能把课件制作成教材的“克隆”版,做到源于教材而不局限于教材。