VB自定义函数与子过程
- 格式:ppt
- 大小:249.00 KB
- 文档页数:45
第2课Visual Basic语言基础本章学习目标:基本语言规则数据类型运算符与表达式语言结构子过程与函数本章要点:语言规则语言结构2.1课前导读Visual Basic语言是在BASIC语言的基础上进一步发展而来,不但保留了BASIC语言简单易用的特点,而且增加了面向对象和结构化的编程方法。
由于Visual Basic程序代码可读性强、运行速度快、数据类型丰富、语法与自然语言接近及结构严谨,从而成为众多程序员首选的编程语言。
Visual Basic是真正易学易用的结构化语言,以至于专业人员可以用Visual Basic 实现其他Windows编程语言的功能,初学者只要掌握一些关键语法就可以建立实用的应用程序。
2.2.6 运算符与表达式表达式是关键字、运算符、变量和常数的组合,其值可以是字符串、数值或者对象。
表达式可以用来执行算式、操作字符或是检测数据。
表达式书写规则:从左到右在一行上书写,无高低之分;可以用圆括号括起,以提高运算的优先级或增加表达式的清晰度。
不能使用方括号或花括号,圆括号可以出现多个,但必须配对使用。
1.算术运算符与表达式算术运算符是指用于执行实数或整数运算的操作符,主要包括+(加法)、-(减法)、*(乘法)、^(指数运算)、/(除法)、\(取模数)、Mod(取余数)。
各个算术运算符的作用见表2-3,表中MyValue的值为3。
2.字符运算符与表达式字符串运算符有两个:“&”和“+”,它们都是将两个字符串连接起来。
两者的区别是:(1)“+”:连接符两旁若一个为数字字符型或逻辑型,另一个为数值型,则自动转换为数值型,然后进行算术加运算;若一个为非数字字符型,另一个为数值型,则出错。
(2)“&”:连接符两旁的操作数不管是字符型还是数值型,则在进行连接操作前,系统先将操作数转换成字符型,然后再连接。
3.比较运算符与表达式比较运算符用来表示两个或多个值或表达式之间的关系,结果为逻辑常数。
《程序设计基础—VB程序实验》说明:实验1和实验2均为电子实验报告,后面8个实验是纸制实验报告。
实验1 计算机基本操作实验目的⑴熟悉计算机,能够正确进行开、关机操作。
⑵熟悉键盘,掌握键盘上所有字符的输入,掌握正确的指法,能够进行中、英文切换。
⑶理解操作系统概念,掌握Windows XP的基本操作,能够利用“控制面板”进行一些参数的设置。
⑷知道“回收站”的功能,学会有关文件、文件夹的基本操作。
⑸学会在计算机上搜索或查找相关的文件或文件夹,掌握通配符的使用。
实验内容⑴熟悉上机实验的计算机,熟悉键盘,学会中、英文输入方式的转换。
⑵学会用正确的指法进行输入,知道键盘上所有字符的输入。
⑶利用“控制面板”修改系统时间、桌面背景、鼠标属性。
⑷在桌面上新建一个文件夹,该文件夹以学生自己的名字+班级+学号的后3位命名。
⑸用文本方式或Word文档,写一段字数不少于300字的自我介绍,以1.doc命名并保存到上述文件夹中。
⑹将上述文件夹复制到ftp://10.10.9.222上。
实验2 常用软件的基本操作实验目的⑴了解Word功能,掌握Word的基本操作,包括页眉/页脚的设置、分栏、页面设置、添加底纹等。
⑵学会文件的保存与打开、打印预览、段落的间隔、首字符位置改变等,能够在Word中插入图片、表格、艺术字、特殊符号等。
⑶了解Excel的功能,掌握Excel的基本操作,包括单元格属性的设置、数字的几种填充形式、单元格的合并与恢复、边框的设置等。
⑷掌握Excel的基本公式的使用,能够用公式进行基本计算。
掌握Excel中的图形制作方法,能够根据表格做出图形。
实验内容⑴将ftp上自己文件夹中的1.doc文件复制到桌面上,然后做如下处理:①将标题“自我介绍”居中;②将文章中第二段的内容进行分栏,要求中间有分割线;③插入一个4行4列的表格,内容为学号、姓名、某门课的成绩;④任意插入一张图片;⑤在文章中的任意位置加底纹。
将做好的文档以2.doc命名并保存。
vb最基础入门教程从零开始目录一、基础知识篇 (3)二、编程基础篇 (5)2.1 界面设计 (6)2.1.1 创建窗体 (8)2.1.2 添加控件 (8)2.1.3 设置属性 (9)2.2 事件处理 (11)2.2.1 捕获事件 (12)2.2.2 事件处理程序 (13)2.3 调试与错误处理 (14)2.3.1 调试工具 (15)2.3.2 错误类型 (17)2.3.3 错误处理语句 (18)三、进阶知识篇 (19)3.1 数组与集合 (21)3.1.1 数组的创建与使用 (21)3.1.2 集合的使用 (22)3.2 文件操作 (24)3.2.1 读取文件 (25)3.2.2 写入文件 (25)3.2.3 文件路径与名称操作 (27)3.3 数据库操作 (27)3.3.1 连接数据库 (29)3.3.2 执行SQL查询 (30)3.3.3 处理数据库结果 (31)四、实战项目篇 (32)4.1 计算器 (33)4.1.1 项目需求分析 (34)4.1.2 项目设计 (35)4.1.3 项目实现 (35)4.2 图书管理系统 (37)4.2.1 项目需求分析 (38)4.2.2 项目设计 (39)4.2.3 项目实现 (40)4.3 学生管理系统 (41)4.3.1 项目需求分析 (41)4.3.2 项目设计 (42)4.3.3 项目实现 (43)五、总结与展望 (44)5.1 课程总结 (45)5.2 学习建议 (46)5.3 VB未来发展展望 (47)一、基础知识篇在开始学习Visual Basic(VB)编程之前,我们需要了解一些基础知识,以便更好地理解VB的概念和编程技巧。
Visual Basic是一种由微软开发的事件驱动的编程语言,它使用简单的文本来创建强大的应用程序。
VB广泛应用于Windows应用程序开发,尤其是桌面应用程序。
由于其简洁的语法和丰富的功能,VB成为了初学者学习编程的理想选择。
VBA 中如何创建自定义函数与子过程在VBA(Visual Basic for Applications)中,我们可以使用自定义函数和子过程来扩展Excel的功能和自动化任务。
自定义函数允许我们在Excel中使用自己定义的函数,并将其应用于单元格或其他VBA代码中。
子过程则是一段可以重复使用的代码块,可以在VBA程序中被多次调用。
本文将介绍如何在VBA中创建自定义函数和子过程,以及它们的用法和注意事项。
1. 创建自定义函数在VBA中,创建自定义函数使用Function关键字,并在函数名称后面跟上函数的参数列表以及返回值类型。
以下是一个简单的示例:```Function MyFunction(x As Integer, y As Integer) As IntegerMyFunction = x + yEnd Function```在这个简单的示例中,我们定义了一个名为"MyFunction"的函数,它有两个整数类型的参数x和y,并返回一个整数类型的值。
函数的主体部分包含了将x和y相加并将结果赋值给函数的名称,从而返回函数的结果。
要在Excel中使用这个自定义函数,只需在单元格中输入`=MyFunction(2, 3)`即可得到结果5。
2. 创建子过程与创建自定义函数类似,创建子过程使用Sub关键字,并在子过程名称后面跟上参数列表(如果有)和子过程的代码块。
以下是一个简单的示例:```Sub MySub(x As Integer, y As Integer)MsgBox "The sum is: " & (x + y)End Sub```在这个示例中,我们定义了一个名为"MySub"的子过程,它有两个整数类型的参数x和y。
在子过程的主体部分,我们使用MsgBox函数弹出一个消息框,显示x和y的和。
要执行这个子过程,我们可以直接调用它,例如`MySub(2, 3)`。
vb程序设计教程课后答案第三版vb程序设计教程课后答案第三版vb程序设计教程课后答案(第三版)答案在教材上开。
1.对象指现实世界中的实体。
每个对象有自己的特征(属性)、行为(方法)和发生在该对象上的活动(事件)。
类就是对同一种对象的子集与抽象化。
类涵盖所创建对象的属性数据,以及对这些数据展开操作方式的方法。
PCB和暗藏就是类的关键特性,将数据结构和对数据的操作方式PCB在一起,类的内部同时实现细节对用户来说就是透明化的。
vb工具箱中的可视图标是vb系统设计好的标准控件类。
通过将控件类实例化,得到真正的控件对象。
在窗体上画一个控件,就将类转换为对象,创建了一个控件对象。
vb中常用的对象就是控件。
此外,vb还提供更多了系统对象。
窗体就是个特例,它既就是类也就是对象。
当向一个工程嵌入一个崭新窗体时,实质就由窗体类建立了一个窗体对象。
对象的三要素:属性、事件和方法。
属性:放置对象的数据(同意对象外观及功能)对象属性的设置方法:在设计阶段,利用属性窗口轻易设置属性值;程序运行时,通过语句[对象名.]属性名=属性值。
若属性就可以在设计阶段设置,在程序运行阶段不容发生改变,称作所读属性。
事件:出现在对象上的事情。
同一事件,对相同的对象,可以引起相同的反应。
事件过程:应用程序处理事件的步骤。
应用领域程序设计的主要工作就是为对象撰写事件过程的代码。
方法:面向对象的程序设计语言,为程序设计人员提供了一种特殊的过程和函数。
方法是面向对象的,调用时一定要指明对象。
2.窗体和控件具备的基本属性“(1)name属性:名称所建立的对象名称,在程序中提及。
(2)caption属性:标题该属性同意了对象上表明的内容。
(3)height、width、top和left属性同意对象的大小和边线。
(4)enabled属性:对象是否允许操作(5)visible属性:对象与否可知(6)font属性组:文本的外观fontname字体、fontsize大小fontbold粗体、fontitalic斜体fontstrikethru删掉线fontunderline下划线(7)forecolor属性:前景颜色(8)backcolor属性:背景颜色(9)mousepointer属性:鼠标指针类型,设置值范围0~15,由系统选定。
vb编程代码大全1、数值型函数:abs(num): 返回绝对值sgn(num): num>0 1; num=0 0; num<0 -1;判断数值正负hex(num): 返回十六进制值直接表示:&Hxx 最大8位oct(num): 返回八进制值直接表示:&Oxx 最大8位sqr(num): 返回平方根num>0int(num): 取整int(99、8)=99; int(-99、2)=100fix(num): 取整fix(99、8)=99; fix(-99、2)=99round(num,n): 四舍五入取小数位round(3、14159,3)=3、142 中点数值四舍五入为近偶取整round(3、25,1)=3、2log(num): 取以e为底的对数num>0exp(n): 取e的n次幂通常用num^nsin(num): 三角函数,以弧度为值计算(角度*Pai)/180=弧度con(num); tan(num); atn(num)2、字符串函数:len(str):计算字符串长度中文字符长度也计为一!mid(str,起始字符,[读取长度]):截取字符串中间子字符串left(str,nlen):从左边起截取nlen长度子字符串right(str,nlen):从右边起截取nlen长度子字符串Lcase(str):字符串转成小写Ucase(str):字符串转成大写trim(str):去除字符串两端空格Ltrim(str):去除字符串左侧空格Rtrim(str):去除字符串右侧空格replace(str,查找字符串,替代字符串,[起始字符,替代次数,比较方法]):替换字符串注:默认值:起始字符1;替代次数不限;比较方法区分大小写(0)InStr([起始字符,]str,查找字符串[,比较方法]):检测就是否包含子字符串可选参数需同时选返回起始位置InStrRev(str,查找字符串[,起始字符][,比较方法]):反向检测就是否包含子字符串返回起始位置space(n):构造n个空格的字符串string(n,str):构造由n个str第一个字符组成的字符串StrReverse(str):反转字符串split(str,分割字符串[,次数][,比较方法]):以分割字符串为分割标志将字符串转为字符数组可选参数需同时选3、数据类型转换函数:Cint(str):转换正数True -1;False 0;日期距离1899/12/31天数;时间上午段0;下午段1; Cstr(str):日期输出格式yyyy/mm/dd;时间输出格式Am/Pm hh:mm:ssClng(str):与Cin()类似Cbool(num):num不为零True;反之FalseCdate(str):转换日期格式0:#Am 12:00:00#;正数距离1899/12/31天数的日期;浮点数日期+小数时间Cbyte(num):num<255 转换为字节Csng(str):转换为单精度数值Cdbl(str):转换为双精度数值Ccur(str):转换为现金格式4、时间函数:date:取系统当前日期time:取系统当前时间now:取系统当前时间及日期值Datetime类型timer:取当前时间距离零点秒值,计时器,可计算时间差DateAdd(间隔单位,间隔值,日期):推算相邻日期DateDiff(间隔单位,日期一,日期二):计算时间差日期二-日期一Datepart(间隔单位,日期):计算日期的间隔单位值Dateserial(date):输出日期值(按序列计算)Timeserial(time):输出时间值(按序列计算)Datevalue(datetime):取出字符串中日期值Timevalue(datetime):取出字符串中时间值weekday(date):计算星期几MonthName(date):输出月分名year(datetime):截取年份month(datetime):截取月份day(datetime):截取日hour(datetime):截取小时minute(datetime):截取分钟second(datetime):截取秒5、其它函数:Array(unit,、、):动态生成数组Asc(str):输出字符串第一个字符的ASCII码Chr(asc):转换ASCII为字符Enter:Chr(13)&Chr(10)Filter(数组名称,关键字符串,[,包含][,比较方法]):将字符串数组中含有关键字符串的元素存成新的数组(默认) [包含]为false则取不包含的元素oin(ArrayName):将数组中元素连成字符串Ubound(ArrayName[,维数]):取得数组相应维数的上界Lbound(ArrayName[,维数]):取得数组相应维数的下界一般为0Randmize n:启动随机数种子Rnd(n):取得随机数,n>0或为空,取序列下一随机值,n<0,随机值相同,n=0,生产与上一随机值相同的数取介于A与B之间的随机正数C,公式:C=Int((B-A+1)*Rnd+A) 条件(B>A)子程序与自定义函数Sub StrSubName Function StrFunName(arg[1],、、)子程序体函数体Exit Sub 中途跳出Exit Function 中途跳出End Sub StrFunName=value 返回值End Function[call] StrSubName 引用子程序Var=StrFunName(arg[1],、、) 引用函数。
vb 编程代码大全1.数值:abs(num): 返回sgn(num): num>0 1; num=0 0; num<0 -1; 判断数值正负hex(num): 返回值直接表示:&Hxx 最大8 位oct(num): 返回值直接表示:&Oxx 最大8 位sqr(num): 返回num>0int(num): 取整int=99; int=100fix(num): 取整fix=99; fix=99round(num,n): 四舍五入取小数位round,3)= 中点数值四舍五入为近偶取整round,1)=log(num): 取以e 为底的num>0exp(n):取e的n次幕通常用num A nsin(num):,以为值计算(角度*Pai)/180=弧度con(num); tan(num); atn(num) len(str) :计算字符串长度中文字符长度也计为一!mid(str,起始字符,[读取长度]):截取字符串中间子字符串left(str,nlen) :从左边起截取nlen 长度子字符串right(str,nlen) :从右边起截取nlen 长度子字符串Lcase(str):字符串转成小写Ucase(str):字符串转成trim(str) :去除字符串两端空格Ltrim(str) :去除字符串左侧空格Rtrim(str) :去除字符串右侧空格replace(str,查找字符串,替代字符串,[起始字符,替代次数,比较方法]):替换字符串注:默认值:起始字符1;替代次数不限;比较方法区分大小写( 0)InStr([起始字符,]str,查找字符串[,比较方法]):检测是否包含子字符串可选参数需同时选返回起始位置InStrRev(str,查找字符串[,起始字符][,比较方法]):反向检测是否包含子字符串返回起始位置space(n):构造n个空格的字符串string(n,str):构造由n个str第一个字符组成的字符串StrReverse(str):反转字符串split(str,字符串[,次数][,比较方法]):以分割字符串为分割标志将字符串转为字符可选参数需同时选转换函数:Cint(str) :转换正数True -1;False 0;日期距离1899/12/31 天数;时间上午段0;下午段1;Cstr(str):日期yyyy/mm/dd ;时间输出格式Am/Pm hh:mm:ssClng(str):与Cin()类似Cbool(num): num 不为零True;反之FalseCdate(str):转换日期格式0: #Am 12:00:00# ;正数距离1899/12/31天数的日期;日期+小数时间Cbyte(num) : num<255 转换为字节Csng(str):转换为数值Cdbl(str):转换为数值Ccur(str):转换为现金格式4.时间函数:date :取系统当前日期time :取系统当前时间now:取系统当前时间及日期值Datetime类型timer :取当前时间距离零点秒值,,可计算时间差DateAdd(间隔单位侗隔值,日期):推算相邻日期DateDiff(间隔单位,日期一,日期二):计算时间差日期二-日期一Datepart(间隔单位,日期):计算日期的间隔单位值Dateserial(date) :输出日期值(按序列计算)Timeserial(time) :输出时间值(按序列计算)Datevalue(datetime) :取出字符串中日期值Timevalue(datetime) :取出字符串中时间值weekday(date) :计算星期几MonthName(date) :输出月分名year(datetime) :截取年份month(datetime) :截取月份day(datetime) :截取日hour(datetime) :截取小时minute(datetime) :截取分钟second(datetime) :截取秒5.其它函数:Array(unit,..) :动态生成数组Asc(str):输出字符串第一个字符的ASCII码Chr(asc):转换ASCII为字符Enter:Chr(13)&Chr(10)Filter(数组名称,关键字符串,[,包含][,比较方法]):将字符串数组中含有关键字符串的元素存成新的数组(默认)[包含]为false 则取不包含的oin(ArrayName):将数组中元素字符串Ubound(ArrayName[, 维数]):取得数组相应维数的上界Lbound(ArrayName[, 维数]):取得数组相应维数的下界一般为0Ran dmize n:启动Rnd(n):取得,n>0或为空,取序列下一随机值,n<0,随机值相同,n=0,生产与上一随机值相同的数取介于A和B之间的随机正数C,公式:C=Int((B-A+1)*Rnd+A)条件(B>A)子程序和自定义函数Sub StrSubName Function StrFunName(arg[1],..)子程序体函数体Exit Sub 中途跳出Exit Function 中途跳出End Sub StrFunName= value 返回值End Function引用函数[call] StrSubName 引用子程序Var=StrFunName(arg[1],..)。
VB编程常用代码大全VB编程常用代码大全1.数值型函数:abs(num):返回绝对值sgn(num): num>01; num=0 0; num<0 -1;判断数值正负hex(num):返回十六进制值直接表示:&Hxx 最大8位oct(num): 返回八进制值直接表示:&Oxx 最大8位sqr(num): 返回平方根num>0int(num): 取整 int(99.8)=99; int(-99.2)=100 fix(num): 取整fix(99.8)=99; fix(-99.2)=99 round(num,n):四舍五入取小数位round(3.14159,3)=3.142中点数值四舍五入为近偶取整 round(3.25,1)=3.2log(num): 取以e为底的对数 num>0exp(n): 取e的n次幂通常用 num^nsin(num): 三角函数,以弧度为值计算 (角度*Pai)/180=弧度 con(num); tan(num); atn(num)2.字符串函数:len(str):计算字符串长度中文字符长度也计为一!mid(str,起始字符,[读取长度]):截取字符串中间子字符串left(str,nlen):从左边起截取nlen长度子字符串right(str,nlen):从右边起截取nlen长度子字符串Lcase(str):字符串转成小写Ucase(str):字符串转成大写trim(str):去除字符串两端空格Ltrim(str):去除字符串左侧空格Rtrim(str):去除字符串右侧空格replace(str,查找字符串,替代字符串,[起始字符,替代次数,比较方法]):替换字符串注:默认值:起始字符 1;替代次数不限;比较方法区分大小写(0)InStr([起始字符,]str,查找字符串[,比较方法]):检测是否包含子字符串可选参数需同时选返回起始位置InStrRev(str,查找字符串[,起始字符][,比较方法]):反向检测是否包含子字符串返回起始位置space(n):构造n个空格的字符串string(n,str):构造由n个str第一个字符组成的字符串StrReverse(str):反转字符串split(str,分割字符串[,次数][,比较方法]):以分割字符串为分割标志将字符串转为字符数组可选参数需同时选3.数据类型转换函数:Cint(str):转换正数 True -1;False 0;日期距离1899/12/31天数;时间上午段0;下午段 1;Cstr(str):日期输出格式yyyy/mm/dd;时间输出格式 Am/Pm hh:mm:ssClng(str):与Cin()类似Cbool(num):num不为零 True;反之 FalseCdate(str):转换日期格式0:#Am 12:00:00#;正数距离1899/12/31天数的日期;浮点数日期+小数时间Cbyte(num):num<255 转换为字节Csng(str):转换为单精度数值Cdbl(str):转换为双精度数值Ccur(str):转换为现金格式4.时间函数:date:取系统当前日期time:取系统当前时间now:取系统当前时间及日期值Datetime类型timer:取当前时间距离零点秒值,计时器,可计算时间差DateAdd(间隔单位,间隔值,日期):推算相邻日期DateDiff(间隔单位,日期一,日期二):计算时间差日期二-日期一Datepart(间隔单位,日期):计算日期的间隔单位值Dateserial(date):输出日期值(按序列计算)Timeserial(time):输出时间值(按序列计算)Datevalue(datetime):取出字符串中日期值Timevalue(datetime):取出字符串中时间值weekday(date):计算星期几MonthName(date):输出月分名year(datetime):截取年份month(datetime):截取月份day(datetime):截取日hour(datetime):截取小时minute(datetime):截取分钟second(datetime):截取秒5.其它函数:Array(unit,..):动态生成数组Asc(str):输出字符串第一个字符的ASCII码Chr(asc):转换ASCII为字符 Enter:Chr(13)&Chr(10) Filter(数组名称,关键字符串,[,包含][,比较方法]):将字符串数组中含有关键字符串的元素存成新的数组(默认) [包含]为false则取不包含的元素oin(ArrayName):将数组中元素连成字符串Ubound(ArrayName[,维数]):取得数组相应维数的上界Lbound(ArrayName[,维数]):取得数组相应维数的下界一般为0Randmize n:启动随机数种子Rnd(n):取得随机数,n>0或为空,取序列下一随机值,n<0,随机值相同,n=0,生产与上一随机值相同的数取介于A和B之间的随机正数C,公式:C=Int((B-A+1)*Rnd+A) 条件(B>A)子程序和自定义函数Sub StrSubName Function StrFunName(arg[1],..)子程序体函数体Exit Sub 中途跳出 Exit Function 中途跳出End Sub StrFunName=value 返回值End Function[call] StrSubName 引用子程序Var=StrFunName(arg[1],..) 引用函数...内容来自网络 ...。
第1章Visual basic概述一、VB是在Windows平台下,用于开发和创建具有图形用户界面的应用程序的工具。
二、VB是面向对象的程序设计语言;工作方式为事件驱动/消息驱动。
1.对象对象是动作体的逻辑模型,是人们可控制的某种东西,应用程序的每个窗体和窗体上的种种控件都是VB的对象2.属性属性指对象的特性。
3.方法方法指对象可以进行的动作或行为。
4.事件事件是指能被对象所识别的动作。
5.事件驱动只有在事件发生时程序才会运行。
6.工程工程是应用程序文件的集合,一个工程一般会包含下列文件,如表1—l所示。
表1—1 应用程序文件类型第2章创建用户界面1.用户界面用户界面是应用程序中最重要的部分,是程序与用户进行交互的桥梁,标准的Windows 应用程序界面都是由窗口、菜单条、各种按钮、文本框、列表框等对象构成的。
2.窗体窗体是包容用户界面或对话框所需的各种控件对象的容器。
在创建一个新的工程时,默认的第一个窗体即为启动窗体。
3.控件控件是与用户进行交互的可视化部件,向窗体上添加控件应在窗体编辑器中进行。
4.命令菜单命令菜单是应用程序窗口的基本组成元素之一,它由菜单条、菜单、菜单项、子菜单、弹出式菜单组成,可以通过VB提供的菜单编辑器创建程序菜单。
(1)连字符(—)(2)&书P325.设计用户界面的步骤(1)确定窗体的大小和位置。
(2)根据程序的功能和要求,添加所需的控件。
(3)合理地分布控件的位置与大小。
(4)设置各个对象的属性。
6.窗体及常用控件的常用属性、事件、方法熟悉各对象的常用属性、事件和方法,对于创建应用程序有着举足轻重的作用,表2—1给出了窗体及常用控件的常用属性、事件以及方法使用说明。
注:加*号的属性为只能通过代码设置的属性(即在属性窗口中没有显示7、Print 方法第3章语言基础3.1知识点概括一个应用程序就是一个工程,在一个工程中可以包含若干个文件,应用程序的基本组成如图3—1所示。