程序的控制结构.docx

上传人:b****1 文档编号:2768694 上传时间:2023-05-04 格式:DOCX 页数:23 大小:387.98KB
下载 相关 举报
程序的控制结构.docx_第1页
第1页 / 共23页
程序的控制结构.docx_第2页
第2页 / 共23页
程序的控制结构.docx_第3页
第3页 / 共23页
程序的控制结构.docx_第4页
第4页 / 共23页
程序的控制结构.docx_第5页
第5页 / 共23页
程序的控制结构.docx_第6页
第6页 / 共23页
程序的控制结构.docx_第7页
第7页 / 共23页
程序的控制结构.docx_第8页
第8页 / 共23页
程序的控制结构.docx_第9页
第9页 / 共23页
程序的控制结构.docx_第10页
第10页 / 共23页
程序的控制结构.docx_第11页
第11页 / 共23页
程序的控制结构.docx_第12页
第12页 / 共23页
程序的控制结构.docx_第13页
第13页 / 共23页
程序的控制结构.docx_第14页
第14页 / 共23页
程序的控制结构.docx_第15页
第15页 / 共23页
程序的控制结构.docx_第16页
第16页 / 共23页
程序的控制结构.docx_第17页
第17页 / 共23页
程序的控制结构.docx_第18页
第18页 / 共23页
程序的控制结构.docx_第19页
第19页 / 共23页
程序的控制结构.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

程序的控制结构.docx

《程序的控制结构.docx》由会员分享,可在线阅读,更多相关《程序的控制结构.docx(23页珍藏版)》请在冰点文库上搜索。

程序的控制结构.docx

程序的控制结构

第四章VB程序的控制结构

4.1 算法概论

1.算法的概念

  算法:

指用计算机解决某一问题的方法和步骤。

  数值算法:

用于解决一般数学解析方法难以解决的问题,如:

求超越方程的根、求定积分、解微分方程等。

    非数值算法:

用于对非数值信息进行查找、排序等。

2.算法的特征

 

(1)确定性:

指算法的每个步骤都应确切无误,没有歧义。

 

(2)可行性:

指算法的每个步骤必须是计算机能够有效执行、可以实现的,并可得到确定的结果。

 (3)有穷性:

指一个算法应该在有限的时间和步骤内可以执行完毕的。

 (4)输入性:

指一个算法可以有0或多个输入数据。

 (5)输出性:

指一个算法必须有一个或多个输出结果。

3.算法的评价

  主要评价指标是:

算法是否正确、运行的效率、占用系统资源的多少。

4.算法的描述

  一般常用流程框图来描述算法。

图形符号

名称

代表操作

输入/输出

数据的输入与输出

处理

各种形式的数据处理

判断

判断选择,根据条件满足与否选择不同路径

起止

流程的起点与终点

特定过程

一个定义过的过程

流程线

连接各个框图,表示执行顺序

连接点

表示与流程图其他部分相连接

5.基本算法结构

 “结构化程序设计方法”规定算法有三种基本结构:

顺序结构、选择结构和循环结构

 

6.算法示例

 

(1)     

 

 欧几里德算法——求两个自然数的最大公约数

  

 

(2)顺序查找算法——在N个字符串集合中,查找有无特定的字符串存在

 

 

 

4.2 顺序结构

 1. 赋值语句

     赋值语句是任何程序设计中最基本的语句,赋值语句都时顺序执行的。

赋值语句的形式为:

     变量名=表达式

    它的作用是计算右边表达式的值,然后赋给左边的变量,表达式的类型应该与变量名的类型一致。

 2.使用说明

  

(1)当表达式为数值型而与变量精度不同时,强制转换成左边变量的精度;

  

(2)当表达式是数字字符串,左边变量是数值类型,自动转换成数值类型再赋值,但当表达式中有非数字字符或空串,则出错。

  (3)任何非字符类型赋值给字符类型,自动转换为字符类型;

  (4)当逻辑型赋值给数值型时,True转换为-1,False转换为0;反之,非0转换为True,0转换为False;

  (5)赋值号左边的变量只能是变量,不能是常量、常数符号、表达式,否则报错;

  (6)不能在一句赋值语句中,同时给各变量赋值;

  (7)在条件表达式中出现的=是等号,系统会根据=号的位置,自动判断是否为赋值号;

  (8)注意N=N+1是累加中常见的赋值语句,表示将N变量中的值加1后再赋值给N。

N

执行了N=N+1后

N

5

6

4.3  选择结构(或称分支结构)

1.1.IF条件语句

 

(1)If……Then语句(单分支结构F)

   语句形式:

    1)If<表达式>Then

        语句块

      EndIf

    2)If <表达式> Then <语句>

     说明:

表达式一般为关系表达式、逻辑表达式,也可以为算术表达式,非0为True,0为False;

语句块可以是一句或多句,若用2)表示,则只能是一句语句,若多句,语句间需用冒号分隔,而且必须在一行上书写。

     例:

已知两个数x和y,比较它们的大小,使得x大于y:

     方法一:

 if x

            t=x

           x=y

           y=t

         endif

    方法二:

 if x

x=y:

y=t

      注意:

将两个变量中的数进行交换时,必须借助于第三个变量才能实现。

(2)If……Then……Else语句(双分支结构)

 语句形式:

                                   

 1)If <表达式> Then

     <语句块1>

   Else

     <语句块2>

   EndIf

2)If <表达式> Then <语句1> Else <语句2>

例:

x2-5    x≠0

3x+2   x=0

 

 

(3)If……Then……ElseIf语句(多分支结构)

语句形式:

                              

 If <表达式1> Then

    <语句块1>

   ElseIf <表达式2> Then

     <语句块2>

     ……

     [Else 语句块n+1]

 EndIf

注意:

   1)不管有几个分支,程序执行了一个分支后,其余分支不再执行;

   2)ElseIf 不能写成Else If

  3)当多分支中有多个表达式同时满足,则只执行第一个与之匹配的语句块

  例:

已知变量strC中存放了一个字符,判断该字符是字母字符、数字字符还是其他字符。

(4)    If语句的嵌套

    If语句的嵌套是指if或else后面的语句块中又包含If语句。

语句形式:

     If <表达式1> Then

    If <表达式11> Then

       ……

    EndIf

       ……

   EndIf

 注意:

  1)对于嵌套结构,为了增强程序的可读性,应该采用缩进形式书写;

  2)If语句形式若不在一行上书写,必须与EndIf配对,多个if嵌套,EndIf与它最接近的EmdIf配对。

 例:

已知x、y、z三个数,比较它们的大小并排序,使得x>y>z.

2.SelectCase语句(情况语句)  是多分支语句的又一种形式,语句形式:

  SelectCase 变量或表达式

      Case 表达式列表1

          语句块1

      Case 表达式列表2

         语句块2

          ……

     [CaseElse

            语句块n+1]

  EndSelect

 说明:

1)变量或表达式可以是数值型或字符串表达式

       2)表达式列表I可以是表达式、一组用逗号分隔的枚举值、表达式1to表达式2、Is关系运算符表达式;如:

case 1to10 、  case "a","w","e","t" 、case 2,4,6,8,is>10

       3)并不是所有的多分支结构都可以用情况语句代替的。

  例:

已知输入某课程的百分制成绩mark,要求显示对应五级制的评定,评定条件如下:

及格

不及格

80≤mark<90

70≤mark<80

60≤mark<70

60≤mark<70

60<mark

 

3.条件函数

 

(1)if函数

   函数形式:

Iif(表达式,当条件为True时的值,当条件为False时的值

   例:

求X、Y中大的数,并放入变量Tmax中:

  Tmax=Iif(X>Y,X,Y)

 

(2)Choose函数

   函数形式:

Choose(整数表达式,选项列表)

  如果整数表达式的值是1,则选择列表中的第1项,依次类推;如果小于1或大于列表项数时,则返回NULL。

  例:

根据nub为1-4的值,换算成不同的运算符:

OP=Choose(nub,“+”,“-”,“×”,“÷”)

 4.3 循环结构

循环是在指定的条件下多次重复执行一组语句。

VB中提供了两种类型的循环语句:

计数循环语句和条件型循环语句

1. For循环语句(知道循环次数的计数型循环)

  语句形式:

For 循环变量=初值To终值 [Step 步长]

          语句块

      [ExitFor]

         语句块

       Next 循环变量

 说明:

1)循环变量必须为数值型

    2)步长一般为正,初值小于终值;若为负,初值大于终值;缺省步长为1;

    3)语句块可以是一句或多句语句,称为循环体;

    4)ExitFor表示当遇到该语句时,退出循环体;

      执行Next的下一句;

              循环次数=int((终值-初值)/步长+1)

    5)退出循环后,循环变量的值保持退出时的值;

    6)在循环体内对循环变量可多次引用,但不要对其赋值,否则影响结果。

例1:

计算1~N的奇、偶数之和。

(N为自然数)    例2:

打印ASCII码表

2. Do……Loop循环(不知道循环次数的条件型循环)

  是用于控制循环次数未知的循环结构,语法形式有两种:

  形式1:

DoWhile……Loop

     Do[While|Until条件]

           语句块

    [Exit Do]

           语句块

    Loop

形式2:

Do……LoopWhile

    Do

      语句块

   [Exit Do]

      语句块

   Loop [While|Until条件]

 说明:

  1)形式1为先判断后执行,有可能一次也不执行;

  2)形式2为先执行后判断,至少执行一次;

   3)关键字While用于指明条件为真时就执行循环体中的语句,Until刚好相反;

  4)当省略了While|Until条件字句,即循环结构仅由Do……Loop关键字构成时,表示无条件循环,这时循环体内应该有ExitDo语句,否则为死循环;

  5)ExitDo语句表示当遇到该语句时,退出循环,执行Loop的下一语句。

 例:

我国现有人口13亿,按人口年增长率0.8%计算,多少年后我国人口超过26亿。

  计算公式26=13(1+0.008)n

  图中的例子是按可变增长率和预计总人口数设计的。

3.循环的嵌套

指在循环体内又包含了一个完整的循环结构。

循环嵌套对For循环和Do……Loop循环均适用。

例:

打印九九乘法表

4.4  其它辅助控制语句

1.GoTo语句

  语句形式:

GoTo标号|行号

 说明:

(1)GoTo语句只能转移到同一过程的标号或行号处;标号是一个字符系列,首字符必须为字母,与大小写无关,任何转移到的标号后面必须有冒号:

;行号是一个数字序列;

   

(2)以前BASIC中常用此语句,可读性差;现在要求尽量少用或不用,改用选择结构或循环结构来代替。

2.Exit语句

    用于退出某控制结构的执行,VB的Exit语句有多种形式,如:

  ExitFor(退出For循环)

  ExitDo (退出Do)循环)

  ExitSub(退出子过程)

  ExitFunction(退出函数)

3.End语句

  独立的End语句用于结束一个程序的执行,可以放在任何事件过程中,形式为:

End

 VB的End语句还有多种形式,用于结束一个过程或块,如:

  EndIf   EndWith  EndType  EndSelect    EndSub   EndFunction

4.With语句

 它的作用是可以对某个对象执行一系列的语句,而不用重复指出对象的名称。

但不能用一个With语句设置多个不同的对象。

属性前面需要带点号“·”。

 语句形式如下:

 With 对象名

            语句块

         EndWith

例:

With form1

   .Height=3000

   .Width=4000

   .BackColor=RGB(255,0,0)

 EndWith

4.5  程序调试

1.VB的调试工具

(1)设置自动语法检查

  打开工具菜单→单击选项命令→选择编辑器页面→将自动语法检测勾上。

(2)利用VB调试工具栏

  利用该工具栏可以运行程序、中断运行、在程序中设置间断点、监视变量、单步调试、过程跟踪等操作。

2.VB的三种模式

(1)设计模式

   在设计模式下可以进行程序的界面设计、属性设置、代码编写等,标题栏上显示“设计”,在此模式下不能运行程序,也不能使用调试工具。

(2)运行模式

   执行“运行”菜单中的“启动”命令或单击工具栏上的启动按钮或按F5键,即由设计模式进入运行模式,标题栏显示“运行”,在此阶段可以查看程序代码,但不能修改。

若要修改,必须单击工具栏上的“结束”按钮,回到设计模式,也可以选择“中断”按钮,进入中断模式。

(3)中断模式

  当程序运行时单击了“中断”按钮,或当程序出现运行错误时,都可以进入中断模式,在此模式下,运行的程序被挂起,可以查看代码、修改代码、检查数据。

修改结束,单击“继续”按钮可以继续程序的运行,也可以单击“结束”按钮停止程序的执行。

3.常见错误

(1)编辑时错误

  当用户在代码窗口编辑代码时,VB会对程序进行语法检查,当发现语句没有输完、关键字输错等情况时,系统会弹出对话框,提示出错,并在错误处加亮显示,以便用户修改。

(2)编译时错误

  是指用户单击了“启动”按钮,VB开始运行程序前,先编译执行的程序段时产生的错误,此错误是由于用户未定义变量、遗漏关键字等原因而产生的。

发现错误时系统会停止编译,提示用户修改。

(3)运行时错误

  指VB在编译通过后,运行代码时发生的错误,一般是由于指令代码执行了非法操作引起的,如:

数据类型不匹配、试图打开一个不存在的文件等。

系统会报错并加亮显示、等候处理。

(4)逻辑错误

  如果程序运行后得不到所希望的结果,则说明存在逻辑错误。

如:

运算符使用不正确,语句的次序不对、循环语句的起始、终值不正确。

这种错误系统不会报错,需要用户自己分析判断。

4.程序调试方法

(1)进入/退出中断状态

  进入中断状态有四种方法:

  1)程序运行时发生错误自动进入中断

  2)程序运行中用户按中断键强制进入中断

  3)用户在程序中预先设置了断点,程序执行到断点处即进入中断状态

  4)在采用单步调试方式,每运行一个可执行代码后,即进入中断状态。

(2)利用调试窗口

  1)立即窗口

   

   这是调式窗口中使用最方便、最常用的窗口。

可以在程序中用Debug.Print方法,把输出送到立即窗口,也可以在该窗口中直接使用Print语句或?

显示变量的值。

  2)  本地窗口

    该窗口显示当前过程中所有变量的值,当程序的执行从一个过程切换到另一个过程时,该窗口的内容发生改变,它只反映当前过程中可用的变量。

  3) 监视窗口

   该窗口可显示当前的监视表达式,在此之前必须在设计阶段,利用调试菜单的“添加监视命令”或“快速监视”命令添加监视表达式以及设置的监视类型在运行时显示在监视窗口,根据设置的监视类型进行相应的显示。

(3)插入断点和逐句跟踪

   在调试程序时,通常回设置断点来中断程序的运行,然后逐句跟踪检查相关变量、属性和表达式的值是否在预期的范围内。

 可在中断模式下或设计模式时设置或删除断点,在代码窗口选择怀疑存在问题的地方作为断点,按下F9键,则程序运行到断点处即停下,进入中断模式,在此之前所关心的变量、属性、表达式的值都可以看到。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2