第四部分算法基础及VB的基本语句教学课件

上传人:汽*** 文档编号:567617227 上传时间:2024-07-21 格式:PPT 页数:96 大小:875.50KB
返回 下载 相关 举报
第四部分算法基础及VB的基本语句教学课件_第1页
第1页 / 共96页
第四部分算法基础及VB的基本语句教学课件_第2页
第2页 / 共96页
第四部分算法基础及VB的基本语句教学课件_第3页
第3页 / 共96页
第四部分算法基础及VB的基本语句教学课件_第4页
第4页 / 共96页
第四部分算法基础及VB的基本语句教学课件_第5页
第5页 / 共96页
点击查看更多>>
资源描述

《第四部分算法基础及VB的基本语句教学课件》由会员分享,可在线阅读,更多相关《第四部分算法基础及VB的基本语句教学课件(96页珍藏版)》请在金锄头文库上搜索。

1、江苏省计算机等级考试 Visual Basic 程序设计程序设计捎葬喳洼谐卫屑院歉荒蔷吗滤莆彪绚甫语粤皋辊泣害茵驯韵拼钥厂顾扛牵第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件第四章第四章 算法基础及算法基础及VBVB的基本语句的基本语句惧寸扩痉臂垛瓮乔清鼠永隆嫡婉撮狐家扔斋伶羞馒捕期庙疫儒担含瑞叫锤第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计1 1、了解结构化程序设计的基本概念、了解结构化程序设计的基本概念2 2、掌握、掌握VB VB 程序设计中

2、的常用语句程序设计中的常用语句3 3、掌握顺序、选择、和循环结构及相应的语句、掌握顺序、选择、和循环结构及相应的语句教学要求教学要求颈慷婴猛击捕佑挣赚窘载咀恐混秘烤糯企牙退脚酷述朵蜂业淀介许呀梧走第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件2江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计教学内容教学内容教学内容教学内容4.1 4.1 算法及程序设计基础算法及程序设计基础4.2 4.2 赋值语句及赋值语句及InputBoxInputBox、MsgBoxMsgBox函数函数4.3 4.3 分支结构与分支结构语句分支结构与分支结构

3、语句4.4 4.4 循环结构与循环结构语句循环结构与循环结构语句4.5 4.5 程序示例程序示例沛诉枝厕亏忠羔晕乐砷桶舵异玻蒙诉泪而肝同蚀卸杨片勇映钡致迄邪祝饵第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件3江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计4.1 4.1 4.1 4.1 算法及程序设计基础算法及程序设计基础算法及程序设计基础算法及程序设计基础l l一个程序一个程序一个程序一个程序( ( ( ( 过程过程过程过程) ) ) )应包括:应包括:应包括:应包括:l lNikiklaus WirthNikiklaus W

4、irthNikiklaus WirthNikiklaus Wirth认为认为认为认为:l有人认为:有人认为: 对数据的描述对数据的描述:指定所用数据的类型,作用域和数据的:指定所用数据的类型,作用域和数据的 组织形式,即数据结构(组织形式,即数据结构(data structure)。)。 对操作的描述对操作的描述:即操作步骤,也就是算法(:即操作步骤,也就是算法(algorithm)。)。数据结构数据结构+算法算法=程序程序程序程序=算法算法+数据结构数据结构+程序设计方法程序设计方法+语言工具和环境语言工具和环境咕从琵壶行匆晋婴胡淡畔炔天净素弟别紫挞泅雏坑词佰遍预裕铃跳绣升憾第四部分算法基础

5、及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件4江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计1 1 1 1、算法的概念、算法的概念、算法的概念、算法的概念l算法算法即即解解决决某某个个问问题题或或处处理理某某件件事事的的方方法法和和步步骤骤;“采采用用什什么么结构,使用什么语句以及如何安排这些语句结构,使用什么语句以及如何安排这些语句”。l算法分类:算法分类:数值计算算法数值计算算法非数值计算算法非数值计算算法l算法算法优劣优劣: 正确性,效率,占用系统资源,便于理解,易于调试等。正确性,效率,占用系统资源,便于理解,易于调试等。客孟帜蕉镜

6、敝揣埠湘滚拴廷拦虚蛤猾坍盾盅枢拎酸最溶以挣土萍退翅浦蔽第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件5江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计1810M N R8108 2 8 2 0 2 0R=8R=2R=0M=2即最大公约数即最大公约数求求最最大大公公约约数数 题目题目 :求两个自然数的最大公约数:求两个自然数的最大公约数 分析分析 :求最大公约数的常用方法是辗转相除法:求最大公约数的常用方法是辗转相除法( (欧几里德算法欧几里德算法) )。2 2、算法示例、算法示例狰尹允蓟仓摸昆痹沙赞张久球有笼打沙庭拜倘罐驯艺逾烙

7、甭誓圃葡郡齐舀第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件6江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计 算法描述算法描述算法描述算法描述 :S1 S1 输入两个自然数:输入两个自然数:M M,N N;S2 S2 求求M M除以除以N N的余数的余数R R;S3 S3 使使M=NM=N,即用,即用N N代换代换M M;S4 S4 使使N=RN=R,即用,即用R R代换代换N N;S5 S5 若若R0R0,则重复执行,则重复执行S2,S3,S4,S2,S3,S4,否则转至否则转至S6S6S6 S6 输出输出M M,M M即为

8、即为M M,N N的最大公约数。的最大公约数。邻酱件毗挛阑撇膜妆臭砧负沙醚横宜戌透膏咳挨硬趾茁卓裁帖滇困篇模碗第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件7江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计3 3 3 3、算法的特征、算法的特征、算法的特征、算法的特征2 确定性确定性2 可行性可行性2 有穷性有穷性2 输入性输入性2 输出性输出性鳃庙赂呀相吁樱寄釜镍尚物去循醇渣吉脾媳真溺牵撤信尾忧碾东杠钙泪废第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件8江苏计算机等江苏计算机等级考试级考试 V

9、isual Basic 程序设计程序设计4 4 4 4、算法的描述、算法的描述、算法的描述、算法的描述 l程序流程图程序流程图求求最最大大公公约约数数析顷录牵逢吏凿蚊固绝啃卵仗携紫筋譬罕剩胀闰瑰竞肺语儿脊锤璃妖萌厕第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件9江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计程序编码程序编码实现算法实现算法l算法仅提供解题思路,计算机不可直接执行。算法仅提供解题思路,计算机不可直接执行。l用用某某一一程程序序设设计计语语言言所所提提供供的的语语言言成成分分,根根据据该该语语言言的的特特点点,并并

10、利利用用该该语语言言的的各各种种工工具具和和手手段段,遵遵照照规规定定的的语语法法规规则去实现算法,得到原程序代码,计算机可识别并执行。则去实现算法,得到原程序代码,计算机可识别并执行。霖斤仑痰鹏佳绘颠豢划壳募注妥幅妆凶魂樟奔带郎兆邹员贪钓海长疑噎必第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件10江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计5.5.5.5.基本算法结构基本算法结构基本算法结构基本算法结构1 1). . 顺序结构顺序结构语句语句1语句语句2语句块语句块结结构构化化程程序序设设计计袁题撩贴积笔拽狡堡盛鬼宾己琐觅

11、咙灶念雍乖麻盈绎雹怂快隆僵酬坎隧玲第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件11江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计l2)选择结构)选择结构条件满足?块1块2TrueFalse结结构构化化程程序序设设计计纽疟蒲蔫汐铺蒸蓖惯袱杠孽律桐应逸汲软捡卤折奥馏恫网闸乔脉栖态仙渔第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件12江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计l3)循环结构)循环结构块块TrueFalse条件条件结结构构化化程程序序设设计计棍靛

12、坏杜筏醋僧仑赫晋打宾豌亨盗肯秃匆蜕砸握姓剪磺帆叶躇赡叶爸窒桂第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件13江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计三种基本结构的共同特点三种基本结构的共同特点三种基本结构的共同特点三种基本结构的共同特点l只有单一入口和单一出口;只有单一入口和单一出口;l结构中的每一部分都有被执行的可能;结构中的每一部分都有被执行的可能;l结构内不应出现永不终止的死循环。结构内不应出现永不终止的死循环。哨崖兵绎深吩毕蕊礼盲帽漓涉市晾坪禁葬兵糠孩枪通侥劝丢撞就筏袒涣谰第四部分算法基础及VB的基本语句教学课

13、件第四部分算法基础及VB的基本语句教学课件14江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计4.2 4.2 4.2 4.2 赋值语句及赋值语句及赋值语句及赋值语句及InputBoxInputBoxInputBoxInputBox、MsgBoxMsgBoxMsgBoxMsgBox函数函数函数函数4.2.1 赋值语句赋值语句4.2.2 InputBoxInputBox函数函数4.2.3 MsgBoxMsgBox函数函数瑚俯趋舷酶衔钳仓篮雍吠涵仁谩俯嘱群帮曳锈巨如莉婴桩摇颅店嫂铆狸慌第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件15

14、江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计4.2.1 赋值语句赋值语句 格式格式 : = 功能功能 :先计算表达式的值,再将该值赋予左端的变量。:先计算表达式的值,再将该值赋予左端的变量。 说明说明 : - -赋值号左端不仅可以是变量名,还可以是对象的属性;赋值号左端不仅可以是变量名,还可以是对象的属性; - -表达式的类型和变量的类型要一致表达式的类型和变量的类型要一致 - -赋值语句是按语句出现的先后顺序执行的(顺序结构)赋值语句是按语句出现的先后顺序执行的(顺序结构) 举例举例 : str1 = Nice to meet you number% =

15、72 Lable1.Caption = Filename is: Text.FontSize = 12 改变字号改变字号或铱抖瘫虏右乙替铺唉跟挛刀疯芜贺径略罢予菱藕官宅挎躯味独琅辐柄漓第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件16江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计使用下面的方法可以获取一个对象的属性值:使用下面的方法可以获取一个对象的属性值:var = object . Property 例如:例如:Label1.Caption=Text1.Text 式中,式中,varvar是变量名、是变量名、objectob

16、ject是对象名、是对象名、propertyproperty是该对是该对象的某个属性名。象的某个属性名。特别注意:特别注意:属性也存在数据类型,所以在获取对象的属性值时,属性也存在数据类型,所以在获取对象的属性值时,最好使用具有相同数据类型的变量。最好使用具有相同数据类型的变量。 说明说明 跃钝帛汀歉纫啦褂沪荆尘挟铂第菌涛绘谨陆捕爸垦溶远递升悄腾谩霹艾邵第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件17江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计注意:赋值号(注意:赋值号(= =)与比较运算符()与比较运算符(= =)不同)

17、不同v 赋值是独立的一条语句;赋值是独立的一条语句; 由运算符(由运算符(= =)连结两个操作数的关系表达式是)连结两个操作数的关系表达式是语句的一部语句的一部分分, , 不可单独存在不可单独存在v 比较运算符不会改变操作数的值;比较运算符不会改变操作数的值; 赋值语句会,改变赋值号左边的量,所以必须是可以被赋赋值语句会,改变赋值号左边的量,所以必须是可以被赋值的变量或属性值的变量或属性Dim x As Integer, y As Integer, z As Booleanx=3 : y=4 : y=xz = x=yPrint x, y, z怒灌芽除爱毖战攀各洛兼增辨浪潍阁砧姿糠宽戚质讲顺陋酮

18、述缄箍瑟攒刽第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件18江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计Private Sub Form_Click() Dim a As Integer,b As Integer a=10 b=3*a Print a,bEnd SubPrivate Sub Form_Click() Dim a As Integer,b As Integer b=3*a a=10 Print a,bEnd Sub例:单击窗体,下列两段程序的执行结果分别是例:单击窗体,下列两段程序的执行结果分别是()()和和

19、()()。提示:利用赋值语句给变量赋值后,在未有新的提示:利用赋值语句给变量赋值后,在未有新的赋值语句再次给它赋值前,变量值保持不变。赋值语句再次给它赋值前,变量值保持不变。寨前鸡秉呸多翁起捕综揩福鲁龚羌赠括某妊仪茶掐诬伴戊编手念照态宣痉第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件19江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计例:交换两个变量的值。例:交换两个变量的值。Private Sub Form_Click() Dim a As Integer,b As Integer a=10 : b=2 Print a,b 填

20、入程序代码填入程序代码 Print a,bEnd Sub正确答案正确答案Dim Temp As IntegerTemp=a : a=b : b=Temp题目说明题目说明单击窗体程序执行结果为:单击窗体程序执行结果为: 10 2 10 2 2 10 2 10 注意注意 变量变量a a和和b b为两个不定值的变量,为两个不定值的变量,因此不能直接用因此不能直接用 a=2 : b=10 a=2 : b=10语句来解决这个问题。语句来解决这个问题。一旦利用赋值语句给变量赋一旦利用赋值语句给变量赋新值,会覆盖原值,所以不能新值,会覆盖原值,所以不能直接用直接用 a=b : b=a a=b : b=a语句

21、来解决这个问题。语句来解决这个问题。偷衡置乖局芹诺侯吠检悍火漆亥乡仟靠河靠信葡绩罪汇货樟芍孜涨春闯乌第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件20江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计例:求一元一次方程例:求一元一次方程x+5=0x+5=0的解。的解。Private Sub Form_Click() Dim x As Integer 3*x+5=0 Print “x=”;xEnd SubPrivate Sub Form_Click() Dim x As Integerx=(0-)/3 - Print “x=”;xE

22、nd Sub 语句语句是该例题的算法。是该例题的算法。错误程序错误程序正确程序正确程序总结:总结: 利用程序设计语言处理问题,我们首先要知道的是利用程序设计语言处理问题,我们首先要知道的是怎么解怎么解决问题决问题,其次要知道怎么将解决问题的方法,其次要知道怎么将解决问题的方法用程序设计语言来用程序设计语言来表达表达。窒沟皱榴束硅源裔勒熙懈骂界赛酚幻外次师驼篓算蕉清派以榴绣鼻拥赐诗第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件21江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计4.2.2 InputBox4.2.2 InputBo

23、x函数函数 格式格式 :InputBox$(,) 功能功能 : 弹出对话框,用户输入数据后回车或单击弹出对话框,用户输入数据后回车或单击“确定确定”按钮后,按钮后,将输入内容赋值给相应的变量;按将输入内容赋值给相应的变量;按ESCESC键或单击键或单击“取消取消”按钮,按钮,返回返回空串空串。沈暗撑绷写龄歧锚遏凌随蒸幽练费咙乐蔡该莎姥投扩都躁卜滨刘窄姐针方第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件22江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计 说明说明 (1 1)promptprompt:必选项。对话框中的提示信息。:

24、必选项。对话框中的提示信息。(2 2)titletitle:可选。对话框的标题。省略则为应用程序名。:可选。对话框的标题。省略则为应用程序名。(3 3)defaultdefault:可选。显示在用户编辑框中的缺省值,省略为空。:可选。显示在用户编辑框中的缺省值,省略为空。(4 4)x,y:x,y:可选。指定对话框的显示位置,省略则居中。可选。指定对话框的显示位置,省略则居中。例:例:i = InputBox(“i = InputBox(“输入数组元素输入数组元素”+Chr(10)+“”+Chr(10)+“第一个元素为第一个元素为:”:”, 程序示例程序示例, , 100100) )缺省值缺省值

25、标题标题提示字符串提示字符串咸积耍与夯景般秒腐计鲁找弹浓摈岗饺蛮喜弱庸卒藕拥视藐玛炎砰乙渺卫第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件23江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计例:用例:用InputBox函数输入出生日期,计算年龄。函数输入出生日期,计算年龄。Option ExplicitOption ExplicitPrivate Sub Form_Click()Private Sub Form_Click() Dim BirthDay As Date, Age As Integer Dim BirthDay A

26、s Date, Age As Integer BirthDay = InputBox( BirthDay = InputBox(输入出生日期输入出生日期, , 计算年龄计算年龄) Age = Year(Date) - Year(BirthDay) Age = Year(Date) - Year(BirthDay) Print Print 你今年:你今年:; Age; ; Age; 岁岁 End SubEnd Sub茬沿阂祝迫牟副醉壕列廊嫡球溃建括妮岁录脂磐攻晦韭晓喊抗暂群芭袋送第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件24江苏计算机等江苏计算机等级考试级考

27、试 Visual Basic 程序设计程序设计4.2.3 MsgBox4.2.3 MsgBox函数函数格式格式:MsgBox(Prompt,Button,Title,HelpFile,Context) 功能功能 :向用户发布提示信息,并要求用户作出必要的响应。:向用户发布提示信息,并要求用户作出必要的响应。 说明说明 : (1 1)Prompt:Prompt:必选项。字符串表达式,对话框中的提示信息。必选项。字符串表达式,对话框中的提示信息。 (2 2)Button:Button:指定显示按钮的数目及形式,使用的图标样式,指定显示按钮的数目及形式,使用的图标样式,这是一个由这是一个由4 4个数

28、值常量组成的式子,形式为个数值常量组成的式子,形式为c1+c2+c3+c4c1+c2+c3+c4,用,用于决定信息框中按钮的个数和类型以及出现在信息框中的图标于决定信息框中按钮的个数和类型以及出现在信息框中的图标类型,各个参量的可选值及其功能类型,各个参量的可选值及其功能; ; 详见详见P.62P.62表表4.24.2 (3 3)Title:Title:对话框标题栏的显示信息。对话框标题栏的显示信息。磺肥采轴粪驮淋珠寝凡竖亚澈涤稚琶脾象稀抡荡谣全绩莽雅毖戳脐诫蝗嚏第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件26江苏计算机等江苏计算机等级考试级考试 Visua

29、l Basic 程序设计程序设计MsgBox MsgBox 需要重新来一次需要重新来一次?, 2 + 32 + 256 + 4096, ?, 2 + 32 + 256 + 4096, 询问询问 MsgBox MsgBox 数据非法,请重输!数据非法,请重输!,1 + 16 + 0 + 4096, ,1 + 16 + 0 + 4096, 警告警告 举举 例例蹬浊舀自份蓖酬淆枝馋钱溅邮肌蔬轰矛远掉古彻纺罗弘琢讯眷洱摈湃宵砸第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件27江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计方法一方法一:

30、 发布提示信息,无须用户响应,在程序中作为独立发布提示信息,无须用户响应,在程序中作为独立语句存在语句存在,不加括号;不加括号;例:例: MsgBox 非法数据!非法数据!, , 警告警告如果省略其中参数,如果省略其中参数,逗号不能省略逗号不能省略MsgBox函数的用法函数的用法方法二方法二: 需要用户响应,和普通函数调用方法相同。需要用户响应,和普通函数调用方法相同。例:例: Response=MsgBox(真的删除该项吗?真的删除该项吗?,4+48,提示信息提示信息) If Response=vbYes Then Else End If坷作艺薛堰芽助歉费凹绚踞著返卷泉竭碍始陨年棱纂暴交购周

31、汤旨谤拒挞第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件28江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计4.3 4.3 4.3 4.3 分支结构与分支结构语句分支结构与分支结构语句分支结构与分支结构语句分支结构与分支结构语句4.3.1 If-Then-Else- End If语句语句4.3.2 Select- Case-End Select语句语句蹭谆账囚亲违蛇态萤莹屏点诌赌积蝉撑晒益刁塘伺肄叹囚被哇零呛交怀荣第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件29江苏计算机等江苏计算机等级考试级

32、考试 Visual Basic 程序设计程序设计1、 If-Then-Else语句语句格式格式1:If Then Else End If4.3.1 If-Then-Else- End If4.3.1 If-Then-Else- End If语句语句逻辑变量、关系表达逻辑变量、关系表达式、逻辑表达式式、逻辑表达式B组语句组语句条件?条件?不成立不成立成成立立A组语句组语句 逻辑框图逻辑框图 : 功能功能 : 如果条件成立,则执行如果条件成立,则执行A A组语句,组语句,否则执行否则执行B B组语句。组语句。 说明说明 :IfIf和和End IfEnd If语句成对出现,缺一不可;语句成对出现,缺

33、一不可;ElseElse和和B组语句组语句部分可以省略部分可以省略, ,当条件不成立时当条件不成立时, ,直接执行直接执行End IfEnd If的的后继语句;后继语句;捏指笆喊铡径淑壹竹吓贞端狰俗框切通引怂化审芥旱鳖昆忌赖叔脱缉吾唯第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件30江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计Private Sub cmdCalculate_Click() Dim x as Single x=Val(text1.text) If x= 0 Then Text2.text = Str(Sqr(

34、x) Else Text2.text = 数据小于数据小于0,错误!,错误! End IfEnd SubPrivate Sub cmdExit_Click() EndEnd SubPrivate Sub cmdClear_Click() Text1.Text = Text2.Text = Text1.SetFocusEnd Sub例:从键盘输入一个数,求它的平方根。例:从键盘输入一个数,求它的平方根。缩格输入缩格输入莉米域刃栖围虑蜂羽读暖逞廉喊党岿锤寂屯照另谊仑痪假各湃殴宵舵仁灸第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件31江苏计算机等江苏计算机等级考试级

35、考试 Visual Basic 程序设计程序设计例:计算分段函数例:计算分段函数y y的值。的值。Private Sub cmdCalculate_Click() Dim x As Single,y As Single x=Val(Text1.Text) If x = 0 Then y = 2*Sqr(x+7)-6 Else y = 5*x+Exp(x)-2 End If Text2.Text=Str(y)End SubcmdCalculate侯殖踌着再藻唤诧淫延资棱抬辱汲政孪跑扫寡褥谤捻治跃余穷筷拦芒返炽第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件32江苏

36、计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计 格式格式22:单行:单行If-Then-ElseIf-Then-Else语句语句 If If Then Then Else Else 2 说明说明 :(1 1)在)在A组语句组语句和和B组语句组语句都只有一个语句时,可使用该格式;都只有一个语句时,可使用该格式;(2 2)End IfEnd If语句省略。语句省略。例:上例可改写为以下程序段。例:上例可改写为以下程序段。Private Sub cmdCalculate_Click() Dim y As Single,x As Single x=Val(Text1.Te

37、xt) If x = 0 Then y = 2*Sqr(x+7)-6 Else y = 5*x+Exp(x)-2 Text2.Text=Str(y)End Sub树浑稳戈炭员绿孵抄选己寇寸该谴计探蛔挪绦椽趾拥禁池咋京颗妮恕葛沸第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件33江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计条件满足条件满足?块块1TrueFalse 格式格式33: If Then End If格式格式4:4: If Then 逻辑框图逻辑框图把炉汾决览哟辑汪粮弧还臂怎掺勉还蕴耗伟贤涪嗓凡财造躯票告灭够磐楞第四部分

38、算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件34江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计2.2.2.2.嵌套的嵌套的嵌套的嵌套的IfIfIfIf结构结构结构结构 在在在在If If语句的语句的语句的语句的“ “语句块语句块语句块语句块” ”中包含另一个中包含另一个中包含另一个中包含另一个If If语句,叫做嵌套的语句,叫做嵌套的语句,叫做嵌套的语句,叫做嵌套的If If结构。结构。结构。结构。If Then 外层外层 If Then 内层内层 Else If then Else 最内层最内层 End IfElse If The

39、n End IfEnd If用于解决有多用于解决有多种情况的问题种情况的问题避获伊倒骂瞎叁龄堰轴蠢嚏挂遇韵早蛆滓缘胖士缅葵迪酪卖腻倾找壤露近第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件35江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计开始开始边长边长0?是否能组成三角形是否能组成三角形计算计算输出输出出错信息出错信息结束结束是是否否是是否否例:输入三角形的三边例:输入三角形的三边a a、b b、c c,求三角形的面积,求三角形的面积P 64 例例4-1a0 and b0 and c0a+bc and b+ca and a+c

40、b豫枢绑汹灯半妖净颗门保跪净擅瘸词孜牙凰糜甜为屉寅独炸往镇徐间顾傍第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件36江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计Private Sub cmdCalculate_Click() Dim a As Single,b As Single,c As Single,p As Single,s As Single a=Val(Text1.Text) b=Val(Text2.Text) c=Val(Text3.Text) If (1) Then If a+bc And b+ca And c

41、+ab Then p=(a+b+c)/2 s=Sqr(p*(p-a)*(p-b)*(p-c) Text4.Text=Str(s) Else Text4.Text=“不能构成三角形不能构成三角形” End If Else Text4.Text=“边长不能小于边长不能小于0 0” End IfEnd Sub计算公式:计算公式:其中:其中:a0 And b0 And c0贾欣丹柞愈瞬涵抵玲腹海胎汽畔店桓杨挟紫檄峻逢虹沁疏徽规撕溢尾南蝎第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件37江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计例:

42、计算分段函数例:计算分段函数y y的值。的值。Private Sub cmdCalculate_Click() Dim x As Single,y As Single x=Val(Text1.Text) If x0 Then y=1/(x-5) Else If x5 Then y=3*x2+4*x+5 Else y=Log(x) End If End If Text2.Text=Str(y)End Sub05噬绞健泅莹怨养项掘衙面矮狄欢钨沈定殿蜡捷杜拾讶柳柱衍伤洒蓝检吐祷第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件38江苏计算机等江苏计算机等级考试级考试 V

43、isual Basic 程序设计程序设计例:输入分数并判断等级分。计算规则如下:例:输入分数并判断等级分。计算规则如下: 分数分数 100-90 89-80 79-70 69-60 60 100-90 89-80 79-70 69-60 = 90 And Score = 80 Then Degree = B Else If Score = 70 Then Degree = C Else If Score = 60 Then Degree = D Else Degree = E End If End If End If End If Text2.Text = Degree End IfEnd S

44、ub缺点:缺点: 嵌套层次过多,结构嵌套层次过多,结构不清晰,容易出错不清晰,容易出错。从文本框取数据从文本框取数据向文本框放数据向文本框放数据楼宠宵来懦藩拆讳沉喉牺稿碌啦乙灶蛊剃洁叠袍此貉抑兆棠晨奶衙回贫尽第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件39江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计3 3、多分支、多分支If-Then-ElseIfIf-Then-ElseIf语句语句 格式格式 : IfIf Then1 Then ElseIf ElseIf Then2 Then ElseIf ElseIf Thenn Th

45、en Else Else End If End If 功能功能 :- -对条件自上而下依次判断对条件自上而下依次判断, ,若条件若条件i i成立成立, ,则执行相应的则执行相应的Ai组语句组语句;- -若所有条件都不成立,则执行若所有条件都不成立,则执行An+1组语句组语句。- -无论执行了哪个语句块,都将执行无论执行了哪个语句块,都将执行End IfEnd If的后继语句。的后继语句。条件条件1条件条件2假假假假真真真真语句块语句块1语句块语句块2条件条件 n真真假假语句块语句块n语句块语句块n+1荒亦迪壳富化予蛮绢购杏亡痈蛀吭兰韩扼时了方鹅甭铅恿告专锋生萧湃边第四部分算法基础及VB的基本语

46、句教学课件第四部分算法基础及VB的基本语句教学课件40江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计(1 1)该语句结构可以解决多分支问题,只有一个)该语句结构可以解决多分支问题,只有一个End End IfIf语句,语句,避免避免IfIf语句嵌套层数过多的情况;语句嵌套层数过多的情况;(2 2)ElseElse语句可以省略;语句可以省略;(3 3)该结构是一个单出口的结构,即该结构是一个单出口的结构,即只会执行只会执行一组语句一组语句,若条,若条件中有两个成立,则按语句的顺序执行前面的件中有两个成立,则按语句的顺序执行前面的一组语句。一组语句。说说 明明摇娱

47、琴徊筷承绝佑属菠洁徊陨广吭蚤谎栅渺录菠降搬库哺篙浸奖题爷咀橡第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件41江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计Private Sub Text1_KeyPress(KeyAscii As Integer) Dim Score As Integer, Degree As String If KeyAscii = 13 Then Score = Val(Text1.Text) If Score = 90 And Score = 80 Then Degree = B ElseIf Sco

48、re = 70 Then Degree = C ElseIf Score = 60 Then Degree = D Else Degree = E End If Text2.Text = Degree End IfEnd Sub特点:特点:结构清晰。结构清晰。将上例用将上例用If-Then-ElseIfIf-Then-ElseIf语句改写:语句改写:90Score=80 ?泳格纂柴狸只建范灿莎脊兰疯疥志胀合结乱潭仿怪哎眼嫩错哲炮峪实暮元第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件42江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序

49、设计格式格式:Select Case Case Case Case Case Else End Select 功能功能 : 计算测试表达式的值,自计算测试表达式的值,自上而下检查测试条件上而下检查测试条件; ; 若表达式的值符合测试若表达式的值符合测试 i i,则执行相应的语句块,则执行相应的语句块 i i; 若所有条件都不成立,则若所有条件都不成立,则执行语句块执行语句块n+1n+1。无论执行了。无论执行了哪个语句块,都将执行哪个语句块,都将执行End End SelectSelect的后继语句。的后继语句。4.3.2 4.3.2 多分支多分支Select-Case-Select-Case-

50、End SelectEnd Select语句语句严帮拖我哑蛀别滑糟豢脯跑皱嫌椅眺卢脱薄英抑籽手钎稍检自愉峙尧说死第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件43江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计(1 1)测试表达式可以是算术表达式或字符表达式;)测试表达式可以是算术表达式或字符表达式;(2 2)测试条件有四种形式:)测试条件有四种形式:v 常量,如常量,如2 2、3 3、“A A”等等v 闭区间闭区间,如,如3 3 ToTo 78 78、“B B” ” ToTo“H H”等等v 开区间,如开区间,如IsIs202

51、0、 IsIs“P”“P”等等v 以上三种形式的组合,以以上三种形式的组合,以逗号间隔逗号间隔,条件组合是,条件组合是或或的关系,的关系,不能表示与的关系不能表示与的关系 (3 3)Case ElseCase Else语句部分可以省略;语句部分可以省略;(4 4)以)以End SelectEnd Select语句结束;语句结束;(5 5)该结构是一个单出口的结构,即该结构是一个单出口的结构,即只会执行一个语句块只会执行一个语句块,若条,若条件中有两个成立,则按语句的顺序执行前面的语句块。件中有两个成立,则按语句的顺序执行前面的语句块。说说 明明摔镊磋出泄螺谍制电咏扶镇耿跑雕驾愚臆策贼疗租锤驱镣

52、淫侥蛾摧双柑嘻第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件44江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计例:将上例用例:将上例用Select CaseSelect Case语句改写。语句改写。Private Sub Text1_KeyPress(KeyAscii As Integer) Dim Score As Integer, Degree As String If KeyAscii = 13 Then Score = Val(Text1.Text) Select Case Score Case 90 To 100 D

53、egree = A Case 80 To 89 Degree = B Case 70 To 79 Degree = C Case 60 To 69 Degree = D Case Is60 Degree = E End Select Text2.Text = Degree End IfEnd Sub疹臀道轿选译粘吸林高茁佳猫那猪她散霞莫要磁纯拿吟愉溯邯子亩抓轩蘑第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件45江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计练习:练习:键盘输入三个数,将它们从大到小依次排列输出。键盘输入三个数,

54、将它们从大到小依次排列输出。Private Sub Form_Click()Dim a As Integer, b As Integer, c As Integer, temp As Integer a = InputBox(输入输入a, 顺序输出顺序输出) b = InputBox(输入输入b, 顺序输出顺序输出) c = InputBox(输入输入c, 顺序输出顺序输出) If a b Then temp = a a = b b = temp End If If a c Then Print a, b, c Else Print a, c, b End IfEnd Sub保证保证a为为a,

55、b两数中的大值两数中的大值简饿劳吕太咆湖赚官殴丹鸵倍虾错徊营拜根那毫债颇佳柜械栏踊递冶顺刽第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件46江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计分支结构的适用情况分支结构的适用情况l验证用户输入数据的合法性验证用户输入数据的合法性l分段函数计算分段函数计算l用于区分等级用于区分等级l其他须根据条件不同执行不同操作的情况其他须根据条件不同执行不同操作的情况崖摊卓栈超半醋诌怨备爪宪稿恼沉苔触汲石鹏沼导龚分顺荷饵娱迁展衙峰第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语

56、句教学课件47江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计4.4 4.4 4.4 4.4 循环结构与循环结构语句循环结构与循环结构语句循环结构与循环结构语句循环结构与循环结构语句4.4.1 Do-loop循环结构语句循环结构语句(条件循环)(条件循环)4.4.2 For-Next 循环结构语句循环结构语句(计数循环)(计数循环)4.4.3 循环嵌套循环嵌套窥甩洪卒彤继晕凯霹郁臣援嫡蓉富敝角咏垃荐感獭适要遂迢媒色庇糟肚潘第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件48江苏计算机等江苏计算机等级考试级考试 Visual Bas

57、ic 程序设计程序设计 由一定的条件控制,反复执行某个程序段的程序结构称由一定的条件控制,反复执行某个程序段的程序结构称为为循环结构循环结构。 用于解决一些需要重复进行某些操作的问题。用于解决一些需要重复进行某些操作的问题。 循环要素:循环要素: & & 循环控制条件循环控制条件 条件或逻辑表达式条件或逻辑表达式 & & 循环体循环体 重复执行的语句块重复执行的语句块 & & 为防止死循环,在循环体内必须要有对应语句,为防止死循环,在循环体内必须要有对应语句,使得循环控制条件会不满足,结束循环运行。使得循环控制条件会不满足,结束循环运行。基本概念基本概念寸葱签腿牲俗酋勉萄尤飘长侮候纲坞指怎剂泌

58、布盒颧女渤败默欲施晚羊袱第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件49江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计例:在窗体上打印例:在窗体上打印10行行“Hello”。 循环控制条件循环控制条件 是否已打印了是否已打印了1010行行 循环体循环体在窗体上打印一行在窗体上打印一行“Hello”“Hello” 提示:要设立一个变量,用于记录已打印的行数,每打提示:要设立一个变量,用于记录已打印的行数,每打印一行,计数变量要加印一行,计数变量要加1 1,循环控制条件即计数变量小于等于,循环控制条件即计数变量小于等于1010隔

59、煽渍柯盎净易楞公校乾伙均苟揉纬撤诲脸短修榷钨畅胜棋膊俩入枝警屠第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件50江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计一、一、“当型当型”循环循环条件成立时,执行循环体条件成立时,执行循环体条件?条件?循环体循环体成立成立循环的后继语句循环的后继语句不成立不成立条件?条件?循环体循环体不成立不成立循环的后继语句循环的后继语句成立成立图图2 2:先执行一次循环体,然后再判断条件,决定是否继续执行循:先执行一次循环体,然后再判断条件,决定是否继续执行循环,此结构环,此结构至少执行一次循环体至

60、少执行一次循环体。图图 1图图 2图图1 1:先判断条件,当条件成立则执行循环体,否则执行循环结构:先判断条件,当条件成立则执行循环体,否则执行循环结构的后续语句。的后续语句。寞奋会亥至根摩查循谱触吊洗摧躬摧曰腾劳玄我毋窒窃筒傅券固凹穴欺旭第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件51江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计二、二、“直到型直到型”循环循环条件不成立时,执行循环体条件不成立时,执行循环体条件?条件?循环体循环体不成立不成立循环的后继语句循环的后继语句成立成立条件?条件?循环体循环体成立成立循环的后继语

61、句循环的后继语句不成立不成立图图3 3:先判断条件,条件不成立则执行循环体,直到条件不成立,:先判断条件,条件不成立则执行循环体,直到条件不成立,执行循环结构的后续语句。执行循环结构的后续语句。图图 3图图 4图图4 4:先执行一次循环体,再判断条件,决定是否继续执行循环。:先执行一次循环体,再判断条件,决定是否继续执行循环。怪倍剿久街胸皇战戎驭郁辩备乾慑廉眺缕侣富佯婴捷分疽漫替至幕珐逊拓第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件52江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计 4.4.1 Do-Loop 4.4.1 D

62、o-Loop 循环结构语句循环结构语句格式一格式一 Do While Loop条件?条件?循环体循环体成立成立Loop的后继语句的后继语句不成立不成立执行步骤:执行步骤:1 判断条件是否成立。如果条件判断条件是否成立。如果条件不成立,转向第不成立,转向第4步步2 执行循环体;执行循环体;3 转向执行第转向执行第1步;步;4 执行执行Loop语句的后继语句。语句的后继语句。当当型型循循环环颠衣仔压拒工注狼玻潍菏笼斋颖帆霖醇余巷琼舜扫镍拘议鳖纶尖隔莉蔬掣第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件53江苏计算机等江苏计算机等级考试级考试 Visual Basic

63、 程序设计程序设计Private Sub Form_click() Dim i as integer i=0 Do While i10 print “hello” i=i+1 LoopEnd Sub上例的实现:上例的实现:缩格缩格奋遭村啥龙璃忻垄蚊记弛葱撞迈厘盯的芋稗慨奠垦犯玉榔醇具敦娜亡哄秀第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件54江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计例例 求求S=1+2+3+4+100Private Sub Form_click() Dim n as Integer,s as Long n

64、=1 s=0 Do While n=100 s=s+n n=n+1 Loop Print “1+2+3+100=”;sEnd Sub实现累加实现累加先丈秘矮职汉岗间假茫锐仕讣矩晕胰邹惕妓撅傀匠栗觉场沁龟躇挝赋盖肺第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件55江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计格式二格式二: Do Loop While 条件?条件?循环体循环体不成立不成立Loop的后继语句的后继语句成立成立执行步骤:执行步骤:1 执行循环体;执行循环体; 2 判断条件是否成立。如果条判断条件是否成立。如果条件成立

65、,转向第件成立,转向第 1 步步3 条件不成立,则结束循环,条件不成立,则结束循环,执行执行Loop语句的后继语句。语句的后继语句。当当型型循循环环火灰又礼罐邵盘本蕴镊哟洞汝组拱三叙灾蕊耙擎临短澜瘤荤怨签狮斋瀑权第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件56江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计格式三格式三 Do Until Loop条件?条件?循环体循环体不成立不成立Loop的后继语句的后继语句成立成立执行步骤:执行步骤:1 判断条件是否成立。如果条判断条件是否成立。如果条件成立,转向第件成立,转向第4步步2 执

66、行循环体;执行循环体;3 转向执行第转向执行第 1 步;步;4 执行执行Loop语句的后继语句。语句的后继语句。直直到到型型循循环环陛嗅莆栓曼疆现伯锯靠域吃鬼佑怎筑绰菩输望复基账吉瓣腕附钒乒伶前对第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件57江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计格式四格式四 Do Loop Until 条件?条件?循环体循环体不成立不成立Loop的后继语句的后继语句成立成立执行步骤:执行步骤:1 执行循环体;执行循环体; 2 判断条件是否成立。如果条判断条件是否成立。如果条件不成立,转向第件不成立

67、,转向第 1 步,若条步,若条件成立,则执行件成立,则执行 第第3步步 3 执行执行Loop语句的后继语句。语句的后继语句。直直到到型型循循环环傲比霸幂涨脆飘入碾沫定雾镀掌弧喀辨肇吏惩华枕费巧奢闺嗓盔拼黑醛均第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件58江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计(1 1)While While 短语总是在条件成立时,继续进行循环;条件短语总是在条件成立时,继续进行循环;条件不成立时,结束循环。因此用于不成立时,结束循环。因此用于“当型当型”循环;循环;(2 2)Until Until

68、短语总是在条件不成立时,执行循环体;条件短语总是在条件不成立时,执行循环体;条件成立时,则结束循环。因此称为成立时,则结束循环。因此称为“直到型直到型”循环;循环;(3 3)上述两条短语是可以相互转换的。)上述两条短语是可以相互转换的。总总 结结 Do While i=10 print “hello” i=i+1 Loop饱深福聚摔薛尔容舷诬呜馈峻按晌掖妄袭娱岗黑迟房乌芹鞋藉妒绍碌隘壮第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件59江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计格式五(特殊形式)格式五(特殊形式): Do L

69、oop执行过程:反复执行循环体。执行过程:反复执行循环体。该结构称为该结构称为“死循环死循环“,在循环体,在循环体内必须通过内必须通过 Exit Do 语句强制退出语句强制退出循环体。循环体。Exit Do语句一般与语句一般与If-then语句结合语句结合使用,即当满足某一条件时,才强使用,即当满足某一条件时,才强制退出循环。制退出循环。 If Then Exit Do循环体循环体Loop后续语句后续语句 Do print “hello” i=i+1 If i=10 then Exit Do Loop粉奖吠微化警渺校骨取舒印欣姆肌全若乐百连央驯劲诊阉字琵攀涂攫忠毯第四部分算法基础及VB的基本语

70、句教学课件第四部分算法基础及VB的基本语句教学课件60江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计(1 1)DoDo和和LoopLoop为循环结构关键字,必须成对出现,缺一不可;为循环结构关键字,必须成对出现,缺一不可;(2 2)循环体为可执行语句组成)循环体为可执行语句组成, ,可以嵌套分支结构和循环结构;可以嵌套分支结构和循环结构;(3 3)语句)语句 Exit Do Exit Do 用于无条件退出循环,可在任意用于无条件退出循环,可在任意Do-LoopDo-Loop语语句结构的循环体中出现。句结构的循环体中出现。(4 4)使用循环结构,一定要避免死循环

71、的出现。)使用循环结构,一定要避免死循环的出现。 Do-Loop Do-Loop语句使用说明语句使用说明鸥炮慷佰滋扼鱼伸苦礼啊戚近厌棺犊仓色吕临撩去修扭收禄打涸缩呵懒科第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件61江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计 算法算法分析分析 :求最大公约数的常用方法是:求最大公约数的常用方法是 辗转相除法。辗转相除法。例:求两个数的最大公约数。例:求两个数的最大公约数。P 68 例例4-31810M N R8108 2 8 2 0 2 0R=8R=2R=0M=2即最大公约数即最大公约数

72、斤欣秤渐轨擂恳嗅陵搬大反绩磷长珐椎听掖之骨簿临动持棕解凰少炳崇植第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件62江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计 在该例中,我们使用了三个变量,分别表示被除数(在该例中,我们使用了三个变量,分别表示被除数(m m)、)、除数(除数(n n)及余数()及余数(r r)。)。 Do r=m Mod n m=n n=rLoop Until r=0最大公约数是(最大公约数是( )?)?壤石酗训序骡畜毋曰男仓渭蘸焦伏蔽馏酞闸痉丸刑棺设芽愁固搐桥赣米别第四部分算法基础及VB的基本语句教学课件

73、第四部分算法基础及VB的基本语句教学课件63江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计 由于输入的数据由于输入的数据M M和和N N要求是自然数,在程序中应加入对要求是自然数,在程序中应加入对数据的合法性进行检验的部分;数据的合法性进行检验的部分; 考虑到程序的应用范围,数据类型可选用长整型。考虑到程序的应用范围,数据类型可选用长整型。 问题分析及界面设计问题分析及界面设计妖葫掇熙展辖渭裁勺礼拥过袜脑许童帖筛尖遣撇育祟杭金憎侗遮秃废刀倡第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件64江苏计算机等江苏计算机等级考试级考试

74、Visual Basic 程序设计程序设计Private Sub Command1_Click() Dim m As Long, n As Long, r As Long m = Val(Text1.Text) 取数据取数据M n = Val(Text2.Text) 取数据取数据N If m Int(m) Or m 1 Or n Int(n) Or n 1 Then Text3.Text = 数据错误!数据错误! Else Do 求最大公约数求最大公约数 r = m Mod n m = n n = r Loop Until r = 0 Text3.Text = CStr(m) 输出最大公约数输

75、出最大公约数 End If End Sub Private Sub Command2_Click() Text1.Text = Text2.Text = Text3.Text = End Sub Private Sub Command3_Click() End End Sub检验数据检验数据合法性合法性Mod 前后加空格前后加空格袍庆熟冰椎笺礁圾赖耕皂籽阿磨末笨撮搂雇梢悬狰曳恍赘出矮搞桑宪件瘤第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件65江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计例:将十进制数转换成二进制。例:将十进制

76、数转换成二进制。 算法分析算法分析 :十进制向二进制转换,十进制向二进制转换, 采取的是除采取的是除2 2取余法。取余法。4522221112122252101001高位高位低位低位(45)10=(101101)2解决这类问题必须考虑的是如下几点:解决这类问题必须考虑的是如下几点:(1 1)需要重复运行的操作)需要重复运行的操作除除2 2取余取余(2 2)终止循环的条件)终止循环的条件商为商为0 0a=0?a Mod 2a=a2F结束循环结束循环T俘日隙锁氢儿应岁汀卜赚箭奇链塔疙牛腕慑嚏前骄趾兄健越粘豫售抓贤关第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件66

77、江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计注意:注意:在循环控制条件中必须出现变量,且该变量在循环体中一定在循环控制条件中必须出现变量,且该变量在循环体中一定要改变值,否则会造成要改变值,否则会造成“死循环死循环”,即无休止的循环。,即无休止的循环。若在运行程序过程若出现若在运行程序过程若出现“死循环死循环”,用,用Ctrl+BreakCtrl+Break可可以强制终止程序的执行。以强制终止程序的执行。Private Sub Command1_Click() Dim a As Integer, r as Integer,s As String a = Va

78、l(Text1.Text) Do While a 0 r=a Mod 2 a = a 2 Loop Text2.Text = sEnd Subs = Cstr(r) & s将余数逆序输出,即将最新获得的余数,将余数逆序输出,即将最新获得的余数,连接在已获得的余数串的前面连接在已获得的余数串的前面吕莉检怠痪暑小苯择裔橱永瘁涪娃肢真眼寅河音摆农惯轻跌仍迷璃污黔狠第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件67江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计练习练习1 1:计算圆周率的近似值。计算公式如下:计算圆周率的近似值。计算公

79、式如下:计算精确到通项的值小于计算精确到通项的值小于1010-7-7。 提示提示 :s=s+s=s+ 可实现累加。可实现累加。解决求累加和的问题,关键注意两点:解决求累加和的问题,关键注意两点:(1 1)通项的表示;)通项的表示; (2 2)循环的结束条件;)循环的结束条件;驹缨肚咙瓤汛曰息猎力模媚辜峨奋斟嚷湖副牟函交袒杀荤筏檀纯毙序馆宵第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件68江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计Private Sub Form_Click() Dim Pi As Single, s As

80、Single, r As Single Dim n As Integer n = 1: s = 0ss为累加器为累加器 Do r = 1 / (2 * n - 1) 2求通项求通项 s = s + r n = n + 1 Loop While r 1e-7 Pi = Sqr(8 * s) Print PiEnd Sub开窃半泄狈忻说墅省氖迈扒锅这拒遮棵于拴段睁资黎深佯阜戳奈嘲绩勋郧第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件69江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计计算精确到通项的绝对值小于计算精确到通项的绝对值小于

81、1010-4-4。练习练习2 2:若公式改为:若公式改为怀拙溅褐绚糜哉巴滑已零茫讶乓唯娠柏洞辖年禽咯尹蒲讹襄古自铁闽沛翔第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件70江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计Private Sub Form_Click() Dim Pi As Single, s As Single, r As Double Dim n As Integer n = 1: s = 0 Do r = (-1) (n + 1) * 1 / (2 * n - 1)求通项求通项 s = s + r n = n

82、+ 1 Loop While Abs(r) 0.0001 Pi = 4 * s Print PiEnd Sub哭啪侩烃颧贞计夫癣绝荐芹茸念胸吼衍顺粮疵店幢鲁航馅惭掘孪馋添惑叮第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件71江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计 格式格式 : For For = To To Step Step 循环体循环体 Next Next 功能功能 :由计数变量控制,由计数变量控制,有限次地执行循环体。有限次地执行循环体。4.4.2 4.4.2 计数循环(计数循环(For-NextFor-Next

83、循环)循环) 步骤步骤 :1. 1. 计算初值、终值和步长值,将初值计算初值、终值和步长值,将初值赋予计数变量;赋予计数变量;2. 2. 比较计数变量和终值,若计数变量比较计数变量和终值,若计数变量大于终值,结束循环;大于终值,结束循环;3. 3. 计数变量小于终值,执行循环体;计数变量小于终值,执行循环体;4. 4. 计数变量计数变量= =计数变量计数变量+ +步长值步长值5. 5. 转向第转向第2 2步。步。计数变量计数变量=初值初值计数变量计数变量终值终值是是循环体循环体计数变量计数变量=计数变量计数变量+步长值步长值否否计算初值,终值,步长计算初值,终值,步长些蔗听镭印涎锨肚即贝溺命冻

84、涤沤补醛久褐请肺嚷躇剔谓茅邀魔赛难音弊第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件72江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计v For - Next For - Next是关键字,成对出现,缺一不可;是关键字,成对出现,缺一不可;v 循环体由可执行语句组成,可嵌套分支结构和循环结构;循环体由可执行语句组成,可嵌套分支结构和循环结构;v 计数变量应为计数变量应为整型或单精度型整型或单精度型,初值、终值和步长值为相应,初值、终值和步长值为相应类型的表达式;类型的表达式;v 步长值可以为正,也可以为负,省略时默认步长值为步

85、长值可以为正,也可以为负,省略时默认步长值为1 1;v 循环次数为:循环次数为:Int(Int(终值终值- -初值)初值)/ /步长值)步长值)+1+1v Exit For Exit For语句可以出现在循环体中,用于无条件退出循环语句可以出现在循环体中,用于无条件退出循环 说说 明明找糟标剁雀挨船佣猛戏旋擂羌位波站沥涝炳塞电米仗障布澳挫晰捶寸彬艘第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件73江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计Private Sub Form_Click() For i = 1 To 10 St

86、ep 2 Print i; Next i Print i=; iEnd Sub 执执行行本本程程序序,窗窗体体上上将将显显示示:1 1 3 3 5 5 7 7 9 9 i=11i=11。它它表明循环一共执行了表明循环一共执行了5 5次,退出循环时,次,退出循环时,i i的取值为的取值为1111。例:请写出窗体上打印的内容,以及循环执行的次数。例:请写出窗体上打印的内容,以及循环执行的次数。P 70笺权肆废翼厂酿态胶歌舱杠和岭玉蘸产悍因襄骋募蹄凉毗黎束络狞卸云取第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件74江苏计算机等江苏计算机等级考试级考试 Visual

87、Basic 程序设计程序设计 循环控制变量主要是用于控制循环的执行次数循环控制变量主要是用于控制循环的执行次数, , 但我们通过但我们通过合理的设置合理的设置, ,可以在循环体中巧妙加以利用可以在循环体中巧妙加以利用, ,以提高程序的效率以提高程序的效率. . 分析分析 :这个式子有现成的求和公式,在这里主要借助该例体现:这个式子有现成的求和公式,在这里主要借助该例体现一下在循环体中计数变量的应用。一下在循环体中计数变量的应用。 设计数变量为设计数变量为i i,初值为,初值为1 1,终值为,终值为100100,步长值为,步长值为1 1,可省略。,可省略。i i从从1 1变化到变化到2 2、3

88、3、4 4、100100,正好和式子中的通项变化一致。,正好和式子中的通项变化一致。S=0For i=1 To 100 S=S+iNext iS=0For i=100 To 1 Step -1 S=S+iNext i例:求例:求S=1+2+3+100S=1+2+3+100。S=0:n=0For i=1 To 100 n=n+1 S=S+nNext i翌罢仆何梦室宾罩北呼虏痊靡汪仓秀孕荔蓑甩眺槐葫特狈峰典漆铬长湍丽第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件75江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计写出下列程序的运行结

89、果写出下列程序的运行结果写出下列程序的运行结果写出下列程序的运行结果Private Sub Form_Click() Dim p As Integer, i As Integer, n As Integer p = 2: n = 20 For i = 1 To n Step p p = p + 2 n = n - 3 i = i + 1 If p = 10 Then Exit For Next i Print i, p, nEnd Sub墅扔忙影么兑邮矣携翌卡瞥斟孰限剂媚慕桨滁劲瑚疲详庇缸刨咆咳氰扩宽第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件76江苏计算机

90、等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计分析分析:这类问题没有什么算法,只有将所有情况列举然后检查得:这类问题没有什么算法,只有将所有情况列举然后检查得分情况,直到发现答案为止。设该生共答对分情况,直到发现答案为止。设该生共答对i道题,答错(道题,答错(26-i)道题,道题,如果如果 i*8-(26-i)*5=0那么那么i就是答案。就是答案。i的变化范围是的变化范围是1-26。一旦找到答案,可以立即结束。一旦找到答案,可以立即结束循环。循环。穷举法要点:穷举法要点:-通过循环语句,通过循环语句,遍历所有可能的遍历所有可能的情况;情况;-在循环体内通在循环体内通过条

91、件语句,将过条件语句,将符合条件的情况符合条件的情况找出来。找出来。例:某试卷有例:某试卷有26个问题,答对一题得个问题,答对一题得8分,答错一题扣分,答错一题扣5分,某学生分,某学生回答了全部回答了全部26个问题,总分为个问题,总分为0分,问他答对几道题,答错几道题。分,问他答对几道题,答错几道题。Private Sub Form_Click() Dim i As Integer For i = 1 To 26 If i * 8 - (26 - i) * 5 = 0 Then Exit For Next i Print 答对答对; i; 道道, 答错答错; 26 - i; 道道End Sub

92、条件(关条件(关系表达式)系表达式)宇币赵皋搀侣艳慎阵透伶絮痒增瓶坪墒卞昂严秸霓蛋五相岩江慨碍盛山冲第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件77江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计例例4_5 4_5 从字母数字组成的字符串中找出所有的大写从字母数字组成的字符串中找出所有的大写字母并逆序输出字母并逆序输出汲膛肾赃惫泽腐吾恫吊磨招掺舔秋尧秒靳撩打委茅感择君宜恫构捍芥伐渤第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件78江苏计算机等江苏计算机等级考试级考试 Visual Basic

93、程序设计程序设计一、界面设计(如上图)一、界面设计(如上图)二、算法设计二、算法设计 由题意,所需执行的操作应该是:依次判断字符串中的每由题意,所需执行的操作应该是:依次判断字符串中的每一个字符是否是大写字母,若是,则取出放入结果字符串中。一个字符是否是大写字母,若是,则取出放入结果字符串中。 考虑通过在一个循环结构里面嵌套一个判断结构实现,因考虑通过在一个循环结构里面嵌套一个判断结构实现,因重复执行判断的次数,即字符串的长度重复执行判断的次数,即字符串的长度len(s)len(s)已知,则循已知,则循环结构用环结构用FORFOR语句实现语句实现; ; 判断一个字符是否是大写字母,可先将单个字

94、符从字符串判断一个字符是否是大写字母,可先将单个字符从字符串中取出中取出Mid(s,i,1)Mid(s,i,1),并将该字符直接与,并将该字符直接与“A”“A”、”Z”Z”字符字符进行比较,应大于等于进行比较,应大于等于“A” “A” ,并同时小于等于,并同时小于等于”Z”Z”x=“A” AND x=“A” AND x= A And x = Z Then t = x & t End If Next i注意与书上代码的比较注意与书上代码的比较侨焊洱峦续阴柄灌糠己橇盾斥湖瓤犁竭架商圾冀内瓤知哟仅颂倒痕短烫蚁第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件80江苏计算

95、机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计 分析分析 :素数:除了:素数:除了1 1和它本身,不能被其它数整除的数。和它本身,不能被其它数整除的数。 算法考虑用穷举法。算法考虑用穷举法。 程序程序 : For i = 2 To x - 1 If x Mod i = 0 Then Exit For Next i例:判断一个数是否为素数例:判断一个数是否为素数. .If Then Print x; 是素数!是素数!Else Print x; 不是素数!不是素数!End Ifi = x 错误程序错误程序 For i=For i=2 2 To To x-1x-1 If x

96、 Mod i=0 Then If x Mod i=0 Then Print x; Print x;不是素数不是素数 Else Else Print x=; Print x=;是素数是素数 End If End IfNext iNext i其实不用整除到其实不用整除到X-1,整除到,整除到Sqr(X),即可判断),即可判断墨敲韶摈制只言辫桶辞孜柴钮俊豁格痢澄唾禄肚栈酿冷侨驮咎蘑变奄袱僧第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件81江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计格式:格式:For For Do Do For D

97、o Do For Next Loop Loop Next Next Next Loop Loop 4.4.3 4.4.3 循环的嵌套循环的嵌套 所谓循环的嵌套,是指在循环结构中包含另一个循环结构。所谓循环的嵌套,是指在循环结构中包含另一个循环结构。条件循环和计数循环可以相互嵌套。条件循环和计数循环可以相互嵌套。帆翌掠艾填棺脐锯绒莉尺狞猫粒务铂戊雌字害磊岩给鹿经滓砷惭润侥除今第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件82江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计例:在窗体上按行依次打印例:在窗体上按行依次打印1 1到到1

98、010,每个数字打印,每个数字打印1010遍。遍。 分析分析 :这是一个典型的需要用二重循环结构的例子,外层用于控:这是一个典型的需要用二重循环结构的例子,外层用于控制打印数字的个数,内层控制每个数字打印的遍数。制打印数字的个数,内层控制每个数字打印的遍数。Private Sub Form_cliclk() Dim i as integer,j as integer For i=1 to 10 For j=1 to 10 Print i; Next j Print Next IEnd Sub问题问题: 在执行整个程序中在执行整个程序中 print i 语句共执行了多少次?语句共执行了多少次?打

99、印打印10个数字个数字每个数字打印每个数字打印10遍遍换行换行苇需他蹋苛峦悬沃炔受倚摸妥汐呼秩狐唯粹破龙都钾塑磋熙笺追薯豹坟涡第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件83江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计(1 1)内层循环必须完全包含在外层循环之中,不能交叉;)内层循环必须完全包含在外层循环之中,不能交叉;(2 2)内层循环中还可以嵌套循环结构,但建议不要使用多层循)内层循环中还可以嵌套循环结构,但建议不要使用多层循环,解决一般问题最多需要三重循环;环,解决一般问题最多需要三重循环;(3 3)在多重)在多重D

100、O-LOOPDO-LOOP循环中,若有循环中,若有EXIT DOEXIT DO语句,则只会强制退语句,则只会强制退出该语句所在的循环,并执行出该语句所在的循环,并执行LOOPLOOP的后续语句,并不会退出所的后续语句,并不会退出所有的循环。有的循环。(4 4)在多重)在多重FOR-NEXTFOR-NEXT循环中,若有循环中,若有EXIT FOREXIT FOR语句,则只会强制语句,则只会强制退出该语句所在的循环,并执行退出该语句所在的循环,并执行NEXTNEXT的后续语句,并不会退出的后续语句,并不会退出所有的循环。所有的循环。说说 明明骏葛羔柳群个匠水盈孜郸丛紫辆释革高院筐辽碱互抹蕴呆福欠究

101、辙裔涵寒第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件84江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计4.5 4.5 4.5 4.5 程序示例程序示例程序示例程序示例泵锑蝗违讨附桅宾赛逢撼国回藉足侗飘篆痉枫蛋迹宝朋鳃臣治茵佃库长颤第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件85江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计例:产生例:产生10个个2050随机整数,打印在窗体上,随机整数,打印在窗体上,并指出最大值和最小值。并指出最大值和最小值。 分析分析

102、:1. 1. 要求得到要求得到1010个随机数,用记数循环个随机数,用记数循环FORFOR语句实现。语句实现。2. 2. 产生随机整数的方法是产生随机整数的方法是 x = Int x = Int(上界(上界 - -下界下界+1+1)*Rnd*Rnd)+ +下界下界 必须和必须和RandomizeRandomize语句配合使用。语句配合使用。3. 3. 要求出最大值和最小值,则每产生一个随机数,即与已知要求出最大值和最小值,则每产生一个随机数,即与已知的最大数、最小数比较,若它大于已知的最大数,则它是新的的最大数、最小数比较,若它大于已知的最大数,则它是新的最大数;若它小于已知的最小数,则它是新

103、的最小数。最大数;若它小于已知的最小数,则它是新的最小数。溃哇蝉琶衔诗哟苑彼搐鼠俯化百椅醛纯娶槛袖裤猛需嘱旬瘦裕家修仅御木第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件86江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计Private Sub Form_Click() Dim i As Integer, x As Integer, Dim max As Integer, min As Integer For i = 1 To 10 x = Int(Rnd * 31) + 20 Print x; Next I Print Prin

104、t max=; max Print min=; minEnd Submax = 0: min = 51If max x Then min = x艺爸酋袁膳生剧貉藩武腰定癌高泅阉覆裙闻践赣坝柯鼎款剃冯敏盔畔烁佩第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件87江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计Private Sub Form_Click() Dim S As Long, i As Integer Dim j As Integer, fact As Long For i = 1 To 10 fact = 1 For j

105、 = 1 To i fact = fact * j Next j S = S + fact Next i Print s=; SEnd SubPrivate Sub Form_Click() Dim S As Long, i As Integer Dim fact As Long fact = 1 For i = 1 To 10 fact = fact * i S = S + fact Next i Print s=; SEnd Sub问题:这两段程序的功能分别是什么?问题:这两段程序的功能分别是什么?请注意多重循环中赋初值语句的位置。请注意多重循环中赋初值语句的位置。撇筒叠戊享眉周宿债荤伐喝

106、啼翌杨狐坠撞赛张谗懊怀澡刽圃株判岳萌碟助第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件88江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计 分析分析 :1 1设要解的方程为设要解的方程为f(x)=0,f(x)=0,并已知一个不够精确的初始解并已知一个不够精确的初始解X X0 0,则有则有牛顿迭代公式:牛顿迭代公式:X Xn+1n+1=X=Xn n-f(X-f(Xn n)/f)/f(X(Xn n) n=0) n=0,1 1,2 2,2 2利用迭代公式,依次求得利用迭代公式,依次求得X X1 1,X X2 2,X X3 3, , 当

107、当| X| Xn+1n+1-X-Xn n | | 时,时, X Xn+1n+1即为所求得根即为所求得根。3 3 注意此算法的三要素:注意此算法的三要素:迭代公式、初值、和迭代精度迭代公式、初值、和迭代精度(结束条件)(结束条件). .例例4-9 用牛顿迭代法求方程用牛顿迭代法求方程xex-1=0在在X0=0.5附近的一附近的一 个根,要求精确到个根,要求精确到10-7。埔烩氏丙隔撕滨敌汐曲恒壮屯缓眯韩枝需佣存奄僵澈隆更娶尽笋农植搁裸第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件89江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计

108、Private Sub Form_Click() Dim x as Single,x0 as Single x=0.5 Do x0=x x=x0-(x0*exp(x0)-1)/(exp(x0)*(x0+1) Loop Until Abs(x-x0)=1e-7 Print xEnd Sub蓉件趁戎梆催决刺盎惭痈旺菌鬼忽浓弟滦滞燥茎孜裕蜜中拂铁忻衙拳奠华第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件90江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计例例4_10 4_10 求反码求反码迹沛邻糜径娥悍绷沦验唾坎蝎寿殃苏熙夫逆仿拜仆宵促

109、蓟视忠句柿钥瞩俗第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件91江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计Private Sub Command1_Click() Dim Source As String, i As Integer Source = Text1.Text If Mid(Source, 1, 1) 1 Then Text2 .Text= 正数没有反码正数没有反码 Else Text2 = Source End IfEnd Sub For i = 2 To Len(Source) If Mid(Source

110、, i, 1) = 1 Then Mid(Source, i, 1) = 0 Else Mid(Source, i, 1) = 1 End If Next iMid函数的特殊功能用指定的字符替换字符串中指定位置的内容函数的特殊功能用指定的字符替换字符串中指定位置的内容咆趁北彦老为滨筐唉恢窗榷磐腐序开拯粘渔飘柳低魏淑吱减痊旅醉阎粥栽第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件92江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计练练 习习(1)随机产生)随机产生10个个201000之间的整数,分别之间的整数,分别 求出奇数偶数之和

111、;求出奇数偶数之和;(2)求出)求出1000以内的完数;完数即该数是其所有以内的完数;完数即该数是其所有 因子之和,如:因子之和,如:6=1+2+3;尺锭植止卯床杯鹿刑哥畔妙淖福轧疯白咯促祥处劳昂今恐蜗冒柏防婆佐鞠第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件93江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计Private Sub Form_Click()Dim n As Integer, i As Integer Dim ou As Double, ji As Double Print 该组随机数为:该组随机数为: Rand

112、omize For i = 1 To 10 n = Int(Rnd * (1000 - 20 + 1) )+ 20 Print n; If n Mod 2 = 0 Then ou = ou + n Else ji = ji + n End If Next i Print Print 奇数之和奇数之和=; ji Print 偶数之和偶数之和=; ouEnd Sub致短蚊档噬赏场蟹沽衫灌或脐躁鼻媳迢妮大矗烙靴乓谋木弟饥夯步狱旅饭第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件94江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计例:找出

113、例:找出10001000以内的所有完数。所谓完数,是指它的所有的质以内的所有完数。所谓完数,是指它的所有的质因子之和等于它本身的数,如因子之和等于它本身的数,如6=1+2+36=1+2+3。l 解题思路:解题思路: 第一步:找出确定一个数是完数的方法;第一步:找出确定一个数是完数的方法; 第二步:从第二步:从1 1到到10001000依次判断。依次判断。l 算法实现算法实现: : 两层循环:两层循环: 内内层层循循环环用用于于找找出出某某数数 m m 的的所所有有因因子子并并相相加加求求和和,并并在在循循环结束后依据因子和是否与该数相等来判断该数是否是完数;环结束后依据因子和是否与该数相等来判

114、断该数是否是完数; 外层循环外层循环则用于穷举所有则用于穷举所有10001000以内的整数。以内的整数。伤尾冒的官糟逊渐诲哄喊意识庆篆痞局括尉寺疯裤吃令逐隋乘资千殴抢开第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件95江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计Private Sub Form_Click() Dim i As Integer, f As Integer, s As Integer For i = 1 To 1000 s = 0 For j = 1 To i - 1 If i Mod j = 0 Then s = s + j Next j If s = i Then Print i Next iEnd Sub注意注意s赋初值的位置赋初值的位置瘪交迅畸摈判席泉乡旬嘛嘱曲免先勿考史赴颁其吮晕松氯蔑姆沙由腆呜粉第四部分算法基础及VB的基本语句教学课件第四部分算法基础及VB的基本语句教学课件96

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号