资源描述
高中信息技术算法与程序设计VB (选修)知识要点相关知识点(一)算法1. 定义相关题解:算法:就是解决问题的方法和步骤。算法是程序设计的“灵魂”,算法+数据结构=程序。单选题1、运用计算机程序解决实际问题时,合理的步骤是()。A、设计算法t分析问题t编写程序t调试程序B、分析问题t设计算法t编写程序t调试程序C、分析问题t编写程序T设计算法T调试程序D、设计算法t编写程序T分析问题T调试程序2 .算法的描述方法:算法的描述:可分多种表达方法,一般用自然语言、流程图和伪代码进行描述。自然语言描述法:指用人们日常生活中使用的语言 (本国语言),用自然语言描述符合我们的习 惯,且容易理解。流程图描述:也称程序框图,它是算法的一种图形化表示方法。且描述算法形象、直观,更易 理解。伪代码描述法: 是介于自然语言和计算机程序语言之间的一种算法描述。是专业软件开发人员 常用方法。处理或运算(二)程序设计基础常用高级编程语言:BASIC、VB、Pascal、C、C+、Java面向对象的程序设计语言: 其中的对象主要是系统设计好的对象,包括窗体等、控件等 控件:是指工具箱中的工具在窗体中画出的、能实现一定功能的部件,如文本框,命令按钮常用控件控件对象的类型名字举例窗体FormForm1命令按钮Comma nd butt onComma nd1标签LabelLabel1文本框TextBoxText1对象的属性、方法和事件1、属性属性Name设置对象的名称Caption决定控件中显示的内容(文字)Text决定窗体中文本框中显示的内容 (初始为空白)Height决定控件高度Width决定控件宽度TOP决定控件的靠顶部位置Left决疋控件的靠左边位置Font设置控件中字体格式BackColor设置控件背景色ForeColor设置控件的前景色BorderStyle设置控件的边框风格Visible决定控件是否可见Enabled决定控件运行时是否有效对象名.属性名=属性值对象中属性可以在设计界面时通过属性窗中设置,也可以在运行时通过程序代码设置,方法如下例:给文本框“ Txt123 ”的“ Text”属性赋值为字符串“ 20”,代码如下Txt123.text = ”20”变量二对象名.属性名 如果要获取对象的状态或特性,这时就要读取对象的属性值,方法如下 例:读取文本框“ txt123 ”的“ Text”属性的代码如下a = txt123.text读取字符(或 a=Val(txt123.text)读取数值)2、方法对象.方法参数名表例:form.print欢迎使用”该语句使用print方法在forml窗体中显示字符串欢迎使用”3、事件及事件驱动事件是对象对外部操作的响应,如在程序执行时,单击命令按钮会产生一个 Click事件。如需要命令按钮响应 Click事件,就把完成Click事件功能的代码写到 Click事件的事件过程中, 与事件一一对应。事件过程的形式如下:Private Sub对象_事件名()(事件过程代码)End Sub一个简单的VB程序 求圆的周长和面积Private Sub Comma nd1_Click()Dim r As Single定义r为单精度型Dim c As Single定义c为单精度型Dim s As Single定义s为单精度型r = Val(Text1.Text) 输入半径 r ,变量 r 为数值型,因此输入语句必须加函数Val()c = 2 * 3.14159 * r 计算周长s = 3.14159 * r * rText2.Text =str(c)Text3.Text = str(s)计算面积输出周长输出面积变量 s 为数值型,因此输出语句必须加函数str()End SubPrivate Sub Command2_Click()End退出End Sub(三)、常量 :在程序进行过程中不变的量。在 VB 中一般分 数值常量 与 字符常量 两种 数值常量: 就是数学中说的常数,分 整型常量 和 实型常量 两种整型常量: 即整数,指不带小数点的数值如1、 0、 -10、+35 等都是合法的整数实型常量: 即实数,指带小数点的数值。字符串常量:被一对双引号括起来的若干个合法的字符称为字符串常量。例如:China”、VisualBasic”、”18”、”3.1415”等,双引号中字符,不包括双引号本身。逻辑常量 :包含 true 和 false 两个值。系统常量:包括VB已定义的常量(如 Vbred )和用户定义常量(如果多次用到同一个常量, 则可用一个有意义的名字表示这个常量。 Const pi=3.14159)(四)、变量 :在程序执行过程中,其值可以改变的量称为变量 变量命名注意要点: 1 、必须以字母开头 ,不能以数字或其他字符开头。2、只能由字母、 数字或下划线组成, 不能含有小数点、 空格等字符。3、最长不超过 255 个字符4、 不能以 VB 保留字作变量名,如语句定义符dim 、函数名 str 等。5、VB 不区分变量名中字母大小写。如 HELLO 和 Hello 是同一个变量。数据及运算(1)常用数据类型:(整型)lnteger、(长整型)Long、(单精度型)Single、(双精度型)Double、 (字符串型)String、(布尔型)Boolean、(日期型)Date其中(整型)Integer、(长整型)Long、(单精度型)Single、(双精度型)Double属于数值型 表示范围:(整型)Integer (-32768 32767,存储为 16位,2个字节)(字符串型)String字符串型数据是指用“括起来的一串字符。如欢迎进入VB世界! ”、VisualBasic”、 “1234 ”都是字符串类型。( 2)常量和变量的命名、声明及赋值符号常量的声明: Const 常量名 = 常量值如: Const pi = 3.14159 常量名为 pi变量的声明 :Dim As 如: Dim a As Integer 定义一个整型变量,变量名为 a变量的赋值变量名 = 表达式例题Private Sub Form_Click()Dim a As Integer, b As Integer, c As IntegerDim str_1 As Stringa = 54 : b = 114 :c = a + bstr_1 = Hello WorldPrint a,b,cPrint str_1End sub2、 VB 语言中,下列数据类型说明符中表示字符型的是()。A 、 BooleanB 、IntegerC、DateD、 String3、在 VB 语言中,下列合法的变量名是(A 、34abB 、 ab34C、 *abc4、下列选项中属于字符串常量的是( a+bC、 1235下列合法的变量名是( a*bC、Date)。D、cc)。A 、 abB 、5、在 VB 语言中,A 、 aaB 、(五)运算符 算术运算: 加 - 减 幂 (实数)除 整除*乘/Mod 求余数 单选题 6、分析下列程序 :Private Sub Form_Click() s=113 + 11 Mod 3 Print sEnd Sub 当单击窗体时A、5关系运算C、7abD、 1235 )。D 、 dim例:2A2 = 4例: 5 / 2 = 2.5 例:例: 5 Mod 2 = 1s 的值是 ( B、 6 C、4赋值不等于).D、小于号大于号= 注意:关系表达式的运算结果为布尔值 例: 3 2 结果为 True( 真或是 ) 7、下面表达式的值是A、969 n97逻辑运算Not (取反)运算结果为布尔型(大于等于号false 的有 (B、Int(4.99)逻辑运算符的优先级为:小于等于号True 或 False). len(basic)C、str(2000) 2And (与)Or (或)Boolean) True 或 FalseNot And Or8、下列逻辑表达式的值为“假”的是()。A、2 + 4 8B、3 + 12 = 15C、5 0 And 4 3D、10 / 5 7B、8 / 4 3 And 3 2D、4 + 11 2010、已知 A,B,C,D 是简单变量,且都已有互不相同的值,执行语句 A=C: D=B 后,下列 关系表达式逻辑值为“真”的是( ) 。A、 C=AB 、 A=BC、D=CD 、B=C11、设 a=2, b=3,在 VB 中,表达式 ab Or b3 值是:()A、 FalseB 、 TrueC、 -1 D、 1字符运算字符串连接符为“+”和“ &”“123” +“45” = “12345”“123” &“45” = “12345”123 + “ 45语”法错误12、VB 的字符串运算符是“ &”,该运算符主要用于连接两个或更多的字符串。如: abcd &efg 连接后的运算结果为:abcdefg。那么,1+2 & 3的运算结果为:()A、 33 B、 6 C、 1+23 D、 True 运算符的执行顺序在 VB 中,当一个表达式中同时出现多种运算符时,运算次序由运算符的优先级决定,优 先级高的运算符先运算,优先级相同的从左向右进行运算。不同性质的运算符优先级如下。算术运算符 字符串运算符 关系运算符 逻辑运算符13、在 VB 语言中,表示“ a 大于 0 且 b 小于 12”的正确表达式是( )。A 、 b 0 B 、 b 12 And a 12 Or a 0 And b 12(六)常用函数 数学函数Abs(x) 求 x 的绝对值,例:abs(-3.6) = 3.6Sqr(x) 求 x 的平方根,例: sqr(100) = 10Int(x)求w x 的最大整数例:int(3.6) = 3int(-3.6) = -4Rnd()产生0,1)之间的随机小数 (不包括1)Sin(x) Cos(x) Tan(x) Atn(x) Exp(x) Log(x)使用三角函数时,参数应是弧度,如数学中sin300应写为:sin(30*3.14159/180)字符串函数Len(字符串)求字符串的长度 ,例:Len( “ hello ) = 5Mid(字符串,起始位置,截取长度 ),例: Mid( “ hello ” ,2,2) =“ el ”14、函数 mid (C,N1,N2) 的作用是从字符串 C 中 N1 位开始取出长度为 N2 的子串。那么, Mid (aBcDeFg, 3, 3) 的值为( )。A、 aBc B、 cdeC、 eFgD、 cDe常用转换函数Val(字符串)将字符串转换为数值,常用于数值的输入语句中。例:Val( 123”)=123Str(数值)将数值转换为字符串,常用于数值的输出语句中Chr(在ASCII表中取数值对应的字符 ) 例:chr(65)=”A ”Asc(求字符在 ASCII表中的数值)例:asc( a)=9715、 Visual Basic 中,下列 ()函数是求绝对值的。A、 ABS (X) B、 SQR(X) C、 INT (X)D、 STR(X)16、表达式 Abs(-3.6)*sqr(100) 的值是 ()。A、 -36B、 360C、 36D、 -36017、下列(A、Date)数据类型不是数值型。B、SingleC、DoubleD、In teger18、下列函数中,返回值是字符串的是().A、MidB、IntC、ValD、Len1 .2 gt19、代数表达式2表达式后错误的是()A、g*t*t/2B、1/2*g*tA2C、g*tA2/2D、gtA2/22a b20、 数学式子 4ab在VB中的正确写法是:()A、(2*a+b)/4*a*b B、(2*a+b)/(4ab) C、(2a+b)(4ab) D、(2*a+b)/(4*a*b)21、 判断x是否在区间a, b上,在VB中以哪个逻辑表达式是正确的()A、ax and x=b B、a=x=b C、a=x and xx and x=b(七)程序设计的顺序结构顺序结构:代码按照由上到下的顺序一行一行地执行。程序执行过程中没有分支、 没有重复,这种结构称为顺序结构。例题:交换两个变量中的数据。Private Sub cmdSwap_Click()Dim x As Sin gle, y As Si ngleDim m As Si nglex = Val(txtsx.Text)y = Val(txtsy.Text)m = x: x = y: y = m交换数据txtdx.Text = Str(x)txtdy.Text = Str(y)End Sub牢记以上代码中的数值型数据的输入和输出语句! ! !22、以下是一段VB程序:a = 1b = a + 1c = a + b它的基本结构属于()A、顺序结构B、选择结构C、循环结构D、树型结构23、下列VB程序运行后,变量 x的值为().x=2Print x+lPrint x+2A、2B、3C、5D、8(八 )程序设计的分支结构行If语句行If是指在一行中写完的If语句。其一般格式为:格式一:If条件Then语句执行这种形式的If语句时,首先对条件进行判断。若条件成立,则执行Then后面的语句;若条件不成立,则执行 If语句后继程序行的语句格式二: If 条件 Then 语句 1 Else 语句 2 例题:输入三个不相同的数,求出其中最小数。Private Sub Form_Click()Dim a As Single, b As Single, c As SingleDim Min As Singlea = InputBox( 输入 a, 输入框 )b = InputBox( 输入 b, 输入框 )c = InputBox( 输入 c, 输入框 )If a b Then Min = a Else Min = bIf c = 60 ThenLabel1.Caption = 及格 End IfIf a 60 Then Label1.Caption = 不及格 End IfEnd Sub 这样的格式是不是太麻烦了,所以请选用格式四,自己改过来吧!格式四: If 条件 Then 语句块 1Else 语句块 2End If例题:编写程序,求函数丫的值(当x0时,y=4x+1 )。Private Sub Form_Click()Dim x As SingleDim y As Singlex = Val(InputBox( 请输入变量 x)If x = 10 ThenValue = 5 * xElseValue = 4 * xEnd IfA、100 B、80C、程序:C、顺序结构D、树型结构Value的值是()9026、下面是判断变量 x是不是能被Private Sub comma ndl_Click() Dim x As In teger x=Val(Text1. Text) If Labell.Capti on= ElseLabell.Capti on=End IfD、705整除的偶数的程序,横线上的逻辑表达式应为(The n”这个数是能被5整除的偶数”这个数不是能被 5整除的偶数”选项:A、(x Mod 5)=0 And (x Mod 2 )=B、(x Mod 5)=0 or (x Mod 2 ) = 0C、x Mod 5 =0D、x Mod 2 =027、下列程序段运行后,m的值为(A=2: b=1: c=5If A b The n m=A Else m = bIf c m The n m=c)0A、1B、2 C、5D、提示错误,无答案(九)程序设计的循环结构1、For-Next 循环For循环变量一般形式是:For循环变量=初值To终值Step循环变量增量 循环体Next循环变量例题 1 求s= 1+2+3+4+100Private Sub Comma nd1_Click()Dim i As In tegerDim sum As In tegersum = 0For i = 1 To 100 sum = sum + i 循环体Next iText1.text=str( sum)End Sub注意这里累加器的应用例题2: Step循环变量增量Private Sub Comma nd_Click()For j = 3 To 15 Step 2Print j共输出7个值Next jEnd Sub 变量j= 3 5 7 9 11 13 1517循环7次,j最后的值为17不算在循环中。循环变量的初值、终值、循环变量增量都是数值型。其中要重复执行的操作称为循环体, 增量可正可负,如果没有设置Step,则增量的缺省值为11、循环变量取初值;2、 循环变量与终值比较,没有超过终值转3,否则循环结束,接着执行循环语句的后继语句;3、执行一次循环体4、循环变量增加一个增量5、重复步骤24。以上可以看出,For-Next循环变量是一种当型循环。说明(a) For语句与Next语句必须成对出现, 而且它们当中的循环变量”必须是同一个变 量,如上例中均为I。(b) 当循环变量为正时,循环变量超过终值,是指循环变量的值大于终值时;若为负, 则是指循环变量的值小于终值。2、Do Loop 循环For-Next循环的次数是确定的,但是有的问题只知道循环结束的条件,重复执行的次数事先并不知道,这是需要 Do-Loop循环格式一:Do While条件循环体Loop例题:求最大公约数Private Sub Comma nd1_Click()Dim a,b,r As In tegera = Val(Text1.Text)b = Val(Text2.Text)r = a Mod bDo While r 0a = bb = r r = a Mod bLoopText3.Text = Str(b)End Sub当VB执行Do While丄oop循环时,先判断指定的条件是否为真,若条件为真, 执行循环体,条件为假时退出循环。28、 下列程序段执行结束后,变量y的值是()。y=2Do while y=6y=y+yLoopA、 2B、 6 C、 8 D、 1629、分析程序,写出执行结果。Private Sub comma nd1_click()Dim S As In teger,I As In tegerS=0For i=1 to 10 Step 2S=S+iNext iPrint “ S=” ;sEnd Sub答案:S=(十)算法与问题解决1、解析法利用所学的数学或物理等知识来求解一个问题。2、枚举法对所有可能的情况都逐一列举和判断。外循环分支的结构。简单理解一下程序思想及代码(部分程序请补充完整代码 )(1) 一只猴子摘了一堆桃子,它每天吃当天桃子数的一半,每次忍不住多吃了一个。这样到第十天时只有一个桃子可以吃了,编程计算猴子最初共有多少个桃子。程序:Private Sub Comma nd_Click()Dim i As In tegerDim s As In tegers = 1For i =1 To 9s = (s + 1)*2NextPrint “ s= ” ;sEnd Sub(2) 完善按钮“计算7!”的Click事件程序,当单击命令按钮时Text1显示7!的值。Private Sub Comma nd1_Click()Dim a As longDim i As In teger(30)For i = 1 To 7a = a * iNext i(31)End Sub这里输入值太大容易溢出”,可以更改变量a的类型为double(3) 计算 1+2+ +100Private Sub Comma nd1_Click()Dim a As In tegerDim I As In tegera = 0For i = 1 To 100a = a + iNext iText2.Text = Str(a)(4) 编程计算 s=1-2+3-4+5-+99-100程序:Private Sub comma nd1_Click()Dim s As Integer 定义变量s为整型变量Dim i As Integer 定义循环变量(32)For i=1 To 100if in t(i/2) i/2 The n判断奇数,也可以使用语句“i mod 2 0 ”s = s + i (33)s = s - iEnd ifNext iPrin t s=;sEnd Sub(5) 编程计算s = 1*2+2*3+3*4+n*(n +1)的值,其中n通过文本框txta输入Private Sub Form_Click()Dim s As Si ngleDim i As In tegers = 0For i = 1 To n(34)(35)Next iPrint “ s= ” ;sEnd Sub(6) 编程求:鸡和兔在一个笼里,共有腿 程序:100条,头40个,问鸡有几只,兔有几只 ?Private Sub Form Click()Dim Ji As Integer 鸡Dim Tu As Integer 兔Dim Leg As In teger 腿数Dim Head As In teger 头数For Ji=1 To 50For Tu=1 To 25Leg = Ji*2 +Tu*4计算腿(37) 计算头(36)If ThenPrint 鸡=;Ji;只,兔=;Tu;只” End IfNext TuNext JiEnd SubBDBCAACADAACDDACAADDCAAAAAAC25a=1text1.text=str(a)s=0elsen=val(txta.text)s=s+i*(i+1)
展开阅读全文