vb程序设计的3种基本结构.ppt
《vb程序设计的3种基本结构.ppt》由会员分享,可在线阅读,更多相关《vb程序设计的3种基本结构.ppt(100页珍藏版)》请在装配图网上搜索。
第4章程序设计的3种基本结构,重点:选择结构及循环结构的实现及其应用,难点:选择的嵌套及多重循环结构,本章内容及要求:1.了解算法概念及表示,掌握用NS流程图表示算法;2.熟练掌握赋值语句、输入/输出消息框函数的使用;3.熟练掌握行if语句、块if结构、SelectCase情况选择结构有使用,掌握选择的嵌套结构;4.熟练掌握实现循环结构的For/Next循环结构及ExitFor语句、Do/Loop循环结构的使用,掌握多重循环。,4.1.1算法概述什么是算法:广义地讲:算法是为完成一项任务所应当遵循的一步一步的规则的、精确的、无歧义的描述,它的总步数是有限的。狭义地讲:算法是解决一个问题采取的方法和步骤的描述。下面通过两个简单的例子加以说明:,4.1算法及算法的表示,1)输入A、B、C。2)A与B中大的一个放入MAX中。3)把C与MAX中大的一个放入MAX中。4)输出MAX,MAX即为最大数。,例4.1输入三个数,然后输出其中最大的数。将三个数依次输入到变量、B、C中,设变量MAX存放最大数。其算法如下:,例4.1算法的描述,例4.2输入10个数,打印输出其中最大的数。算法设计如下:(1)输入1个数,存入变量A中,将记录数据个数的变量N赋值为1,即N=1(2)将A存入表示最大值的变量Max中,即Max=A(3)再输入一个值给A,如果AMax则Max=A,否则Max不变(4)让记录数据个数的变量增加1,即N=N+1(5)判断N是否小于10,若成立则转到第(3)步执行,否则转到第(6)步(6)打印输出max,例4.2算法的描述2,有穷性确定性有0个或多个输入有一个或多个输出有效性,4.1.2算法的特性,一、自然语言与伪代码表示算法自然语言:就是指人们日常使用的语言,可以是汉语、英语或其它语言。伪代码:是用介于自然语言和计算机语言之间的文字和符号(包括数学符号)来描述算法。,4.1.3算法的表示,例如:例4.1可用如下的伪代码表示Begin(算法开始)输入A,B,CIFAB则AMax否则BMaxIFCMax则CMaxPrintMaxEnd(算法结束),伪代码示例,处理框,起止框,I/O框,判断框,流程线,连接点,1、传统流程图中的基本符号,二用传统流程图表示算法,(1)顺序结构,(2)选择结构,2、三种基本结构的表示,a)当型循环,b)直到循环,(3)循环结构,(1)只有一个入口(2)只有一个出口(3)不存在死语句(4)不存在死循环,例:例4.2输入10个数,打印输出其中的最大的数的流程图,三种基本结构的特点,从10个数中选出最大的数的算法流程图,算法流程图示例,将全部算法写在一个矩形框内,在矩形内还可包含其它从属于它的框,4.1.4用NS流程图表示算法,(3)循环结构,NS流程图示例,例:从10个数中选出最大的数,A=Val(InputBox(A=?)B=Val(InputBox(B=?)C=Val(InputBox(C=?)IfABthenMax=AElseMax=BEndIfIfCMaxthenMax=CPrintMax=;Max,下面是例4.1的计算机程序,即为用计算机语言表示算法:,用计算机语言表示算法,(一)、用计算机解决问题的过程,提出、分析问题,确定算法模型,设计算法,编写程序,调试程序,分析输出结果,正确合理,结束,不正确,4.1.6结构化程序设计方法(补充),自顶向下、逐步细化、模块化,自顶向下:先从全局、整体设计逐步细化:将一个问题分解成几个较小的问题解决模块化:将一个大任务分解成若干个较小的部分,每个部分承担一定功能,称为“功能模块”,例:给100个整数,打印输出其中的素数,(二)、结构化程序设计思想,S1,NS流程图,S3,S2,(三)、结构化程序设计过程示例,S1,NS流程图,S3,S2,S21,示例2,细化后的流程图,示例3,4.2顺序结构,4.2.1赋值语句,形式:变量名表达式对象.属性表达式功能:将表达式的值赋值给变量名或指定对象的属性。一般用于给变量赋值或对控件设定属性值.例:sRate!=0.1Text1.Text欢迎使用VisualBasic6.0”说明:1执行过程:先求表达式的值,然后将值赋值给左边的变量。2右边的表达式可以是变量、常量、函数调用等特殊的表达式。3不要将“”理解为数学上的等号:A=A+1是表示将A单元的值加后以放回到A单元。,4赋值符号“=”左边一定只能是变量名或对象的属性引用,不能是常量、符号常量、表达式。下面的赋值语句都是错的:5=X左边是常量。Abs(X)=20左边是函数调用,即是表达式。5.赋值符号“=”两边的数据类型一般要求应一致。说明:当表达式的类型与变量的类型不一致时,VB系统会自动地将表达式的值强制地转换成变量的类型。例:iA%=10/3iA中的结果为3iA%=11/3iA中的结果为4(四舍五入)iA%=-11/3iA中的结果为-4(四舍五入)iA%=38000出错,数据溢出。,赋值语句2,说明:当表达式是数字字符串,变量是数值类型时,系统自动地将数字字符串转换成数值再赋值;当表达式中含有非数字字符时,则出错。例:iA%=123iA中的结果为123iA%=123abc错误,类型不匹配!说明:逻辑型值赋值给数值型变量;系统自动转换。例:iA%=TrueiA中的结果为-1iA%=FlaseiA中的结果为0说明:非字符类型值赋值给字符型变量时,系统自动转换。例:cA$=TruecA中的结果为TruecA$=123cA中的结果为123cA$=#2003/3/12#cA中的结果为03-3-12注意:VB不能在一句语句中给多个变量赋值。,Dimx%,y%:x=y=100,n=n+1,iA%=Val(“123abc”),赋值语句3,Vb数据的输出Print方法,Print方法的一般格式:对象名.Print,|;,说明:对象名.可以是窗体名、图片框名,也可是立即窗口“Debug”。若省略对象,则表示在当前窗体上输出。用Print方法在图片框和立即窗口对象中输出与在窗体对象中输出完全相同。,4.2.2Print方法,4.2.3用户交互函数和过程,1.InputBox函数变量名=InputBox$(,)其中:提示提示信息,标题标题区显示,缺省输入区缺省值。例如,要在屏幕上显示如下的对话框:,例如:有下列语句如下:Dimx%x=Val(InputBox(请输入一个数,输入框,100)语句执行后打开如下对话框。,InputBox示例,2.MsgBox函数和MsgBox过程,函数形式:变量%=MsgBox(,按钮图标+缺省按钮+模式,标题)过程形式:MsgBox,按钮图标+缺省按钮+模式,标题,说明:“标题”和“提示”与InputBox函数中对应的参数相同;“按钮图标+缺省按钮+模式”是整型表达式,决定信息框按钮数目、出现在信息框上的图标类型及操作模式(见表4.1)若程序中需要返回值,则使用函数,否则可调用过程。,MsgBox参数说明,按钮及图标值如下:,MsgBox参数说明2,根据用户所选按钮,函数返回17的整数值,其含义如下表:(表4.2),MsgBox函数示例,用户可根据MsgBox函数的不同返回值,实现程序的控制流程,就必需通过编写程序代码才能实现。例如下面一段程序中的MsgBox函数,显示的对话框在“是”、“否”两个按钮,默认按钮为第一个按钮“是”。i=MsgBox(发生错误,是否继续?,vbYesNo+vbQuestion,提示信息)Ifi=7ThenEnd或写成Ifi=vbNoThenEnd当用户单击“否”,程序就结束,单击“是”或直接按回车键,程序则继续向下执行。,其语法格式为:Rem或说明:1.指要包括的任何注释文本。在Rem关键字和注释内容之间要加一个空格。可以用一个英文单引号“”来代替Rem关键字。2.如果在其他语句行后面使用Rem关键字,必需用冒号(:)与语句隔开。若用英文单引号“”,则在其他语句行后面不必加冒号(:)。例如:ConstPI=3.1415925符号常量PIS=PI*r*r:Rem计算圆的面积,4.2.4注释语句,例4.3输入时间(小时,分和秒),然后使用输出消息框输出总计多少秒。使用文本框输入数据,使用消息框输出计算结果,程序运行界面如图3-14所示。,4.2.5应用举例,图4-14程序运行界面,例4.4编一程序,求一内半径R1=10cm,外半径R2=20cm的球环的体积。要求按四舍五入保留到小数点后4位。,4.2.5顺序结构应用举例,本题所求的球环面的体积公式:,PrivateSubForm_Click()DimR1#,R2#R1,R2表示球的内外半径DimVolAsDoubleVol表示体积ConstPI#=3.1415926符号常量PI代表R1=10:R2=20Vol=4/3*PI*(R23-R13)Vol=Fix(Vol*10000+0.5)/10000保留小数点后4位Print球环的体积:V=;Vol;立方厘米EndSub,4.3选择结构,选择结构是根据条件选择执行不同的分支语句,以完成问题的要求。在VisualBasic程序设计中,使用IF语句和SelectCase语句来处理选择结构。其特点是:根据所给定的条件成立(True)或不成立(False),从各实际可能的不同分支中执行某一分支的相应操作(程序块),并且任何情况下总有“无论条件多寡,必择其一;虽然条件众多,仅选其一”的特性。,4.3.1If条件语句,1.IfThen语句(单分支结构)IfThen语句块EndIf或IfThen,说明:表达式一般为关系表达式或逻辑表达式,也可以是算术表达式。若为算术表达式,则表达式的值非零时为TRUE,零为FALSE。语句块可以是一个语句,也可以是多个语句。若在程序中采用行IF语句,则多个语句之间一定要用冒号分隔。,选择结构示例,例已知两个数x和y,比较它们的大小,并把大者赋值给x,小者赋值给y.IfxyThent=xx=yy=tEndIf或IfxYThenPrintXElsePrintY,选择结构示例2,单分支结构实现:y=cos(x)x3+3*xIfx0Theny=sin(x)+sqr(x*x+1),双分支结构实现:Ifx0Theny=sin(x)+sqr(x*x+1)Elsey=cos(x)x3+3*xEndIf,选择结构示例3,例:计算分段函数,IIF函数可用来执行简单的条件判断操作,它相当于IFThen.Else结构。IIF函数的使用格式:IIF(,)说明:(1)与IF语句中的表达式相同,通常是关系表达式、逻辑表达式,也可为算术表达式。如果是算术表达式,其值按非0为True,0为False进行判断。(2)当为真时,函数返回的值,当为假时,函数返回的值。(3)、可以是任何表达式。例如:Max=IIF(XY,X,Y)它与下面语句等价:IFXYThenMax=xElseMax=Y,3.条件函数,执行过程,4.IfThenElseIf语句(多分支结构),形式:IfThenElseIfThenElse语句块n+1EndIf,使用IF语句实现的程序段如下:Ifx=90thenPrint优秀ElseIfx=80ThenPrint良好ElseIfx=70ThenPrint中等ElseIfx=60ThenPrint及格ElsePrint不及格EndIf,例4.6:输入一学生成绩,评定其等级。方法是:90100分为“优秀”,8089分为“良好”,7079分为“中等”,6069分为“及格”,60分以为“不合格”,选择结构例4.6,数值型或字符串表达式,4.3.2SelectCase语句,1.SelectCase语句形式:SelectCase变量或表达式Case表达式列表1语句块1Case表达式列表2语句块2CaseElse语句块n+1EndSelect,注意:Case子句后的表达式中不能出现变量.,SelectCase语句说明,说明:与同类型的下面四种形式之一:(1)表达式A+5(2)一组枚举表达式(用逗号分隔)2,4,6,8(3)表达式1To表达式260to100(4)Is关系运算符表达式Isn时:m=m-n当nm时:n=n-m重复操作直到m=n时为止m=n即为最大公约数DoWhilemnmnIfmnThen146m=mn86Else26n=nm24EndIf22Loop,多重循环结构如果在一个循环内完整地包含另一个循环结构,则称为多重循环,或循环嵌套,嵌套的层数可以根据需要而定,嵌套一层称为二重循环,嵌套二层称为三重循环。上面介绍的几种循环控制结构可以相互嵌套,下面是几种常见的二重嵌套形式:,4.4.4循环的嵌套,(1)ForI=.ForJ=.NextJ.NextI,(2)ForI=.DoWhile/Until.Loop.NextI,(3)DoWhile.ForJ=.NextJ.Loop,(4)DoWhile/Until.DoWhile/Until.Loop.Loop,常见的嵌套形式,Fori=1To9Forj=1To9se=iNextjPicture1.PrintNexti,例题:打印九九乘法表.,(1)内循环变量与外循环变量不能同名;(2)外循环必须完全包含内循环,不能交叉;(3)不能从循环体外转向循环体内,也不能从外循环转向内循环.下面是正确的嵌套,例4.11:将一张面值为100元的人民币等值换成100张5元、1元和0.5元的零钞,要求每种零钞不少于1张,问有哪几种组合?,循环嵌套注意事项:,Fori=1To10Forj=1To20NextiNextj,Fori=1To10Fori=1To20NextiNexti,不正确的嵌套,4.4.5几种循环语句比较,在循环结构中可以完整嵌套选择结构即整个选择结构都属于循环体。在选择结构中嵌套循环结构时,则要求整个循环结构必须完整地嵌套在一个分支内,一个循环结构不允许出现在两个或两个以上的分支内。,4.4.6循环结构与选择结构的嵌套,(1)ForI=IFThenEndIFNextI,(6)IFThenForI=EndIFNextI,(5)SelectCaseForI=CaseCaseNextIEndSelect,(3)ForI=IFThenNextIEndIF,(2)IFThenForI=NextIEndIF,(4)ForI=SelectCaseCaseCaseEndSelectNextI,嵌套示例,(5)SelectCaseCaseCaseForI=NextICaseEndSelect,4.5.1Goto语句形式:GoTo标号|行号作用是无条件地转移到标号或行号指定的那行语句.标号是一个字符序列,行号是一个数字序列。例如:Lp:gotolp,4.5其它控制语句,Exit语句用于退出Do.Loop、For.Next、Function或Sub代码块。对应的使用格式为:ExitDo、ExitFor、ExitFunction、ExitSub。分别表示退出DO循环、For循环、函数过程、子过程。,例如:下面的例子是使用Exit语句退出For.Next循环、Do.Loop循环及子过程。,4.5.2Exit语句,PrivateSubForm_Click()DimNum%DoWhileTrue建立无穷循环。Num=Int(Rnd*100)生成一个099的随机数。SelectCaseNumCase0to35:msgbox退出For.Next循环ExitForCase36to70:msgbox退出Do.Loop循环ExitDoCaseelse:ExitSub退出过程。EndSelectLoopEndSub,例:用Exit语句退出循环,形式:End功能:结束一个程序的运行。在VisualBasic中还有多种形式的End语句,用于结束一个程序块或过程。其形式有:EndIfEndSelectEndTypeEndWithEndSubEndFunction等,它们与对应的语句配对使用。,4.5.3End语句,Stop语句用来暂停程序的执行,相当于在事件代码中设置断点。语法格式为:Stop说明:1.Stop语句的主要作用是把解释程序置为中断(Break)模式,以便对程序进行检查和调试。可以在程序的任何地方放置Stop语句,当执行Stop语句时,系统将自动打开立即窗口。2.与End语句不同。,4.5.4暂停语句,形式:With对象名语句块EndWith说明:With语句可以对某个对象执行一系列的语句,而不用重复指出对象的名称。例如,要改变一个对象的多个属性,可以在With控制结构中加上属性的赋值语句,这时候只是引用对象一次而不是在每个属性赋值时都要引用它。下面的例子显示了如何使用With语句来给同一个对象的几个属性赋值。,4.5.5With.EndWith语句,例如,需要对同一对象设置几个属性。途径之一是使用多条语句。PrivateSubForm_Load()Command1.Caption=退出(EIfxMaxThenMax=xNextiPrintPrint最大值=;MaxEndSub,2.补充算法:极值问题,有一根长度为321米的钢材料,要将它截取成两种规格a、b的长度分别为17米和27米的短料,问分隔成a,b各多少段后,剩余的残料r最少?分析,该题利用“穷举法”通过循环求残料r的最小值。程序如右:,PrivateSubForm_Click()Dima%,b%,r%Forb=1To32127a=(321-b*27)17r=321-b*27-a*17Printa,b,rNextbEndSub,例4.18实际应用,求最短残料。,PrivateSubForm_Click()Dima%,b%,r%,ma%,mb%,mr%mr=321Forb=1To32127a=(321-b*27)17r=321-b*27-a*17IfrKThenPrintN;是素数ElsePrintN;不是素数EndIf,算法流程图,素数算法流程图及程序,例4.15编一程序验证哥德巴赫猜想:一个大于等于6的偶数可以表示为两个素数之和。例如:6=3+38=3+510=3+7,算法设计:设N为大于等于6的任一偶数,将其分解为N1和N2两个数,使用N1+N2=N,分别判断N1和N2是否为素数,若都是,则为一组解。若N1不是素数,就不必再检查N2是否素数。先从N1=3开始,直到N1=N/2为止。算法流程图如图4-29所示。将程序代码写到窗体的单击事件中。,实现上面算法的程序代码如下:,例4.15编一程序验证哥德巴赫猜想,PrivateSubForm_Click()DimN%,N1%,N2%,I%,K1%,K2%N=Val(InputBox(输入大于6的偶数)ForN1=3ToN2Step2K1=Int(Sqr(N1)ForI=2ToK1判断N1是否是素数IfN1ModI=0ThenExitForNextIIfIK1Then如果N1为素数,将N分解为N1+N2N2=N-N1K2=Int(Sqr(N2)ForI=2ToK2判断N2是否是素数IfN2ModI=0ThenExitForNextIIfIK2Then如果N2也为素数,则打印输出PrintN第二天吃了剩下的桃子的一半多一个;以后每天都这样吃下去,直到第7天要吃时只剩下一个,问小猴子第一天共摘下了多少个桃子?分析:这是一个“递推”问题,先从最后一天推出倒数第二天的桃子,再从倒数第二天的桃子推出倒数第三天的桃子。设第n天的桃子为xn,那么它是前一天的桃子数的xn-1的一半减1,即xn=xn-1/2-1xn-1=(xn+1)2,PrivateSubForm_Click()Dimn%,i%x=1第7天的桃子Print第7天的桃子数为:1只Fori=6To1Step-1x=(x+1)*2Print第;i;天的桃子数为:;x;只NextiEndSub,补充例题:Fibonacci数列,著名意大利数学家Fibonacci曾提出这样一个有趣的问题:设有一对新生的兔子,从第三个月开始它们每个月都生一对兔子。按此规律,并假设没有兔子死亡,一年后共有多少对兔子?,一月:1对小兔子二月:1对大兔子三月:1大兔子+1对小兔子四月:2大兔子+1对小兔子五月:3大兔子+2对小兔子六月:5大兔子+3对小兔子七月:8大兔子+5对小兔子,PrivateSubForm_Click()Dimi%,f1%,f2%,f3%f1=1:f2=1Printf1;f2;Fori=3To12f3=f1+f2Printf3;f1=f2f2=f3NextiEndSub,当最后一项的绝对值小于0.000001时停止计算,输出其计算的结果及其计算了多少项。编程分析:这是用来求多项式和的一类题目,这类题目一般要写成s=s+t(t为通项)这种形式。本题中t第1项的值为1。递推公式为:t=-t/(2*i)*(2*i+1),例4.12编程序计算多项式的和.,PrivateSubForm_Click()Dims#,t#,i%s=1:i=0:t=1第1项的值doi=i+1t=-t/(2*i)*(2*i+1)s=s+tloopwhileabs(t)=0.000001Prints=;s,i=;iEndSub,该例题涉及两个问题:(1)用循环结构求级数和的问题。本例根据某项值的精度来控制循环是否结束。(2)累加:e=e+t循环体外对累加和的变量清零e=0连乘:n=n*i循环体外对连乘积变量置1n=1PrivateSubForm_Click()Dimi%,neEndSub,补充例题:求自然对数e的近似值,要求其误差小于0.00001:,补充例题:国际象棋棋盘与古印度国的粮食,相传古代印度国王舍罕要褒赏他的宰相达依尔(国际象棋的发明者),问他需要什么,达依尔回答说:“国王只要在国际象棋棋盘的第一格里放上1粒麦子,在第二格里放上2粒麦子,在第三格里放上4粒麦子,以后按此比例每一格加一倍,一直放到第64格,我就感恩不尽,其它我什么也不想要了。”结果全印度国的粮食都不够!(注:1M3麦子1.42108颗),PrivateSubForm_Click()Dimi%,s!,t!t=1:s=0Fori=1To64s=s+tt=t*2Nextis=s/142000000#Print需要麦子;s;立方米EndSub,迭代法算法思想:迭代法在数学上也称“递推法”,凡是由一给定的初值,通过某一算法(公式)可求得新值,再由新值按照同样的算法又可求得另一个新值,这样经过有限次即可求得其解。,5.迭代法,牛顿迭代公式:x=x0-f(x0)/f(x0),补充例题:二分法高次方程求根。,其递推方法如下:(1)输入两个点的x坐标值a,b,使f(a)*f(b)0)doc=(a+b)/2:fc=3*c*c*c-4*c*c-5*c+13if(fa*fc0)a=celseb=cLoopwhile(abs(fc)0.0001)print3*x*x*x-4*x*x-5*x+13=0printx=;c,y=;fcEndSub,补充例题:二分法求高次方程3x3-4x2-5x+13=0的根,程序执行后输出结果如下:a=1,b=8a=:-5,b:83*x*x*x-4*x*x-5*x+13=0 x=-1.548908,f=0.000039,已知求平方根的迭代公式为:,例4.17用迭代法求某个数的平方根。,可用方程y=x2-a的牛顿迭代公式:x=x0-f(x0)/f(x0)导出.,PrivateSubForm_Click()Dimx#,x0#,x1#,a#a=Val(InputBox(请输入一个数a=?)Ifa0.00001x0=x1为下一次迭代作准备x1=0.5*(x0+a/x0)LoopEndIfPrintax1EndSub,思考题:请用二分法求平方根;用牛顿法求高次方程的根!,“穷举法”也称为“枚举法”或“试凑法”,即将所有可能出现的各种情况一一测试,判断是否满足条件,一般采用循环来实现。如前例求水仙花数、求最短残料等算法都是用的“穷举法”。补充例题百元买百鸡问题。假定小鸡每只5角,公鸡每只2元,母鸡每只3元。要求100元钱买100只鸡,编程列出所有可能的购鸡方案。设母鸡,公鸡,小鸡各为x,y,z只,根据题目要求,列出方程为:x+y+z=1003x+2y+0.5z=100三个未知数,两个方程,此题有若干个解。解决此类问题采用“试凑法”,把每一种情况都考虑到。方法一:最简单三个未知数利用三重循环来实现。方法二:从三个未知数的关系,利用两重循环来实现。方法三:从三个未知数的关系,利用一重循环来实现。x=1,2,333;y=(100-5x)/3(只要是正整数即可);z=100-x-y,6.补充算法穷举法,“百元买百鸡”程序,PrivateSubForm_Click()Dimx%,y%,z%Forx=1To33y=(100-5*x)/3Ify0andy=(1005.0*x)/3Thenz=100-x-yPrint母鸡;x;只;公鸡;y;只;小鸡;z;只!EndIfNextxEndSub,方法三,补充例题:爱因斯坦的阶梯问题,设有一阶梯,每步跨2阶,最后余1阶;每步跨3阶,最后余2阶;每步跨5阶,最后余4阶;每步跨6阶,最后余5阶;每步跨7阶时,最后正好到达阶梯顶。问共有多少阶梯?,PrivateSubForm_Click()Dimi%i=7DoWhile(iMod32)Or(iMod54)Or(iMod65)i=i+14LoopPrint共有;i;个阶梯EndSub,奇数,7的倍数,例4.15统计文本框中英文单词的个数(设单词由空格、逗号、分号、感叹号、回车符、换行符作为单词之间的分隔符)。编程分析:用变量Last存放上一次取出的字符、Char存放当前所取出字符,变量nw累计单词数,从左边开始的第I个字符的位置用变量I存放、其初值为1。从文本(字符串)的左边开始,取出第I个字符值赋给Char,如果Char是英文字母,同时它的前一个字符Last是为单词分隔符,则表示当前的字母是新单词的开始,累计单词数。将Char值赋给Last、I自增1,重复第2、3步直到文本末尾。,7.字符串处理,加密算法是:将每个字母C加(或减)一序数K,即用它后的第K个字母代替,变换式公式:c=chr(Asc(c)+k)例如:设序数k为5,这时AF,af,BG当加序数后的字母超过Z或z则c=Chr(Asc(c)+k-26)例如:YouaregoodDtzfwjltti解密算法:解密为加密的逆过程将每个字母C减(或加)一序数K,即c=chr(Asc(c)-k),例如:序数k为5,这时ZU,zu,YT当加序数后的字母小于A或a则c=Chr(Asc(c)-k+26),例4.16字符的加密和解密,1本章介绍了结构化程序设计方法及其算法表示,这对初学程序设计的同学来说可能认识不到它的重性,其实算法是程序设计的灵魂,因为要编写一个好的程序,首先就要设计好的算法。即使一个简单程序,在编写时也要考虑先做什么,再做什么,最后做什么。2面向对象的程序设计并不是要抛弃结构化程序设计方法,而是站在比结构化程序设计更高、更抽象的层次上去解决问题。当它被分解为低级代码模块时,仍需要结构化编程的方法和技巧。程序都是由顺序结构、选择结构和循环结构3种结构的复杂组合。,本章小结,下面题直接做在作业本上P86一、二、三、四题五编程题与上机实验要在上机练习时完成。,本章作业,- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vb 程序设计 基本 结构
装配图网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文