![《程序设计算法》word版_第1页](http://file4.renrendoc.com/view/933d4f27b098676969544820d4470d78/933d4f27b098676969544820d4470d781.gif)
![《程序设计算法》word版_第2页](http://file4.renrendoc.com/view/933d4f27b098676969544820d4470d78/933d4f27b098676969544820d4470d782.gif)
![《程序设计算法》word版_第3页](http://file4.renrendoc.com/view/933d4f27b098676969544820d4470d78/933d4f27b098676969544820d4470d783.gif)
![《程序设计算法》word版_第4页](http://file4.renrendoc.com/view/933d4f27b098676969544820d4470d78/933d4f27b098676969544820d4470d784.gif)
![《程序设计算法》word版_第5页](http://file4.renrendoc.com/view/933d4f27b098676969544820d4470d78/933d4f27b098676969544820d4470d785.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.;第四章 程序设计算法本章教学目标:使学生理解和掌握程序设计的概念,掌握程序的顺序结构、选择和分支结构、循环结构。本章学习内容:Visual Basic语言与其它任何程序设计语言一样,都要涉及到程序设计的算法问题。本章中将介绍Visual Basic程序设计的基本语句以及程序设计的一般过程和方法。主要内容有:算法的概念、程序的顺序结构、分支结构和循环结构。本节教学内容:讲授45分钟4.1算法的概念一、程序设计的概念计算机之所以能够进行科学计算和信息处理,是由于人们事先确定了处理问题的方法和步骤,并将这些方法和步骤编写成计算机能识别的执行过程的先后顺序指令。执行时,计算机是按照人们事先确定的方
2、案,按照指定的顺序步骤执行,才能得到正确的结果。这种确定方案、编写计算机执行过程顺序的工作称为程序设计。通过前面的学习,我们已经知道:Visual Basic的程序设计是一种可视化的程序设计语言。可视化的程序设计的一般步骤是:工程分析对象设置编写程序代码调试和修改。1、工程分析工程分析就是对所处理的问题进行分析,主要是搞清楚所给定的已知数据和条件,弄清楚要解决或求知什么问题或要得出什么样的处理结果数据(包括数据本身和数据输出的形式)。根据问题的类型和内容,找出解决问题所遵循的物理规律,若是数值计算问题,要建立数学模型。2、界面设置界面设置是根据工程分析,确定工程的外观,恰当合理地利用VB系统提
3、供的对象工具和控件在窗体视窗中设计和布局出好的用户交互界面。3、编写程序代码编写程序代码是拟订有关计算机进行运算操作的算法步骤。如已知数据输入的先后顺序、输入数据的方法;输出数据和信息的计算顺序、计算方法和输出方式;用什么办法来引导计算机对不同过程的运行操作等。不同的问题其算法步骤有很大不同。有的问题可以使用简单的顺序结构就可以完成;有的问题在不同的条件下可能需要不同的处理方法,这就需要用到选择结构或分支结构;当对于有些问题可能需要计算机依据某一规律进行多次重复的操作时,就需要用到循环结构或重复结构;在大批量数据处理时,可能还需要进行筛选或排序等算法。在编写一个工程的程序代码之前,先用某种算法
4、语言拟订计算机的操作步骤是一个很好的措施。一个合理优化的算法可以达到事半功倍的效果。最常使用的算法语言是流程框图算法。4、调试和修改调试和修改,一般来说,一个程序的设计不一定会一次成功,往往需要进行多次的调试和修改才能完成。程序的调试和修改就是在基本设计完成后,用适合的数据来运行程序,对程序运行过程中发现的问题进行反复修改,直至运行的结果与所要解决问题的要求相符合。二、流程框图起止框一般处理框判断框输入输出框流程线连接点流程线流程框图是指使用带有方向的线段把不同形状的框图连接而成的有序图形。常用的传统流程框图的基本流程图符号如下图所示。1、起止框,表示算法流程的开始和结束2、一般处理框,主要用
5、来表示“赋值”计算等类操作3、输入输出框,表示对数据输入输出的操作。4、判断框,表示让计算机根据判断给定的条件的是否成立决定执行两种操作中的哪一种。5、流程线,用箭头表示程序执行的流向6、连接点,表示两个具有同一标记的连接点应连接在一起,通常用于一个流程图被分划成几个子图或流程线断开。4.2 程序的顺序结构一、赋值语句在程序设计中,通常是应用常量或变量编写程序语句,同时在程序设计时或运行时对变量进行赋值。赋值语句由变量名、赋值运算符()和某种类型的表达式组成。赋值语句的一般格式为:Let 变量=表达式或:Let对象名.属性=表达式赋值语句有两个基本功能:对表达式进行计算和保存表达式的值。通常,
6、Let关键字通常可被省略。赋值语句被执行时,它先对赋值运算符右边的表达式进行计算,然后将结果存储在运算符左边的变量中。若事先定义了变量的类型,变量的类型和表达式计算结果的值必须相匹配。例如,字符串常量或字符串表达式的值不能存储在一个整型变量或一个双精度实数型变量中。如果数据类型相关但不完全相同,则VB会将数据类型进行转换。例如,希望在一个浮点变量中存储一个整型值、VB会将表达式计算的结果转换为该变量类型。如果将一个表达式的计算结果存储在一个变体变量中,则VB会保存表达式的类型,即将变体变量的类型设置为表达式计算结果的类型。变体变量既保存表达式计算结果的值,又保存表达式计算结果的类型。以下的赋值
7、语句是合法的赋值语句:XX+1TNow Now为时间函数Y=SIN(X)+COS(X)S$= 计算机应用专业以下赋值语句是不合法的赋值语句:1091赋值符左边不能是常量;是错误的。数字和字符串不能进行加法运算。X=”学校”+12345 是错误的。同一行内有多个语句,语句间用冒号“:”分隔。如:A=5:B=A+5:C=2*A+B二、顺序结构程序的顺序结构是指:按程序中语句的先后顺序执行。任何程序,总的来说都要遵循顺序结构。程序的流程见下图:开始语句语句1语句2结束语句1、End结束语句计算机一旦执行到此语句,就结束计算机对该程序的执行,返回到Windows系统;若是在调试运行状态则返回到VB系统
8、设计界面,严格说来,它不属于顺序结构语句。2、注释语句为了方便理解程序中语句的意思,可用注释语句来说明。(1)Rem说明或注释内容在VB的程序中可以加入注释,而且可以加在程序的任何地方。程序的注释方法是在注释内容前加Rem关键字(2)一个单引号()作为注释符。例子:rem 计算一个角度的正弦DIM a AS SingleY=SIN(a) 计算a的正弦值,a为弧度。Print Y3、Print显示或输出语句(1)Print语句的语法:Print 变量|表达式,|;对象.Print 表达式,|; 对象是图片框、打印机。(2)该语句的作用:能够把“输出内容”显示或输出到一个对象上。内容的输出格式后面
9、会讲到。Print语句有计算功能,在输出多个表达式,各表达式间用“,|;”分隔。例子:Print ”Visual Basic 6.0”,”计算结果”; 123+456 输出三项Print 输出一空行(3)与Print语句有关的函数:Tab函数格式:Tab(n)功能:在指定位置上输出。例子:Print Tab(8);”姓名”; Tab(16);”性别”; Tab(24);”年龄”;格式输出函数格式:Format$(数值表达式,格式字符串)功能:按一定格式输出例子:a=123456789b=12/24Print format$(a,”0000000000”) 前面补0Print format$(a
10、,”#,#,#.00”) 分节与小数点Print format$(b,”%”) 输出百分数Print format$(a,”-#”) 输出负数Print format$(2345,”#E+5”) 输出浮点数4、Cls清除命令格式:对象.Cls作用:清除对象内容例子:Picture1.Cls 清除图片框内容Cls 清除窗体内容4.3 程序的选择结构与多分支结构一、选择结构Visual Basic的选择结构程序是应用“行IF”语句和“块IF”语句来实现的。1、行IF语句语句格式1:If 条件 Then Else 功能:判断条件,为真则执行语句体1,否则执行语句体2。然后执行下面的语句。语句格式2:
11、If 条件 Then 功能:判断条件,为真则执行语句体;否则执行后面的语句。两种语句格式的流程图见下图:Flase语句条件后续语句前一语句TrueTrue语句1条件语句2后续语句前一语句FlaseFlase例子:在窗体上设置三个命令按钮,当点击其中一个时,另两个即失效。程序如下:Private Sub Form_Click()Command1.Enabled = True Command2.Enabled = TrueCommand3.Enabled = TrueEnd SubPrivate Sub Command1_Click() If Command1.Enabled = True The
12、n Command2.Enabled = False: Command3.Enabled = FalseEnd SubPrivate Sub Command2_Click() If Command2.Enabled = True Then Command1.Enabled = False: Command3.Enabled = FalseEnd SubPrivate Sub Command3_Click() If Command3.Enabled = True Then Command1.Enabled = False: Command2.Enabled = FalseEnd Sub2、块If
13、 语句(1)语句格式:If 条件 Then 语句块1Else 语句块2End If(2)功能:判断条件,若条件为真,执行语句块1;条件为假,执行语句块2。即在两个语句块中选择一个。程序流程见下图:True语句1条件语句2后续语句前一语句Flase例子:设计一个程序,计算一元二次方程的实数根。Dim a As StringDim b As StringDim c As StringPrivate Sub Form_Load() Label2.FontSize = 10End SubPrivate Sub Command1_Click() a1 = InputBox$(输入参数A的值) a2 =
14、InputBox$(输入参数B的值) a3 = InputBox$(输入参数C的值) a = Val(a1) b = Val(a2) c = Val(a3) q = b * b - 4 * a * c If a = 0 Then End Else If q 0 Then X1 = (-b + Sqr(q) / (2 * a) X2 = (-b - Sqr(q) / (2 * a) Label2.Caption = X1= + Str$(X1) + + X2= + Str$(X2) Else If q = 0 Then X1 = -b / (2 * a) X2 = X1 Label2.Capti
15、on = X1=X2= + Str$(X1) Else Label2.Caption = 无实数根! End If End If End IfEnd SubPrivate Sub Command2_Click() EndEnd Sub讲授35分钟:3、带Elseif子句的If语句(1)语句格式If 条件1 Then 语句块1Elseif 条件2 Then 语句块2Elseif 条件3 Then 语句块3 Else 语句块nEnd If(2)语句功能条件k(k=1,2,3 )成立,执行语句块k(k=1,2,3 ),否则执行语句块n。程序执行的流程见下图:语句2条件2语句1后续语句前一语句前面的条
16、件均为假语句n条件1TrueTrue例子:设计一个程序,从键盘上输入成绩,统计60分以下,60-75,75-90,90分以上的学生数,并计算及格与不及格的人数及平均分数。程序界面见下图所示:程序代码:Dim n, n1, n2, n3, n4 As IntegerDim A, T As SinglePrivate Sub Command1_Click()n = 0: n1 = 0: n2 = 0: n3 = 0: n4 = 0: A = 0: T = 0 msg$ = 输入分数(-1结束) msgtitle$ = 输入数据start: x = InputBox(msg$, msgtitle$)
17、 If x 100 Then GoTo finish Else T = T + x n = n + 1 If x 60 Then n1 = n1 + 1 ElseIf x 75 Then n2 = n2 + 1 ElseIf x = 60, 及格, 不及格) Text1.Text = yEnd Sub二、多分支结构Visual Basic语言中,多分支结构是通过情况语句实现的。1、情况语句的格式Select Case 测试表达式Case 表达式1语句块1Case 表达式2语句块2 Case 表达式n语句块nCase Else语句块n+1End Case2、语句执行的说明(1)程序运行时会判断哪
18、个“表达式”与“测试表达式”相符,若相符则执行“表达式”后面的语句块。可见:这种程序结构与前面的带Elseif子句的If语句类似.(2)有三种描述形式第一:可以是单值常量(数值或字符串) 例:输入一个月份值,显示该月的天数(不考虑闰年)。Dim Month As IntegerDim x As StringPrivate Sub Form_Load() Text1.FontSize = 18End SubPrivate Sub Command1_Click() Month = InputBox(输入月份数:) Select Case Month Case 1, 3, 5, 7, 8, 10, 12 x = 本月有31天。 Case 4, 6, 9, 11 x = 本月有30天。 Case 2 x = 本月有28天。 Case Else x = 输入数值错误! End Select Text1.Text = xEnd SubPrivate Sub Command2_Click() EndEnd Sub第二:条件是一个用TO说明的数值范围例:输入一个考试分数(百分制),判断该分数是优秀(90-100),良好(80-90),中(70-80)及格(60-70),不及格(60以下)。Dim x As SingleDim a As Strin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度豪华办公室租赁及商务接待服务合同
- 电子产品运输保险合同模板
- 工程管理与规范操作指导手册
- 投资融资协议书
- 工副业承包经营合同
- 农产品国际贸易与合作指南
- 个人租房合同协议书
- 原始股权转让协议书
- 承包注塑机维修合同
- 销售服务费合同
- 劳动合同薪酬与绩效约定书
- 消除医疗歧视管理制度
- JT-T-1180.2-2018交通运输企业安全生产标准化建设基本规范第2部分:道路旅客运输企业
- 2024交管12123驾照学法减分必考题库附答案
- 脑脊液常规检查
- 2024年苏州经贸职业技术学院单招职业适应性测试题库附答案
- 柴油机油-标准
- 监狱安全课件
- 《初三开学第一课 中考动员会 中考冲刺班会》课件
- 慢性萎缩性胃炎的护理查房
- 住院医师规范化培训临床实践能力结业专科技能考核(全科医学科)妇科检查及分泌物留取
评论
0/150
提交评论