太原理工大学软件工程《程序设计技术B》实验手册
太原理工大学软件工程课程设计实验
![太原理工大学软件工程课程设计实验](https://img.taocdn.com/s3/m/1769386a83d049649a66586d.png)
文本文件单词的检索与计数专业:软件工程班级: 1227 班姓名:王晓春学号:74同组人:王晓春闫瑞娟张泽磊组长:王晓春完成日期:一.【问题描述】串是非数值处理中的主要对象,如在信息检索、文本编辑、符号处理等许多领域,得到越来越广泛的应用。
在高级语言中也引入了串数据类型概念,并且串变量与其他变量〔如整型、实型等〕一样,可以进行各种运算。
然而,在各种不同类型的应用中,所处理的串有不同的特点,要想有效地实现串的处理,就必须熟悉串的存储结构及其根本运算。
本课程设计的目的就是熟悉串类型的实现方法和文本模式匹配方法,熟悉如何利用模式匹配算法实现一般的文本处理技术。
本课程设计分两步:首先,设计出串定位算法〔即模式匹配算法〕及其实现;然后,再利用串定位算法设计文本文件的检索及单词的计数等操作。
二.【设计需求及分析】1.设计要求串模式匹配算法的设计要求在串的根本操作中,在主串中查找模式串的模式匹配算法——即求子串位置的函数 Index(S,T),是文本处理中最常用、最重要的操作之一。
所谓子串的定位就是求子串在主串中首次出现的位置,又称为模式匹配或串匹配。
模式匹配的算法很多,在这里只要求用最简单的朴素模式匹配算法。
该算法的根本思路是将给定子串与主串从第一个字符开始比拟,找到首次与子串完全匹配的子串为止,并记住该位置。
但为了实现统计子串出现的个数,不仅需要从主串的第一个字符位置开始比拟,而且需要从主串的任一给定位置检索匹配字符串,所以,首先要给出两个算法:1.标准的朴素模式匹配算法2.给定位置的匹配算法文本文件单词的检索与计数的设计要求要求编程建立一个文本文件,每个单词不包含空格且不跨行,单词由字符序列构成且区分大小写;统计给定单词在文本文件中出现的总次数;检索输出某个单词出现在文本中的行号、在该行中出现的次数以及位置。
该设计要求可分为三个局部实现:其一,建立文本文件,文件名由用户用键盘输入;其二,给定单词的计数,输入一个不含空格的单词,统计输出该单词在文本中的出现次数;其三,检索给定单词,输入一个单词,检索并输出该单词所在的行号、该行中出现的次数以及在该行中的相应位置。
太原理工计算机操作系统B
![太原理工计算机操作系统B](https://img.taocdn.com/s3/m/6a62e4ff6294dd88d0d26bc0.png)
课程名称:计算机操作系统B实验项目:操作系统实验实验地点:行知楼A103、行远楼B114教室专业班级:软件学院学生姓名:学号:指导教师:张俊花2015年12 月 5 日实验一几种操作系统的界面一、实验目的和要求目的本实验的目的是使学生熟悉1—2种操作系统的界面,在熟练使用机器的基础上,能了解各种操作命令和系统调用在系统中的大致工作过程。
也就是通过操作系统的外部特征,逐步深入到操作系统的内部实质内容中去。
要求1. 能熟练的在1—2种操作系统的环境下工作,学会使用各种命令,熟悉系统提供的各种功能,主动而有效地使用计算机。
2. 熟悉系统实用程序的调用方法和各种系统调用模块的功能和作用二、实验内容和原理在某种操作系统的环境下建立、修改、运行、打印源程序和结果,最后撤消一个完整的程序。
提示:可按下述步骤进行1.编写一个完整的源程序,通过编辑命令送入机器,建立源程序文件;2.编译该源文件,建立相应的目标文件;3.编译有错时,再用编辑命令修改源文件,消除全部词法和语法错误;4.连接目标文件,形成可执行文件;5.执行该文件,得到结果;6.打印输出源程序和运行结果;7.撤消本次实验中形成的所有文件。
三、系统运行的软硬件环境编译器:VC6.0四、实验步骤及程序流程图1.编写一个完整的源程序,通过编辑命令送入机器,建立源程序文件;2.编译该源文件,建立相应的目标文件;3.编译有错时,再用编辑命令修改源文件,消除全部词法和语法错误;4.连接目标文件,形成可执行文件;5.执行该文件,得到结果;6.打印输出源程序和运行结果;7.撤消本次实验中形成的所有文件。
五、程序清单#include<stdio.h>void main(){char str[256],a;int i,j,k;printf("输入一个字符串:\n");gets(str);printf("指定一个插入的字符:\n");a=getchar();printf("输入在第几个字符后面插入该字符:\n");scanf("%d",&k);for(j=0;str[j]!='\0';j++);for(i=j;i!=k;i--){str[i]=str[i-1];}str[k]=a;str[j+1]='\0';printf("插入指定项后的字符串是:\n%s\n",str);}六、实验结果与分析下面是生成源程序、目标文件、可执行文件等的截图错误提示显示:程序没有错误运行程序:所有文件都存在C文件夹下执行命令行程序,删除所有生成文件:删除后的截图:七、讨论、心得通过这次试验,让我了解到了不同作系统的环境下工作,学会使用各种命令,熟悉系统提供的各种功能,主动而有效地使用计算机,还让我了解了程序是如何编译、链接、运行的,让我了解到了这些问题的本质,增强了自己的动手能力,极大的提升了我对这门科目的兴趣。
太原理工大学软件工程《软件代码开发技术》实验报告
![太原理工大学软件工程《软件代码开发技术》实验报告](https://img.taocdn.com/s3/m/4ede1e3a5ef7ba0d4b733b27.png)
实验报告 实践报告□课程名称:软件代码开发技术实验、实践名称:实验一软件代码基础实验实验、实践地点:致远楼B303专业班级:软件XXXX 学号:XXXXXXXX 学生姓名:XXX指导教师:孙静宇2017年4 月17 日一、实验目的和要求(必填)熟悉JSP、Servlet、JDBC、MySQL、MVC等相关技术,培养良好的代码风格,为其他实验做好准备。
参照课本及参考程序,快速熟悉相关内容,编写带有自己标识信息的留言板程序(如sjyNote),熟悉Java等编程语言或技术的基本编程技巧,注重良好的代码风格(如变量命名、代码注释、Servlet与类中代码的结构等),初步掌握编写Web应用程序的能力。
二、实验内容和原理(必填)在熟悉MySQL、MyEclipse开发环境基础上,基于MVC模式,使用Jsp+Servlet 编写一个留言版程序,前台用Jsp,后台用Servlet,并培养良好的代码风格。
三、主要仪器设备(必填)软件环境:Windows 7/2008-x86,MySQL5.5,MyEclipse3.6;硬件环境:P4 2.4G/80G/1G/64M及较高配置的PC机。
四、操作方法与实验步骤1.安装和配置MySQL、MyEclipse集成开发环境;2.通过查阅课本、网络资料,了解相关知识;3.按照代码风格要求,编写自己的留言板程序;4. 调试程序,输出结果,并进行记录。
五、实验数据记录和处理(可选)AddMessage.javaprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {byte b1[]=request.getParameter("name").getBytes("ISO-8859-1");String na=new String(b1,"gb2312");byte b2[]=request.getParameter("email").getBytes("ISO-8859-1");String em=new String(b2,"gb2312");byte b3[]=request.getParameter("title").getBytes("ISO-8859-1");String ti=new String(b3,"gb2312");byte b4[]=request.getParameter("content").getBytes("ISO-8859-1");String co=new String(b4,"gb2312");if(na==null)na="";if(em==null)em="";if(ti==null)ti="";if(co==null)co="";try{PreparedStatement stm=con.prepareStatement("insert into messagevalues(?,?,?,?)");stm.setString(1, ti);stm.setString(2, na);if(em.length()==0)stm.setString(3, null);else stm.setString(3, em);stm.setString(4, co);try{stm.execute();}catch (Exception e) { }RequestDispatcherrequestDispatcher=request.getRequestDispatcher("ViewMessageServlet");requestDispatcher.forward(request, response);}catch (Exception e) {e.printStackTrace();}}ShowMessage.javaprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {Collection<MessageDataBean> ret=new ArrayList<MessageDataBean>();try{Statement stm=null;stm=con.createStatement();ResultSet result=stm.executeQuery("select count(*) from message");int message_count=0;if (result.next()) {message_count=result.getInt(1);result.close();}if (message_count>0) {result=stm.executeQuery("select * from message");while(result.next()){String name=result.getString("name");String title=result.getString("title");String email=result.getString("email");String content=result.getString("content");MessageDataBean msdBean=new MessageDataBean();msdBean.setTitle(title);msdBean.setName(name);msdBean.setEmail(email);msdBean.setContent(content);ret.add(msdBean);}result.close();stm.close();}request.setAttribute("messages", ret);RequestDispatcherrequestDispatcher=request.getRequestDispatcher("ViewMessages.jsp");requestDispatcher.forward(request, response);}catch (Exception e) {e.printStackTrace();}}Messages.jsp<form action="AddMessage"><table align="center"border="0"><tr><td>姓名</td><td><input type="text"name="name"size="25"/></td></tr><tr><td>email</td><td><input type="text"name="email"size="25"/></td></tr><tr><td>主题</td><td><input type="text"name="title"size="25"/></td></tr><tr><td>内容</td><td><textarea name="content"rows="7"clos="25"></textarea></td></tr><tr><td colspan="3"><table width="100%"cellspacing="0"cellpadding="0"><tr><td><input type="submit"value="提交留言"></td><td><a href="ViewMessageServlet">查看留言</a></td><td><input type="reset"value="重新填写"></td></table></td></tr></table></form>ViewMessage.jsp<body><h2align="center">全部留言</h2><table width="80%"border="1"align="center"><%int message_count=0;Collection<MessageDataBean>messages1=(Collection<MessageDataBean>)request.getAttribute("messages"); Iterator<MessageDataBean> it=messages1.iterator();while(it.hasNext()){ MessageDataBean mg=(MessageDataBean)it.next();%><tr><td>留言人</td><td><%=mg.getName() %></td><td>email</td><td colspan="2"><% out.println("<ahref=mailto:"+mg.getEmail()+">"+mg.getEmail()+"</a>");%></td> <tr><td>主题</td><td colspan="4"><%=mg.getTitle() %></td></tr><tr><td>内容</td><td colspan="4"><textarea rows="4"cols="70"><%=mg.getContent() %></textarea></td></tr><tr><td colspan="5"bgcolor="pink"> </td></tr><%message_count++; %><% }%><p align="center"><a href="Messages.jsp">我要留言</a></p></table></body>六、实验结果与分析(必填)填写留言信息:点击提交留言:数据库中数据:点击我要留言:六、实验结果与分析(必填)七、讨论、心得(可选)六、思考题:1.为什么要保持良好的代码风格?保持好的代码风格可以避免一些不必要的错误,可以提高程序的可读性,提高开发效率。
太原理工大学软件工程软件需求实验报告
![太原理工大学软件工程软件需求实验报告](https://img.taocdn.com/s3/m/cf58451d2af90242a895e582.png)
本科实验报告课程名称:软件需求工程实验项目:软件需求课程实验实验地点:行勉楼A304 专业班级:学号:学生姓名:指导教师:2016年5月18日实验一需求分析实验一、实验目的1、要求学生根据实际项目的要求,应用传统的结构化方法或者面向对象方法进行需求分析;2、通过实验了解和掌握UML和Rataional等工具的使用方法。
二、实验设备:PC机、Windows操作系统、UML和Rational等工具软件。
三、实验内容:1、熟悉和掌握UML和Rational Rose工具的使用。
在rose中创建新的模型,分别画出如下的图:用例图、类图、包图、活动图、顺序图、状态图等。
2、根据如下项目,对系统进行需求分析。
具体要求,绘制系统的用例对用例进行规格说明,绘制类图、活动图、顺序图和状态图等。
四、实验步骤1、安装Rational Rose。
2、根据问题目标、业务背景、问题陈述(描述)等(此信息可以根据项目名称从网上搜索),确定系统的参与者Actor(用户),从用户角度确定系统相关功能用例Usecase,做出用例图。
3、针对每个功能用例使用《用例描述模板》,进行描述。
4、分别使用活动图、顺序图描述用例执行过程。
五、实验结果1、安装Rational Rose。
成功安装了UML软件。
2、根据问题目标、业务背景、问题陈述(描述)等(此信息可以根据项目名称从网上搜索),确定系统的参与者Actor(用户),从用户角度确定系统相关功能用例Usecase,做出用例图。
(一)选题1:学生选课系统项目背景:本系统实现学生选课的基本功能,包括学生退选课,查看自己的选课信息;教师查看选课学生的信息,提交成绩;管理员添加学生、管理学生、管理成绩、添加教师、管理教师和管理课程等。
实现学生选课的动态管理,使得对信息的管理更加及时、高效,提高了效率。
用例图:用户:学生:管理者:类图:时序图:管理者:学生:协作图:老师:学生:(二)选题2:图书管理系统项目背景:本系统实现图书管理的基本功能,包括学生借书退书,查看自己的借书信息;管理员添加学生、管理学生和管理书籍等。
太原理工大学软件工程实验报告
![太原理工大学软件工程实验报告](https://img.taocdn.com/s3/m/9127d00b52d380eb62946d63.png)
2 数据描述
2.1 输入输出:
输入项至少包括:教务处布置的教学计划和工作量计算子系统、学院教师自报的授课计 划和学院制定的有关授课限制条件,输出项至少包括:教务处最终下达全院教师的教学任务 书和学院各个班级下各学期的课程表(可以不含上课地点)。
依次去掉各项输入,第一轮去掉一个,第二轮去掉两个,以此类推。 第三个大模块: 3.1 是否满足条件 测试用例:Z≤2 300≤A≤600 C=0
Z>2 300≤A≤600 C=0 Z≤2 A<300 或 A>600 C=0 Z≤2 300≤A≤600 C≠0 Z>2 A<300 或 A>600 C=0 Z≤2 A<300 或 A>600 C≠0 Z>2 300≤A≤600 C≠0 Z>2 A<300 或 A>600 C≠0 3.2 更新信息 测试用例:教工号+课程名称+课程代码+课时+班级类别+班号 依次去掉各项输入,第一轮去掉一个,第二轮去掉两个,以此类推。 第四个大模块: 4.1 检查 测试用例:教工号+密码 教工号(是否存在) 密码(是否正确) 4.2 查询 测试用例:教工号+课程名称+课程代码+课时+班级类别+班号+限制条件+计划学时+
加工名:审核 编号:5.1 输入:教务号 输出:有效值 加工逻辑:检查输入的教务号是否有密码对应
加工名:审计 编号:5.2 输入:有效值,课程信息 输出:通过名单 加工逻辑:判断课程是否可以通过,给出通过名单
加工名:更新信息 编号:5.3 输入:通过名单 输出:课程信息、教学任务书 加工逻辑:修改课程信息是否通过并给出教学任务书
太原理工大学 软件学院《数据结构B》--实验指导书-杨永强
![太原理工大学 软件学院《数据结构B》--实验指导书-杨永强](https://img.taocdn.com/s3/m/0773a5f4941ea76e58fa0493.png)
《数据结构B》实验指导书计算机科学与技术学院计算机科学与技术系2011年09月目录实验一线性表 (1)实验二树 (5)实验三图 (7)实验四查找 (11)实验五内排序 (13)实验一线性表【目的与要求】本次实习的主要目的是为了使学生熟练掌握线性表的基本操作在顺序存储结构和链式存储结构上的实现,提高分析和解决问题的能力。
要求仔细阅读并理解下列例题,上机调试并编译执行通过,并观察其结果,然后独立完成后面的实验内容,写出完整的实验报告。
编写程序过程中注意养成良好的编程风格与习惯,要求程序结构清晰,程序缩进,适当注释。
【参考例题】[问题描述]用链表形式存储一个字符串,插入、删除某个字符,最后按正序、逆序两种方式输出字符串。
[输入]初始字符串,插入位置,插入字符,删除字符。
[输出]已建立链表(字符串),插入字符后链表,删除字符后链表,逆转后链表。
[存储结构]采用链式存储结构[算法的基本思想]建立链表:当读入字符不是结束符时,给结点分配存储空间,写数据域,将新结点插到表尾;插入字符:根据读入的字符在链表中找插入位置,将新结点插入到该位置之前;删除字符:根据读入的删除字符在链表中找到被删结点后,将其从链表中删除;链表逆转:从链表的第一个结点开始对所有结点处理,将每个结点的前驱变为它的后继;打印链表:从链表的第一个结点开始,依次打印各个结点的数据域。
[参考源程序]#define NULL 0typedef struct node{char a;struct node *link;}node,*nodelink;void readlink(nodelink head){nodelink p,q;char c;p=head;printf("Input a linktable(a string):");scanf("%c",&c);if (c=='\n') printf("This string is empty。
太原理工软件工程实验报告全套
![太原理工软件工程实验报告全套](https://img.taocdn.com/s3/m/dedc90186294dd88d1d26b07.png)
本科实验报告课程名称:软件工程实验项目:传统软件工程的需求分析建模实验地点:专业班级:软件工程学号:2学生姓名:指导教师:2015年4月日太原理工大学学生实验报告用户接受预定用户出示去票通知和帐单打印机核对安排打印去票通知和帐单客户端客户端航班数据库订票数据库服务器终端系统逻辑图:本科实验报告课程名称: 软件工程实验项目:传统软件工程的结构设计实验地点:专业班级:软件工程学号:2学生姓名:指导教师:2015年4月11日2.1.2 服务器程序流程打印帐单输出确定预定信息输出错误原因 打印机票输出确定预定信息服务器经网络送来911=18161512131417192010142 15 3 4678旅客资料定票/取票帐单号经网络送服务器程序五思考题1.系统设计和需求分析的关系是什么?两者必须先后关联吗?答:需求分析是一个项目的开端,也是项目建设的基石。
是对用户需求的定义,对软件系统的描述。
在以往建设失败的项目中,80%是由于需求分析的不明确而造成的。
因此一个项目成功的关键因素之一,就是对需求分析的把握程度。
而项目的整体风险往往表现在需求分析不明确、业务流程不合理,用户不习惯或不愿意去用承建方的软件。
作为第三方的监理公司,必须提醒承建方、客户方重视需求分析的重要性。
系统分析的任务:将用户的业务逻辑转化为程序逻辑,计算时间和成本。
根据开发人员的理论知识和实际的经验,人们会采用各种满足实际情况的系统分析、开发方法、步骤以及文档等等.2.怎样描绘系统的体系结构?答:系统体系结构是由许多结构要素及各种视图(或观点) 共11页第6页(View)所组成的,而各种视图主要是基于各组成要素之间的联系与互操作而形成的。
所以,系统体系结构是一个综合各种观点的模型,用来完整描述整个系统。
体系结构框架(Architecture Framework)用于规定具体体系结构的定义及其文档所表达的意义。
体系结构框架不需要包罗万象,通常只是针对特定的领域,可能更注重战略方面的问题,并为体系结构的发展演变提供指导。
太原理工大学程序设计技术实验报告
![太原理工大学程序设计技术实验报告](https://img.taocdn.com/s3/m/debc182843323968011c9261.png)
⑴设计函数:input(),输入 n 个无序的整数存储在一个数组中; ⑵设计函数:sort(),用起泡法对数组中的 n 各数据从大到小排序; ⑶设计函数:search(),用折半查找法在已排序的 n 个数种查找指定的数据,若存在, 返回其所处的位置,否则,将其插入适当位置使数据仍有序。 在主函数中调用上述函数,验证函数的功能。 6. 输入并运行第 6 章例 6-27 中的程序,根据输出结果总结局部静态变量的特点。
实验内容
1. 下载并安装 C,语言编译系统,设置编辑。
2. 输入并运行第 1 章例 1-1 和例 1-2 中程序,并记录遇到的问题和解决方法。
3. 输入并运行第 2 章例 2-2 和例 2-3 中程序,并记录遇到的问题和解决方法。
4. 求下面算术表达式的值(先自己分析,再试着用程序求解,比较得到的结果是否一致)。
课程名称:
本科实验报告
程序设计技术 B
实验地点:
明相校区软件学院机房 208
专业班级: 软件 1409 学号: 2014005763
学生姓名:
王璐
指导教师:
曹棣
实验名称
2014 年 12 月
实验一 C 语言的运行环境和运行过程
1
实验二 C 语言运算符和表达式
实验目的和要求
1. 学会安装 C 语言编译系统,如:Turbo C、Win-TC、Visual C++等; 2. 学会在上述某种编译系统中程序的编辑、编译、连接和运行; 3. 通过运行简单的 C 程序,初步了解 C 源程序的特点; 4. 理解 C 语言的数据类型,掌握各种常量的表示方法,变量的定义、初始化和赋值; 5. 学会使用 C 语言的算术运算符以及表达式的求值过程。
《软件工程》实验指导书
![《软件工程》实验指导书](https://img.taocdn.com/s3/m/15be4ffcaa00b52acfc7caa8.png)
《软件工程》实验指导书太原理工大学计算机科学与技术学院20XX年3月王会青目录第一部分实验教学大纲 ................................... 1 第二部分实验说明 (4)实验一软件工程的网上资源与常用的CASE工具 .................................4 实验二传统软件开发方法的可行性研究 .. (6)实验三传统软件开发方法的需求分析建模...........................................7 实验四传统软件开发方法的结构设计 ................................................ .18 实验五系统测试 ................................................ .....................................22 实验六面向对象的分析与设计 .............................................................28 实验七软件项目管理 ................................................ ...............................32 附录一实验题目 . (33)第一部分实验教学大纲课程名称:软件工程课程总学时: 48 学时[理论: 40 学时;实验: 8 学时] 课程总学分: 3 学分适用专业和年级:计算机科学与技术、软件工程专业一、实验的目的与任务本实验课程通过完整地实施软件生命周期各阶段的任务,让学生系统地学习到软件开发过程的主要理论、方法、技术、标准和规范,使他们具备基本的软件开发设计能力;通过软件工程中常用CASE工具和软件项目管理的实践,使他们具备运用各种工具完成项目设计和实施的基本技能;通过集体项目开发,培训学生的合作意识和团队精神,培养学生对技术文档的编写能力。
太原理工大学软件测试方法和技术实验报告
![太原理工大学软件测试方法和技术实验报告](https://img.taocdn.com/s3/m/be8747b5336c1eb91b375de9.png)
太原理工大学学生实验报告
学院名称计算机科学与技术专业班级软件工程实验成绩
学生XX 学号实验日期
课程名称软件测试方法和技术实验题目使用白盒测试方法测试程序段
一、实验目的
通过实验主要掌握用白盒法中的逻辑覆盖测试技术设计测试用例以与测试流程图的绘制。
二、实验内容
测试以下程序段
Void DoWork(int x,int y,int z)
{
1 int k=0,j=0;
2 if((x>0)&&(z<10))
3 {
4 k=x*y-1;
5 j=sqrt(k);
6 }
7 if((x==4)||(y>5))
8 j=x*y+10;
9 j=j%3;
10 }
三、实验要求
说明:程序段中每行开头的数字(1-10)是对每条语句的编号。
a 画出程序的控制流图(用题中给出的语句编号表示)。
b分别用语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖方法设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编号表示)。
1)语句覆盖
从流程图看出,程序具有4条路径:
L1:(a-b-d)。
太原理工大学Java实验报告
![太原理工大学Java实验报告](https://img.taocdn.com/s3/m/1820541fb307e87101f69659.png)
实验由本人当时亲自完成仅供参考,希望可以帮助大家本科实验报告课程名称: Java程序设计B 实验项目: Java语言基础编程和面向对象设计实验地点:逸夫楼501 专业班级: 0000 学号: 00000000学生姓名:氣宇軒昂指导教师:2012年 13月 13日实验名称实验一 Java环境搭建和Java语言基础编程实验目的和要求1.掌握JDK、Eclipse的下载和安装,并熟练使用API帮助文档;2.学会Java Application程序和Java Applet程序的编制、编译和运行;3.熟练掌握Java程序流程控制语句的使用;4.熟练掌握Java语言数组的使用、字符串以及字符串处理方法的使用。
实验内容1.下载并安装最新版本的JDK和Eclipse,设置环境变量,下载API帮助文档。
2.设计Java Application程序,输出“我叫×××,我编写的Java Application程序运行通过了”,分别在命令提示符和Eclipse环境中编译、运行。
3.完成习题的编程、调试与运行。
4.使用for循环语句输出习题中的图案。
5.完成习题的编程、调试与运行。
6.完成习题和的编程、调试与运行。
主要仪器设备台式或笔记本计算机实验记录(写出实验内容中3,5,6的程序代码和运行结果)(可分栏或加页)程序代码import class DataType{public static void main(String[] args){Scanner in=new Scanner;"请输入一个long型数据(输完按enter结束):");long a=();"请输入一个float型数据(输完按enter结束):");float b=();"请输入一个double型数据(输完按enter结束):");double c=();"long:"+a);"float:"+b);"double:"+c);}}运行结果Scanner in=new Scanner;boolean b=true;while(b){"请选择菜单:");" 1.计算不同精度的e值");" 2.退出");switch()){case 1:{"请输入精度(例如:1e-3,表示):");ValueFore a=new ValueFore();"e="+());};break;case 2:b=false;break;}}}}运行结果说明:没有按书中的要求去求,但是这个程序功能更强,运用了菜单的方式,使用程序的人能求出不同精度的e值。
太原理工大学web程序设计基础实验报告2016
![太原理工大学web程序设计基础实验报告2016](https://img.taocdn.com/s3/m/5334b51f763231126fdb1114.png)
课程名称:WEB程序设计基础实验项目:WEB程序设计基础实验实验地点:逸夫楼402 专业班级:软件1415班学生姓名:朱伟学号:2014005960指导教师:田玉玲2016年11 月21 日实验一HTML语言一、实验目的1.掌握常用的HTML语言标记;2.利用文本编辑器建立HTML文档,制作简单网页。
二、实验要求1.独立完成实验。
2.书写实验报告书。
三、实验内容1.在文本编辑器“记事本”中输入如下的HTML代码程序,以文件名sy1.html保存,并在浏览器中运行。
(请仔细阅读下列程序语句,理解每条语句的作用)(1)程序代码:<!doctype html><html lang="en"><head><meta charset="UTF-8"><title>Example</title></head><body bgcolor="#00DDFF"><h1><B><I><FONT COLOR="#FF00FF"><MARQUEE BGCOLOR="#FFFF00"direction=left behavior=alternate>welcome to you</MARQUEE></FONT></I></B></h1><hr><h2 align=center><FONT COLOR="#0000FF">A simple HTML document</FONT></h2><EM> Welcome to theworld of Html</EM><p>This is a simple HTML document.It is to give you an outline of how to write HTML file and how the <b>markup tags </b>work in the<I>HTML</I>file</p><p>Following is three chapters<ul><li>This is the chapter one</li><li><A HREF="#item">This is the chapter two</A></li><li>This is the chapter three</li></ul></p><hr><p><A NAME="item">Following is items of the chapter two</A></p><table border=2 bgcolor=gray width="40%"><tr><th>item</th><th>content</th></tr><tr><td>item1</td><td>font</td></tr><tr><td>item2</td><td>table</td></tr><tr><td>item3</td><td>form</td></tr></table><hr><p>1<p>2<p>3<p>4<p>5<p>6<p>7<p><B><I><FONT COLOR=BLUE SIZE=4>End of the example document</FONT></I></B> </p></body></html></body></html>(2)实验结果2.编写一个能输出如图所示界面的HTML文件。
[工学]太原理工大学《程序设计》课程设计
![[工学]太原理工大学《程序设计》课程设计](https://img.taocdn.com/s3/m/e7734676caaedd3382c4d30f.png)
《程序设计》课程设计******学号:**********班级:软件1003班指导教师:呼克佑、李誌成绩:2012年6月设计题目一1.文本文件单词的检索与计数1.1【问题描述】设计C或C++程序,统计在这样的英文文本文件中,出现了多少个单词,每个单词出现了几次。
连续的英文字符都认为单词(不包括数字),单词之间用空格或标点符号分隔。
1.2【设计需求及分析】要统计英文文本文件中出现了哪些单词,就要从文件中读取字符,读取出来的连续英文字符认为是一个单词,遇空格或标点符号单词结束。
使用线性表记录单词以及每个单词出现的次数。
线性表中的单词按字典顺序存储。
线性表的顺序存储结构如下:#define LIST_INIT_SIZE 100 //线性表存储空间的初始分配量#define LISTINCREMENT 10 //线性表存储空间的分配增量typedef struct{char word[21] //存储单词,不超过20个字符int count; //单词出现的次数} ElemType;typedef struct{ElemType *elem; //存储空间基址int length; //当前长度int listsize; //当前分配的存储容量} Sqlist;1.3【设计功能的实现】(用C或C++语言描述)#include <stdio.h>#include <string.h>#include <stdlib.h>#define LIST_INIT_SIZE 100#define LISTINCREMENT 10typedef struct{char word[21];int count;} ElemType;typedef struct{ElemType *elem;int length;int listsize;} SqList;int InitList(SqList *p){p->elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));if(p->elem==NULL) return 0;p->length=0;p->listsize=LIST_INIT_SIZE;return 1;}int LocateElem(SqList *p,char *word){int low,high,mid;low=0;high=p->length-1;while(low<=high){mid=(low+high)/2;if(strcmp(word,p->elem[mid].word)==0) //表中进行二分查找{p->elem[mid].count++;return 0;}else if(strcmp(word,p->elem[mid].word)<0)high=mid-1;elselow=mid+1;}return low+1; //返回插入点序号}int InsertList(SqList *p,int i,char *word){int j;ElemType *base;if(p->length>=p->listsize){base=(ElemType*)realloc(p->elem,(p->listsize+LISTINCREMENT)*sizeof(ElemType)); if(base==NULL) return 0;p->listsize=p->listsize+LISTINCREMENT; //扩充表长p->elem=base;}for(j=p->length;j>=i;j--)p->elem[j]=p->elem[j-1];strcpy(p->elem[i-1].word,word);p->elem[i-1].count=1;p->length++;return 1;}void PrintList(SqList *p,int num){FILE *fw;int i;int no=num;fw=fopen("F:\\单词计数.txt","w");fprintf(fw,"文章共有%d个单词\n以下按字典顺序排序显示出现次数\n******************************************\n",no);fprintf(fw,"单词出现次数\n",no);for(i=0;i<p->length;i++)fprintf(fw,"%-24s %-5d\n",p->elem[i].word,p->elem[i].count);fprintf(fw,"******************************************\n");fclose(fw);}//主函数void main(){SqList L;char word[21],ch,filename[30],filename1[50];int num=0,i,j=0,mark=0;FILE *fp;InitList(&L);printf("请将文件放入F盘,并输入文件名:\n");scanf("%s",&filename);sprintf(filename1,"F:\\%s.txt",filename);getchar();if((fp=fopen(filename1,"r"))==NULL){printf("打开文件失败,请确认文件名与文件路径!\n");getchar();exit(0);}ch=fgetc(fp);while(ch!=EOF){if((ch>='A'&&ch<='Z')||(ch>='a'&&ch<='z')){ch=ch>='A'&&ch<='Z'?ch+32:ch;word[j++]=ch;mark=1;}else{if (mark==1){if (j>20){printf("文章中部分单词太长不予统计");}num++;word[j]='\0';mark=0;j=0;i=LocateElem(&L,word);if(i>0)InsertList(&L,i,word);}}ch=fgetc(fp);}fclose(fp);printf("统计结束!单词计数.txt文件已经在F盘生成。
太原理工大学软件工程程序设计实验报告
![太原理工大学软件工程程序设计实验报告](https://img.taocdn.com/s3/m/7a731c7a360cba1aa811dab7.png)
《程序设计》课程设计姓名:学号:班级:软件工程1334班指导教师:杨永强成绩:2015年6月实验一:谁拿了最多奖学金1.【问题描述】(1)问题描述某校的惯例是在每学期的期末考试之后发放奖学金。
发放的奖学金共有五种,获取的条件各自不同:1) 院士奖学金,每人8000元,期末平均成绩高于80分(>80),并且在本学期内发表1篇或1篇以上论文的学生均可获得;2) 五四奖学金,每人4000元,期末平均成绩高于85分(>85),并且班级评议成绩高于80分(>80)的学生均可获得;3) 成绩优秀奖,每人2000元,期末平均成绩高于90分(>90)的学生均可获得;4) 西部奖学金,每人1000元,期末平均成绩高于85分(>85)的西部省份学生均可获得;5) 班级贡献奖,每人850元,班级评议成绩高于80分(>80)的学生干部均可获得;只要符合条件就可以得奖,每项奖学金的获奖人数没有限制,每名学生也可以同时获得多项奖学金。
例如姚林的期末平均成绩是87分,班级评议成绩82分,同时他还是一位学生干部,那么他可以同时获得五四奖学金和班级贡献奖,奖金总数是4850元。
2.【设计需求及分析】(1)设计思路先定义了一个Student的结构体,它里面定义了关于学生的各个属性。
比如期末平均成绩,班级评议成绩,班干部等等。
然后设计了一个判断函数,判断他得到奖学金的多少。
接下来就是主函数了,在主函数里,有着输出输入变量,和赋值函数,最重要的是比较函数,比较出哪一位学生的奖学金多及所有金额的总计。
最后输出。
下面是关键步骤:(2)输出输入格式输入数据格式格式:输入的第一行是一个整数N(1 <= N <= 100),表示学生的总数。
接下来的N行每行是一位学生的数据,从左向右依次是姓名,期末平均成绩,班级评议成绩,是否是学生干部,是否是西部省份学生,以及发表的论文数。
姓名是由大小写英文字母组成的长度不超过20的字符串(不含空格);期末平均成绩和班级评议成绩都是0到100之间的整数(包括0和100);是否是学生干部和是否是西部省份学生分别用一个字符表示,Y表示是,N表示不是;发表的论文数是0到10的整数(包括0和10)。
太原理工大学软件工程程序设计实验报告
![太原理工大学软件工程程序设计实验报告](https://img.taocdn.com/s3/m/55b4bd3a84868762cbaed585.png)
《程序设计》课程设计姓名:学号:班级:软件工程1334 班指导教师:杨永强成绩:2015年6月实验一:谁拿了最多奖学金1.【问题描述】(1)问题描述某校的惯例是在每学期的期末考试之后发放奖学金。
发放的奖学金共有五种,获取的条件各自不同:1)院士奖学金,每人8000 元,期末平均成绩高于80 分( >80 ),并且在本学期内发表1 篇或 1 篇以上论文的学生均可获得;2)五四奖学金,每人4000 元,期末平均成绩高于85 分( >85 ),并且班级评议成绩高于 80 分( >80 )的学生均可获得;3)成绩优秀奖,每人2000 元,期末平均成绩高于90 分( >90)的学生均可获得;4)西部奖学金,每人1000 元,期末平均成绩高于85 分( >85 )的西部省份学生均可获得;5)班级贡献奖,每人 850 元,班级评议成绩高于 80 分( >80 )的学生干部均可获得;只要符合条件就可以得奖,每项奖学金的获奖人数没有限制,每名学生也可以同时获得多项奖学金。
例如姚林的期末平均成绩是87 分,班级评议成绩82 分,同时他还是一位学生干部,那么他可以同时获得五四奖学金和班级贡献奖,奖金总数是4850 元。
2.【设计需求及分析】(1)设计思路先定义了一个 Student 的结构体,它里面定义了关于学生的各个属性。
比如期末平均成绩,班级评议成绩,班干部等等。
然后设计了一个判断函数,判断他得到奖学金的多少。
接下来就是主函数了,在主函数里,有着输出输入变量,和赋值函数,最重要的是比较函数,比较出哪一位学生的奖学金多及所有金额的总计。
最后输出。
下面是关键步骤:(2)输出输入格式输入数据格式格式:输入的第一行是一个整数N (1 <= N <= 100),表示学生的总数。
接下来的N 行每行是一位学生的数据,从左向右依次是姓名,期末平均成绩,班级评议成绩,是否是学生干部,是否是西部省份学生,以及发表的论文数。
太原理工大学软件工程程序设计实验报告
![太原理工大学软件工程程序设计实验报告](https://img.taocdn.com/s3/m/60dd1b086bec0975f565e238.png)
《程序设计》课程设计姓名:学号:班级:软件工程1334班指导教师:***成绩:2015年6月实验一:谁拿了最多奖学金1.【问题描述】(1)问题描述某校的惯例是在每学期的期末考试之后发放奖学金。
发放的奖学金共有五种,获取的条件各自不同:1) 院士奖学金,每人8000元,期末平均成绩高于80分(>80),并且在本学期内发表1篇或1篇以上论文的学生均可获得;2) 五四奖学金,每人4000元,期末平均成绩高于85分(>85),并且班级评议成绩高于80分(>80)的学生均可获得;3) 成绩优秀奖,每人2000元,期末平均成绩高于90分(>90)的学生均可获得;4) 西部奖学金,每人1000元,期末平均成绩高于85分(>85)的西部省份学生均可获得;5) 班级贡献奖,每人850元,班级评议成绩高于80分(>80)的学生干部均可获得;只要符合条件就可以得奖,每项奖学金的获奖人数没有限制,每名学生也可以同时获得多项奖学金。
例如姚林的期末平均成绩是87分,班级评议成绩82分,同时他还是一位学生干部,那么他可以同时获得五四奖学金和班级贡献奖,奖金总数是4850元。
2.【设计需求及分析】(1)设计思路先定义了一个Student的结构体,它里面定义了关于学生的各个属性。
比如期末平均成绩,班级评议成绩,班干部等等。
然后设计了一个判断函数,判断他得到奖学金的多少。
接下来就是主函数了,在主函数里,有着输出输入变量,和赋值函数,最重要的是比较函数,比较出哪一位学生的奖学金多及所有金额的总计。
最后输出。
下面是关键步骤:(2)输出输入格式输入数据格式格式:输入的第一行是一个整数N(1 <= N <= 100),表示学生的总数。
接下来的N行每行是一位学生的数据,从左向右依次是姓名,期末平均成绩,班级评议成绩,是否是学生干部,是否是西部省份学生,以及发表的论文数。
姓名是由大小写英文字母组成的长度不超过20的字符串(不含空格);期末平均成绩和班级评议成绩都是0到100之间的整数(包括0和100);是否是学生干部和是否是西部省份学生分别用一个字符表示,Y表示是,N表示不是;发表的论文数是0到10的整数(包括0和10)。
太原理工大学java实验报告
![太原理工大学java实验报告](https://img.taocdn.com/s3/m/3cb6dc8ec77da26925c5b0a6.png)
太原理工大学java实验报告Java语言程序设计实验报告学院:计算机科学与技术专业:计算机科学与技术班级:学号:姓名:第1页太原理工大学学生实验报告学院名称学生姓名课程名称计算机科学与技术专业班级实验日期学号成绩 Java语言程序设计实验题目 Java语言基础一.实验目的 1. 通过实验,掌握java语言程序设计的基本方法。
2. 学会java语言中标识符的命名,运算符和表达式的应用。
3. 较熟练地掌握java 程序流程控制语句的应用。
二.实验内容 1. 将本教材中例题程序编辑,调试,并运行。
2. 使用for循环语句,不要用顺序结构的简单输出,在屏幕的正中间输出本章习题中的图案2。
3. 编写程序,完成本章习题中第题的编程,调试与运行。
三.编译源程序 1. public class Ti_5_2 {public static void main(String args){ inti,j,k=0; for(i=1;i 指导教师相洁四.实验结果实验1的运行结果实验2的运行结果五.试验中遇到的问题及体会在实验过程中,整体都比较完整,基本没遇到什么太大调试问题,算法设计也比较清楚,结果相对比较满意。
体会:经过实验使我对本章的知识有了更深一步的理解,也学会了将C语言运用到java语言中的学习方法,对知识做了进一步的巩固,同时也发现各种语言之间总有相同的模块,这也使我对以后各程序设计语言及各专业课的学习奠定基础,创造了条件。
第3页太原理工大学学生实验报告学院名称学生姓名课程名称计算机科学与技术专业班级实验日期学号成绩 Java语言程序设计实验题目 Java语言基础一.实验目的掌握java面向对象程序设计中类,继承,包和接口的概念与应用,能够熟练应用方法,类,成员变量等元素。
二.实验内容 1. 创建一个复数类complex,以复数进行数学运算。
复数具有如下格式: RealPart+ImaginaryPart*I,其中,I为-1的平方根。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本科实验报告课程名称:程序设计技术B实验地点:明相校区软件学院机房专业班级:软件工程XXXX班学号:xxxxxxxxx 学生姓名:XXX指导教师:曹棣2014年12 月29日实验名称实验一 C语言的运行环境和运行过程实验二 C语言运算符和表达式实验目的和要求1.学会安装C语言编译系统,如:Turbo C、Win-TC、Visual C++等;2.学会在上述某种编译系统中程序的编辑、编译、连接和运行;3.通过运行简单的C程序,初步了解C源程序的特点;4.理解C语言的数据类型,掌握各种常量的表示方法,变量的定义、初始化和赋值;5.学会使用C语言的算术运算符以及表达式的求值过程。
实验内容1.下载并安装C,语言编译系统,设置编辑。
2.输入并运行第1章例1-1和例1-2中程序,并记录遇到的问题和解决方法。
3.输入并运行第2章例2-2和例2-3中程序,并记录遇到的问题和解决方法。
4.求下面算术表达式的值(先自己分析,再试着用程序求解,比较得到的结果是否一致)。
⑴设x=2,a=7,y=4,求x+a%3*(x+y)%2/4;⑵设a=2,b=3,x=3.5,y=2.5,求(float)(a+b)/2+(int)x%(int)y;5.写出下面表达式运算后a的值,设原来a=10。
设a和n已定义成整型变量(先自己分析,再试着用程序求解,比较得到的结果是否一致)。
⑴ a+=a ⑵ a-=2⑶ a*=2+3 ⑷ a/=a+a⑸ a%=(n%=2),n的值等于5; ⑹ a+=a-=a*=a;主要仪器设备台式或笔记本电脑实验记录(写出实验内容中2,3,4,5的程序代码和运行结果)(可分栏或加页) 1.2 #include<stdio.h>void main(){ float a,b,sum,average;scanf("%f,%f",&a,&b);sum=a+b;average=(a+b)/2;printf("sum=%f,average=%f\n",sum,average);}1.3 #include<stdio.h>void main(){ float s[10],max,min,sum,score;int i;for(i=0;i<10;i++)scanf("%f",&s[i]);max=min=sum=s[0];for(i=1;i<10;i++){if(max<s[i]) max=s[i];if(min>s[i]) min=s[i];sum+=s[i];}score=(sum-max-min)/8;printf("score=%.4f",score); }1.4#include<stdio.h>void main(){ int x=2,y=4,a=7,t;t=x+a%3*(x+y)%2/4;printf("%d\n",t);}1.4-2#include <stdio.h>void main(){ int a=2,b=3,i;float x=3.5,y=2.5,t;t=(float)(a+b)/2+(int)x%(int)y; printf("%f",t);}1.5#include <stdio.h>int a=10;void main (){ int t1,t2,t3,t5,t6,t7,t8;float t4;t1=a+a;t2=a-2;t3=a*(2+3);t4=(float)a/(a+a);t5=a%(5%2);t6=a*a;t7=t6-t6;t8=t7;printf("%d,%d,%d,%.2f,%d,%d",t1,t2,t3,t4,t5,t8); }实验名称实验三简单程序、分支程序和循环程序设计实验四数组应用程序设计实验目的和要求1.理解C语言程序的基本结构和实现基本结构的语句;2.熟练应用赋值、输入和输出语句;3.理解并掌握关系运算符、逻辑运算符及其表达式的使用;4.熟练掌握if语句、switch语句、while语句、do—while语句和for语句的用法;5.掌握数组的定义、初始化和数组元素的引用方法;6.掌握与数组有关的算法,如:求最大(小)值,排序等;7.理解字符数组与字符串的关系,掌握字符串的处理过程和常用字符串处理函数。
实验内容1.输入并运行第3章例3-3、例3-6中的程序,通过输出结果理解对应的格式说明。
2.输入并运行第3章例3-8、例3-10中的程序,注意输入数据的格式。
3.已知圆柱半径r=1.5,圆柱高h=3,编程求圆周长,圆面积和圆柱体积。
4.输入一百分制成绩,输出成绩等级A、B、C、D、E。
90分以上为A,80~89为B,70~79分为C,60~69分为D,60分以下为E。
要求程序能处理错误的输入数据。
5.利用公式:π/4=1-1/3+1/5-1/7+……,求π的近似值,直到最后一项的绝对值小于10-6为止。
(fabs(t)表示t的绝对值,1e-6=1*10-6)。
6.在C语言允许的整数范围内验证哥德巴赫猜想,即任意大于6 的偶数都可以表示为两个素数之和,如:100=3+97。
7.有一个已排好序的数组,输入一个数,要求按原来排序的规律将它插入数组中。
8.输入一个英文句子,统计单词的个数。
主要仪器设备台式或笔记本电脑实验记录(写出实验内容中3,5,6,8的程序代码和运行结果)(可分栏或加页)1.1#include<stdio.h>void main(){int a=5678;printf("%d,%o,%x,%u\n",a,a,a,a);}1.2#include <stdio.h>void main(){float a=-123.456789;printf("f格式:%f\n",a);printf("g格式:%g\n",a);printf("e格式:%e\n",a);printf("f格式:%10.2f",a);printf("g格式:%10.2g",a);printf("e格式:%10.2e",a);}2.1#include<stdio.h>void main(){int x,y;printf("输入矩形的长和宽: ");scanf("%d%d",&x,&y);printf("area is %d\n",x*y);}2.2#include<stdio.h>#include<math.h>void main(){float a,b,c,disc,x1,x2,p,q;printf("Input a,b,c: ");scanf("%f,%f,%f",&a,&b,&c);disc=b*b-4*a*c;p=-b/(2*a);q=sqrt(disc)/(2*a);x1=p+q;x2=p-q;printf("x1=%5.2f\nx2=%5.2f\n",x1,x2); }3#include<stdio.h>void main(){double c,s,v,pi=3.14,r=1.5,h=3;c=2*pi*r;s=pi*r*r;v=s*h;printf("周长是:%lf\n,面积是:%lf\n,体积是:%lf\n",c,s,v); }4.#include<stdio.h>void main(){int t;printf("请输入成绩");scanf("%d",&t);if(t<=0||t>=100){printf("请重新输入正确的成绩");scanf("%d",&t);}if (t>=90)printf("A\n");else if(t>=80)printf("B\n");else if(t>=70)printf("C\n");else if(t>=60)printf("D\n");elseprintf("E\n");}5.#include <stdio.h>#include <math.h>void main(){float pi,s,t,i=1;int j=-1;for(t=3,s=1;fabs(i)>1e-6;t+=2){i=1/t*j;s+=i;j=(-1)*j;}pi=4*s;printf("%f",pi);}6.#include<stdio.h>void main(){int a,i,j,m,n,t;printf("请输入一个大于6偶数:");scanf("%d",&a);if(a<=6||a%2!=0)printf("重新输入:");elsefor(i=3;i<=a/2;i++){t=0;j=a-i;for(m=2;m<i;m++){ if(i%m==0)t=1;break;}for(n=2;n<j;n++){ if(j%n==0)t++;break;}if(t==0)printf("%d=%d+%d\n",a,i,j);}}7.#include<stdio.h>void main(){char s[256],prior=' ';int i,count=0;printf("请输入一个英文句子\n");gets(s);for(i=0;s[i]!='\0';i++){if(prior==' '&&(s[i]>='A'&&s[i]<='Z'||s[i]>='a'&&s[i]<='z')) count++;prior=s[i];}printf("单词数为:%d\n",count);}4.#include <stdio.h>void main(){char s[81],*p,*q;gets(s);p=s;q=s;for(;*p!='\0';p++);for(p--;*q!='\0';q++,p--){if(*p!=*q){printf("不是");break;}}printf("回文");}5.#include <stdio.h> input(int *p){int i,a;for(i=0;i<10;i++){scanf("%d",&a);*p=a;p++;}}sort(int *p){int i,j,t;for(i=1;i<10;i++)}遇到的问题和解决方法遇到的问题:1.对于指针变量在函数里的运用不熟练,导致多次报错。