算法和算法的表示1.使用计算机解决问题的一般过程——分析问题;寻找解决途径和方法;用计算机进行处理2.算法的特征(1)有穷性。一个算法必须保证它的执行步骤是有限的,即它是能终止的。(2)确定性。既算法中的每个步骤必须有确切的含义。(3)可执行性。算法中的每个步骤都要实践能做的,而且能在有限的时间内完成。(4)有0个或多个输入。(5)有一个或多个输出。3.算法的表示方法(1)自然语言就像写文章时所列的提纲一样,有序地用简洁的语言加数学符号来描述。(如:课本10页)(2)流程图(Flowchart)常用的流程图构件有:(3)程序(4)伪代码——结构清晰、代码简单、可读性好,并且类似自然语言。介于自然语言与编程语言之间。(如:课本11页最上方),下面是一段伪代码:If△0Then无解Else有解EndIf五、VB程序设计初步1.对象、属性、类、事件和事件处理的概念[此部分复习以记忆为主](1)对象是客观存在的事物或概念。它有两个特点:状态和行为。(2)一个对象的状态是通过若干个属性(property)来描述的;行为是指对属性进行操作和处理的方法(method)。在面向对象的程序设计中,一个对象是由一组对象状态的数据和一组描述处理对象属性的方法的代码构成的。对象的属性定义其外观,方法定义其行为,事件定义其与用户的交互。(3)类(class)是对相同性质的对象的一种抽象,而一个对象则是类的一个“实例”。(4)事件(event)就是发生在对象上的事情,通常是由用户在对象上激发的一种动作。一个事件的发生,可以引起某个对象上某个方法(事件处理过程)的执行,即由某个事件驱动了相应的事件处理过程的执行。这就是面向对象程序设计中的事件驱动概念。例:PrivateSubCommand1_Click()Print(S)EndSub对象名为Command1,Click为应用于对象Command1上的事件Command1.Caption=中华对象名为Command1,Caption为属性,“中华”为属性值List1.AddItem(Str(y(m)))对象名为List1,AddItem为方法,Str(y(m))为添加进去的条目******点(.)前面的都是对象名,点(.)后面的可以属性也可以方法,区别在于——属性是相对“静态”的特征,而方法则是有“动作”的1VB应用程序的界面设计与调试——重点认清工具箱中的各控件名字及用途VB编译生成EXE文件(应用程序或可执行文件),可脱离VB环境独立运行。习题:在VisualBasic工程设计中,要在文本框Text1中显示“你好”,则下列操作正确的是(A)在Text属性名中输入“你好”(B)在Caption属性名中输入“你好”(C)在Font属性名中输入“你好”(D)在Name属性名中输入“你好”答案:A习题:在VisualBasic工程设计中,要在标签中显示“你好”,则下列操作正确的是(A)在Text属性名中输入“你好”(B)在Caption属性名中输入“你好”(C)在Font属性名中输入“你好”(D)在Name属性名中输入“你好”答案:B习题:在VisualBasic工程设计中,下列控制哪个不能加载图片(A)TextBox(B)Image(C)PictureBox(D)CommandButton答案:A习题『会考2010』:在VisualBasic中,如果要在命令按钮Cmd1上显示文字开始,下列语句正确的是(A)Cmd1.Caption=开始(B)Cmd1.Width=开始(C)Cmd1.Font=开始(D)Cmd1.Height=开始答案:A习题『会考2010』:在VisualBasic中,语句Soft.Text=QQ2008中的Soft是(A)属性名(B)属性值(C)对象名(D)软件名答案:c习题『会考2010』:在VisualBasic中,鼠标单击命令按钮Command1触发的事件处理过程名是(A)Command1_Click(B)Command1.Click(C)Click_Command1(D)Command1Click答案:A习题『会考2010』:在VisualBasic中,语句Label3.Caption=HowAreYou中的Label3是(A)属性名(B)属性值(C)对象名(D)类名答案:C填空:窗体文件扩展名:.frm工程文件扩展名:.vbp2.基本运算与表达式(1)VB的基本运算:VB的基本运算包括算术运算、关系运算和逻辑运算三大类。算术类基本运算有:^、-、*、/、\、Mod、+、-关系类基本运算有:=、、、、=、=逻辑类基本运算有:Not、And、Or(2)表达式:表达式主要用来规定值的计算过程,以及对于某些情况或条件的判断。一个表达式中可能包括算术运算、关系运算和逻辑运算等多种基本运算,以及这些基本运算所涉及的数据(变量和常量)。(3)基本运算的优先级(应优先计算优先级较高的部分)算术运算符高于关系运算符高于逻辑运算符具体:^(1级),-(指负号),﹡、/,\,Mod,+、-(减号),=、、、、=、=,Not,And,Or。习题:①10010^2答案:False②Not((12)Or(3=4))答案:True③(97\2*2=97)And(78=78))答案:False④25mod5答案:0习题:在VisualBasic中,已知a、x、y均是正整数,当逻辑表达式(amodx=0)And(amody=0)为真时,则表示(A)a是x的倍数,但不是y的倍数(B)a既是x的倍数,又是y的倍数(C)a是x的倍数或者是y的倍数(D)a既不是x的倍数,也不是y的倍数答案:B习题:在VisualBasic中,设x=3171,能得到其十位上数字“7”的正确表达式是(A)x\10Mod100(B)x\10Mod10(C)x\100Mod10(D)xMod100答案:B【注意】如何得到一个三位数m的百、十、个位数?如a、b、c分别为一个三位数m的百、十、个位数a=m\100b=(m-100*a)\10或b=m\10Mod10c=mMod10习题『会考2008』:匀加速直线运动位移公式是2210attvs,正确计算s的VisualBasic表达式是(A)v0t+1/2at^2(B)v0*t+1/2*at^2(C)v0t+1/2*at^2(D)v0*t+1/2*a*t^2答案:D习题『会考2010』:把星期一记为1,星期二记为2,……,星期日记为0,已知某月1日(即第1天)是星期一,下列语句中,用于正确计算该月第n日星期数w的是2(A)w=nMod7(B)w=(n+1)Mod7(C)w=(n+1)\7(D)w=n\7答案:A习题『会考2010』:在二个电阻R1、R2并联电路中,总电阻计算公式是2121RRRRR,计算R的VisualBasic表达式是(A)R1R2/R1+R2(B)(R1R2)/(R1+R2)(C)R1*R2/R1+R2(D)R1*R2/(R1+R2)答案:D3.过程(1)VB应用程序是按模块化的方式组成的,一个程序模块是程序的一部分,每个模块负责解决整个应用问题的一部分任务。程序模块分为过程和函数两种。(2)过程:将程序划分成一个个较小的逻辑单元,每个逻辑单元构成一个过程。过程中的代码可以被重复调用。过程分成两类,一类是事件处理过程,另一类是通用过程。(3)事件处理过程:Sub事件处理过程名(参数表)语句块EndSub其中,事件处理过程名必须符合下面的规则:对象名_事件的标准名。VB的一些常用对象上的常见事件的标准名有:文本框Text:Text_Click、Text_DblClick、Text_KeyPress命令按钮Command:Command_Click、Command_DblClick标签Label:KeyPress4.语句(1)赋值语句A)赋值语句格式1:变量名=表达式(将表达式的计算结果赋予给变量)B)赋值语句格式2:对象名.属性名=表达式(赋予给对象的某个属性)C)赋值语句格式3:例如:D(3)=表达式(将表达式赋予给数组元素)注意赋值语句与关系表达式的区别:关系表达式赋值语句1常用于判断语句,如:If关系表达式……如:DoWhile关系表达式……只是值的单向给予,流程图中常用箭头表示,如:A←1如A←A+12等号左右两边可以互换等号左右两边不能互换3等号左边对象不一定唯一,如a+b=1等号左边对象一定要唯一,如a=b+1习题『会考2010』:对于VisualBasic语句Ifa=1Thenm=m+1Elsem=m-1,下列说法正确的是(A)a=1为赋值语句(B)m=m+1和m=m-1均为关系表达式(C)m=m+1和m=m-1均为赋值语句(D)m=m+1为关系表达式,m=m-1为赋值语句答案:C☆下面列表举例判断是赋值语句或关系表达式:语句判断语句判断A=1可为赋值语句或关系表达式,视情况而定Text1.Text=Str(S)可为赋值语句或关系表达式,视情况而定A=A+1可为赋值语句或关系表达式,视情况而定Text1.Text=Str(S)+Text1.Text可为赋值语句或关系表达式,视情况而定A=B+1可为赋值语句或关系表达式,视情况而定S+Text1.Text=S关系表达式A+1=A关系表达式(等号左边对象不唯一)A+B=A关系表达式(等号左边对象不唯一)总结:判断语句是赋值语句还是关系表达式的关键在于——①是否存在等号后的值给予等号前的对象;②赋值语句等号前对3象一定唯一冒号:可以让多个语句写在同一行。如a=2:b=3(2)输入输出语句输入语句,表示向程序输入值,如向文本框中输入数字,转换类型为数值型后存入变量R中,以便能用3.14*R^2计算圆面积,则其中输入数字的语句:R=Val(Text1.Text)为输入语句输出语句,表示将运算结果呈现出来,如上例中计算机的面积在标签中显示出来,可用输出语句:Label1.Caption=Str(S)在判断是输入还是输出语句时应注意要点:输入到程序中还是程序反馈出来,以下列表举例:语句判断理由Print(Str(S))输出语句打印出来Label1.Cation=结果为&Str(S)输出语句在标签中显示出来T=Val(Text1.Text)输入语句把文本框中内容存入T中S=InputBox()输入语句把输入框中内容存入S中Msgbox(Str(I))输出语句以消息框的形式显示出I的值注:算法不一定要输入,但一定要有输出(3)计数、累加累乘语句计数语句——统计符合条件的个数,初值=0每次自身加1,例如c=c+1——符合条件的数字累加,初值=0累加语句——格式类似sum=sum+k类似地,累乘语句写作类似T=T*k的语句(4)选择语句A)行If语句:(一行内写完)If条件表达式Then语句1Else语句2或If条件表达式Then语句例1:ifa=bthens=1elses=-1例2:ifd=10andd=100thencount=count+1B)标准If语句(块If语句)If条件表达式Then语句序列1EndIfIf条件表达式Then语句序列1Else语句序列2EndIf多分支IF语句If条件表达式1Then语句序列1ElseIf条件表达式2Then语句序列2ElseIf条件表达式3Then语句序列3………………ElseIf条件表达式NThen语句序列NElse语句序列N+1EndIf习题『会考2010』:某市出租车计费标准规定:出租车启动后行程不超过3千米(包含3千米)计费5元;如果行程超过3千米4且不超过10千米(包含10千米),则超过3千米部分按1.5元/千米计费(3千米及以内部分计费仍为5元);若行程超过10千米,则在前面计费基础上,超出10千米部分按1.8元/千米计费。假定某出租车行程为x千米,计费标准如下:当x≤3千米时,计费为5元;当3x≤10千米时,计费为5+(x-3)×1.5当x10千米时,计费为5+(10-3)×1.5+(x-10)×1.8程序界