江苏省高校计算机等级考试命题研究院 江苏省高校计算机等级考试辅导

3. 条件函数

 (1)if函数

    函数形式: Iif(表达式,当条件为True时的值当条件为False时的值
   
例:求XY中大的数,并放入变量Tmax中:   Tmax=IifX>Y, X, Y

 (2)Choose函数

    函数形式:Choose(整数表达式,选项列表)
   如果整数表达式的值是1,则选择列表中的第1项,依次类推;如果小于1或大于列表项数时,则返回NULL
  
例: 根据nub1 -4的值,换算成不同的运算符: OP= Choosenub,“+”,“-”,“×”,“÷”)

第四章 VB程序的控制结构(重点概述)

第四章 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转换为 -1False转换为0;反之,非0转换为True0转换为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
        语句块
      End If

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

     说明表达式一般为关系表达式、逻辑表达式,也可以为算术表达式,非0True0False

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

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

     方法一:  if  x<y  then
             t=x
           
x=y
           
y=t
         
end if

    方法二:  if  x<y  then  t=x : x=y : y=t

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

(2)If……Then……Else语句(双分支结构)
  语句形式:                                    
  1If  <表达式>  Then
      <
语句块1>
   
Else
     
<语句块2>
    End If

2 If  <表达式>  Then  <语句1>  Else  <语句2>
例: x2 -5     x0
3x +2    x=0

 

 

(3)If……Then……ElseIf语句(多分支结构)
语句形式:                              
  If  <
表达式1>  Then

     <
语句块1>
    ElseIf  <
表达式2>  Then

      <
语句块2>
     
……
   
  [ Else 
语句块 n+1 ]
  End If

注意

   1)不管有几个分支,程序执行了一个分支后,其余分支不再执行;
   2ElseIf  不能写成Else  If
   3)当多分支中有多个表达式同时满足,则只执行第一个与之匹配的语句块

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

(4)     If语句的嵌套

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

      If  <表达式1>  Then
    
If  <表达式11>  Then
        ……
     End If
        ……
    End If

 注意:
   1
)对于嵌套结构,为了增强程序的可读性,应该采用缩进形式书写;
  
2If语句形式若不在一行上书写,必须与End If配对,多个if嵌套,End If与它最接近的Emd If配对。
  已知xyz三个数,比较它们的大小并排序,使得x>y>z.

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

  Select Case  变量或表达式
      
Case  表达式列表1

           语句块1
       Case  表达式列表2
       
  语句块2

           ……
      [Case Else

             语句块n+1]
  
End Select

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

        2表达式列表I 可以是表达式、一组用逗号分隔的枚举值、表达式1 to 表达式2Is关系运算符表达式;如:case  1 to 10     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