程序设计语言编译原理第三版国防工业大学出版社课后习题答案作者:陈火旺刘春林谭庆平赵克佳刘越
1
软件开发过程分为5个阶段:分析  软件需求分析就是回答做什么的问题。
它是一个对用户的需求进行去粗取精、去伪存真、正确理解,然后把它用软件工程开发语言(形式功能规约,即需求规格说明书)表达出来的过程。
本阶段的基本任务是和用户一起确定要解决的问题,建立软件的逻辑模型,编写需求规格说明书文档并最终得到用户的认可。
需求分析的主要方法有结构化分析方法、数据流程图和数据字典等方法。
本阶段的工作是根据需求说明书的要求,设计建立相应的软件系统的体系结构,并将整个系统分解成若干个子系统或模块,定义子系统或模块间的接口关系,对各子系统进行具体设计定义,编写软件概要设计和详细设计说明书,数据库或数据结构设计说明书,组装测试计划。
设计  软件设计可以分为概要设计和详细设计两个阶段。
实际上软件设计的主要任务就是将软件分解成模块是指能实现某个功能的数据和程序说明、可执行程序的程序单元。
可以是一个函数、过程、子程序、一段带有程序说明的独立的程序和数据,也可以是可组合、可分解和可更换的功能单元。
模块,然后进行模块设计。
概要设计就是结构设计,其主要目标就是给出软件的模块结构,用软件结构图表示。
详细设计的首要任务就是设计模块的程序流程、算法和数据结构,次要任务就是设计数据库,常用方法还是结构化程序设计方法。
编码  软件编码是指把软件设计转换成计算机可以接受的程序,即写成以某一程序设计语言表示的"源程序清单"。
充分了解软件开发语言、工具的特性和编程风格,有助于开发工具的选择以及保证软件产品的开发质量。
  当前软件开发中除在专用场合,已经很少使用二十世纪80年代的高级语言了,取而代之的是面向对象的开发语言。
而且面向对象的开发语言和开发环境大都合为一体,大大提高了开发的速度。
测试  软件测试的目的是以较小的代价发现尽可能多的错误。
要实现这个目标的关键在于设计一套出色的测试用例(测试数据和预期的输出结果组成了测试用例)。
如何才能设计出一套出色的测试用例,关键在于理解测试方法。
不同的测试方法有不同的测试用例设计方法。
两种常用的测试方法是白盒法测试对象是源程序,依据的是程序内部的的逻辑结构来发现软件的编程错误、结构错误和数据错误。
结构错误包括逻辑、数据流、初始化等错误。
用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果。
白盒法和黑盒法依据的是软件的功能或软件行为描述,发现软件的接口、功能和结构错误。
其中接口错误包括内部/外部接口、资源管理、集成化以及系统错误。
黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。
黑盒法。
维护  维护是指在已完成对软件的研制(分析、设计、编码和测试)工作并交付使用以后,对软件产品所进行的一些软件工程的活动。
即根据软件运行的情况,对软件进行适当修改,以适应新的要求,以及纠正运行中发现的错误。
编写软件问题报告、软件修改报告。
  一个中等规模的软件,如果研制阶段需要一年至二年的时间,在它投入使用以后,其运行或工作时间可能持续五年至十年。
那么它的维护阶段也是运行的这五年至十年期间。
在这段时间,人们几乎需要着手解决研制阶段所遇到的各种问题,同时还要解决某些维护工作本身特有的问题。
做好软件维护工作,不仅能排除障碍,使软件能正常工作,而且还可以使它扩展功能,提高功能,为用户带来明显的经济效益。
然而遗憾的是,对软件维护工作的重视往往远不如对软件研制工作的重视。
而事实上,和软件研制工作相比,软件维护的工作量和成本都要大得多。
  在实际开发过程中,软件开发并不是从第一步进行到最后一步,而是在任何阶段,在进入下一阶段前一般都有一步或几步的回溯。
在测试过程中的问题可能要求修改设计,用户可能会提出一些需要来修改需求说明书等。
编辑本段软件开发专业专业培养   计算机:软件开发专业主要培养德智体全面发展,具有一定计算机软硬件维护、网络组建、维护管理的高级实用技术型人才。
通过本专业的学习,能熟练掌握常用的计算机软件的使用、维护与技巧;
在硬件方面学生应了解计算机硬件的发展,熟练掌握计算机组装的方法,能熟练运用应用软件检测计算机功能、故障的范围所在,掌握硬件故障的一般处理方法;
在网络方面,学生应掌握目前流行网络的技术特点,掌握网络工程、网络维护、网络安全及应用方面的知识。
能胜任一般网络工程方案的设计、组建、网络维护、及简单网站的建设与维护。
同时,使学生了解由于IT技术的发展而引起的法律和道德方面的问题。
就业方向  本专业毕业生适合的工作岗位是计算机程序设计师。
适合于熟练地按照工程化的思路进行软件编制、软件测试的工作岗位,能担任各种企事业单位和各级工程建设部门、管理部门的计算机软件和硬件维护、网络的组建、维护等工作,也可从事计算机研究与应用、软件开发等方面的工作。
就业范围为:计算机软件公司、具有软件开发能力的大型企业及事业单位
2023/3/9 19:52:12 5.33MB 软件开发文档实例大全
1
实验一:词法分析程序一、实验目的   通过设计编制调试一个具体的词法分析程序,加深对词法分析原理的理解。
并掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法。
编制一个读单词过程,从输入的源程序中,识别出各个具有独立意义的单词,即基本保留字、标识符、常数、运算符、分隔符五大类。
并依次输出各个单词的类型码及单词符号的自身值。
(遇到错误时可显示“Error”,然后跳过错误部分继续显示)二、实验要求用C或C++写一个简单的词法分析程序,程序可以满足下列要求:1、能分析如下几种简单的语言词法(1)标识符:ID=letter(letter|digit)*(2)关键字(全部小写)mainintfloatdoublecharifthenelseswitchcasebreakcontinuewhiledofor(3)整型常量:NUM=digitdigit*(4)运算符=+-*/=25整型常量11;26+13(27-14)28*15?29/16:303、词法分析程序实现的功能输入:单词序列(以文件方式提供),输出识别的单词的二元组序列到文件和屏幕输出:二元组构成:(syn,token或sum)其中:syn为单词的种别码token为存放的单词自身符号串sum为整型常数例:源程序:intab;
floatef=20;
ab=10+ef;
输出:(保留字--1,int)(标识符--10,ab)(分号--26,;)(保留字--2,float)(标识符--10,ef)(等号--17,=)(整数--11,20)(分号--26,;)(标识符--10,ab)(等号--17,=)(整数--11,10)(加号--13,+)(标识符--10,ef)(分号--26,;)4、自己准备测试数据存放于TestData.txt文件中,测试数据中应覆盖有以上5种数据,测试结果要求以原数据与结果对照的方式输出并保存在Result.txt中,同时要把结果输出到屏幕。
5、提前准备① 实验前,先编制好程序,上机时输入并调试程序。
准备好多组测试数据(存放于文件TestData.txt中)。
6、写出实验报告 报告格式:要求有实验名称、实验目的、实验要求、实验内容、实验小结。
其中实验内容包括算法分析、程序流程图及程序代码。
2023/2/21 22:09:07 7KB 词法分析 源代码
1
对象关系映射处理了面向对象程序设计语言与关系数据库存在的互不匹配问题。
基于对象关系映射的持久化框架实现了业务逻辑与数据访问的分离,简化了数据库访问,降低了应用开发难度。
本文分析了基于Hibernate框架的两种对象关系映射策略,并比较了三种继承映射策略的优缺点,设计了一种基于Hibernate的ORM持久化层的系统架构,该架构结构清晰、开发效率高,具有较高的应用价值。
1
哈工大编译原理习题及答案1.1何谓源程序、目标程序、翻译程序、编译程序和解释程序?它们之间可能有何种关系?1.2一个典型的编译系统通常由哪些部分组成?各部分的主要功能是什么?1.3选择一种你所熟悉的程序设计语言,试列出此语言中的全部关键字,并通过上机使用该语言以判明这些关键字能否为保留字。
1.4选取一种你所熟悉的语言,试对它进行分析,以找出此语言中的括号、关键字END以及逗号有多少种不同的用途。
1.5试用你常用的一种高级语言编写一短小的程序,上机进行编译和运行,记录下操作步骤和输出信息,如果可能,请卸出中间代码和目标代码。
2023/2/6 2:31:34 3.92MB 哈工大编译原理习题及答案
1
内容主要是论述面向对象程序设计的基本概念和基本的程序设计方法,扼要引见面向对象程序设计语言C++的基础,重点是如何用C++建造专家系统,
2023/1/11 9:49:08 4.27MB C++ 建造专家系统
1
全书共分12章。
第一章介绍计算机系统结构的基本概念,包括计算机系统的层次结构、系统结构的定义、分类、设计技术、评价标准和系统结构的发展等,第二章介绍数据表示、寻址技术、指令格式的优化设计、CSIC指令系统和RISC指令系统等,第三章介绍存储系统原理、虚拟存储器和高速缓冲存储器等,第四章介绍输入输出原理、中断系统、通道处理机和输入输出处理机,第五章介绍先行控制技术、流水线处理机、超标量处理机、超流水线处理机和超标量超流水线处理机等,第六章介绍向量的基本概念、向量处理机结构、提高向量处理机功能的方法、向量处理机的功能评价等,第七章介绍互连网络的基本概念、消息传递机制和互连网络实例,第八章介绍SIMD计算机模型、结构、实例和SIMD计算机的应用,第九章介绍多处理机结构、功能和Cache一致性等,第十章介绍多处理机算法,包括同步技术、并行搜索、串行算法到并行算法的转换、并行程序设计语言及其实现方法等,第十一章介绍数据流计算机、数据库机与知识库机、面向函数程序设计语言的归约机,最后第十二章是实验:DLX处理机,通过实验能够加深对本书主要内容的理解。
每章后附有大量习题。
本书是计算机专业本科生“计算机系统结构”课程的通用教材,也可作为有关专业研究生的教材和有关科技工作者的专业参考书。
2016/4/24 3:06:24 39.29MB 系统结构
1
VisualBasic.NET是Microsoft公司近年推出的一种核心编程语言,它能快捷、方便地开发图形设计、图像处理、多媒体技术、数据库技术及网络技术的Windows应用程序。
本书VisualStudio.NET为开发平台,以实例为中心,重点引见使用VisualBasic.NET开发Windows应用程序的方法和技术。
全书共分11章。
第1~2章引见VisualBasic.NET集成开发环境、常用Windows窗体控件及应用控件;
第3章引见Windows应用程序界面设计方法及实例;
第4~5章引见VisualBasic.NET语言程序设计基础及程序流控制;
第6~7章引见数组、结构和过程;
第8章引见如何使用VisualBasic.NET进行图形设计;
第9章引见VisualBasic.NET在图像处理方面的技术及应用实例;
第10章引见数据库应用;
第11章是应用程序设计实践,引见包括文本编辑器、管理统计图、动画设计及小型图案自动生成系统设计等4个应用程序实例,可作为学生综合设计练习或实训参考。
本书所提供的程序实例简明易读,所有程序均在VisualBasic.NET环境下上机通过。
本书可作为高职、高专院校计算机程序设计语言课程教科书,亦适合于工程技术人员参考。
2015/8/9 15:22:27 4.07MB Visual Basic.NET
1
VisualBasic.NET是Microsoft公司近年推出的一种核心编程语言,它能快捷、方便地开发图形设计、图像处理、多媒体技术、数据库技术及网络技术的Windows应用程序。
本书VisualStudio.NET为开发平台,以实例为中心,重点引见使用VisualBasic.NET开发Windows应用程序的方法和技术。
全书共分11章。
第1~2章引见VisualBasic.NET集成开发环境、常用Windows窗体控件及应用控件;
第3章引见Windows应用程序界面设计方法及实例;
第4~5章引见VisualBasic.NET语言程序设计基础及程序流控制;
第6~7章引见数组、结构和过程;
第8章引见如何使用VisualBasic.NET进行图形设计;
第9章引见VisualBasic.NET在图像处理方面的技术及应用实例;
第10章引见数据库应用;
第11章是应用程序设计实践,引见包括文本编辑器、管理统计图、动画设计及小型图案自动生成系统设计等4个应用程序实例,可作为学生综合设计练习或实训参考。
本书所提供的程序实例简明易读,所有程序均在VisualBasic.NET环境下上机通过。
本书可作为高职、高专院校计算机程序设计语言课程教科书,亦适合于工程技术人员参考。
2018/3/20 4:08:39 4.07MB Visual Basic.NET
1
C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。
C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就顺应的问题规模而论,大小由之。
[1]C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。
2016/1/20 9:25:48 61KB c++
1
共 115 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡