版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1/33本 章 概 要1.1. 程序设计语言概述程序设计语言概述:程序设计语言的分:程序设计语言的分类及常见语言类及常见语言2.2. 程序程序:程序的类型及程序的执行方式。:程序的类型及程序的执行方式。3.3. 软件工程软件工程:目前软件开发和维护的方法。:目前软件开发和维护的方法。 4.4. 软件生命周期软件生命周期:软件开发的具体步骤。:软件开发的具体步骤。2/33程序设计语言概述机器语言机器语言是计算机硬件系统能唯一识别并是计算机硬件系统能唯一识别并执行的语言,基本要素是执行的语言,基本要素是计算机指令计算机指令。计算机指令计算机指令是硬件唯一能识别的、实现计算是硬件唯一能识别的、实现计
2、算机基本功能的机基本功能的二进制编码二进制编码,是指挥计算机工,是指挥计算机工作的基本命令。作的基本命令。 3/33程序设计语言概述计算机计算机指令的格式指令的格式操作码操作码用于指明用于指明操作操作(功能),不同指令具(功能),不同指令具有不同的操作码。有不同的操作码。 操作码操作码操作数操作数操作数操作数可能是可能是数据数据(称为立即数)、存放操(称为立即数)、存放操作数的作数的内存单元地址内存单元地址或或寄存器地址寄存器地址,也可能,也可能有多个操作数。有多个操作数。 例例计算计算8 + 78 + 7的机器语言程序示例:的机器语言程序示例:10111000 00001000 000000
3、0010111000 00001000 00000000 ;将将8 8存入累加器存入累加器AXAX中中00000101 00000111 0000000000000101 00000111 00000000 ; 7 7与累加器与累加器AXAX中的内容相加,中的内容相加,结果仍存放在结果仍存放在AXAX中中指令系统指令系统:一台计算机中一台计算机中全部指令全部指令的的集合集合。从计算机组成来看,指令系统与计算机系统从计算机组成来看,指令系统与计算机系统的性能和硬件结构的复杂程度密切相关,因的性能和硬件结构的复杂程度密切相关,因此,此,同类型计算机具有相同的指令系统同类型计算机具有相同的指令系统。
4、 4/33程序设计语言概述汇编语言汇编语言:指令指令由由英文单词英文单词或或缩写缩写构成,用构成,用符号符号和和十进制数十进制数代替机器语言中的二进制编代替机器语言中的二进制编码,便于人们记忆和书写。码,便于人们记忆和书写。 特点特点:机器语言和汇编语言都与机器语言和汇编语言都与计算机类型有关计算机类型有关 ;汇编语言与机器语言比较,在汇编语言与机器语言比较,在助记助记方面有了方面有了较大的改善;较大的改善;汇编语言一般用于编制汇编语言一般用于编制系统软件系统软件和和过程控制过程控制软件软件 。例例计算计算8 + 78 + 7的汇编语言程序示例:的汇编语言程序示例:Mov AXMov AX,8
5、 8 ;将将8 8存入累加器存入累加器AXAX中中Add AXAdd AX,7 7 ;7 7与累加器与累加器A A中的内容相加,中的内容相加,结果仍存放在结果仍存放在AXAX中中5/33程序设计语言概述结构化程序设计语言结构化程序设计语言:脱离具体计算机硬件脱离具体计算机硬件结构的程序设计语言结构的程序设计语言 。 程序设计的核心是程序设计的核心是数据结构数据结构和和算法算法;通过通过数据结构数据结构定义定义数据的存储形式数据的存储形式;通过通过算法算法研究如何用快捷、高效的方法研究如何用快捷、高效的方法来来组织解决问题组织解决问题的的具体过程具体过程。 特点:特点:6/33程序设计语言概述结
6、构化程序设计语言的基本特征结构化程序设计语言的基本特征: 程序内部结构化程序内部结构化:程序由顺序、选择:程序由顺序、选择(分支)和重复(循环)(分支)和重复(循环)3 3种结构组成。种结构组成。程序模块化程序模块化:一个大程序由若干个功能:一个大程序由若干个功能独立的、相互关联的程序模块(子程序、独立的、相互关联的程序模块(子程序、函数等)组成。函数等)组成。可移植性好可移植性好:即为一类计算机设计的程:即为一类计算机设计的程序,经少量改动后可以在另一类计算机上序,经少量改动后可以在另一类计算机上运行。运行。 7/33程序设计语言概述具有代表性的结构化程序设计语言具有代表性的结构化程序设计语
7、言: FORTRANFORTRAN语言语言:是:是Formula TranslatorFormula Translator的的缩写,在工程、数学和科学研究上是使用缩写,在工程、数学和科学研究上是使用最广泛的语言,尤其是在最广泛的语言,尤其是在科学计算科学计算中发挥中发挥着极其重要的作用。着极其重要的作用。 PascalPascal语言语言:作为一门实用程序设计语:作为一门实用程序设计语言和教学工具,言和教学工具,PascalPascal语言在高校计算机语言在高校计算机软件软件教学教学中一直处于主导地位。中一直处于主导地位。 C C语言语言:适合于:适合于系统描述系统描述,可以用于编写,可以用于
8、编写系统和应用软件。系统和应用软件。8/33程序设计语言概述面向对象的程序设计语言面向对象的程序设计语言:类:类:是具有相同特征对象的抽象,是创建是具有相同特征对象的抽象,是创建对象的模板。对象的模板。 对象对象:是程序中最基本的运行实体,一个:是程序中最基本的运行实体,一个程序由若干个对象组成,各个对象既相互程序由若干个对象组成,各个对象既相互独立,又通过独立,又通过消息消息相互相互联系联系。 9/33程序设计语言概述可视化程序设计可视化程序设计事件事件:是对象响应某种操作时的一种反映:是对象响应某种操作时的一种反映机制,是响应某种操作的程序代码入口。机制,是响应某种操作的程序代码入口。 属
9、性属性:用于描述对象的特征。:用于描述对象的特征。 方法方法:对象的方法实质是一种子程序,调:对象的方法实质是一种子程序,调用时依附于对象,运行时执行相关的操作,用时依附于对象,运行时执行相关的操作,也称之为对象函数。也称之为对象函数。 10/33程序设计语言概述具有代表性的面向对象程序设计语言具有代表性的面向对象程序设计语言: C+C+语言语言:在在C C语言基础上增加了面向对象的支持,基语言基础上增加了面向对象的支持,基本兼容本兼容C C语言程序。其特点是既支持结构化程序设计方法,语言程序。其特点是既支持结构化程序设计方法,又支持面向对象程序设计方法,因此,也称之为混合型语又支持面向对象程
10、序设计方法,因此,也称之为混合型语言。言。 DelphiDelphi语言语言:是在是在PascalPascal基础上开发出来的可视化程基础上开发出来的可视化程序设计语言,是真正的面向对象编程语言,执行效率高,序设计语言,是真正的面向对象编程语言,执行效率高,具有强大的数据库管理功能,是开发中小型数据库软件的具有强大的数据库管理功能,是开发中小型数据库软件的理想编程工具。理想编程工具。 JavaJava语言语言:JavaJava也是一种跨平台的程序设计语言,适也是一种跨平台的程序设计语言,适合开发基于网络、多媒体、与平台无关的应用程序,应用合开发基于网络、多媒体、与平台无关的应用程序,应用程序可
11、以在网络上传输,并可以运行在任何计算机上。程序可以在网络上传输,并可以运行在任何计算机上。11/33程序设计语言概述网页设计语言:网页设计语言:标记语言标记语言主要用于主要用于设计静态网页设计静态网页,利用,利用标记标注信息的类型和位置。标记标注信息的类型和位置。 脚本语言脚本语言是介于是介于HTMLHTML和编程语言之间的和编程语言之间的一种语言,主要用于一种语言,主要用于设计动态网页设计动态网页。 12/33程序任何以计算机为处理工具的任务都是对处任何以计算机为处理工具的任务都是对处理对象和规则的完整描述,这种描述称为理对象和规则的完整描述,这种描述称为程序程序。 要使程序起作用,必须将其
12、要使程序起作用,必须将其装入装入到到内存内存中中执行执行,程序的实际工作过程称为,程序的实际工作过程称为执行执行或或运行运行。 程序中包含的成分内容有:程序中包含的成分内容有:表达式、数表达式、数据类型、常量、变量、语句结构、子程序据类型、常量、变量、语句结构、子程序或函数或函数。13/59表表 达达 式式表达式表达式是程序中完成运算的工具和手段,是程序中完成运算的工具和手段,常常量量、变量变量、对象的属性对象的属性和和函数函数本身都是简单本身都是简单的的表达式表达式,用,用运算符运算符将将表达式表达式正确正确连接连接起来起来又构成更复杂的表达式。又构成更复杂的表达式。 14/59数数 据据
13、类类 型型数据数据是程序处理的对象,是程序进行运算的是程序处理的对象,是程序进行运算的基础。为了便于存储和运算数据,计算机语基础。为了便于存储和运算数据,计算机语言都对数据进行言都对数据进行分类管理分类管理。根据数据的运算。根据数据的运算性质、数据范围和存储方式,性质、数据范围和存储方式,VBVB有有数值数值、字字符符、日期日期和和逻辑逻辑等多种等多种基本数据类型基本数据类型。 15/59数数 据据 类类 型型常用数据类型常用数据类型: : 数据类型数据类型关键字关键字字节数字节数范范 围围整型整型IntegerInteger2 2-32768-327683276732767长整型长整型Lon
14、gLong4 4-2147483648-214748364821474836472147483647单精度实数单精度实数SingleSingle4 4-3.402823E38-3.402823E383.402823E383.402823E38双精度实数双精度实数DoubleDouble8 8-1.79769313486232E308-1.79769313486232E3081.79769313486232E3081.79769313486232E308字节字节ByteByte1 10 0255255字符串型字符串型StringString与内容有关与内容有关0 06553565535个字符个字
15、符日期型日期型DateDate8 81/1/100 1/1/100 12/31/999912/31/9999逻辑型逻辑型BooleanBoolean2 2True True 或或 FalseFalse16/59常常量量的的表表示示形形式式常量常量是程序处理的初始数据,是程序运行过是程序处理的初始数据,是程序运行过程中不发生变化的量,有程中不发生变化的量,有常数常数和和符号常量符号常量两两种形式。种形式。 1.1.常数常数整型整型:由数字和正(:由数字和正(+ +)负()负(- -)号)号组成。组成。 长整型长整型:在数的最后添加:在数的最后添加“& &”表示。表示。单精度型单精度型:末尾为:末
16、尾为“! !” 和和E E指数形式指数形式的数的数都是单精度型常数。都是单精度型常数。双精度型双精度型:末尾为:末尾为“# #”、D D指数形式指数形式和和直接直接写带小数点的数写带小数点的数都是双精度型常数。都是双精度型常数。 17/59常常量量的的表表示示形形式式常数常数字符串型字符串型:是:是半角双引号半角双引号引起来的一串字引起来的一串字符,其内容可以是字母、数字、汉字及标点符,其内容可以是字母、数字、汉字及标点符号等。当字符串数据中有双引号时,其双符号等。当字符串数据中有双引号时,其双引号用连续两个双引号表示。引号用连续两个双引号表示。 日期型日期型:用一对:用一对“# #”将表示日
17、期和时间数将表示日期和时间数据括起来。据括起来。 逻辑型逻辑型:只有两个值:只有两个值:TrueTrue和和FalseFalse。18/59常常量量的的表表示示形形式式2. 2. 符号常量符号常量为了便于阅读程序,经常将一些特殊的常为了便于阅读程序,经常将一些特殊的常数用符号表示。例如,用数用符号表示。例如,用PIPI表示表示3.14159263.1415926,用用E E表示表示2.718282.71828等。等。定义符号常量定义符号常量的语句:的语句: ConstConst AsAs = = 例例ConstConst PI PI AsAs DoubleDouble =3.1415926 =
18、3.1415926 Const xm=“zhang3”Const HJS#=0.61819/59变变量量及及其其赋赋值值变量变量是在程序运行过程中可以随时改变的是在程序运行过程中可以随时改变的量,通常用于存储程序处理的原始数据或中量,通常用于存储程序处理的原始数据或中间结果。间结果。在在VBVB中,变量有两种形式,即中,变量有两种形式,即内存变量内存变量和和对象属性变量对象属性变量(如(如CaptionCaption和和ValueValue等)。等)。 20/59变变量量及及其其赋赋值值变量命名:变量命名:每个变量必须有符合规定的名称,每个变量必须有符合规定的名称,在在VBVB中为中为变量命名
19、的规则变量命名的规则如下。如下。变量名必须以变量名必须以字母字母或或汉字开头汉字开头,由,由英文英文字母字母、汉字汉字、数字数字或或下划线下划线组成,字母组成,字母不不区分大小写区分大小写,变量名,变量名最大长度为最大长度为255255个个字字符。符。不能用不能用VBVB的的保留字保留字作为变量名。作为变量名。21/59变变量量及及其其赋赋值值变量声明:变量声明:声明变量就是为变量命名及说明声明变量就是为变量命名及说明数据类型。数据类型。声明变量的语句声明变量的语句格式如下:格式如下: DimDim 1 As As , n As As 例例Dim X As Integer, Y As Stri
20、ng X = 10Y = “zhang3”22/59变变量量及及其其赋赋值值当程序中需要处理多个有联系的数据时,当程序中需要处理多个有联系的数据时,可以用可以用数组数组减少变量个数。减少变量个数。数组数组是使用是使用一个名字一个名字同时同时定义多个定义多个同类型同类型的的变量变量,每一个变量称为一个,每一个变量称为一个数组元素数组元素。例例Dim Score(99) as IntegerDim Score(99) as Integer 定义数组定义数组ScoreScore,其含有,其含有100100个元素,即个元素,即Score(0), Score(1),Score(0), Score(1),
21、,Score(99)Score(99)23/59表表 达达 式式算术运算算术运算:+ +(加)、(加)、(减)、(减)、* *(乘)、(乘)、(除)、(除)、ModMod(求余数)和(求余数)和 (乘方)等,(乘方)等,运算优先级别遵循数学中的规定。运算优先级别遵循数学中的规定。字符运算字符运算:& &或或+ +将两个字符串连接成一个将两个字符串连接成一个字符串。字符串。日期运算日期运算:主要有如下两种格式。:主要有如下两种格式。 - - 2:两个日期相减,得到相隔天数。:两个日期相减,得到相隔天数。 n:得到日期:得到日期n n天后或天后或n n天前的日期。天前的日期。VBVB常用常用基本运
22、算符号基本运算符号有如下几类:有如下几类:24/59表表 达达 式式关系运算关系运算:运算结果为逻辑型数据。运算:运算结果为逻辑型数据。运算符号有:符号有:= =(等于)、(等于)、(不等)、(不等)、 (大于)、(大于)、=(大于或等于)。(大于或等于)。逻辑运算逻辑运算:ANDAND(并且)、(并且)、OR (OR (或者或者) )、NOTNOT(否定)。运算优先级(否定)。运算优先级NOTNOT最高,最高,OROR最低。最低。标准函数标准函数:是程序设计语言提供的内部函:是程序设计语言提供的内部函数,供人们设计程序时调用。数,供人们设计程序时调用。VBVB常用基本运算符号常用基本运算符号
23、有如下几类:有如下几类:25/59程程序序控控制制结结构构 语句的执行顺序与操作的数据和程序的语句的执行顺序与操作的数据和程序的控制结构有关。程序有控制结构有关。程序有顺序顺序、分支分支(选择)(选择)和和循环循环(重复)(重复)3 3种控制结构。种控制结构。 顺序结构顺序结构是按照程序的编写顺序执行是按照程序的编写顺序执行的一种控制结构。的一种控制结构。 语句1语句226/59分分 支支 结结 构构分支结构分支结构是一种根据条件(逻辑值表达式)是一种根据条件(逻辑值表达式)确定程序执行取向的控制结构,也称确定程序执行取向的控制结构,也称选择选择结构结构。 VBVB有有简单分支简单分支和和多分
24、支多分支两种结构。两种结构。27/59简简单单分分支支结结构构语句格式语句格式1 1:If If Then Then Else Else 2 语句格式语句格式2 2: If If Then Then 1 Else Else 2 End If End If表达式表达式可以是可以是关系关系、逻辑逻辑或或算术表达式算术表达式。算。算术表达式的值术表达式的值0 0为为FalseFalse,非非0 0为为TrueTrue。TrueTrue语句序语句序列列1 1FalseFalse不使用不使用ElseElse短语短语TrueTrue表达表达式式语句序语句序列列2 2语句序语句序列列1 1FalseFals
25、e使用使用ElseElse短语短语表达表达式式28/59步骤:步骤:1.1.启动启动VBVB,创建,创建标准标准EXEEXE工程。工程。2.2.设计设计程序界面程序界面。3.3.编写求解按钮的编写求解按钮的ClickClick事件代码事件代码。4.4.单击单击标准标准工具栏中的工具栏中的启动启动图标,查看程图标,查看程序执行效果序执行效果。简简单单分分支支结结构构例:例:求解一元二次方程求解一元二次方程 axax2 2+bx+c=0+bx+c=0的解。的解。Dim A As Single, B As Single, C As SingleDim A As Single, B As Single
26、, C As SingleA = Text1.Text : B = Text2.Text : C = A = Text1.Text : B = Text2.Text : C = Text3.Text Text3.Text If B2 -4If B2 -4* *A A* *C 0 Then C 0 Then Text4.Text = (-B+Sqr(B2-4 Text4.Text = (-B+Sqr(B2-4* *A A* *C)/(2C)/(2* *A) A) Text5.Text = (-B-Sqr(B2-4 Text5.Text = (-B-Sqr(B2-4* *A A* *C)/(2C)
27、/(2* *A)A) Text5.Visible = True Text5.Visible = TrueElseElse Text5.Visible = False Text5.Visible = False If B2-4 If B2-4* *A A* *C = 0 Then C = 0 Then Text4.Text = -B/(2 Text4.Text = -B/(2* *A) A) Else Else Text4.Text = Text4.Text = 无解无解 End If End IfEnd IfEnd If29/59简简单单分分支支结结构构分支函数分支函数:在一些程序中充分利用分
28、支函在一些程序中充分利用分支函数数iifiif代替代替ifif结构,可以简化程序。结构,可以简化程序。格式:格式: IIfIIf(, , , , )说明说明:如果表达式的值为:如果表达式的值为TrueTrue,则,则IIfIIf函数函数的值为表达式的值为表达式1 1的值,否则,函数的值为表的值,否则,函数的值为表达式达式2 2的值。的值。例例:判断一元二次方程的根的情况:判断一元二次方程的根的情况:Text4.Text = IIf( B2-4Text4.Text = IIf( B2-4* *A A* *C = 0 , -B/(2C = 0 , -B/(2* *A) ,A) ,无解无解)30/5
29、9简简单单分分支支结结构构MsgBoxMsgBox对话框函数对话框函数在执行程序过程中,经常弹出对话框,根在执行程序过程中,经常弹出对话框,根据用户单击对话框上的按钮,程序进行适当据用户单击对话框上的按钮,程序进行适当的处理。的处理。函数格式函数格式: MsgBoxMsgBox( ( , , )。MsgBoxMsgBox ( (是否关闭窗口是否关闭窗口,292292, , 询问询问)292=256+4+32 292=256+4+32 其中:其中:256 256 默认第默认第2 2个按钮个按钮 4 4 使用使用“是是”和和“否否”两个按钮两个按钮 32 32 问号图标问号图标例例31/59多多分
30、分支支结结构构多分支多分支可以使用可以使用SelectCaseSelectCase多分支语句多分支语句或或IfIf语句的嵌套格式语句的嵌套格式实现,用来进行多种可能取实现,用来进行多种可能取值的判断。值的判断。32/59多多分分支支结结构构多分支多分支IfIf语句语句格式为:格式为:IfIf 1 Then Then 1ElseIf ElseIf 2 ThenThen 2ElseIfElseIf n ThenThen n Else Else n+1 End IfEnd If表达式表达式1 1TrueTrue语句序列语句序列1 1FalseFalse表达式表达式2 2语句序列语句序列2 2Fals
31、eFalseTrueTrueFalseFalse表达式表达式n n语句序列语句序列n nFalseFalseTrueTrueElseElse语句序列语句序列n+1n+133/59多多分分支支结结构构多分支多分支Select CaseSelect Case语句语句: :适用于可能出现适用于可能出现的多种取值判断的多种取值判断,其使用格式如下其使用格式如下:Select Case Select Case Case Case 1 CaseCase 2 2 CaseCase n n Case Else Case Else n+1 End SelectEnd Select表达式表达式列表列表1 1之一为
32、之一为TrueTrue语句序列语句序列1 1全为全为FalseFalse语句序列语句序列2 2语句序列语句序列n nCase ElseCase Else语句序列语句序列n+1n+1表达式列表表达式列表2 2表达式列表表达式列表n n之一为之一为TrueTrue之一为之一为TrueTrue全为全为FalseFalse全为全为FalseFalse全部为全部为FalseFalse表达式表达式表达式表达式可以是可以是数值数值或或字符串字符串表达式。执行到表达式。执行到Select CaseSelect Case语句时,首先计算语句时,首先计算表达式表达式的值,的值,然后从然后从Case Case 1开
33、始,将表达式开始,将表达式列表列表i i中各个表达式的值与中各个表达式的值与表达式表达式比较。比较。 允许允许多个比较表达式多个比较表达式,之间用逗号,之间用逗号“,”分分隔隔 ; ; 可以使用可以使用Is Is 运算运算; ; 可以使用可以使用 To To 2 运算运算。34/59循循环环程程序序设设计计循环结构循环结构又称为又称为重复结构重复结构,根据判断条件,根据判断条件确定是否重复执行某段程序代码,将重复执确定是否重复执行某段程序代码,将重复执行的程序段称为行的程序段称为循环体循环体。重复结构可以简化程序,适用于重复结构可以简化程序,适用于有规律有规律变变化的重复计算或操作。循环体的重
34、复执行次化的重复计算或操作。循环体的重复执行次数由数由循环控制条件循环控制条件决定。一般有决定。一般有当型当型和和直到直到型型两种循环结构。两种循环结构。35/59循循环环程程序序设设计计ForFor循环循环是一种是一种当型循环结构当型循环结构,主要用于设,主要用于设计循环步长固定的程序。计循环步长固定的程序。语句格式:语句格式:ForFor = ToTo StepStep NextNext 循环变量循环变量也称也称循环控制变量循环控制变量。初值、终值。初值、终值和步长都是数值型表达式,它们决定了循环和步长都是数值型表达式,它们决定了循环体的执行次数。体的执行次数。当型循环当型循环首先首先判断
35、循环条件判断循环条件,如果条件为,如果条件为TrueTrue,则则执行循环体执行循环体,之后,之后再再转而转而判断判断条件,重复这条件,重复这个过程;如果条件为个过程;如果条件为FalseFalse,则,则终止循环语句终止循环语句,如果第一次判断条件即为如果第一次判断条件即为FalseFalse,则直接跳出,则直接跳出循环,执行后续语句。循环,执行后续语句。 FalseFalseTrueTrue表达式表达式循环体循环体36/59步骤:步骤: 1. 1. 启动启动VBVB,创建,创建标准标准EXEEXE工程。工程。 2. 2. 设计设计程序界面程序界面。 3. 3. 编写计算按钮的编写计算按钮的
36、ClickClick事件代码事件代码。 4. 4. 单击标准工具栏上的启动按钮,查看程单击标准工具栏上的启动按钮,查看程序的运行效果。序的运行效果。循循环环程程序序设设计计例例:计算阶乘。计算阶乘。Dim M As Long, N As Long, S As LongDim M As Long, N As Long, S As LongS = 1S = 1N = Text1.Text N = Text1.Text For M = 1 To NFor M = 1 To N S = S S = S * * M MNextNextText2.Text = S Text2.Text = S 37/59
37、循循环环程程序序设设计计Do WhileDo While循环循环也是一种也是一种当型循环结构当型循环结构,主,主要用于设计循环步长不确定的程序。要用于设计循环步长不确定的程序。语句格式语句格式: Do WhileDo While Loop LoopDim M As Long, N As Long, S As LongDim M As Long, N As Long, S As LongS = 1S = 1N = Text1.Text N = Text1.Text Do While M=NDo While M=N S = S S = S * * M : M=M+1 M : M=M+1LoopLo
38、opText2.Text = S Text2.Text = S 阶乘的阶乘的Do WhileDo While循环实现循环实现38/59循循环环程程序序设设计计DoDo循环循环是一种是一种直到型循环直到型循环结构,主要用于结构,主要用于设计循环步长不确定,并且循环体至少执行设计循环步长不确定,并且循环体至少执行一次的程序。一次的程序。语句格式语句格式: D Do o Loop Until Loop Until 直到型循环直到型循环是是先运行先运行一次一次循环体循环体,随后判断条,随后判断条件,检测到件,检测到条件条件为为TrueTrue时再执行循环体;条件时再执行循环体;条件为为FalseFal
39、se则则终止循环终止循环。 TrueTrue循环体循环体FalseFalse表达式表达式39/59循循环环程程序序设设计计例例:阶乘计算按钮的:阶乘计算按钮的DoDo循环循环实现。实现。Dim M As Long, N As Long, S As LongS = 1M = 1 N = Text1.Text Do S = S * M M=M+1Loop Until MNText2.Text = S 40/59子子程程序序设设计计一个功能比较复杂的结构化程序一般由若干一个功能比较复杂的结构化程序一般由若干个功能相对独立的、相关联的程序模块组成。个功能相对独立的、相关联的程序模块组成。在程序设计中,
40、将每个程序模块称为在程序设计中,将每个程序模块称为子程序子程序、过程过程或或函数函数。为区别子程序(过程)和函数,通常将为区别子程序(过程)和函数,通常将没有没有返回值返回值的程序模块称为的程序模块称为过程过程;有返回值有返回值的程的程序模块称为序模块称为函数函数或或用户定义函数用户定义函数。41/59子子程程序序设设计计在在VBVB中,程序模块分为中,程序模块分为事件过程事件过程(如(如ClickClick)、)、SubSub子程序子程序和和FunctionFunction函数函数3 3种。种。所谓所谓事件过程事件过程就是当发生某个事件时,执行该事就是当发生某个事件时,执行该事件的程序代码,
41、件的程序代码,VBVB的可视化设计方法自动生成其的可视化设计方法自动生成其SubSub子程序子程序。 SubSub子程序子程序即过程,没有返回值的程序模块即过程,没有返回值的程序模块。命令按钮命令按钮Command1Command1的的ClickClick代码代码42/59子子程程序序设设计计通过下列格式通过下列格式设计函数设计函数:Function Function ( (参数列表参数列表) ) As As = = End FunctionEnd Function 定义函数时的参数称为定义函数时的参数称为形式参数形式参数,简称,简称形参形参,用于接收调用程序传来的数据。,用于接收调用程序传来
42、的数据。As As 类型类型 是是函数值的数据类型函数值的数据类型,通过函,通过函数体中的语句:数体中的语句: = ,返回,返回函数的运算结果。函数的运算结果。说明说明:43/59子子程程序序设设计计FunctionFunction JC( JC(ByValByVal N As LongN As Long) ) As LongAs Long Dim m As Long Dim m As Long 函数体中用到的变量函数体中用到的变量 JC = 1 JC = 1 为函数名赋初值为函数名赋初值 For m = 1 To N NFor m = 1 To N N为形参,其值由调用程序传来为形参,其值由
43、调用程序传来 JC = JC JC = JC * * m m 阶乘存于函数名阶乘存于函数名JCJC中,作为函中,作为函 数的返回值数的返回值 NextNextEnd FunctionEnd Function 结束结束JCJC的函数体的函数体例:例:使用使用函数方式函数方式实现实现阶乘的计算阶乘的计算,函数,函数名为名为JC,JC,形参形参N N为长整型为长整型, ,返回值为长整型返回值为长整型44/33程序WindowsWindows操作系统中操作系统中运行应用程序运行应用程序的的方法方法:开始开始按钮按钮程序,选择应用程序单击;程序,选择应用程序单击;双击双击桌面桌面上的应用程序上的应用程序
44、图标图标;双击打开双击打开文件夹文件夹中应用程序中应用程序图标图标;双击快捷方式图标;双击快捷方式图标;单击单击开始开始按钮按钮运行运行,输入应用程序的路,输入应用程序的路径及文件名称径及文件名称 确定确定按钮。按钮。45/33用程序设计语言(汇编或高级语言)编写程序时,用程序设计语言(汇编或高级语言)编写程序时,都是用符号代码(指令、语句或命令)或对象(如都是用符号代码(指令、语句或命令)或对象(如窗口、菜单)进行程序设计。通常,将窗口、菜单)进行程序设计。通常,将设计的内容设计的内容称为称为源程序源程序,将保存这些内容的文件称为,将保存这些内容的文件称为源程序文源程序文件件。 程序及其类型
45、根据程序所处软件的开发阶段或运行方式的不根据程序所处软件的开发阶段或运行方式的不同,程序主要有同,程序主要有源程序源程序、可执行程序可执行程序和和动态链动态链接库接库3 3种类型。种类型。 可执行程序可执行程序是由源程序翻译(编译)生成的、是由源程序翻译(编译)生成的、真实的机器语言程序。在真实的机器语言程序。在WindowsWindows中,最常用中,最常用的可执行程序文件扩展名为的可执行程序文件扩展名为EXEEXE和和COMCOM。 动态链接库动态链接库是由源程序生成的机器语言程序的是由源程序生成的机器语言程序的另一种形式,主要作为可执行程序的辅助文件,另一种形式,主要作为可执行程序的辅助
46、文件,不能独立运行。不能独立运行。46/33程序及其类型源程序的源程序的翻译方式翻译方式:编译方式编译方式:通过程序设计语言提供的编译:通过程序设计语言提供的编译或生成工具,系统自动对或生成工具,系统自动对整个源程序整个源程序逐句进逐句进行词法分析、语法分析和机器语言指令翻译。行词法分析、语法分析和机器语言指令翻译。 解释方式解释方式:在程序设计语言环境中直接运:在程序设计语言环境中直接运行源程序,在执行行源程序,在执行每条语句每条语句前,系统先分析前,系统先分析语句的词法和语法,若语句正确,则生成并语句的词法和语法,若语句正确,则生成并执行机器语言指令,直到程序运行结束。执行机器语言指令,直
47、到程序运行结束。47/33软件工程概述软件工程软件工程是将系统的、规范的、可度量的方法是将系统的、规范的、可度量的方法应用于软件开发和维护整体过程的一门科学,应用于软件开发和维护整体过程的一门科学,用用数学数学、计算机科学计算机科学和和管理科学管理科学的原理,借助的原理,借助传统传统工程科学工程科学的原则和方法的原则和方法创建与维护软件创建与维护软件,从而达到提高软件质量、降低软件成本的目的。从而达到提高软件质量、降低软件成本的目的。 数学用于构造数学模型和算法。数学用于构造数学模型和算法。计算机科学负责软件实现和运行计算机科学负责软件实现和运行 。管理科学用于进度、资源、质量和经费管理管理科
48、学用于进度、资源、质量和经费管理 。工程科学用于制定规范、确定样例和评估成本工程科学用于制定规范、确定样例和评估成本 。48/33软件工程概述软件工程软件工程的诞生背景的诞生背景程序设计时代程序设计时代:软件开发主要是个体手软件开发主要是个体手工劳动,程序设计语言是机器语言和汇编工劳动,程序设计语言是机器语言和汇编语言,这个阶段被称为程序设计时代。软语言,这个阶段被称为程序设计时代。软件开发完全依赖程序设计者的件开发完全依赖程序设计者的个人技能个人技能,不重视程序设计方法。不重视程序设计方法。 程序系统时代程序系统时代:高级程序设计语言出现高级程序设计语言出现后,提出了后,提出了结构化程序设计
49、的方法结构化程序设计的方法,并成,并成为软件开发的主要工具,称此阶段为程序为软件开发的主要工具,称此阶段为程序系统时代。系统时代。 49/33供需矛盾供需矛盾;开发成本和时间失控;开发成本和时间失控;质量难以保障质量难以保障;维护困难维护困难。主要表现主要表现 :软件工程概述软件危机软件危机是泛指在计算机软件的开发和维护是泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。过程中所遇到的一系列严重问题。 软件发展速度落后于硬件发展水平,人们对软软件发展速度落后于硬件发展水平,人们对软件的需求得不到满足。件的需求得不到满足。 管理人员缺少开发软件的经验,需求描述不准确,管理人员缺少开发软件
50、的经验,需求描述不准确,而开发人员又缺少管理经验,二者之间缺乏交流工而开发人员又缺少管理经验,二者之间缺乏交流工具,过分依赖开发人员在软件开发过程中的技巧和具,过分依赖开发人员在软件开发过程中的技巧和创造力,因此,很难开发出高质量的实用软件。创造力,因此,很难开发出高质量的实用软件。 由于缺乏软件开发规范和技术文档,人们很难阅读由于缺乏软件开发规范和技术文档,人们很难阅读和修改其他人开发的软件,使软件维护、移植和升和修改其他人开发的软件,使软件维护、移植和升级困难,导致软件重复开发问题严重,软件复用性级困难,导致软件重复开发问题严重,软件复用性降低。降低。 50/33软件工程软件工程主要包括主
51、要包括软件开发技术软件开发技术和和软件工程软件工程管理管理。 软件工程的内容软件开发技术软件开发技术根据软件的类型,制定软件的开根据软件的类型,制定软件的开发策略、原则、步骤和相关文档资料,将软件发策略、原则、步骤和相关文档资料,将软件开发纳入规范化和工程化管理。开发纳入规范化和工程化管理。软件工程软件工程是一门交叉科学,包含是一门交叉科学,包含方法方法、工具工具和和过程过程3 3个要素。个要素。方法方法是完成软件项目的是完成软件项目的技术手段技术手段,它支持项目,它支持项目的计划和估算、系统环境和软件需求分析、软的计划和估算、系统环境和软件需求分析、软件设计、编码、测试和维护。件设计、编码、
52、测试和维护。 除了程序设计语言(如除了程序设计语言(如C C、VBVB等)和数据库管等)和数据库管理系统(理系统(AccessAccess、VFPVFP和和SQL ServerSQL Server等)外,等)外,还应该包括还应该包括软件辅助设计工具软件辅助设计工具,协助管理项目,协助管理项目和生成相关的文档。和生成相关的文档。 过程过程用于控制和管理软件开发和维护的各个重用于控制和管理软件开发和维护的各个重要环节。要环节。 软件工程管理软件工程管理按按工程化思想工程化思想管理软件生产过程管理软件生产过程的的各个重要环节各个重要环节,按计划、进度和预算实施软,按计划、进度和预算实施软件开发和维护
53、,以达到预期的目标。件开发和维护,以达到预期的目标。 51/33软件工程的基本目标软件工程的基本目标是软件工程的基本目标是付出较低的开付出较低的开发成本发成本,达到达到要求的要求的软件功能软件功能;按时完成按时完成开发任务,开发任务,及时交付及时交付使用;使用;开发出来的软件具有良好的开发出来的软件具有良好的稳定性稳定性、可靠性可靠性、适应性适应性和和可操作性可操作性,易于移植易于移植和和维护维护。 52/33软件工程的原则 在软件开发过程中,必须遵循在软件开发过程中,必须遵循抽象性抽象性、信息隐藏性信息隐藏性、模块化模块化、局部化局部化、一致性一致性、 完整性完整性和和可验证性可验证性等原则
54、。等原则。抽取抽取事物事物最基本最基本的的特性和行为特性和行为,忽略某些无关,忽略某些无关紧要的细节。紧要的细节。 模块化模块化是程序中逻辑上相对独立的成分,是是程序中逻辑上相对独立的成分,是功功能相对独立的程序单位能相对独立的程序单位(VB(VB语言中的子程序、语言中的子程序、窗体等窗体等) ),具有良好的接口定义,具有良好的接口定义( (如子程序的形如子程序的形式参数、对象的事件等式参数、对象的事件等) )。隐藏隐藏信息模块的信息模块的实现细节实现细节(如子程序实现代码、(如子程序实现代码、对象的构造代码等),对象的构造代码等),通过通过模块模块接口接口实现实现操作操作,将注意力集中在更高
55、层次的对象上。将注意力集中在更高层次的对象上。 一个一个模块模块的的功能尽量独立功能尽量独立和完整,不受其他模和完整,不受其他模块运行(如改变同名变量的值)的干扰,在模块运行(如改变同名变量的值)的干扰,在模块内部有较强的内聚力,其他模块只能通过接块内部有较强的内聚力,其他模块只能通过接口与之建立联系,以便降低求解问题的复杂性。口与之建立联系,以便降低求解问题的复杂性。 在一个软件系统的各个模块中,使用规范、统在一个软件系统的各个模块中,使用规范、统一的符号和术语;一的符号和术语;软件与硬件接口软件与硬件接口一致;一致;模块模块内外接口内外接口一致;一致;系统规格说明书与软件系统的系统规格说明
56、书与软件系统的行为行为一致等。一致等。 软件系统不丢失任何重要成分,软件系统不丢失任何重要成分,完全实现完全实现系统系统所需要的功能。所需要的功能。 开发大型软件系统需要逐步分解,开发大型软件系统需要逐步分解,系统分解系统分解应应遵循系统容易检查、测试和评审的原则,以保遵循系统容易检查、测试和评审的原则,以保证系统的证系统的可验证性可验证性。 53/33软件生命周期软件产品从形成概念开始,经过开发、使用软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程称为和维护,直到最后退役的全过程称为软件的软件的生命周期生命周期。 在在“计算机软件开发规范计算机软件开发规范”的国家标准中,的
57、国家标准中,将将软件生存周期软件生存周期划分为划分为可行性研究可行性研究(计划)、(计划)、需求分析需求分析、概要设计概要设计、详细设计详细设计、代码实现代码实现、软件测试软件测试、使用与维护使用与维护7 7个阶段,在每个阶个阶段,在每个阶段中都明确规定了任务、实施方法、步骤和段中都明确规定了任务、实施方法、步骤和完成标志等,并要求产生相关的文档。完成标志等,并要求产生相关的文档。54/33软件定义阶段1. 可行性研究可行性研究:也称:也称软件计划软件计划或或策划阶段策划阶段 。此阶段主要对待开发系统涉及到的此阶段主要对待开发系统涉及到的经费经费、软、软/ /硬件技术、硬件技术、效益效益和和法
58、律法律等方面的问题进行等方面的问题进行可行性论证,制定系统开发任务的实施计可行性论证,制定系统开发任务的实施计划划 。 2. 需求分析需求分析:需求需求是用户对目标软件系统在是用户对目标软件系统在功能功能、行为行为、性能性能和和约束约束等方面的等方面的要求或期要求或期望望。需求分析需求分析是对是对应用问题应用问题及其及其环境环境的理解的理解与分析,为应用问题涉及的事物、功能及系与分析,为应用问题涉及的事物、功能及系统行为统行为建立模型建立模型,将,将需求精确化需求精确化和和完整化完整化,最终形成最终形成需求规格说明书需求规格说明书。 55/33软件定义阶段需求分析的主要工作:需求分析的主要工作
59、:获取资料获取资料 资料分析资料分析 形成需求规格说明书形成需求规格说明书 需求评审需求评审 系统分析员系统分析员与与用户用户进行业务交流和探讨,不断进行业务交流和探讨,不断收集、积累相关的业务资料(文件或表格等),收集、积累相关的业务资料(文件或表格等),加深理解需求,澄清模糊的概念,对有争议的加深理解需求,澄清模糊的概念,对有争议的业务环节业务环节达成共识达成共识等。等。 系统分析员系统分析员对收集的资料进行综合分析和总结,对收集的资料进行综合分析和总结,确确认业务范围和处理细节认业务范围和处理细节,规划业务流程规划业务流程,排除不合,排除不合理的需求,理的需求,确定应用问题的解决方案确定
60、应用问题的解决方案、目标系统的、目标系统的功能模块功能模块以及以及数据模型数据模型(如(如E ER R图形),图形),建立建立各功能各功能模块之间的模块之间的关联关联等。等。 需求分析需求分析的的成果成果是是需求规格说明书需求规格说明书,通常包括,通常包括数据数据描述描述、功能描述功能描述和和性能描述性能描述等信息。它是用户、系等信息。它是用户、系统分析员和软件开发人员进行交流的共识资料,是统分析员和软件开发人员进行交流的共识资料,是待开发软件系统的预期目标,同时作为控制软件的待开发软件系统的预期目标,同时作为控制软件的开发过程,系统功能测试、评估和验收的依据。开发过程,系统功能测试、评估和验
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 赣南医学院《广告造型基础》2023-2024学年第一学期期末试卷
- 赣南师范大学科技学院《舞蹈艺术概论》2023-2024学年第一学期期末试卷
- 三年级数学上册七年月日一天的时间说课稿北师大版
- 三年级数学上册四两三位数除以一位数第3课时除法的验算教案苏教版
- 小学生安全备课课件
- 2021中级电气工程师完整复习试题及答案
- 小学生课堂发言制度管理
- 三年级健康教学参考计划范文5篇
- 肝癌微波消融术
- 《愚人节中英文》课件
- 工会的财务管理制度〔13篇〕
- 新版医务人员法律法规知识培训课件
- 2024年土地市场研究分析服务协议
- 物业管理公文写作培训
- 2024期货反洗钱培训
- 2023医疗质量安全核心制度要点释义(第二版)对比版
- 生态农业示范基地项目可行性研究报告1
- 家庭教育大讲堂实施方案
- 园林绿化工职业技能竞赛理论考试试题题库及答案
- 部编版《道德与法治》四年级下册教材解读与分析文档
- 2024-2030年中国机场跑道异物碎片(FOD)检测系统行业市场发展趋势与前景展望战略研究报告
评论
0/150
提交评论