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

    算法基础与VB基本语句.ppt

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

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

    算法基础与VB基本语句.ppt

    新编新编Visual Basic程序设计教程程序设计教程1 第第4 4章章 算法基础与算法基础与VBVB基本语句基本语句4.1 算法基础算法基础1、概念、概念 解决某个问题所使用的方法和步骤。亦称算法设计解决某个问题所使用的方法和步骤。亦称算法设计2、算法分类、算法分类 1)数值计算算法。)数值计算算法。例:四则运算、求微积分例:四则运算、求微积分 2)非数值计算算法。例:数据的查找、分类、排序)非数值计算算法。例:数据的查找、分类、排序3、算法描述、算法描述 流程框图、流程图流程框图、流程图 举例:求举例:求2个学生的平均成绩。其中学生个学生的平均成绩。其中学生A为为95分,分,B为为70分。分。方法:方法:1)将)将95分赋予变量分赋予变量A,70分赋予变量分赋予变量B 2)A加加B的值除以的值除以2,结果赋予变量,结果赋予变量C 3)打印输出)打印输出C值值2根据以上题意绘出流程图:根据以上题意绘出流程图:图形说明:图形说明:开始开始A=95B=70C=(A+B)/2输出输出C结束结束流程的起点与终点流程的起点与终点数据处理数据处理数据的输入数据的输入/输出输出条件判断条件判断一个特定过程一个特定过程流程线流程线流程图上与其它流程图上与其它部分相连的点部分相连的点34、基本算法结构、基本算法结构 A B A BeTrueFalse A AeFalseFalseTrueTruee循环结构循环结构循环结构循环结构顺序顺序结构结构分支分支结构结构循循环环体体当当型型循循环环当当条条件件 e 成成立立,继继续续执执行行 A直直到到型型循循环环反反复复执执行行 A,直直到到条条件件 满满足足为为止止44.2 赋值语句与赋值语句与 InputBox、MsgBox 函数函数4.2.1 赋值语句赋值语句 LET 变量名(或属性名)变量名(或属性名)=表达式表达式 LET a=8 将数值将数值8赋予变量赋予变量a a=8 k1=“Made in china”C=(x+y)/6 Text1.Fout.Size=18仍举上例:求仍举上例:求2个学生个学生的平均成绩。其中的平均成绩。其中A为为98分,分,B为为70分。分。Private Sub Cmd1_Click()Dim A as Integer Dim B as Integer Dim C as Integer A=95 B=70 C=(A+B)/2 Print CEnd Sub54.2.2 InputBox函数函数功能:建立输入对话框,用来接受用户通过键盘输入的功能:建立输入对话框,用来接受用户通过键盘输入的 数据。数据。格式:变量名格式:变量名=InputBox(提示用文字信息提示用文字信息,对话框,对话框 标题标题 ,预设用户编辑框内的缺省值,预设用户编辑框内的缺省值),X,Y,帮助文件名,帮助主题号,帮助文件名,帮助主题号)举例:在用户界面上设置一个按钮,当按下按钮时出现举例:在用户界面上设置一个按钮,当按下按钮时出现 一个输入对话框,在用户编辑框内输入数据后,一个输入对话框,在用户编辑框内输入数据后,按对话框按对话框“确定确定”按钮,窗体上显示该数据。按钮,窗体上显示该数据。6Option ExplicitPrivate Sub Command1_Click()Dim word As String word=InputBox(请输入需在窗体中显示的内容:请输入需在窗体中显示的内容:,_ 输入对话框输入对话框,江南大学纺织服装学院江南大学纺织服装学院)Print wordEnd Sub4.2.3 MsgBox函数函数功能:建立消息框,显示简短消息,并要求用户作出响功能:建立消息框,显示简短消息,并要求用户作出响 应。应。格式:格式:abc=MsgBox(Prompt ,Button,Title ,H,C提示用提示用文字信息文字信息对话框对话框标题标题数值常量数值常量c1+c2+c3+c4下转:下转:第第 4章章VB教材举例教材举例 1(4.2.2)换行:换行:chr(13)+chr(10)7举例举例1:窗体中设置一个文本框,一个按钮。当按下按钮:窗体中设置一个文本框,一个按钮。当按下按钮 时,出现一个消息框,应答后按要求操作。时,出现一个消息框,应答后按要求操作。(参见(参见P62 表表4-2(a、b、c、d)8Option ExplicitPrivate Sub Command1_Click()Dim abc As String If Text1.Text=Then abc=MsgBox(您没有在文本框中输入任何内容您没有在文本框中输入任何内容 _ ,1+48+0+0,提示消息提示消息)Else Print 很好!您已经输入内容了。很好!您已经输入内容了。End IfEnd Sub下转:下转:第第 4章章VB教材举例教材举例 2(4.2.3-1)9举例举例2:在关闭应用程序时,系统常常会弹出一个消息:在关闭应用程序时,系统常常会弹出一个消息框提示用户是否真的退出程序。利用框提示用户是否真的退出程序。利用MsgBox函数的返函数的返回值可实现此操作。(参见回值可实现此操作。(参见 P63 表表 4-3)10Option ExplicitPrivate Sub Cmd1_Click()Label1.Caption=谢谢 谢!谢!End SubPrivate Sub Cmd2_Click()Dim tang As String tang=MsgBox(是否真的要退出程序?是否真的要退出程序?,4+32,提示提示)If tang=6 Then End 6 是是 Yes的返回值的返回值 End Sub下转:下转:第第 4章章VB教材举例教材举例 3(4.2.3-2)114.3 分支结构与分支结构语句分支结构与分支结构语句4.3.1 If-Then-Else-End If 结构语句结构语句功能:根据条件功能:根据条件 e 具有分支判断功能具有分支判断功能格式:格式:If e Then A组语句组语句 Else B组语句组语句 End If A BeTrueFalse分支分支结构结构XABe12举例:从键盘输入一个数举例:从键盘输入一个数 X,如果,如果 X=0,则打印该数;,则打印该数;如果如果 X=0 Then Print“x=”;x A组语句组语句 Else x=abs(x)Print“x=-”;x B组语句组语句 End IfEnd SubPrivate Sub Command2_Click()Dim tang As String tang=MsgBox(是否真的要退出程序?是否真的要退出程序?,4+32,提示提示)If tang=6 Then EndEnd Sub下转:下转:第第 4章章VB教材举例教材举例 4(4.3.1-1)14除上述标准格式外,还有不对称分支和多分支。除上述标准格式外,还有不对称分支和多分支。AeTrueFalse不对称分支结构不对称分支结构If e Then 例:例:Private Sub Cmd2_Click()Dim x As Integer x=InputBox(“请输入请输入X的值的值:”,_ 输入输入X,0)If x=0 Then Print x End Sub15多分支结构多分支结构格式:格式:If 表达式表达式1 Then 语句块语句块1ElseIf 表达式表达式2 Then 语句块语句块2ElseIf 表达式表达式3 Then 语句块语句块3 End If 16举例:举例:P66 例例 4-2 一个多分支的示例程序一个多分支的示例程序(流程图见(流程图见 P66 图图4-11)Option ExplicitPrivate Sub Command1_Click()Dim x As Integer x=Val(Text1.Text)If x 1 Then Text2.Text=这是小于这是小于1的数的数 ElseIf x 20 Is=“P”18Option ExplicitPrivate Sub Command1_Click()Dim x As Integer x=Val(Text1.Text)Select Case x Case Is 1 Text2.Text=这是小于这是小于1的数的数 Case 1 To 10 Text2.Text=这是这是1到到10之间的数之间的数 Case Else Text2.Text=这是大于这是大于10的数的数 End SelectEnd SubPrivate Sub Command2_Click()EndEnd Sub仍以上例:仍以上例:P66 例例 4-2 一个多分支的一个多分支的示例程序示例程序下转:下转:第第 4章章VB教材教材举例举例 6(4.3.2)19注意Is比较运算符和使用在SelectCase语句中的Is关键字并不相同:Is作为比较运算符:用来比较两个对象的引用变量;语法语法:result=object1Isobject2;说明说明:如果 object1 和 object2 两者引用相同的对象,则 result 为 True;否则,result 为 False。Is作为selectcase中的关键字:使用Is关键字时,则可以配合比较运算符(除Is和Like 之外)来指定一个数值范围。如果没有提供,则Is关键字会被自动插入。20 4.4 循环结构与循环结构语句循环结构与循环结构语句循环:对某一操作重复执行循环:对某一操作重复执行类型:当型循环类型:当型循环与直到型循环与直到型循环 AFalseTruee当型循环当型循环循循环环体体当型循环当型循环当条件当条件 e 成立,继续执行成立,继续执行 A4.4.1 Do-Loop 语句语句应用场合:应用场合:若事先不知道若事先不知道循环次数,使用该语句循环次数,使用该语句格式:格式:条件成立,条件成立,Do While e 做循环做循环 Exit Do Loop特征:特征:先判别,再循环先判别,再循环 说明:说明:Exit Do 功能为直接退出循环,功能为直接退出循环,不执行下面的不执行下面的 语句段。语句段。常用形式:常用形式:If e Then Exit DoA21举例:举例:P68 例例 4-3 采用欧几里得算法求解二个自然数采用欧几里得算法求解二个自然数 的最大公约数的程序的最大公约数的程序求最大公约数可使用求最大公约数可使用“辗转相除法辗转相除法”例如例如 24 与与 16,先将,先将24被被16除,得余数除,得余数 8(求余运算)。之后将原来的除数(求余运算)。之后将原来的除数 16 作为下一次的被除数,将上一次得到的余数(作为下一次的被除数,将上一次得到的余数(8)作为除数,二者相除后得余数作为除数,二者相除后得余数 0。此时最后一次的除数。此时最后一次的除数 8 就是所求的最大公约数。就是所求的最大公约数。22归纳:归纳:欧几里得算法是:如果有二个数欧几里得算法是:如果有二个数 m,n,将大数,将大数 m作为作为被除数,小数作为除数,相除后余数为被除数,小数作为除数,相除后余数为 r。若。若 r=0,则,则将将 n m,将,将 r n,再进行新的一轮除法运算(即,再进行新的一轮除法运算(即以新的以新的 m作被除数,作被除数,n作除数),得到新的作除数),得到新的 r。重复以上。重复以上过程直到过程直到 r=0为止。此时为止。此时 n 就是最大公约数。就是最大公约数。画画流程吧?(欧几里得算法流程图)画画流程吧?(欧几里得算法流程图)23Text3.Text=CStr(m)输出最大公约数输出最大公约数 End IfEnd SubPrivate Sub Command2_Click()Text1.Text=Text2.Text=Text3.Text=Text1.SetFocus 将文本框将文本框1设为焦点设为焦点End SubPrivate Sub Command3_Click()EndEnd SubOption ExplicitPrivate Sub Command1_Click()Dim m,n,r,a As Long m=Val(Text1.Text)取数据取数据M n=Val(Text2.Text)取数据取数据N r=m*n 假设假设r的开始值为的开始值为m*n _ (实际上不可能的,实际上不可能的,为何需要这一句?为何需要这一句?)If m 1 Or n 1 Then 检验数据合法与否检验数据合法与否 Text3.Text=数据错误!数据错误!Else If m n Then a=m:m=n:n=a Do While r 0 当当r不等于不等于0,进行循环,进行循环 r=m Mod n m=n n=r Loop下转:下转:第第 4章章VB教材举例教材举例 7(4.4.1)24也可以换一种算法:使用普通数学中分步求公因子,也可以换一种算法:使用普通数学中分步求公因子,且各因子相乘的方法求得最大公约数。且各因子相乘的方法求得最大公约数。224 1612 826 423 2T=2*2*2=82120 18060 90230 45310 15T=2*2*3*5=60 52 3即从取数值即从取数值 2 开始,将该数作为除数,对二个被除开始,将该数作为除数,对二个被除数分别作除法运算,若能同时除尽(即数分别作除法运算,若能同时除尽(即 Mod 运算结运算结果为果为 0),则将该数赋予变量),则将该数赋予变量 T 并作连乘。反复使并作连乘。反复使用用 2 作除法运算作除法运算,当当 2 不能同时整除二数时,则换不能同时整除二数时,则换25数值数值 3,依次类推,直至二个被除数不能同时整除时,依次类推,直至二个被除数不能同时整除时为止。公约数为止。公约数 T=2*。If m n Then a=m:m=n:n=a t=1 For i=2 To n For j=1 To n If(m Mod i)=0 And(n Mod i)=0 Then t=t*i m=m/i n=n/i End If Next NextText3.Text=CStr(t)输出最大公约数输出最大公约数224 1612 826 423 2从从2开始尝试公约数开始尝试公约数每个公约数可能的整除次数每个公约数可能的整除次数26当型循环除上述格式当型循环除上述格式外,还有另一种外,还有另一种格式格式:Do Exit Do Loop While e特征:特征:先执行先执行一次一次循环,循环,然后再作条件判别,根然后再作条件判别,根据判别结果执行下一次据判别结果执行下一次循环。循环。A仍举上例:求最大公约数仍举上例:求最大公约数Option ExplicitPrivate Sub Command1_Click()Dim m,n,r,a As Long m=Val(Text1.Text)取数据取数据M n =Val(Text2.Text)取数据取数据N r=m*n 假设假设r的开始值为的开始值为m*n _ (实际上不可能的,实际上不可能的,实际上也可不要?实际上也可不要?)If m 1 Or n 1 Then 检验数据合法与否检验数据合法与否 Text3.Text=数据错误!数据错误!Else If m n Then a=m:m=n:n=a Do r=m Mod n m=n n=r Loop While r 0 当当r不等于不等于0,进行循环,进行循环仍转:仍转:第第 4章章VB教材举例教材举例 7(4.4.1)27 AeFalseTrue以上介绍了以上介绍了 Do-Loop语句的当型循环形式。语句的当型循环形式。下面介绍下面介绍 Do-Loop语句的直到型循环:语句的直到型循环:直到型循环直到型循环反复执行反复执行 A,直到条件,直到条件 满足为止满足为止换言之,换言之,条件不满足条件不满足 继续循环继续循环格式:格式:Do Exit Do Loop Until e 条件不成立,做循条件不成立,做循环环特征特征:先执行先执行一次一次循环循环,然后,然后再作条件判别,根据判别结果再作条件判别,根据判别结果执行下一次循环。执行下一次循环。仍举上例仍举上例 例例4-3 求二个自然数的最大公约数求二个自然数的最大公约数28直到型循环除上述格式直到型循环除上述格式外,还有另一种外,还有另一种格式格式:Do Until e 条件不成立,条件不成立,做循环做循环 Exit Do Loop下转:下转:第第 4章章VB教材举例教材举例 8(4.4.1-2)Option ExplicitPrivate Sub Command1_Click()Dim m,n,r,a As Long m=Val(Text1.Text)取数据取数据M n =Val(Text2.Text)取数据取数据N r=m*n 假设假设r的开始值为的开始值为m*n _ (实际上不可能的实际上不可能的)If m 1 Or n 1 Then 检验数据合法与否检验数据合法与否 Text3.Text=数据错误!数据错误!Else If m 终值终值 2)循环次数)循环次数=(0-3)/-1+1 =3+1=4循环次数循环次数=5-(-5)/5 +1=3353、在循环体内一般不要向、在循环体内一般不要向循环变量循环变量再赋值,否则会改变再赋值,否则会改变循环次数或状况。循环次数或状况。Option ExplicitPrivate Sub Form_Click()Dim i As Integer For i=1 To 5 i=i*i Print i Next iEnd SubOption ExplicitPrivate Sub Form_Click()Dim i As Integer For i=1 To 5 Print i Next iEnd Sub循环体内循环体内未赋值未赋值循环体循环体内赋值内赋值变量变量 i 被赋值被赋值36举例:举例:例例4-5 从一个由字母数字组成的字符串中找出从一个由字母数字组成的字符串中找出所有大写字母并按逆序输出的程序。所有大写字母并按逆序输出的程序。Option ExplicitPrivate Sub Command1_Click()Dim s,d,t As String Dim i As Integer Text1.SetFocus s=Text1.Text 取输入字符取输入字符 For i=1 To Len(s)筛选大写字母筛选大写字母 If Mid(s,i,1)=A And Mid _ (s,i,1)=Z Then t=t&Mid(s,i,1)End If Next i For i=Len(t)To 1 Step-1 字符逆序排列字符逆序排列 d=d&Mid(t,i,1)Next i Text2.Text=d 在文本框输出在文本框输出End SubPrivate Sub Command2_Click()Text1.Text=Text2.Text=Text1.SetFocusEnd SubPrivate Sub Command3_Click()EndEnd Sub下转:下转:第第 4章章VB教材举例教材举例 11(例例 4-5)374.4.3 循环嵌套循环嵌套概念:在一个循环体内概念:在一个循环体内包含另一个完整的循环包含另一个完整的循环,称嵌套。,称嵌套。For I=For k=Next k Next I内内层层循循环环外外层层循循环环以上为双层循环以上为双层循环举例:打印九九乘法表举例:打印九九乘法表Option ExplicitPrivate Sub Form_Click()Dim i,j As Integer For i=1 To 9 For j=1 To 9 Print i;*;j;=;i*j;Next j Print Print Next iEnd Sub38下转:下转:第第 4章章VB教材举例教材举例 12(4.4.3-1)39举例:设计一模拟摇奖程序。要求是:举例:设计一模拟摇奖程序。要求是:100个人中签,个人中签,由机器自动随机产生由机器自动随机产生1000个个1100间的数据,确定第间的数据,确定第1000个随机数为中签人的得奖号。个随机数为中签人的得奖号。预备知识:随机数的产生预备知识:随机数的产生 Rnd(x)若若 X 0 或不置或不置X值值,随机序列的下一个随机数随机序列的下一个随机数试在立即窗口中操作验证试在立即窗口中操作验证:Rnd(X)讨论讨论:1)产生的随机数总是在)产生的随机数总是在(0,1)区间内。区间内。2)X的值影响的值影响 Rnd 生成随机数的方式。生成随机数的方式。3)采用)采用 Randomize 语句初始化随机数生成器,语句初始化随机数生成器,可从系统计时器获得随机数种子。可从系统计时器获得随机数种子。40若要生成某个范围内的随机整数,可使用以下表达式:若要生成某个范围内的随机整数,可使用以下表达式:Int(随机数整数范围的上限(随机数整数范围的上限-下限下限+1)*Rnd +随机数整数范围的下限)随机数整数范围的下限)举例:现要产生举例:现要产生166之间的随机整数,试写出表达式。之间的随机整数,试写出表达式。Int(66-1+1)*Rnd+1)或:或:Int(66*Rnd+1)举例:现要产生举例:现要产生1100之间的随机整数,试写出表达式。之间的随机整数,试写出表达式。Int(100*Rnd+1)试在立即窗口中操作验证试在立即窗口中操作验证:Int(X*Rnd+1)现完成模拟摇奖程序。由机器自动随机产生现完成模拟摇奖程序。由机器自动随机产生1000个个1100间的数据,确定第间的数据,确定第1000个随机数为中签人的个随机数为中签人的得奖号。得奖号。41Private Sub Command1_Click()Dim x As Integer,i As Integer,j As Integer Dim a As Integer Randomize For i=1 To 1000 x=Int(100*Rnd+1)a=0 For j=1 To 10000视觉暂停视觉暂停 a=a+1 Next j Text1.Text=CStr(x)Text1.Refresh强制全部重绘一个窗体或控件强制全部重绘一个窗体或控件 Next i Text1.Text=CStr(x)End SubPrivate Sub Command2_Click()EndEnd Sub下转:下转:第第 4章章VB教材教材举例举例 13(4.4.3-2)42本章结束43

    注意事项

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

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




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

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

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

    收起
    展开