版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、大学计算机基础大学计算机基础 (第(第2版)版)第第7章章 程序设计基础程序设计基础7.1 7.1 程序、程序设计与程序设计语言程序、程序设计与程序设计语言7.2 7.2 程序设计的基本方法程序设计的基本方法7.3 7.3 程序设计的基本结构程序设计的基本结构7.4 7.4 面向对象的程序设计简介面向对象的程序设计简介 内内 容容7.1.1 7.1.1 程序程序7.1.2 7.1.2 程序设计程序设计7.1.3 7.1.3 程序设计语言程序设计语言 7.1 7.1 程序、程序设计与程序设计语言程序、程序设计与程序设计语言 程序是计算机解决某个(或某些)问题,程序是计算机解决某个(或某些)问题,
2、依照计算机能识别的语言编写的语句序列。依照计算机能识别的语言编写的语句序列。 7.1.1 7.1.1 程序程序 程序设计是用计算机语言来实现所求解问程序设计是用计算机语言来实现所求解问题算法的过程。题算法的过程。 程序设计是用一种计算机语言(程序设计程序设计是用一种计算机语言(程序设计语言)对求解的问题确定解题方式、设计程序语言)对求解的问题确定解题方式、设计程序流程图、使问题内容或解题计划变为计算机能流程图、使问题内容或解题计划变为计算机能够接受的指令或语句序列的过程,通常也称程够接受的指令或语句序列的过程,通常也称程序编制。它是创建计算机程序的技巧和科学。序编制。它是创建计算机程序的技巧和
3、科学。 7.1.2 7.1.2 程序设计程序设计 程序设计语言是人与计算机交流的工具,程序设计语言是人与计算机交流的工具,是用来编写计算机程序的工具。是用来编写计算机程序的工具。 按照程序设计语言发展的过程,可以分为机按照程序设计语言发展的过程,可以分为机器语言、汇编语言和高级语言器语言、汇编语言和高级语言3 3种。种。 高级语言可以分为高级语言可以分为3 3类。类。 面向过程的语言面向过程的语言 面向问题的语言面向问题的语言 面向对象的语言面向对象的语言 7.1.3 7.1.3 程序设计语言程序设计语言7.2.1 7.2.1 面向计算机的程序设计面向计算机的程序设计 7.2.2 7.2.2
4、面向过程的程序设计面向过程的程序设计7.2.3 7.2.3 面向对象的程序设计面向对象的程序设计7.2.4 7.2.4 三种程序设计方法的比较三种程序设计方法的比较7.2 7.2 程序设计的基本方法程序设计的基本方法 人类最早的编程语言是机器语言,就是计算机人类最早的编程语言是机器语言,就是计算机能直接识别和执行的二进制指令编写的二进制语言。能直接识别和执行的二进制指令编写的二进制语言。用机器语言编写程序工作量极大,所编写的程序又用机器语言编写程序工作量极大,所编写的程序又难读、难记、难修改,只有非常专业的计算机编程难读、难记、难修改,只有非常专业的计算机编程人员(软件工程师)才能编写程序。这
5、一时期的程人员(软件工程师)才能编写程序。这一时期的程序设计属于序设计属于面向计算机的程序设计,软件开发的难面向计算机的程序设计,软件开发的难度大,周期长,开发出来的软件功能简单,界面也度大,周期长,开发出来的软件功能简单,界面也不友好,计算机的应用仅限于科学计算。不友好,计算机的应用仅限于科学计算。 7.2.1 7.2.1 面向计算机的程序设计面向计算机的程序设计 20 20世纪世纪5050年代后期,更接近人类思维习惯的高级年代后期,更接近人类思维习惯的高级语言诞生了,先是语言诞生了,先是FORTRANFORTRAN,随后,随后COBOLCOBOL、PASCALPASCAL、BASICBAS
6、IC等相继诞生。等相继诞生。 在面向过程的程序设计中,由于数据和操作的分在面向过程的程序设计中,由于数据和操作的分离,使程序的重用性差,维护代价高,不便于程序离,使程序的重用性差,维护代价高,不便于程序的更新换代。为了克服这一缺点,人们提出了面向的更新换代。为了克服这一缺点,人们提出了面向对象的程序设计方法。对象的程序设计方法。 7.2.2 7.2.2 面向过程的程序设计面向过程的程序设计 面向对象的程序设计(面向对象的程序设计(Object-Oriented Object-Oriented ProgrammingProgramming,OOPOOP)思想是:注重对象,抽象)思想是:注重对象,
7、抽象成类。成类。 对象对象 对象是系统中描述客观事物的实体,是由描对象是系统中描述客观事物的实体,是由描述事物属性结构的数据和定义在数据上的一组述事物属性结构的数据和定义在数据上的一组操作组成的实体。操作组成的实体。 7.2.3 7.2.3 面向对象的程序设计面向对象的程序设计类类 类是一组对象的抽象,是具有相同的属性结构类是一组对象的抽象,是具有相同的属性结构和操作的一组对象的集合。和操作的一组对象的集合。 封装封装 封装是封装是OOPOOP的一个重要特性,它是指对象在把的一个重要特性,它是指对象在把数据与操作作为一个整体时,其数据的表示方式数据与操作作为一个整体时,其数据的表示方式及对数据
8、的操作细节是尽可能地被隐藏的。及对数据的操作细节是尽可能地被隐藏的。 7.2.3 7.2.3 面向对象的程序设计面向对象的程序设计继承继承 继承是继承是OOPOOP的又一个重要特性,它是指特殊类的的又一个重要特性,它是指特殊类的对象拥有其一般类的全部属性结构的操作行为。对象拥有其一般类的全部属性结构的操作行为。 多态性多态性 多态性也是多态性也是OOPOOP的又一个重要特性,它是指在一的又一个重要特性,它是指在一般类中定义的属性或行为,被特殊类继承之后,般类中定义的属性或行为,被特殊类继承之后,可以具有不同的数据类型或不同的行为。可以具有不同的数据类型或不同的行为。 7.2.3 7.2.3 面
9、向对象的程序设计面向对象的程序设计 7.2.4 7.2.4 三种程序设计方法的比较三种程序设计方法的比较7.3.1 7.3.1 顺序结构顺序结构7.3.2 7.3.2 选择结构选择结构7.3.3 7.3.3 循环结构循环结构 7.3 7.3 程序设计的基本结构程序设计的基本结构 顺序结构的程序其语句的执行顺序是自上而下顺序结构的程序其语句的执行顺序是自上而下顺序执行。例如某程序由顺序执行。例如某程序由3 3条语句组成,书写顺条语句组成,书写顺序为:序为: 语句语句1 1 语句语句2 2 语句语句3 3 则该程序的执行顺序是先执行语句则该程序的执行顺序是先执行语句1 1,然后执,然后执行语句行语
10、句2 2,最后执行语句,最后执行语句3 3。 7.3.1 7.3.1 顺序结构顺序结构【例【例7.27.2】输入任意两个数,计算它们的和、差、积、商。】输入任意两个数,计算它们的和、差、积、商。用用QBASICQBASIC编制计算程序。编制计算程序。程序如下:程序如下:INPUT “X,Y=”; X,Y INPUT “X,Y=”; X,Y 键盘输入语句,程序运行时输键盘输入语句,程序运行时输入数据入数据HE=X+YHE=X+YCHA=X-YCHA=X-YJI=XJI=X* *Y YSH=X/YSH=X/YPRINT PRINT “HE=HE=”;HE, ;HE, “CHA=CHA=”;CHA,
11、 ;CHA, “JI=JI=”;JI, ;JI, “SH=SH=”;SH;SHENDEND运行结果:运行结果:X,Y=15,3X,Y=15,3HE=18 CHA=12 JI=45 SH=5HE=18 CHA=12 JI=45 SH=5 7.3.1 7.3.1 顺序结构顺序结构【例【例7.37.3】已知某圆的半径为】已知某圆的半径为6 6,计算该圆的周长和面积。用,计算该圆的周长和面积。用QBASICQBASIC编制计算程序。编制计算程序。程序如下:程序如下:CONST PI=3.14159 CONST PI=3.14159 定义常数定义常数值为值为3.141593.14159LET R=6LE
12、T R=6C=2C=2* *PIPI* *R RS=PIS=PI* *R R* *R RPRINT PRINT “R=R=”;R, ;R, “C=C=”;C, ;C, “S=S=”;S;SENDEND运行结果:运行结果:R=6 CR=6 C=37.69908 S=113.09724=37.69908 S=113.09724 7.3.1 7.3.1 顺序结构顺序结构 选择结构中的语句是否执行是由某个条件来控选择结构中的语句是否执行是由某个条件来控制的,这种结构有制的,这种结构有3 3种形式。种形式。 7.3.2 7.3.2 选择结构选择结构单分支选择结构单分支选择结构 单分支选择结构是按照某单分
13、支选择结构是按照某个条件是否成立来决定某条个条件是否成立来决定某条语句是否执行。其流程图如语句是否执行。其流程图如图图7.37.3所示。所示。【例【例7.47.4】输入一个正整数,若该数为奇数,打印】输入一个正整数,若该数为奇数,打印“* *”;若为偶数,则打印若为偶数,则打印“* * *”。用。用QBASICQBASIC编写程序。编写程序。程序如下:程序如下:INPUT INPUT “X X”; X ; X IF X MOD 2=0 THEN IF X MOD 2=0 THEN 利用求余运算,来判利用求余运算,来判断断X X是奇数还是偶数是奇数还是偶数PRINT PRINT “* * *”
14、能被能被2 2整除,则是偶数,整除,则是偶数,打印出打印出2 2个个* *号号END IFEND IFIF X MOD 20 THEN IF X MOD 20 THEN PRINT PRINT “* *” END IFEND IF 单分支选择结构单分支选择结构 双分支选择结构是按照某个条件是否成立,从两条语句双分支选择结构是按照某个条件是否成立,从两条语句中选取一条语句来执行。其流程图如图中选取一条语句来执行。其流程图如图7.47.4所示。所示。 双分支选择结构双分支选择结构【例【例7.57.5】输入】输入3 3个数,用个数,用QBASICQBASIC编写程序,求出其中的最大数和最小数。编写程
15、序,求出其中的最大数和最小数。程序如下:程序如下:INPUT INPUT “X,Y,ZX,Y,Z”; X,Y,Z ; X,Y,Z IF XY THEN IF XY THEN MAX=X: MIN=YMAX=X: MIN=YELSEELSEMAX=Y: MIN=XMAX=Y: MIN=XEND IFEND IFIF ZMAX THEN IF ZMAX THEN MAX=Z MAX=Z END IFEND IFIF ZMIN THEN IF ZMIN THEN MIN=Z MIN=Z END IFEND IFPRINT MAX,MINPRINT MAX,MINENDEND 双分支选择结构双分支选择
16、结构 多分支选择结构是用多分支选择结构是用n n个条件控制个条件控制n+1n+1条语句。哪个条件成立,条语句。哪个条件成立,就去执行相应的语句。所有条件均不成立,则执行第就去执行相应的语句。所有条件均不成立,则执行第n+1n+1条语条语句。其流程图如图句。其流程图如图7.57.5所示。所示。 多分支选择结构多分支选择结构【例【例7.67.6】某学校要开教工运动会,按照年龄对运动员进行分组,】某学校要开教工运动会,按照年龄对运动员进行分组,2828岁以下岁以下为为A A组,组,28283535岁为岁为B B组,组,35354545岁为岁为C C组,组,45455555岁为岁为D D组,组,555
17、5岁以上为岁以上为E E组。组。用用QBASICQBASIC编程,输入某教工年龄,对其进行分组。编程,输入某教工年龄,对其进行分组。程序如下:程序如下:INPUT INPUT “age=age=”; age; ageSELECT CASE ageSELECT CASE age CASE IS28 CASE IS55CASE IS55 PRINT PRINT “E E组组”END SELECTEND SELECTENDEND 多分支选择结构多分支选择结构 循环结构是由某个条件(称为循环控制条件)来控循环结构是由某个条件(称为循环控制条件)来控制某个语句或多个语句(称为循环体)是否反复执行。制某个
18、语句或多个语句(称为循环体)是否反复执行。循环结构也有循环结构也有3 3种形式:当型循环结构、直到型循环种形式:当型循环结构、直到型循环结构和次数型循环结构。结构和次数型循环结构。 当型循环结构当型循环结构 当型循环结构是先判断控制循环的条件,若条件成当型循环结构是先判断控制循环的条件,若条件成立,则执行循环体。返回再判断控制循环的条件,反立,则执行循环体。返回再判断控制循环的条件,反复上述操作,直至控制循环的条件不成立,退出循环,复上述操作,直至控制循环的条件不成立,退出循环,执行后续语句。其流程图如图执行后续语句。其流程图如图7.67.6所示。所示。 7.3.3 7.3.3 循环结构循环结
19、构 7.3.3 7.3.3 循环结构循环结构 当型循环结构当型循环结构【例【例7.77.7】求】求S=1S=12 2+2+22 2+3+32 2+ + n+ n2 2(设(设n n为为100100),用),用QBASICQBASIC编其计算程序。编其计算程序。S=0: N=0S=0: N=0WHILE N100WHILE N100 N=N+1 N=N+1 S=S+N S=S+N* *N NWENDWENDPRINT PRINT “S=S=”;S;SENDEND 直到型循环结构直到型循环结构直到型循环结构是执行语句(循环体),然后判断直到型循环结构是执行语句(循环体),然后判断控制循环的条件,若
20、条件成立,则继续上述操作(循控制循环的条件,若条件成立,则继续上述操作(循环),直到条件不成立时为止,退出循环。其流程图如环),直到条件不成立时为止,退出循环。其流程图如下下。【例【例7.87.8】在】在100100999999之间找出所有之间找出所有“水仙花水仙花”数。所谓数。所谓“水仙花水仙花”数,数,就是指一个就是指一个3 3位数,其值等于各位数值的立方和,如位数,其值等于各位数值的立方和,如371=3371=33 3+7+73 3+1+13 3。用。用QBASICQBASIC编其计算程序。编其计算程序。程序如下:程序如下:N=100N=100DO WHILE N1000DO WHILE
21、 N0 THENIF A0 THENX=X+1X=X+1ELSEIF A0 THENELSEIF A0 THENY=Y+1Y=Y+1ELSEELSEZ=Z+1Z=Z+1ENDIFENDIFNEXTNEXTPRINT PRINT “X=X=”;X, ;X, “Y=Y=”;Y, ;Y, “Z=Z=”;Z;ZENDEND 次数型循环结构次数型循环结构【例【例7.107.10】求】求S=1S=1!+2+2!+3+3!+ +10+10!。用!。用QBASICQBASIC编其计算程序。编其计算程序。程序如下:程序如下:S=0S=0FOR I=1 TO 10 FOR I=1 TO 10 循环的嵌套,外循环计
22、算累加循环的嵌套,外循环计算累加T=1T=1FOR J=1 TO I FOR J=1 TO I 内循环计算阶乘内循环计算阶乘T=TT=T* *J JNEXTNEXTS=S+TS=S+TNEXTNEXTPRINT PRINT “S=S=”;S;SENDEND 次数型循环结构次数型循环结构【例【例7.117.11】求出】求出3 3100100之间的所有素数。用之间的所有素数。用QBASICQBASIC编其计算程序。编其计算程序。程序如下:程序如下:FOR I=3 TO 100 STEP 2 FOR I=3 TO 100 STEP 2 只要检测奇数即可只要检测奇数即可X=0 X=0 I I不为素数时
23、的标志不为素数时的标志FOR J=2 TO I-1 FOR J=2 TO I-1 循环嵌套循环嵌套IF I MOD J=0 THEN IF I MOD J=0 THEN 判断判断I I是否为素数是否为素数X=1 X=1 是素数,则设是素数,则设X=1X=1为标志为标志EXIT FOR EXIT FOR 退出内循环退出内循环ENDIFENDIFNEXT JNEXT JIF X1 THEN IF X1 THEN X1,X1,说明说明I I为素数为素数PRINT I; PRINT I; “ “ 打印出素数打印出素数ENDIFENDIFNEXT INEXT IENDEND 次数型循环结构次数型循环结构
24、7.4.1 Visual Basic7.4.1 Visual Basic概述概述7.4.2 7.4.2 VBVB的集成开发环境的集成开发环境7.4.3 7.4.3 面向对象程序设计面向对象程序设计7.4.4 7.4.4 创建一个创建一个VBVB应用程序应用程序 7.4 7.4 面向对象的程序设计简介面向对象的程序设计简介 Visual Basic Visual Basic(简称(简称VBVB)是)是MicrosoftMicrosoft公司成功开公司成功开发的面向对象的程序设计语言新产品。发的面向对象的程序设计语言新产品。 Visual Basic 6.0Visual Basic 6.0具有以下
25、特点:具有以下特点: VBVB易学易用,功能强大。易学易用,功能强大。 MicrosoftMicrosoft公司非常重视公司非常重视VBVB程序设计语言的开发,程序设计语言的开发,在其中引用了最新的程序设计思想,并不断把最新的在其中引用了最新的程序设计思想,并不断把最新的技术运用到技术运用到VBVB中。中。 使用嵌入式使用嵌入式VBVB语言语言VB for ApplicationVB for Application(VBAVBA)能对流行软件(如能对流行软件(如Microsoft OfficeMicrosoft Office、AutoDeskAutoDesk、AutoCADAutoCAD、Co
26、relDRAWCorelDRAW等)进行二次开发。等)进行二次开发。 7.4.1 Visual Basic7.4.1 Visual Basic概述概述启动启动VB6.0VB6.0和和“新建工程新建工程”对话框对话框 通常采用二种方法:通常采用二种方法: 一是使用一是使用“开始开始”/ /“程序程序”/“Microsoft Visual /“Microsoft Visual Basic 6.0”Basic 6.0”; 二是双击桌面上二是双击桌面上vb6.exe vb6.exe 的快捷方式。的快捷方式。VBVB的主窗口的主窗口 主窗口也称设计窗口。它由标题栏、菜单栏、主窗口也称设计窗口。它由标题栏
27、、菜单栏、“标标准准”工具栏、窗体设计器、工程资源管理器窗口、属工具栏、窗体设计器、工程资源管理器窗口、属性窗口、布局窗口、工具箱等组成。性窗口、布局窗口、工具箱等组成。 7.4.2 7.4.2 VBVB的集成开发环境的集成开发环境(1)(1)标题栏标题栏(2)(2)菜单栏菜单栏(3)“(3)“标准标准”工具栏工具栏窗体设计器窗体设计器工程资源管理器窗口工程资源管理器窗口属性窗口属性窗口工具箱窗口工具箱窗口窗体布局窗口窗体布局窗口代码窗口代码窗口立即窗口立即窗口 7.4.2 7.4.2 VBVB的集成开发环境的集成开发环境对象(对象(ObjectObject) 在在VBVB程序中,对象是指程序
28、中,对象是指VBVB可以访问的实体。如窗体、命令按可以访问的实体。如窗体、命令按钮、标签、文件、变量等等。钮、标签、文件、变量等等。 属性(属性(PropertyProperty) 在在VB6.0VB6.0中,建立了对象后,可以通过两种方法设置对象属中,建立了对象后,可以通过两种方法设置对象属性。性。 在程序设计状态,通过属性窗口对该对象的属性进行修改在程序设计状态,通过属性窗口对该对象的属性进行修改或设置。或设置。 在程序运行状态,通过程序中的语句动态地更改对象的属在程序运行状态,通过程序中的语句动态地更改对象的属性。语句的一般格式如下:性。语句的一般格式如下: 对象名属性名称新设置属性值对象名属性名称新设置属性值 7.4.3 7.4.3 面向对象程序设计面向对象程序设计方法方法(Method)(Method) 方法指的是对象所具有的动作和行为。方法指的是对象所具有的动作和行为。 方法只能在代码中使用,用下面的格式调用:方法只能在代码中使用,用下面的格式调用: 对象名方法名对象名方法名 参数参数 事件事件(Event)(Event) 在在VBVB中,事件就是中,事件就是VBVB预先设置好的能够被对象识别的动作。预先设置好的能够被对象识别的动作。 如如ClickClick(单击)、(单击)、DblClickDblClick(双击)、(双击)、LoadLoad(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 云南省反假币培训课件
- 保卫干部教育培训制度
- 仪表巡回检查制度
- 中百好物奖金制度
- 不良贷款清收制度
- 2026年株洲市炎陵县财政局、县审计局公开招聘专业人才备考题库完整答案详解
- 2025-2030智能材料产业发展分析及政府战略规划实施研究报告
- 大车安全管理课件下载
- 2026年石狮市人民政府湖滨街道办事处公开招聘编外工作人员备考题库及答案详解1套
- 2025至2030中国功能性食品原料创新开发与消费者接受度分析报告
- 小区配电室用电安全培训课件
- 医院科室文化建设与礼仪
- 2025贵州磷化(集团)有限责任公司12月招聘笔试参考题库及答案解析
- 征信修复合同范本
- 2025年公安部遴选面试题及答案
- 中煤集团机电装备部副部长管理能力考试题集含答案
- 化工厂设备维护保养培训
- 福建省网络安全事件应急预案
- 五育融合课件
- 意识障碍的判断及护理
- 储能电站安全管理与操作规程
评论
0/150
提交评论