第一章 如何用计算机解决问题
1.解决问题的过程:(P3)
1. 分析问题——设计算法——界面设计、编写程序——运行程序、验证结果。
2. 计算机程序:就是指示计算机如何去解决问题或完成任务的一组可执行的指令。
3. 程序设计:就是寻求解决问题的方法,并将其实现步骤编写成计算机可以执行的程序的
过程。
4. 程序设计语言:泛指一切用于书写计算机程序的语言。(与计算机语言区别) 5. 程序设计语言发展经历了机器语言、汇编语言到高级语言。(P11) 2.算法的概念:解决问题的方法和步骤。(P5) 3.算法的特征:有穷性(有限性)、确定性、有零个或多个输入、有一个或多个输出、可行性。
4.算法的描述:自然语言、流程图、伪代码等。
(P8)流程图:①处理框 :框中指定要处理的内容,有一个入口和一个出口。
②输入/输出框 :用来表示数据的输入或计算结果的输出。
③判断框 :用来表示分支情况,有一个入口和两个出口。
④连接框 :连接符号可串连多张流程图。
⑤开始/结束框 :用来表示算法的开始和结束。
Top Left Font BackColor ForeColor BorderStyle Alignment 第二章 程序设计ABC
2.1可视化程序开发工具
1.VB是基于basic语言的可视化程序设计语言,是一种面向对象的程序设计语言。(P14) 2.控件:以图标的方式放在“工具箱”中,如文本框,命令按钮等。(P16)
常用控件 对象的类型 窗体 Form 命令按钮 Command Button 标签 Label 文本框 TextBox 3.对象的属性、方法和事件 在VB中,文本框、标签、命令按钮都是对象。 (1)属性:对象的特征 (P127 附录三) Name 设置对象的名称 Caption 控件中显示的内容(文字) Text 中文本框中显示的内容 Height 决定控件高度 Width 决定控件宽度
决定控件的靠顶部位置 决定控件的靠左边位置 设置控件中字体格式 设置控件背景色 设置控件的前景色 设置控件的边框风格 即标签文字对齐属性 设置为False时,输入控件Caption值超过控件宽度时超出部分被裁剪掉; AutoSize 设置为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 Long Single Double String Boolean Date 取值范围 所占内存 -32768~32767 16位/2字节 4字节 4字节 8字节 定长字符串: 0~65535个字符 True或False 2字节 100/1/1~9999/12/31 8字节 算法知识点第1页
2.常量、变量 (P22)
(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(取反)、 运算结果为布尔值True或False ,存在优先级。 逻辑 And(与)、 And(与):操作数均为True ,结果才为 True ; 运算符 Or(或) Or(或):操作数只要有一个为True ,结果就为 True 。 日期 +、- 进行日期的计算。 运算符 执行顺序:算术运算符 > 字符运算符 > 关系运算符 > 逻辑运算符 4.常用语句 (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的正弦值 Sin(30*3.14/180) 0.49 Cos(x) 求x的余弦值 Cos (30*3.14/180) 0.86 x的值为弧度制 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。 (2)日期、时间函数 Time():系统当前时间;Hour();Minute();Second(); Date():日期; Year():年;Month():月;Day():日; (3)字符串函数: 函数 功能 Len(字符串) 求字符串的长度 Left(字符串,截取长度) 截取字符串左边部分 Mid(字符串,起始位置[,截取长度]) 从中间指定位置截取字符串 Right(字符串,长度) 截取字符串右边部分 String(数值,字符) 生成指定长度与指定字符(第一个)的字符串 Instr(字符串1,字符串2) 在字符串1中寻找字符串2,若存在则返回字串2第一次完整出现在字符串1中的位置;否则返回0。 (4)转换函数 函数 功能 实例 结果 Val(字符串) 将字符串转换为数值 12+Val(\14 Str(数值) 将数值转为字符串 Str(5) \Chr(字符代码) 求字符代码对应的字符 Chr(65) \Asc(字符) 求字符对应的字符代码 Asc(\67 CInt(表达式) 将表达式的结果转换为整CInt(3.14259*2) 6 数,小数部分四舍五入。 常用ASCII码:\;\;\:48; 算法知识点第2页
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.数组:是一组相同类型的变量集合,集合中的每个元素都是独立的变量,能通过数组序号被引用。
算法知识点第3页