欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    《算法和算法的表示》知识点总结.docx

    • 资源ID:29944276       资源大小:1.03MB        全文页数:28页
    • 资源格式: DOCX        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《算法和算法的表示》知识点总结.docx

    算法和算法的表示算法的概念算法就是对解题方法精确而完整的描述,即解决问题的方法和步骤。算法的特征1有穷性。一个算法必须保证它的步骤是有限的,即它是能终止的。2确定性。算法中的每个步骤必须有确切的含义,不能有二义性。3可行性。即算法中每一个步骤都要足够简单,是实际能做的,而且能在有限的时间内完成。4有0个或多个输入。5有一个或多个输出。算法的表示方法常用的算法表示方法主要有自然语言、流程图、伪代码、计算机语言四种方法。1自然语言:指人们在日常生活中使用的语言,用自然语言描述的算法通俗易懂,但缺乏直观性和简洁性,容易产生歧义。2流程图:它是算法的一种图形化表示方法,与自然语言相比,它的描述形象直观更容易理解。3伪代码:介于自然语言和计算机程序语言之间的一种算法描述,没有严格的语法限制。例如:If(明天不下雨)Then(我们骑车去郊游)表示“如果明天不下雨,那么我们骑车去郊游”。注:如果一种算法描述中即出现了自然语言,又出现了程序语言中的关键字(变量名不算关键字),则这种算法描述方法就是伪代码。4 计算机语言:完全使用程序语言(如:C、C+、VB、Java)来描述的表示方法。流程图的常用构件1处理框( ):框中指出要处理的内容。2输入输出框( ):用来表示数据的输入或计算结果的输出。3判断框( ):用来表示分支情况。4连接框( ):用于连接因画不下而断开的流程线。5流程线():指出流程控制方向,即动作的顺序。6开始、结束框( ):用来表示算法的开始和结束。一个算法只能由一个开始处,但可以有多个结束处。Visual Basic 6.0界面基本介绍Visual Basic 6.0 编程环境Visual Basic 6.0 工具箱在VB的工具箱中有各种各样的控件,其中:Label(标签)TextBox(文本框)CommandButton(按钮)ListBox(列表框)这四个控件的基本使用方法需要掌握注:Pointer(指针)不是一个控件,其他工具都是控件Visual Basic 6.0 窗体窗体的默认名字为Form1,其中的小点是供对齐用的,窗体就像一块画布,在这块画布上可以画出组成应用程序的各个控件。可以根据程序界面的要求,从工具箱中选择所需要的控件,并在窗体上画出来。VB的对象VB的对象是指具有特定属性和行为方式(方法)的实体。VB中的控件和窗体可以作为对象,提供给用户使用。Visual Basic 6.0 属性窗口 这是属性窗口的标题栏其中的“Form1”为当前对象的对象名。 这是对象框,可用于选择对象,其中的“Form1”为当前对象的对象名,“Form”为当前对象的类型,例如:图中显示的对象是一个窗体对象,它的名称为“Form1”。 这是属性窗口的属性栏,左边一栏是对象的属性名,里面显示当前选中对象的各个属性,如图中显示的是Form1的各个属性,右边一栏是每个属性的属性值。 这是属性窗口的说明栏,简要说明了每个属性的所表示的意义。Visual Basic 6.0 工程资源管理器工程资源管理用于显示当前工程中所包含的资源,其中资源又包括:窗体、模块、用户控件等 当前工程名为“工程1”,工程的保存文件名为“工程1.vbp” 当前的工程中只有一个窗体,窗体名为“Form1” 窗体的保存文件名为“Form1.frm”Visual Basic 6.0 代码窗口双击窗体上的控件,即可看到代码窗口,可以在里面写程序代码VB对象的三要素属性、方法、事件VB对象VB的对象是指具有特定属性和行为方式(方法)的实体。VB中的控件和窗体可以作为对象,提供给用户使用。VB 对象的属性属性是一个对象的特性,表示对象的状态,不同的对象有不同的属性。对象常见的属性有名称(Name)、标题(Caption)、颜色(Color)、字体大小(Fontsize)以及是否可见(Visible)等。可以在属性窗口设置对象的属性。注:名称(Name)、标题(Caption)和文本框控件的文本(Text)属性是经常需要用到的属性。设置对象的属性除了可以在属性窗口设置对象属性外,也可以在代码窗口中使用程序语句设置,一般格式如下:对象名.属性名 = 新设置的属性值例如,假定窗体上有一个文本框控件,其名字为Text1(对象名),它的属性之一是Text,用来在文本框中显示指定的内容。如果执行:Text1.Text="hello world"则修改名称为Text1的文本框控件的Text属性为“hello world”。这里,Text1是对象名,而字符串“hello world”是新设置的属性值。注:常用的对象与属性常用对象对象的类型常用的属性表示含义窗体FormCaption标题(左上角)显示文字文本框TextBoxText显示文字标签LabelCaption显示文字按钮CommandButtonCaption显示文字VB 对象的方法对象的方法:是指对象本身所具有的、反映该对象功能的内部函数或过程,即对象的动作。对象方法的调用格式:对象名.方法名(参数)方法的调用有一个优点:多个对象可以使用同一个方法。注:在对象名一点后面可能是属性名也可能是方法名,判断是属性名还是方法名的方法:在代码窗口输入对象名一点,会看到提示后面能输入的关键字,其中每个关键字前面都有一个标志,如下图所示:其中的Caption是属性名,Cls是方法名如果这个标志是“方框加手形”,则说明这个关键字是属性名,如果这个标志是“倾斜的橡皮擦”,则说明这个关键字是方法名。在对对象的属性进行设置或是调用对象的方法时,如果对象是当前窗体,那么语句格式中的对象名部分可省略,例如:若当前窗体的名字为Form1,则语句 Form1.Caption = "123"等价于Caption = "123"Visual Basic 对象的事件对象事件是对象发生的一件事情,通常是指用户的操作,例如Click(单击)、Load(加载)、MouseMove(鼠标指针移过)、Change(改变)等。对象的事件是系统预先定义好的。当某个对象的事件被触发时,该对象就会对此事件作出响应(Respond)。响应某个事件后所执行的操作通过执行一段程序代码来实现,这样的一段程序叫做事件处理过程。对象事件的一般格式如下:Private Sub 对象名_事件名() · · ·事件响应程序代码 · · ·End Sub这里的"对象名_事件名"称为事件处理过程名。注:代码窗口的上方有两个下列框(如下图所示),左边这一栏显示对象名,右边这一栏显示事件名,通过观察其中显示的内容即可判断当前正在编辑的事件处理过程,如下图中当前正在编辑的是Form_Load事件处理过程。Visual Basic 6.0的类这里的类是指对象的类型,是相同性质的对象的一种抽象,而一个对象则是类的一个“实例”。例如:窗体类(Form)、标签类(Label)等、文本框类(TextBox)。VB的基本数据类型数据类型名称中文名称说明Integer整型2字节存储,表示-3276832767之间的整数(类型说明符 %)Long长整型4字节存储,表示-21474836482147483647之间的整数(类型说明符 &)Single单精度实数型4字节存储,取值范围: (类型说明符 !)负数 -3.402823E+38 -1.401298E-45 (其中的E表示×10的几次幂)正数 1.401298E-453.402823E+38Double双精度实数型8字节存储,取值范围: (类型说明符 #)负数: 1.797693134862316E+308 -4.94065E-324正数:4.94065E-324 1.797693134862316E+308String字符串型一段文本或符号 (类型说明符 $)Boolean逻辑型True或FalseVB的标准函数函数名函数功能应用举例返回值Abs(X)求X的绝对值Abs(3.5)3.5Int(X)求不大于X的最大整数Int(4.1) Int(4.1)4 5Sqr(X)求X的算术平方根Sqr(6) Sqr(9)2.44948 3Rnd()产生大于等于0且小于1的随机数,函数在使用时括号可省略,默认产生小数Rnd0,1)之间的数Asc(X)字符转换成ASCII码值Asc("A")65Chr(X)ASCII码值转换成字符Chr(65)"A"Str(X)数值转换为字符串Str(123.45)"123.45"Val(X)数字字符串转换为数值Val("12") Val("-170")12 -170Len(X)字符串X长度Len("高等教育")4Mid(X,n,k)取字符串X中第n个字符起长度为k的子串Mid(" abcde " ,2,2)"bc"VB的常量变量及定义Visual Basic 的常量是在程序执行过程中其值不变的存储单元或数据。以数据形式出现的常量:一个数值,一段文本,一个逻辑值(True或False),或是一个日期,都是常量。不同类型的常量在VB中有不同的表示方式。例如:2,35.567,属于数字型的常量"123","AbcD","你好",属于字符串型的常量True和False 属于逻辑型的常量#12-23-2015# 属于日期型的常量注:在VB中字符串(文本)类型的数据要加双引号,日期类型的数据要加双井号。以存储单元形式出现的常量:有时我们使用Const关键字声明(定义)一个存储单元来存储某一种类型的数据。这个存储单元就称为常量。其中存储的数据就称为这个常量的值。此时我们需要为这个存储单元命名,例如:把一个存储单元命名为"box",那么"box"就是一个常量。Visual Basic 常量的声明(定义)常量声明的一般格式:Const 常量名 As 数据类型 = 表达式其中As是关键字,中括号里面的内容可以省略,下同常量名:存储数据的存储单元名称。 数据类型:说明存放的是什么类型的数据,如数值型、字符串型,逻辑型等。表达式:可以是一个具体的数据,也可以是一段程序语句表达式。注:一个常量在声明时必须要说明它的值(存储的数据),且它的值不能再改变Visual Basic 常量声明举例Const  A  As  String =  “今天学常量的使用”Const a As Integer = 1Const a = 1Const PI As Double = 3.14159265Const PI =3.14159265Const m As Integer = 3, k = m + 1Const yes As Boolean = TrueConst d As Date = #12/23/2015#Visual Basic 的变量VB中的变量是保存数据的“容器”;现实生活中,有很多存放东西的容器,比如箱子,这个箱子放衣服,另一个放鞋子。变量就像是箱子,我们可以把需要的数据,暂时的存放其内部,便于以后使用。变量内部存放的数据又叫做该变量的值。与常量不同的是,变量在声明后可以改变其值。Visual Basic 变量的声明(定义)定义变量的一般格式:Declare 变量名 As 数据类型这里的“Declare”可以是Dim,Static,Redim,Public,一般都是Dim变量名:存储数据的“容器”名称。例如:Dim Var As Integer'把Var定义为整型变量Dim Total As Double'把Total定义为双精度型变量注:一个变量在声明时无需说明它的值(存储的数据),且它的值可以发生变化用一个Dim可以定义多个变量,中间用逗号间隔例如:Dim Var1 As String, Var2 As Double'把Var1和Var2分别定义为字符串型和双精度型变量VB中变量的声明及作用域(有效范围)若一个变量定义在某一个事件处理过程中,则该变量的作用域仅在该事件处理过程内部。如果想让代码窗口中的所有事件处理过程都能引用同一个变量,则需要把变量声明在代码窗口的“通用_声明”处。如果使用关键字Dim在一个事件处理过程中定义了一个变量,那么在该事件处理过程执行完成之后,该变量的值会被重置为初始值。如果在代码窗口的“通用_声明”处定义了一个变量,那么引用该变量的事件处理过程执行完成之后,该变量的值被保留。类型说明符(简单了解)把类型说明符放在变量的尾部,说明变量的数据类型。其中%表示整型,&表示长整型,!表示单精度型,#表示双精度型,$表示字符串型。例如:Total%,Amount#,Name$。在引用该变量时,尾部的类型说明符可以省略。VB变量的命名规则给变量命名时应遵循以下原则:1变量由字母、汉字、数字、下划线等字符所组成,且第一个字符必须是英文字母或者是汉字,最后一个字符可以是类型说明符,变量名中不能有空格。2变量名当中不能包含+ - * / ! # ¥ ?小数点 类型说明符 等字符,且长度不能超过255。3不能用 Visual Basic 的保留字(保留字也称关键字,如:End、Len、Sub等)作为变量名,但可以把保留字嵌入变量名中,同时变量名也不能是末尾带有说明符的保留字。4Visual Basic不区分变量名和其他名字中字母的大小写,但习惯上,常量名一般用大写字母。VB的顺序结构顺序结构说明VB程序语句的执行顺序从上到下,从左到右。典型的程序语句有:一、基本语句(1)赋值语句赋值语句用于设定某个变量或对象的属性的值。赋值语句基本格式变量名 = 表达式或对象名.属性名 = 表达式说明:这里的等号称为“赋值号”,赋值语句是有方向性的,只能把赋值号右边的表达式的值赋给左边的变量(属性),在对变量赋值时变量的数据类型要与表达式的数据类型一致。注意:“=” 并不一定都表示赋值,VB系统会根据“=”所处的位置自动判断是何种意义的符号。赋值语句典型应用:交换两个变量a、b值(程序段)t = a: a = b: b = t说明:在写VB代码时可以在一行写一个语句,也可以在一行写多个语句,若在一行上写了多个语句,则相邻两个语句之间要用冒号分隔。(2)注释语句可以在单引号后写上注释内容表示对程序语句的解释说明,一般格式如下:'注释内容说明:注释语句的默认字体颜色是绿色的,注释语句不影响程序的运行。二、输出语句(1)直接输出到窗体语句格式窗体名.Print 输出的内容 ;|,说明:这里的Print是用于输出的关键字,是方法名。如果省略窗体名 ,则默认在当前窗体上输出。; (分号):光标定位在上一个显示的字符后。, (逗号):光标定位在下一个输出区域的开始位置。无;,时换行。(2)输出到文本框修改文本框的Text属性值为显示的内容,即可在将信息输出到文本框。例:Text1.Text = "hello world!"文本框上显示文本“hello world!”(3)利用“标签”控件输出修改标签的Caption属性值为显示的内容,即可在将信息在标签上显示。例:Label1. Caption = "hello world!"标签上显示文本“hello world!”(4)利用弹窗(MsgBox)函数输出Msgbox函数用于在弹窗显示输出内容,语句格式为:Msgbox ("输出的内容")或Msgbox "输出的内容" , 弹窗按钮类型, "弹窗标题"三、数据输入(1)使用“文本框控件”的数据输入在文本框的空白处输入内容,然后将一个变量赋值为文本框的Text属性值来存储输入的内容,赋值的一般格式为:变量名 = Text1.Text(2)使用“对话框”的数据输入VB的InputBox函数可以让用户在对话框里输入数据,可以将一个变量赋值为InputBox函数的返回值来存储输入的内容,赋值的一般格式为:变量名 = InputBox(提示信息 , 对话框标题)VB的分支结构VB的分支结构又称为选择结构,用于判断给定的条件,根据判断的结果来控制程序执行的流程。在VB中使用分支语句来描述分支结构的计算,使程序在执行过程中,根据不同的判断结果,选择执行不同的语句。其主要语句是IF语句。IF语句的两种常见格式:1IfThen2IfThenElseIfThen 语句:格式:If 条件表达式 Then 语句序列(不换行形式)或If 条件表达式 Then(换行形式)语句序列End If说明:使用IF语句时,要用条件表达式来描述条件,条件表达式的返回值是逻辑值:真(True)或假(False)若条件表达式为真,则执行Then后面的语句序列,否则执行下一条语句或“End If”之后的语句。IfThen 语句的流程图注:If语句的每个条件后面都有Then不换行形式的If语句称为行If语句,换行形式的If语句称为块If语句。如果一个If语句在一行内写完(行If语句),则最后没有End If;如果一个If语句没有在一行内写完(块If语句),则需要在最后加上End If。If语句中的条件表达式可以是关系表达式,也可以是数值表达式,若以数值表达式作为条件,则非0为真,0为假。IfThen 语句应用举例如果满足条件CJ<60时,输出“成绩不合格”,采用的IF语句为不换行形式换行形式(可写多行代码)If CJ < 60 Then Print "成绩不合格"If CJ < 60 Then Print "成绩不合格"Print "请准备补考"End IfIfThenElse 语句格式:If 条件表达式 Then 语句序列1 Else 语句序列2(不换行形式)或If 条件表达式 Then(换行形式)语句序列1Else语句序列2End If说明:若条件表达式为真,则执行语句序列1,否则执行语句序列2。IfThenElse 语句的流程图IfThenElse 语句应用举例比较两个数的大小(两数不相同),如果a < b,输出“a比b小”,否则输出“a比b大”采用的If语句为不换行形式换行形式(可写多行代码)If a < b Then Print "a比b小" Else Print "a比b大" If a < b ThenPrint " a比b小"Print "b比较大"ElsePrint " a比b大"Print "a比较大"End IfIf语句的嵌套在If语句的格式中Then和Else后面的语句序列也可以包含If语句换行形式与不换行形式之间的嵌套换行形式之间的嵌套If 条件表达式1 Then If 条件表达式2 Then 语句序列1Else 语句序列2End IfIf 条件表达式1 Then If 条件表达式2 Then 语句序列1 End IfElse 语句序列2End IfIf 条件表达式1 Then If 条件表达式2 Then 语句序列1 Else 语句序列2Else 语句序列3End IfIf 条件表达式1 Then If 条件表达式2 Then 语句序列1 Else 语句序列2 End IfElse 语句序列3End If多个行If语句的执行流程行If语句1代码部分流程图部分If 条件表达式1 Then 语句序列1If 条件表达式2 Then 语句序列2··· · · ·行IF语句2代码部分流程图部分If 条件表达式1 Then 语句序列1 Else 语句序列2If 条件表达式2 Then 语句序列3 Else 语句序列4··· · · ·含有ElseIf的块(换行形式)If语句格式:If 条件表达式1 Then'表示符合条件1,去执行语句序列1语句序列1ElseIf 条件表达式2 Then'表示不符合条件1,但符合条件2,去执行语句序列2语句序列2ElseIf 条件表达式n Then'表示不符合条件1、2n-1,但符合条件n,去执行语句序列n语句序列nElse'表示不符合条件1、2n,即以上条件都不符合,去执行语句序列n+1语句序列n+1End If块If语句的ElseIf语句部分和Else语句部分是可选的,匹配到了其中一个条件就不往下匹配块If语句流程图循环结构循环结构是一种按一定规则重复地去执行某些步骤的一种结构。Do While循环结构Do While循环是一种在给定条件成立时去执行的一种循环,当给定条件成立时,程序会重复地去执行一段语句序列,直到指定的条件不成立为止。Do While 循环结构流程图如图虚线内部就是需要重复执行的部分,即循环条件+循环体Do While循环在每次执行循环体语句前都要判断条件表达式是否成立,如果成立则会继续执行循环,否则会结束循环。Do While 循环结构语句格式Do While 条件表达式 Do循环体内部语句或 循环体内部语句Loop Loop While 条件表达式说明:先计算条件表达式的值,如果为真(True),则执行循环体内部语句,否则执行Loop之后的语句。每次执行到Loop时,就需要再次计算条件表达式的值,重复第步操作。在Do WhileLoop结构中,若有“Exit Do”语句,程序执行到此语句会跳出循环,执行Loop之后的语句。(第点学考不做要求)Do While循环又称为当型循环,是一种当条件表达式成立时去执行的循环。Do While循环结构的两种格式与执行流程格式一:“前测试”当型循环代码部分Do While 条件表达式循环体内部语句Loop流程图部分格式二:“后测试”当型循环代码部分Do循环体内部语句Loop While 条件表达式流程图部分Do While循环结构典型应用计算1+2+3+n的值代码部分流程图部分n = Val(Text1.Text) x = 1 Do While x <= n s = s + x x = x + 1 Loop Label1.Caption = Str(s)计算n阶乘(n!=1×2×3××n)的值代码部分流程图部分n = Val(Text1.Text)x = 1: s = 1Do While x <= n'这里的n值不宜过大,否则容易发生溢出 s = s * x x = x + 1Loop Label1.Caption = Str(s)逆序输出正整数(算术方法)实例算法描述:把正整数1234逆序输出算法思路:把1234的每位上的数字取出来,然后使用算术方法组成逆序输出的结果。算法过程:令x = 1234(x为要逆序输出的数字,s保存逆序输出的结果,初始值为0)第一步:取出x的个位数并存储在变量r中,令r = x mod 10 = 4,将x缩小10倍,取整数部分,令x = x 10 = 123,使用变量s表示逆序输出结果,令s = s * 10 + r = 4第二步:取出x的个位数并存储在变量r中,令r = x mod 10 = 3,将x缩小10倍,取整数部分,令x = x 10 = 12,使用变量s表示逆序输出结果,令s = s * 10 + r = 43第三步:取出x的个位数并存储在变量r中,令r = x mod 10 = 2,将x缩小10倍,取整数部分,令x = x 10 = 1,使用变量s表示逆序输出结果,令s = s * 10 + r = 432第四步:取出x的个位数并存储在变量r中,令r = x mod 10 = 1,将x缩小10倍,取整数部分,令x = x 10 = 0,使用变量s表示逆序输出结果,令s = s * 10 + r = 4321结合上述过程可知,重复执行的语句有r = x mod 10;s = s * 10 + r;x = x 10这三条,且当x不为0时重复执行这些语句代码部分x = Val(Text1.Text)Do While x'x为要逆序输出的正整数,当x不为0时去执行循环 r = x Mod 10'r为x每次除以10的余数 s = s * 10 + r'使用变量s表示逆序输出结果 x = x 10'在每次得到余数后,要把x缩小10倍,取整数部分LoopLabel1.Caption = Str(s)十进制转二进制实例算法描述:把十进制数10转换成二进制数算法思路:将十进制数10不停地去除以2,直到最后所得的商是0为止,再将每一步除法所得的余数连接起来。由于是将余数逆序输出得到结果的,所以要将每一步除法得到的余数,连接在上一步除法得到的余数的前面。算法过程:令x = 10(x为要转换的十进制数,s为字符串类型的变量,保存转换成二进制的结果,初始值为空)第一步:将x除以2的余数存储在变量r中,令r = x mod 2 = 0,使用变量s存储第一个余数,令s = Str(r) = "0"将x缩小2倍,取整数部分,令x = x 2= 5;第二步:将x除以2的余数存储在变量r中,令r = x mod 2 = 1,将余数r连接在上一步得到的结果s前面,令s = Str(r) + s = "10",将x缩小2倍,取整数部分,令x = x 2 = 2;第三步:将x除以2的余数存储在变量r中,令r = x mod 2 = 0,将余数r连接在上一步得到的结果s前面,令s = Str(r) + s = "010",将x缩小2倍,取整数部分,令x = x 2 = 1;第四步:将x除以2的余数存储在变量r中,令r = x mod 2 = 1,将余数r连接在上一步得到的结果s前面,令s = Str(r) + s = "1010",将x缩小2倍,取整数部分,令x = x 2 = 0。此时得到的商为0,转换过程结束。s即为转换结果"1010",从上述步骤中能看出,可以将第一步中的s = Str(r)替换为s = Str(r) + s,如果将这个表达式中间的字符连接符“+”替换为“&”,则无需使用Str函数将r转换成字符串。于是,该表达式也可替换为s = r & s。结合上述过程可知,重复执行的语句有r = x mod 2、s = Str(r) + s、x = x 2这三条,且当x不为0时重复执行这些语句。代码部分x = Val(Text1.Text)Do While x'x为要转换的十进制正整数,当x不为0时去执行循环 r = x Mod 2'r为x每次除以2的余数 s = Str(r) + s'也可写成s = r & s,将每一次除以2所得的余数连接在上一次除法得到的余数之前 x = x 2'在每次得到余数后,要把x除以2,取整数部分LoopLabel1.Caption = s将十进制转二进制的结果取反(即0变为1,1变为0)代码部分x = Val(Text1.Text)Do While x r = (x + 1) Mod 2'这步实现对x除以2的余数取反,也可替换为r = 1x Mod 2 s = r & s x = x 2 LoopLabel1.Caption = s求两数的最大公约数(辗转相除法)实例算法描述:求25和15的最大公约数算法思路:(1)用较大的数(25)除以较小的数(15),判断余数是否为0。(2)如果是,则较小的数为最大公约数,否则令较大的数为较小的数,令较小数为余数,转到(1)。算法过程:设a为较大的数,a = 25,b为较小的数,b = 15。第一步:用较大的数除以较小数,用变量r存储余数,r = a Mod b = 10。余数不为0,继续执行算法。第二步:令较大的数为较小的数,即a = b = 15,令较小的数为余数,即b = r = 10,用较大的数除以较小的数,用r存储余数,r = a Mod b = 5,余数不为0,继续执行算法。第三步:令较大的数为较小的数,即a = b = 10,令较小的数为余数,即b = r = 5,用较大的数除以较小的数,用r存储余数,r = a Mod b = 0,余数为0,算法结束。结合上述过程可知,首先执行第一步,r = a mod b,判断a是否能被b整除,当a不能被b整除时,重复执行a = b 、b = r、r = a Mod b这三条语句,且当r不为0时重复执行这些语句。最后b的值就是a和b的最大公约数。代码部分a = Val(Text1.Text)b = Val(Text2.Text)r = a Mod bDo While r < > 0a = bb = rr = a Mod bLoopLabel1.Caption = Str(b)求两数的最大公约数(更相减损术)实例算法描述:求25和15的最大公约数算法思路:(1)用较大的数(25)减去较小的数(15),判断差是否为0。(2)如果是,则较大的数或较小的数为最大公约数,否则令较大的数为较小的数,令较小数为差,执行(1)。算法过程:设a为较大的数,a = 25,b为较小的数,b = 15。第一步:用较大的数减去较小数,用变量r存储差,r = a - b = 10。差不为0,继续执行算法。第二步:令较大的数为较小的数,即a = b = 15,令较小的数为差,即b = r = 10,用较大的数减去较小的数,用r存储差,r = a - b = 5,差不为0,继续执行算法。第三步:令较大的数为较小的数,即a = b = 10,令较小的数为差,即b = r = 5,用较大的数减去较小的数,用r存储差,r = a - b = 5,差不为0,继续执行算法。第四步:令较大的数为较小的数,即a = b = 5,令较小的数为差,即b = r = 5,用较大的数减去较小的数,用r存储差,r = a - b = 0,差为0,算法结束。结合上述过程可知,首先执行第一步,r = a - b,判断a和b是否相等,当a和b不相等时,重复执行a = b 、b = r、r = a - b这三条语句,且当r不为0时重复执行这些语句。最后a或b的值就是a和b的最大公约数。代码部分a = Val(Text1.Text)b = Val(Text2.Text)r = a - bDo While r < > 0a = bb = rr = a - bLoopLabel1.Caption = Str(b)'也可写为Label1.Caption = Str(a)综上可看出辗转相除法求最大公约数的算法效率较更相减损术更高。如果需要求两数最小公倍数,则可将这两个数相乘再除以这两个数的最大公约数,即为这两个数的最小公倍数。ForNext循环结构ForNext循环结构主要用于循环次数已知的情况,这种循环结构使用For语句结合循环变量控制循环执行的次数。因此也被称为计数循环。Do While循环结构与ForNext 循环结构特点对比Do While 循环结构特点ForNext 循环结构特点用于给定条件的循环用于给定循环次数的循环ForNext循环结构格式For 循环变量 = 初值 To 终值 Step 步长循环体内部语句Next 循环变量说明:(1)循环变量为数值型变量,初值、终值、步长均为数值;(2)步长是一般是非零整数,当步长为1时,"Step 1"可以省略;(3)在Next后的循环变量可以省略,如果不省略,则Next后面的循环变量与For后面的循环变量必须一致;(4)如果在ForNext循环结构中出现了Exit For语句,则执行到此语句时会退出该循环。(学考不做要求)ForNext循环的执行过程当步长值为正数时,For循环的执行过程如下:(1)将循环变量赋初值;(2)判断循环变量是否小于等于终值,如果是,则执行循环体内部语句;否则循环结束,执行Next后面的语句;(3)遇到Next语句,循环变量增加步长值,转到(2)继续循环;当步长值为正数时,For循环的执行过程用流程图描述如图所示:循环变量=初值N循环变量=循环变量+步长执行循环体循环变量终值?Y当步长为正数时,循环执行条件是循环变量小于等于终值。当步长值为负数时,For循环的执行过程如下:(1)将循环变量赋初值;(2)判断循环变量是否大于等于终值,如果是,则执行

    注意事项

    本文(《算法和算法的表示》知识点总结.docx)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开