学学习网 手机版

学学习网

学习路径: 学习首页 > 应用开发 > vb >

第四节 算法概论

设置字体:
----------------------------------
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。

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

  1. IF条件语句
  (1)If……Then语句(单分支结构 F)
  语句形式:
  1)If <表达式> Then
    语句块
    End If
  2)If  <表达式>  Then  <语句>
  说明:表达式一般为关系表达式、逻辑表达式,也可以为算术表达式,非0为True,0为False;
  语句块可以是一句或多句,若用2)表示,则只能是一句语句,若多句,语句间需用冒号分隔,而且必须在一行上书写。
  例:已知两个数x和y,比较它们的大小,使得 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语句(双分支结构)
  
  语句形式:                                    
  1)If  <表达式>  Then
      <语句块1>
   Else
     <语句块2>
    End If 
  2) If  <表达式>  Then  <语句1>  Else  <语句2>

  例:  x2 -5     x≠0 
    3x +2    x=0
  (3)If……Then……ElseIf语句(多分支结构)
----------------------------------
课程列表
重点难点
赞助链接