《算法与程序设计考点.doc》由会员分享,可在线阅读,更多相关《算法与程序设计考点.doc(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-/高中信息技术算法与程序设计VB(选修)知识要点相关知识点(一)算法1.定义相关题解:算法:就是解决问题的方法和步骤。算法是程序设计的“灵魂”,算法+数据结构程序。单选题1、运用计算机程序解决实际问题时,合理的步骤是( )。 A、设计算法分析问题编写程序调试程序 B、分析问题设计算法编写程序调试程序 C、分析问题编写程序设计算法调试程序 D、设计算法编写程序分析问题调试程序2算法的描述方法:算法的描述:可分多种表达方法,一般用自然语言、流程图和伪代码进行描述。自然语言描述法:指用人们日常生活中使用的语言(本国语言),用自然语言描述符合我们的习惯,且容易理解。流程图描述:也称程序框图,它是算法
2、的一种图形化表示方法。且描述算法形象、直观,更易理解。伪代码描述法:是介于自然语言和计算机程序语言之间的一种算法描述。是专业软件开发人员常用方法。输入或输出判断处理或运算开始或结束(二)程序设计基础常用高级编程语言:BASIC、VB、Pascal、C、C+、Java面向对象的程序设计语言:其中的对象主要是系统设计好的对象,包括窗体等、控件等控件:是指工具箱中的工具在窗体中画出的、能实现一定功能的部件,如文本框,命令按钮等。常用控件:控件对象的类型名字举例窗体FormForm1命令按钮Command buttonCommand1标签LabelLabel1文本框TextBoxText1对象的属性、
3、方法和事件1、属性 属性Name设置对象的名称Caption决定控件中显示的内容(文字)Text决定窗体中文本框中显示的内容(初始为空白)Height决定控件高度Width决定控件宽度TOP决定控件的靠顶部位置Left决定控件的靠左边位置Font设置控件中字体格式BackColor设置控件背景色ForeColor设置控件的前景色BorderStyle设置控件的边框风格Visible决定控件是否可见Enabled决定控件运行时是否有效对象名.属性名属性值对象中属性可以在设计界面时通过属性窗中设置,也可以在运行时通过程序代码设置,方法如下例:给文本框“Txt123”的“Text”属性赋值为字符串“
4、20”,代码如下Txt123.text =”20”变量对象名.属性名如果要获取对象的状态或特性,这时就要读取对象的属性值,方法如下例:读取文本框“txt123”的“Text”属性的代码如下a = txt123.text 读取字符 (或a=Val(txt123.text) 读取数值)2、方法对象.方法参数名表例:form.print ”欢迎使用”该语句使用print方法在form1窗体中显示字符串“欢迎使用”3、事件及事件驱动事件是对象对外部操作的响应,如在程序执行时,单击命令按钮会产生一个Click事件。如需要命令按钮响应Click事件,就把完成Click事件功能的代码写到Click事件的事件
5、过程中,与事件一一对应。事件过程的形式如下:Private Sub 对象_事件名( )(事件过程代码)End Sub一个简单的VB程序求圆的周长和面积Private Sub Command1_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 * r 计算面积Text2.Text =str(c) 输出周长Text
6、3.Text = str(s) 输出面积, 变量s为数值型,因此输出语句必须加函数str()End SubPrivate Sub Command2_Click()End 退出End Sub (三)、常量:在程序进行过程中不变的量。在VB中一般分数值常量与字符常量两种数值常量:就是数学中说的常数,分整型常量和实型常量两种整型常量:即整数,指不带小数点的数值如1、0、-10、+35等都是合法的整数实型常量:即实数,指带小数点的数值。字符串常量:被一对双引号括起来的若干个合法的字符称为字符串常量。例如:”China”、”Visual Basic”、”18”、”3.1415”等,双引号中字符,不包括双
7、引号本身。逻辑常量:包含true和false两个值。系统常量:包括VB已定义的常量(如Vbred)和用户定义常量(如果多次用到同一个常量,则可用一个有意义的名字表示这个常量。Const pi=3.14159)(四)、变量:在程序执行过程中,其值可以改变的量称为变量变量命名注意要点:1、必须以字母开头,不能以数字或其他字符开头。2、只能由字母、数字或下划线组成,不能含有小数点、空格等字符。3、最长不超过255个字符4、不能以VB保留字作变量名,如语句定义符dim、函数名str等。5、VB不区分变量名中字母大小写。如HELLO和Hello是同一个变量。数据及运算(1)常用数据类型:(整型)Inte
8、ger、(长整型)Long、(单精度型)Single、(双精度型)Double、(字符串型)String、(布尔型)Boolean、(日期型)Date其中(整型)Integer、(长整型)Long、(单精度型)Single、(双精度型)Double属于数值型表示范围:(整型)Integer (-32768 32767,存储为 16 位 , 2 个字节)(字符串型)String字符串型数据是指用 “ ”括起来的一串字符。如“欢迎进入VB世界!”、“ Visual Basic” 、“1234 ”都是字符串类型。(2)常量和变量的命名、声明及赋值符号常量的声明:Const 常量名= 常量值如:Con
9、st pi = 3.14159 常量名为pi变量的声明:Dim As 如:Dim a As Integer 定义一个整型变量,变量名为a变量的赋值 变量名 = 表达式例题Private Sub Form_Click() Dim a As Integer, b As Integer, c As Integer Dim str_1 As String a = 54 : b = 114 : c = a + b str_1 = Hello World Print a,b,c Print str_1End sub2、VB语言中,下列数据类型说明符中表示字符型的是( )。 A、Boolean B、Inte
10、ger C、Date D、String3、在VB 语言中,下列合法的变量名是( )。 A、34ab B、ab34 C、*abc D、cc4、下列选项中属于字符串常量的是( )。 A、ab B、a+b C、1235 D、12355、在VB 语言中,下列合法的变量名是( )。 A、aa B、a*b C、7ab D、dim(五)运算符算术运算:+ 加 - 减 *乘 幂 例:22 = 4/ (实数)除 例:5 / 2 = 2.5 整除 例: 5 2 = 2Mod 求余数 例:5 Mod 2 = 1单选题6、分析下列程序: Private Sub Form_Click() s=113 + 11 Mod
11、3 Print s End Sub当单击窗体时s的值是( ).A、5 B、6 C、4 D、3关系运算=赋值、小于号不等于大于号=大于等于号 2 结果为 True(真或是)7、下面表达式的值是false的有( ).A、969 n97 B、Int(4.99) len(basic) C、str(2000) 2逻辑运算Not(取反)And(与) Or(或)运算结果为布尔型(Boolean)True 或 False逻辑运算符的优先级为:Not And Or8、下列逻辑表达式的值为“假”的是( )。 A、2 + 4 8 B、3 + 12 = 15 C、5 0 And 4 3 D、10 / 5 7 B、8
12、/ 4 3 And 3 2 D、4 + 11 2010、已知A,B,C,D 是简单变量,且都已有互不相同的值,执行语句A=C: D=B 后,下列 关系表达式逻辑值为“真”的是( ) 。 A、C=A B、A=B C、D=C D、B=C11、设a=2, b=3,在VB中,表达式ab Or b3值是:( )A、False B、True C、-1 D、1字符运算字符串连接符为“+”和“&”“123” + “45” = “12345”“123” & “45” = “12345”123 + “45” 语法错误12、VB的字符串运算符是“&”,该运算符主要用于连接两个或更多的字符串。如:abcd & efg
13、 连接后的运算结果为: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
14、 的平方根,例:sqr(100) = 10Int(x)求x的最大整数 例:int(3.6) = 3 int(-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位开始取出长
15、度为N2 的子串。那么, Mid (aBcDeFg, 3, 3)的值为( )。 A、aBc B、cde C、eFg D、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(1
16、00)的值是( )。A、-36 B、360 C、36 D、-36017、下列( )数据类型不是数值型。A、Date B、Single C、Double D、Integer18、下列函数中,返回值是字符串的是 ( ).A、Mid B、Int C、Val D、Len19、代数表达式表达式后错误的是( )A、g*t*t/2 B、1/2*g*t2 C、g*t2/2 D、gt2/220、数学式子在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中以哪个逻辑表达式
17、是正确的( )A、ax and x=b B、a=x=b C、a=x and xx and x=b(七) 程序设计的顺序结构顺序结构:代码按照由上到下的顺序一行一行地执行。程序执行过程中没有分支、没有重复,这种结构称为顺序结构。例题:交换两个变量中的数据。Private Sub cmdSwap_Click() Dim x As Single, y As Single Dim m As Single x = Val(txtsx.Text) y = Val(txtsy.Text) m = x: x = y: y = m 交换数据 txtdx.Text = Str(x) txtdy.Text = St
18、r(y)End Sub牢记以上代码中的数值型数据的输入和输出语句!22、以下是一段VB程序:a = 1b = a + 1c = a + b它的基本结构属于( )A、顺序结构 B、选择结构 C、循环结构 D、树型结构23、下列VB程序运行后,变量x的值为( ).x=2Print x+lPrint x+2A、2 B、3 C、5 D、8(八)程序设计的分支结构行If语句行If是指在一行中写完的If语句。其一般格式为:格式一:If条件Then语句执行这种形式的If语句时,首先对条件进行判断。若条件成立,则执行Then后面的语句;若条件不成立,则执行If语句后继程序行的语句格式二:If条件 Then 语
19、句 1 Else 语句 2例题:输入三个不相同的数,求出其中最小数。Private Sub Form_Click() Dim a As Single, b As Single, c As Single Dim Min As Single a = InputBox(输入a, 输入框) b = InputBox(输入b, 输入框) c = InputBox(输入c, 输入框) If a b Then Min = a Else Min = b If c = 60 ThenLabel1.Caption = 及格 End IfIf a 0时,y=4x+1)。Private Sub Form_Click(
20、)Dim x As SingleDim y As Singlex = Val(InputBox(请输入变量x)If x = 10 Then Value = 5 * xElse Value = 4 * xEnd IfA、100 B、80 C、90 D、7026、下面是判断变量x是不是能被5整除的偶数的程序,横线上的逻辑表达式应为( ) Private Sub commandl_Click() Dim x As Integer x=Val(Text1. Text) If Then Labell.Caption=”这个数是能被5整除的偶数” Else Labell.Caption=”这个数不是能被5
21、整除的偶数” End If选项:A、(x Mod 5) = 0 And (x Mod 2 ) = 0B、(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 Then m = A Else m = bIf c m Then m = cA、1 B、2 C、5 D、提示错误,无答案(九)程序设计的循环结构1、For-Next循环For循环变量一般形式是:For循环变量=初值To终值Step循环变量增量 循环体Next循环变量例题1:求s1+2+3+4.+100P
22、rivate Sub Command1_Click() Dim i As Integer Dim sum As Integer sum = 0 For i = 1 To 100 sum = sum + i 循环体 Next i Text1.text=str( sum)End Sub 注意这里累加器的应用例题2:Step循环变量增量Private Sub Command_Click()For j = 3 To 15 Step 2Print j 共输出7个值Next jEnd Sub 变量j=3 5 7 9 11 13 15 17 循环7次,j最后的值为17不算在循环中。循环变量的初值、终值、循环
23、变量增量都是数值型。其中要重复执行的操作称为循环体,增量可正可负,如果没有设置Step,则增量的缺省值为11、 循环变量取初值;2、 循环变量与终值比较,没有超过终值转3,否则循环结束,接着执行循环语句的后继语句;3、 执行一次循环体4、 循环变量增加一个增量5、 重复步骤24。以上可以看出,For-Next循环变量是一种当型循环。说明(a) For语句与Next语句必须成对出现,而且它们当中的“循环变量”必须是同一个变量,如上例中均为I。(b) 当循环变量为正时,循环变量超过终值,是指循环变量的值大于终值时;若为负,则是指循环变量的值小于终值。AP入口出口2、DoLoop循环For-Next
24、循环的次数是确定的,但是有的问题只知道循环结束的条件,重复执行的次数事先并不知道,这是需要Do-Loop循环格式一:Do While 条件循环体Loop例题:求最大公约数Private Sub Command1_Click() Dim a,b,r As Integer a = Val(Text1.Text) b = Val(Text2.Text) r = a Mod b Do While r 0 a = b b = r r = a Mod b Loop Text3.Text = Str(b)End Sub当VB执行Do While-Loop循环时,先判断指定的条件是否为真,若条件为真,执行循环
25、体,条件为假时退出循环。28、下列程序段执行结束后,变量y的值是( )。 y=2 Do while y=6 y=y+y Loop A、2 B、6 C、8 D、1629、分析程序,写出执行结果。Private Sub command1_click()Dim S As Integer,I As Integer S=0 For i=1 to 10 Step 2 S=S+i Next i Print “S=”;s End Sub答案:S= (十)算法与问题解决1、解析法 利用所学的数学或物理等知识来求解一个问题。2、枚举法 对所有可能的情况都逐一列举和判断。外循环分支的结构。简单理解一下程序思想及代码
26、(部分程序请补充完整代码)(1) 一只猴子摘了一堆桃子,它每天吃当天桃子数的一半,每次忍不住多吃了一个。这样到第十天时只有一个桃子可以吃了,编程计算猴子最初共有多少个桃子。程序:Private Sub Command_Click() Dim i As Integer Dim s As Integer s = 1 For i =1 To 9 s = (s + 1)*2 Next Print “s=”;sEnd Sub(2) 完善按钮“计算7!”的Click事件程序,当单击命令按钮时Text1显示7!的值。Private Sub Command1_Click( )Dim a As longDim
27、i As Integer (30)For i = 1 To 7 a = a * iNext i (31)End Sub这里输入值太大容易“溢出”,可以更改变量a的类型为double(3) 计算1+2+100Private Sub Command1_Click( ) Dim a As Integer Dim I As Integer a = 0 For i = 1 To 100 a = a + i Next i Text2.Text = Str(a)(4) 编程计算 s=1-2+3-4+5-+99-100程序:Private Sub command1_Click()Dim s As Intege
28、r 定义变量s为整型变量Dim i As Integer 定义循环变量 (32)For i=1 To 100 if int(i/2) i/2 Then 判断奇数,也可以使用语句“ i mod 2 0 ” s = s + i (33) s = s - i End ifNext iPrint s=;sEnd Sub(5) 编程计算s = 1*2+2*3+3*4+n*(n+1)的值,其中n 通过文本框txta输入Private Sub Form_Click() Dim s As Single Dim i As Integer s = 0 (34) For i = 1 To n (35) Next i
29、 Print “s=”;sEnd Sub(6) 编程求:鸡和兔在一个笼里,共有腿100条,头40个,问鸡有几只,兔有几只?程序:Private Sub Form Click()Dim Ji As Integer 鸡Dim Tu As Integer 兔Dim Leg As Integer 腿数Dim Head As Integer 头数For Ji=1 To 50 For Tu=1 To 25 Leg = Ji*2 + Tu*4 计算腿 计算头 (36) If Then (37) Print 鸡=;Ji;只, 兔=;Tu;只 End If Next TuNext JiEnd SubBDBCAACADAACDDACAADDCAAAAAAC25a=1 text1.text=str(a) s=0 elsen=val(txta.text) s=s+i*(i+1)head=ji+tu leg=100 and head=40
限制150内