
1.解决问题的过程:(P3)
1.分析问题——设计算法——界面设计、编写程序——运行程序、验证结果。
2.计算机程序:就是指示计算机如何去解决问题或完成任务的一组可执行的指令。
3.程序设计:就是寻求解决问题的方法,并将其实现步骤编写成计算机可以执行的程序的过程。
4.程序设计语言:泛指一切用于书写计算机程序的语言。(与计算机语言区别)
5.程序设计语言发展经历了机器语言、汇编语言到高级语言。(P11)
2.算法的概念:解决问题的方法和步骤。(P5)
3.算法的特征:有穷性(有限性)、确定性、有零个或多个输入、有一个或多个输出、可行性。
4.算法的描述:自然语言、流程图、伪代码等。
(P8)流程图:①处理框 :框中指定要处理的内容,有一个入口和一个出口。
②输入/输出框 :用来表示数据的输入或计算结果的输出。
③判断框 :用来表示分支情况,有一个入口和两个出口。
④连接框 :连接符号可串连多张流程图。
⑤开始/结束框 :用来表示算法的开始和结束。
第二章 程序设计ABC
2.1可视化程序开发工具
1.VB是基于basic语言的可视化程序设计语言,是一种面向对象的程序设计语言。(P14)
2.控件:以图标的方式放在“工具箱”中,如文本框,命令按钮等。(P16)
| 常用控件 | 对象的类型 |
| 窗体 | Form |
| 命令按钮 | Command Button |
| 标签 | Label |
| 文本框 | TextBox |
在VB中,文本框、标签、命令按钮都是对象。
(1)属性:对象的特征 (P127 附录三)
| Name | 设置对象的名称 |
| Caption | 控件中显示的内容(文字) |
| Text | 中文本框中显示的内容 |
| Height | 决定控件高度 |
| Width | 决定控件宽度 |
| Top | 决定控件的靠顶部位置 |
| Left | 决定控件的靠左边位置 |
| Font | 设置控件中字体格式 |
| BackColor | 设置控件背景色 |
| ForeColor | 设置控件的前景色 |
| BorderStyle | 设置控件的边框风格 |
| Alignment | 即标签文字对齐属性 |
| AutoSize | 设置为False时,输入控件Caption值超过控件宽度时超出部分被裁剪掉; 设置为True时,控件可水平扩充,以适应控件Caption属性。 |
| Visible | 决定控件是否可见 |
| Enabled | 决定控件运行时是否有效 |
对象.属性=属性值
例:使文本框中显示20。 Text1.Text =”20”
要获取对象的状态或特性,就要读取对象的属性值。
变量=对象.属性
例:获取文本框“Text1”的“Text”属性。a = Text1.Text
(2)方法:对象能够执行的操作。(P19)
[对象].方法[参数名表]
例:Form.Print ”欢迎使用”
(3)事件及事件驱动:事件是对象对外部操作的响应。(P19)
Vb中提供的事件有:单击(click)、双击(dblclick)、加载(load)等。
Private Sub 对象_事件名( )
(事件过程代码)
End Sub
(4)保存文件:(P15)
.vbp文件:与VB工程有关的文件和对象清单,是一个文本文件。
.frm文件:包含窗体及控件的属性设置、相关程序代码等。
.bas文件:标准模块文件。
2.2 数据的表示与处理
1.数据类型 (P20)
| 数据 | 类型符 | 关键字 | 取值范围 | 所占内存 |
| 整型 | % | Integer | -32768~32767 | 16位/2字节 |
| 长整型 | & | Long | 4字节 | |
| 单精度型 | ! | Single | 4字节 | |
| 双精度型 | # | Double | 8字节 | |
| 字符串型 | $ | String | 定长字符串: 0~65535个字符 | |
| 布尔型 | Boolean | True或False | 2字节 | |
| 日期型 | Date | 100/1/1~9999/12/31 | 8字节 |
(1)常量:常量是在程序执行过程中其值不变的存储单元或数据。在VB中,常量有整数常量、实数常量、字符串常量和逻辑常量这几种类型。
Const 常量名 [As 类型]=表达式。 如:Const pi=3.1415926
(2)变量:变量用来表示数据的存储区,在程序运行过程中,这些存储区中的值是可以改变的。
Dim 变量名 As 类型
(P23)命名原则:变量名由字母、汉字、数字和下划线等字符组成;必须以字母开头;在变量名中不区分大小写字母;不能使用保留字;不能超过255个字符。
3.运算符与表达式 (P25-26)
运算符
| 类别 | 符号 | 含义 | 运算优先级 | 实例 | 结果 | |
| 算术 运算符 | ^ | 指数 | 1 | 2^10 | 1024 | |
| - | 取负 | 2 | -2+5 | 3 | ||
| *、/ | 乘法、除法 | 3 | ||||
| \ | 整除 | 4 | 5\\2 | 2 | ||
| Mod | 求余 | 5 | 5 Mod 2 | 1 | ||
| +、- | 加、减 | 6 | ||||
| 字符串 运算符 | +、& | 连接两个字符串时尽量使用“&”。 “+”在遇到数字字符串和数值型数据连接时,执行加运算。 | ||||
| 关系 运算符 | =、< >、 <、 >、 > = 、< = | 结果为True或False,无优先级。 关系成立,结果为True;否则是False。 | ||||
| 运算规则:当数据均为数值型,按数值大小比较; 当数据均为字符串型,按该字符的ASCII码值从左到右一一比较,直到出现不同为止。 | ||||||
| 逻辑 运算符 | Not(取反)、 And(与)、 Or(或) | 运算结果为布尔值True或False ,存在优先级。 | ||||
| And(与):操作数均为True ,结果才为 True ; Or(或):操作数只要有一个为True ,结果就为 True 。 | ||||||
| 日期 运算符 | +、- | 进行日期的计算。 | ||||
| 执行顺序:算术运算符 > 字符运算符 > 关系运算符 > 逻辑运算符 | ||||||
(1)赋值语句:
格式1: 变量名=表达式;
格式2: [对象名.]属性名=表达式
(2)Print :在窗体上输出文本,常用分号和逗号隔开。
格式:[对象名.]Print[表达式列表]
Tab(n):定位从第n列开始输出。
(3)注释语句:在字符“’”后加注释内容或用“Rem”注释内容”(Rem成行)
(4)结束语句: End ,强制程序结束运行
5.与用与用户交互函数
InputBox()函数和MsgBox()函数;前者常用于输入,后者常用于输出。
格式:InputBox(“提示”,”标题”,”默认值”)
6.函数
(1)数学函数
| 函数 | 功能 | 实例 | 结果 | |
| Abs(x) | 求x的绝对值 | Abs(-4.6) | 4.6 | |
| Sqr(x) | 求x的平方根 | Sqr(9) | 3 | |
| Sin(x) | 求x的正弦值 | x的值为弧度制 | Sin(30*3.14/180) | 0.49 |
| Cos(x) | 求x的余弦值 | Cos (30*3.14/180) | 0.86 | |
| Tan(x) | 求x的正切值 | Tan(60*3.14/180) | 1.72 | |
| Atn(x) | 求x的反正切值 | |||
| Exp(x) | 求指数函数ex | Exp(2.0) | 7.38 | |
| Log(x) | 求x的自然对数值 ln(x) | Log(10) | 2.30 | |
| Int(x) | 取整,取<=x的最大整数 | Int(99.8) | 99 | |
| Int(-4.5) | -5 | |||
| Fix(x) | 去除小数部分 | Fix(4.9) | 4 | |
| CInt(x) | 小数部分为0.5时,取最近偶数。 | Cint(3.5) | 4 | |
| Rnd(x) | 产生[0,1)之间的随机数 | Rnd() | 返回一个随机数 | |
| Sgn(x) | 符号函数,x>0返回1;x=0返回0;x<0返回-1。 | |||
Time():系统当前时间;Hour();Minute();Second();
Date():日期; Year():年;Month():月;Day():日;
(3)字符串函数:
| 函数 | 功能 |
| Len(字符串) | 求字符串的长度 |
| Left(字符串,截取长度) | 截取字符串左边部分 |
| Mid(字符串,起始位置[,截取长度]) | 从中间指定位置截取字符串 |
| Right(字符串,长度) | 截取字符串右边部分 |
| String(数值,字符) | 生成指定长度与指定字符(第一个)的字符串 |
| Instr(字符串1,字符串2) | 在字符串1中寻找字符串2,若存在则返回字串2第一次完整出现在字符串1中的位置;否则返回0。 |
| 函数 | 功能 | 实例 | 结果 |
| Val(字符串) | 将字符串转换为数值 | 12+Val("2") | 14 |
| Str(数值) | 将数值转为字符串 | Str(5) | "5" |
| Chr(字符代码) | 求字符代码对应的字符 | Chr(65) | "A" |
| Asc(字符) | 求字符对应的字符代码 | Asc("C") | 67 |
| CInt(表达式) | 将表达式的结果转换为整数,小数部分四舍五入。 | CInt(3.14259*2) | 6 |
2.3 程序的基本结构
1.顺序结构
2.选择结构(选择结构可以嵌套)
单分支:If 条件表达式 Then
语句1
End If
写在一行:
If 条件表达式 Then 语句
双分支:If 条件表达式 Then
语句组1
Else
语句组2
End If
多分支:If 条件1 Then
语句组1
ElseIf 条件2 Then
语句组2
……
Else
语句组n
End If
多重选择语句:Select Case 表达式
Case 表达式列表1
语句组1
Case 表达式列表2
语句组2
……
Case Else
语句组n
End Select
3.循环结构(循环语句可以嵌套)
For循环语句:For 循环变量=初值 to 终值 step 步长
循环体(语句组)
Next 循环变量
Do循环:
(1)Do While 条件表达式
循环体(语句组)
Loop
(2)Do
循环体(语句组)
Loop While 条件表达式
(3) Do Until 条件表达式
循环体(语句组)
Loop
(4)Do
循环体(语句组)
Loop Until 条件表达式
第三章 算法的程序实现
1.解析法:在分析具体问题的基础上,抽取出一个数学模型,这个数学模型能用若干个解析表达式表示,解决这些表达式,问题就得以解决。
2.穷举法:也叫枚举法、列举法,是将求解对象一一列举出来,然后逐一加以分析、处理,并验证结果是否满足给定的条件,穷举完所有的对象,问题将最终得以解决。
3.递归法:一个函数在定义时,直接或间接地调用自己。递归法一般需要定义函数来实现。
自定义函数:public|private Function <函数名称>([形式参数表])[as 类型]
局部常量、变量定义
语句组
函数名=返回值
End Function
自定义过程: public|private Sub <过程名>([形式参数表])
局部常量、变量定义
过程语句组
End Sub
4.数组:是一组相同类型的变量集合,集合中的每个元素都是的变量,能通过数组序号被引用。
在数组中查找数据:
顺序查找:从第一个元素开始,按数据的顺序查找指定的关键值。如果被查数据和该关键值相匹配则表示找到,如果所有数据与关键值都不匹配则表示被查数据中不存在该关键值,查找失败。
二分法查找:也叫折半查找,在被查的有序数据中,取中间数与关键值比对,再确定关键值在这些数据中的前半部分还是后半部分;再取这些数的中间数比对,以此类推,直到找到为止。它要求被查数据是有序的。
对数据进行排序:
冒泡法排序:也叫起泡法排序,将相邻两元素进行比较和交换,逐步将一个无序序列排列为一个有序序列。(从前向后,从后向前)
第四章 程序设计思想和方法
1.结构化程序设计的思想包括以下三个方面:
(1)一个大程序可以划分为若干个模块,每个模块又可以继续分为更小的子模块,最终分出的模块能完成一个的功能,模块之间按层次关系进行组织。
(2)程序都可以由三种基本结构组成,即顺序、选择、循环结构。
(3)设计时应采用自顶向下,逐步细化的实施方法。
2.面向对象程序设计:以所处理的数据入手,是对结构化程序设计的继承与发展。
涉及到几个概念:对象、属性、方法、事件与事件驱动、类。
最突出的特性:封装、继承和多态性。
这三大特征是互相关联的,封装性是基础,继承性是关键,多态性是补充,而多态性又必须存在于集成的环境中。
