VF基础知识总结(1-8章)
- 格式:ppt
- 大小:212.00 KB
- 文档页数:36
vf知识点总结doc视觉功能(VFs)是人类对其周围环境的感知和认知的能力,是人类最重要的感知能力之一。
视觉功能包括形状、颜色、深度、运动等方面的信息处理。
本文将对视觉功能的相关知识进行总结。
一、视觉功能的基本知识1. 眼睛结构与功能:人眼是实现视觉功能的器官,包括角膜、虹膜、晶状体、视网膜等部分。
角膜主要对光线进行聚焦,虹膜控制进入眼球的光线量,晶状体负责对焦,而视网膜是感光细胞的分布区域,负责感受光信号并传递给大脑。
眼睛的结构与功能使人类能够感知外部世界的信息。
2. 视觉感知的生理过程:当光线进入眼球后,先通过角膜进行聚焦,然后通过晶状体对焦到视网膜上,感光细胞接收到光信号后转化成神经信号,传递给大脑的视觉中枢皮层,再在大脑中进行信息加工和解读,最终形成对外部世界的感知。
3. 视觉功能的发展过程:新生儿出生时,视网膜的感光细胞已经形成,但其对物体的识别能力并不完善。
随着年龄的增长,大脑对光信号的处理能力逐渐提高,视觉功能也逐渐成熟。
二、视觉功能的发展和训练1. 视觉功能的发展特点:视觉功能的发展与身体和大脑的发育密切相关。
在儿童时期,适当的视觉刺激可以促进大脑皮层的发育,提高视觉功能的敏感度和准确度。
2. 视觉功能的训练:视觉功能的训练包括一系列的活动和方法,如眼球运动训练、图形认知训练、颜色识别训练等。
这些训练可以帮助个体提高对外部信息的感知和认知能力,促进大脑皮层的发育。
三、视觉功能的疾病与障碍1. 近视、远视和散光:近视是指眼睛对远处物体的焦距不足,远视则是对近处物体的焦距不足,散光是由于角膜或晶状体的形状异常导致的对焦问题。
这些属于眼球结构的问题,可以通过配戴眼镜或隐形眼镜进行矫正。
2. 视网膜疾病:包括视网膜脱落、黄斑变性、青光眼等,这些疾病会影响感光细胞的正常功能,导致视觉功能受损,甚至失明。
3. 视觉感知障碍:包括色盲、视觉辨识障碍等,这些问题与视网膜感光细胞的功能异常或大脑皮层处理信息的问题有关。
文件扩展名及备份文件扩展名第一章数据库基础知识1、数据库管理系统:DBMS;数据库应用系统:DBAS;数据库系统:DBS;数据:DBDBS包括DBMS,DBAS,DB2、实体间的联系:一对一,一对多,多对多。
3、数据库中的数据模型:网状模型,层次模型,关系模型。
4、关系:一个关系就是一个二维表,每一个关系有一个关系名。
5、元组:二维表中的行称为元组。
6、属性:二维表中的列称为属性。
7、域:属性的取值范围。
8、关系→表;关系名→表名;属性→字段;元组→记录;行→记录,元组;列→字段,属性。
9、传统的集合运算:并,差,交。
10、专门的关系运算:选择(水平方向)for,while,where投影(垂直方向)fields,select联接(一对一,一对多,多对多)11、定义数组:dime/declare 数组名(3,4)第二章VF基础知识1、创建项目:①通过菜单创建②命令:creat project项目名2、打开项目管理器:①通过“文件→打开”菜单项②命令:modify project 项目名3、各类文件选项卡:①数据选项卡(数据库,自由表,查询,视图)②文档选项卡(表单,报表,标签)③类④代码⑤其他第三章数据与数据运算* N包括Y,F,B,I2、变量:在程序运行过程中,其值可能发生变化的量。
3、变量的分类:字段变量,内存变量,数组变量,系统变量,对象变量。
4、常用的函数①、数值型函数1.绝对值函数【函数格式】?abs(<数值表达式> )【函数功能】返回指定“数值表达式”的绝对值【返回值类型】数值型eg:?abs(-1) 12.平方根函数【函数格式】?sqrt(<数值表达式>)【函数功能】返回指定“数值表达式”值的平方根。
“数值表达式”的值必须是大于或等于零【返回值类型】数值型eg:?sqrt(25) 5sqrt(81) 9sqrt(7^2-4*2*4) 4.123.取整函数【函数格式】?int(<数值表达式>)【函数功能】返回指定“数值表达式”整数部分的值【返回值类型】数值型eg:?int(6489.658) 6489?int(123.58) 1234.四舍五入函数【函数格式】?round(<数值表达式1>,<数值表达式2>)【函数功能】对指定的<数值表达式1>进行四舍五入运算【使用说明】<数值表达式2>指定四舍五入运算精确的位数。
第1章数据结构与算法1.1 算法的复杂度1. 算法的基本概念利用计算机算法为计算机解题的过程实际上是在实施某种算法。
(1)算法的基本特征算法一般具有4个基本特征:可行性、确定性、有穷性、拥有足够的情报。
(2)算法的基本运算和操作算法的基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输。
(3)算法的3种基本控制结构算法的3种基本控制结构是:顺序结构、选择结构、循环结构。
(4)算法基本设计方法算法基本设计方法:列举法、归纳法、递推、递归、减半递推技术、回溯法。
(5)指令系统所谓指令系统指的是一个计算机系统能执行的所有指令的集合。
2. 算法复杂度算法复杂度包括时间复杂度和空间复杂度。
注意两者的区别,无混淆,见表1-1。
1.2 数据结构1.2.1 逻辑结构和存储结构1. 数据结构的基本概念(1)数据结构指相互有关联的数据元素的集合。
二级公共基础知识速学教程2(2)数据结构研究的3个方面①数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;②在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;③对各种数据结构进行的运算。
2. 逻辑结构数据的逻辑结构是对数据元素之间的逻辑关系的描述,它可以用一个数据元素的集合和定义在此集合中的若干关系来表示。
数据的逻辑结构有两个要素:一是数据元素的集合,通常记为D;二是D上的关系,它反映了数据元素之间的前后件关系,通常记为R。
一个数据结构可以表示成:B=(D,R)其中,B表示数据结构。
为了反映D中各数据元素之间的前后件关系,一般用二元组来表示。
例如,如果把一年四季看作一个数据结构,则可表示成:B =(D,R)D ={春季,夏季,秋季,冬季}R ={(春季,夏季),(夏季,秋季),(秋季,冬季)}3. 存储结构数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构)。
由于数据元素在计算机存储空间中的位置关系可能与逻辑关系不同,因此,为了表示存放在计算机存储空间中的各数据元素之间的逻辑关系(即前后件关系),在数据的存储结构中,不仅要存放各数据元素的信息,还需要存放各数据元素之间的前后件关系的信息。
VFP知识点(第二版) ............................................................................................................. - 1 -一.数据库的基本定义.............................................................................................................. - 1 -1.数据库的发展................................................................................................................... - 1 -2.数据库............................................................................................................................... - 1 -3.数据模型........................................................................................................................... - 1 -4.关系型数据库概念........................................................................................................... - 1 -5.关系操作........................................................................................................................ - 1 -二.数据库的基本概念.............................................................................................................. - 2 -6.数据库基本概念............................................................................................................... - 2 -7.常用文件类型及扩展名................................................................................................... - 2 -三.工作区.................................................................................................................................. - 3 -8.工作区的使用................................................................................................................... - 3 -9.选择工作区....................................................................................................................... - 3 -10.多表的打开与关闭...................................................................................................... - 3 -四.数据运算.............................................................................................................................. - 4 -11.数据类型......................................................................................................................... - 4 -12.常量变量表达式............................................................................................................. - 4 -13.函数列表......................................................................................................................... - 5 -五.索引文件.............................................................................................................................. - 6 -14.索引记录......................................................................................................................... - 6 -15.建立索引(仅记录命令建立方法)............................................................................. - 6 -16.使用索引......................................................................................................................... - 7 -六.查询和视图.......................................................................................................................... - 8 -17.查询.............................................................................................................................. - 8 -18.查询设计器和SELECT语句的对应关系 ................................................................. - 8 -19.查询文件使用方法...................................................................................................... - 8 -20.视图.............................................................................................................................. - 8 -21.视图设计器更新数据步骤.......................................................................................... - 9 -22.视图和查询的区别...................................................................................................... - 9 -七.编辑记录.............................................................................................................................. - 9 -23.编辑记录...................................................................................................................... - 9 -八.结构化查询语言SQL(重点!) ..................................................................................... - 11 -九.程序设计............................................................................................................................ - 13 -24.结构化程序................................................................................................................ - 14 -25.单分支语句与双分支语句格式................................................................................ - 14 -26.循环结构.................................................................................................................... - 15 -27.过程(自定义函数)语句........................................................................................ - 16 -十.表单设计............................................................................................................................ - 17 -27.基本控件:................................................................................................................ - 17 -28.容器层次中的对象引用属性或关键字.................................................................... - 17 -29.常用属性.................................................................................................................... - 18 -十一.菜单设计........................................................................................................................ - 19 -VFP知识点(第二版)一.数据库的基本定义1.数据库的发展数据库先后经历了人工管理、文件管理、数据库系统、分布式数据库系统和面向对象数据库系统等五个阶段2.数据库数据库(Database,缩写为DB):按照一定的组织结构存储在计算机内可共享使用的相关数据的集合。
#数值类型【科学记数法】格式:实数E整数。
如3.5E3,表示3.5*10^3。
E大小写均可,指数可以为负数。
【算术运算符】加法(+)、减法(-)、乘法(*)、除法(/)、乘法(**,^)【优先级】括号最高,然后乘方,然后乘除,然后加减【余数计算规则】1. 被除数=除数*商+余数2. 余数的绝对值必须小于除数的绝对值3. VFP规定余数和除数同号【精度】总原则:除非是整数,否则至少保留2位小数。
不存在计算结果只有1位小数的情况。
+,-:取两个操作数的小数位数多的一个作为计算结果的小数位数。
只有两个整数相加减结果才是整数。
*,/:将两个操作数的小数位数相加,作为计算结果的小数位数。
只有两个整数相乘除结果才是整数。
%:余数的计算结果,小数位数和被除数一致。
被除数为整数时,结果为整数。
**,^:计算结果至少保留2位小数。
无论任何情况,计算结果都不为整数。
货币类型1. 只要在数值类型前加上$符号即代表货币类型2. 小数位数永远保留4位#数值函数【绝对值和符号】ABS(数值表达式):求数值表达式的绝对值。
SIGN(数值表达式):求数值表达式的符号。
特别的,若用X表示某表达式,则ABS(X)*SIGN(X)=X【取整和四舍五入】INT(数值表达式):直接对数值表达式取整,直接舍去小数部分。
CEILING(数值表达式):天花板函数,返回大于该表达式的最小整数。
FLOOR(数值表达式):地板函数,返回小于该表达式的最大整数。
ROUND(数值表达式,精度):精度为正,表示保留几位小数;精度为0,表示保留整数;精度为负,表示将整数后几位置为0。
【其他】SQRT(数值表达式):求数值表达式的平方根。
其中,数值表达式必须是非负数,可以不是整数。
MOD(被除数,除数):求余数,规则和%运算符相同。
PI():求圆周率,返回值为3.14。
MAX(一组表达式):求这组表达式中的最大值。
MIN(一组表达式):求这组表达式中的最小值。
VF知识点总结概念知识点总结1、数据库的基本理论和VF 数据库操作2、数据与程序设计3、SQL 语句4、⾯向对象程序设计及表单、报表、菜单数据库的基本理论和VF 数据库操作(第1、2、3、4、6章)⼀、数据库系统基本理论1、理解数据库系统的⼏个基本概念以及它们的关系数据库(DB )、数据库管理系统(DBMS )、数据库应⽤系统(DBAS )和数据库系统(DBS )2、掌握实体之间的联系,可以判断出实际问题中属于那种联系⼀对⼀、⼀对多、多对多3、弄清三⼤数据模型的结构形式:层次模型、⽹状模型和关系模型我们现在所⽤到的数据库都是关系数据库(a )(b )(c )4、理解关系术语关系(就是⼆维表,记录的集合);元组(⾏、记录);属性(列、字段);域(⼀个字段的取值范围);关键字(关键的字段,唯⼀能标志⼀个元组的字段或字段的组合);外部关键字(不是本表的关键字,但是是其他表的关键字;⽤来建⽴表间的联系)5、关系运算理解传统的集合运算(并、交、差、笛卡尔积)和专门的关系运算(选择、投影、连接包括等值连接和⾃然连接)⼆、数据表操作1、了解表操作的⼀些命令,尤其以下⼏条:LIST显⽰记录:LIST | DISPLAY [FIELDS <字段名表>][<范围>] [FOR<条件表达式>]限定条件⽤FOR短语LOCATE条件定位:LOCATE FOR<条件表达式>本命令定位在满⾜条件的第⼀条记录,若想定为满⾜条件的下⼀条记录,必须⽤CONTINUE⽤FOUND()函数为T判断是否有满⾜条件的记录(也可⽤EOF()为F)APPEND为追加记录;INSERT为插⼊记录REPLACE修改记录:REPLACE <字段名1> WITH <表达式1> [FOR <条件表达式>]2、删除操作分两步⾛:DELETE与PACKDELETE是逻辑删除,也就是添加删除标记,PACK才是真正物理删除;逻辑删除的记录还可以恢复(RECALL)3、理解⼯作区的概念系统提供了32767个⼯作区,可以在不同的⼯作区同时打开多个表,使⽤⼯作区⽤其编号1~32767,或者别名,前⼗个⼯作区有别名:A~JSELECT 0表⽰使⽤最⼩未⽤过的⼯作区4、建⽴表之间的临时关联⼀个为主表,⼀个为⼦表,使⽤SET RELATION TO …INTO…语句要求两个表必须在不同的⼯作区打开可以使⽤SET RELATION TO解除关联三、数据库操作1、理解数据库⽂件它并不真正的存储数据,只是对存储数据的⽂件进⾏统⼀的管理建⽴数据库后,形成三个同名⽂件.dbc .dct .dcx2、理解⾃由表与数据库表的区别与联系区别:可以看⼀下“表设计器”⾃由表不能设置长表名、长字段名、标题、输⼊掩码、字段有效性规则、默认值、注释等内容⾃由表不能设置主索引⾃由表可以添加到数据库中形成数据库表(ADD TABLE…);数据库表可以移出形成⾃由表,相应的设置丢失,主索引变为候选索引(REMOVE TABLE…)3、掌握索引的概念索引就是排序,但它是逻辑排序,排列的不是实际记录,⽽是记录指针,排序的结果存放在索引⽂件中建⽴索引的主要⽬的是为了提⾼查询速度(在有序的集合中查询某个个体很显然⽐⽆序中查询快得多)A、建⽴索引可以通过命令实现:INDEX ON <索引关键字表达式> TO <独⽴索引⽂件名> | TAG <标识名> [ASCE | DESC] [UNIQUE] [CANDICATE]可以建普通索引(命令中不需表⽰)、候选索引(CANDICATE)、唯⼀索引(UNIQUE)B、可以以在表设计器中建⽴索引索引不是真正排序,表的排序命令为SORT,是对记录的排序,结果形成新的表⽂件.dbf 4、区别索引⽂件的类型索引⽂件分为独⽴索引⽂件(.idx 存放⼀条索引结果)和复合索引⽂件(.cdx 存放多条索引结果)复合索引⽂件⼜分为结构复合索引⽂件(与表同名)和⾮结构复合索引⽂件结构复合索引⽂件因其与表同名,随着表的打开⽽打开,表的关闭⽽关闭,在表被修改时⾃动同步修改,现在是主要应⽤的索引⽂件5、区别索引的类型主索引和候选索引意义相似,建⽴主索引和候选索引都要求关键字表达式的值唯⼀,没有重复。
概念知识点总结1、数据库的基本理论和VF 数据库操作2、数据与程序设计3、SQL 语句4、面向对象程序设计及表单、报表、菜单数据库的基本理论和VF 数据库操作(第1、2、3、4、6章)一、数据库系统基本理论1、理解数据库系统的几个基本概念以及它们的关系 数据库(DB )、数据库管理系统(DBMS )、数据库应用系统(DBAS )和数据库系统(DBS )2、掌握实体之间的联系,可以判断出实际问题中属于那种联系 一对一、一对多、多对多3、弄清三大数据模型的结构形式:层次模型、网状模型和关系模型 我们现在所用到的数据库都是关系数据库(a )(b )(c )4、理解关系术语关系(就是二维表,记录的集合);元组(行、记录);属性(列、字段);域(一个字段的取值范围);关键字(关键的字段,唯一能标志一个元组的字段或字段的组合);外部关键字(不是本表的关键字,但是是其他表的关键字;用来建立表间的联系)5、关系运算理解传统的集合运算(并、交、差、笛卡尔积)和专门的关系运算(选择、投影、连接包括等值连接和自然连接)二、数据表操作1、了解表操作的一些命令,尤其以下几条:LIST显示记录:LIST | DISPLAY [FIELDS <字段名表>][<范围>] [FOR<条件表达式>]限定条件用FOR短语LOCATE条件定位:LOCATE FOR<条件表达式>本命令定位在满足条件的第一条记录,若想定为满足条件的下一条记录,必须用CONTINUE用FOUND()函数为T判断是否有满足条件的记录(也可用EOF()为F)APPEND为追加记录;INSERT为插入记录REPLACE修改记录:REPLACE <字段名1> WITH <表达式1> [FOR <条件表达式>]2、删除操作分两步走:DELETE与PACKDELETE是逻辑删除,也就是添加删除标记,PACK才是真正物理删除;逻辑删除的记录还可以恢复(RECALL)3、理解工作区的概念系统提供了32767个工作区,可以在不同的工作区同时打开多个表,使用工作区用其编号1~32767,或者别名,前十个工作区有别名:A~JSELECT 0表示使用最小未用过的工作区4、建立表之间的临时关联一个为主表,一个为子表,使用SET RELATION TO …INTO…语句要求两个表必须在不同的工作区打开可以使用SET RELATION TO解除关联三、数据库操作1、理解数据库文件它并不真正的存储数据,只是对存储数据的文件进行统一的管理建立数据库后,形成三个同名文件.dbc .dct .dcx2、理解自由表与数据库表的区别与联系区别:可以看一下“表设计器”自由表不能设置长表名、长字段名、标题、输入掩码、字段有效性规则、默认值、注释等内容自由表不能设置主索引自由表可以添加到数据库中形成数据库表(ADD TABLE…);数据库表可以移出形成自由表,相应的设置丢失,主索引变为候选索引(REMOVE TABLE…)3、掌握索引的概念索引就是排序,但它是逻辑排序,排列的不是实际记录,而是记录指针,排序的结果存放在索引文件中建立索引的主要目的是为了提高查询速度(在有序的集合中查询某个个体很显然比无序中查询快得多)A、建立索引可以通过命令实现:INDEX ON <索引关键字表达式> TO <独立索引文件名> | TAG <标识名> [ASCE | DESC][UNIQUE] [CANDICATE]可以建普通索引(命令中不需表示)、候选索引(CANDICATE)、唯一索引(UNIQUE)B、可以以在表设计器中建立索引索引不是真正排序,表的排序命令为SORT,是对记录的排序,结果形成新的表文件.dbf 4、区别索引文件的类型索引文件分为独立索引文件(.idx 存放一条索引结果)和复合索引文件(.cdx 存放多条索引结果)复合索引文件又分为结构复合索引文件(与表同名)和非结构复合索引文件结构复合索引文件因其与表同名,随着表的打开而打开,表的关闭而关闭,在表被修改时自动同步修改,现在是主要应用的索引文件5、区别索引的类型主索引和候选索引意义相似,建立主索引和候选索引都要求关键字表达式的值唯一,没有重复。
第一章 VF数据库基础1.4 vf系统简介Vf6.0是可运行于windows平台的 32位数据库开发系统1.5 项目管理器1.定义:指文件、数据、文档和visual foxpro对象的集合,是将一个应用程序的所有文件集合成一个有机的整体。
扩展名.pjx2.项目管理器包含的选项卡:●数据:数据库,自由表,查询●文档:表单,报表,标签●类:●代码:程序、函数库API,应用程序●其他:文本文件,菜单文件,其他文件●全部:包含以上各类文件3.在项目管理器中,可以:新建文件、添加文件、删除文件、修改文件,不可以重命名文件4.退出VF命令:quit1.6 数据库基础知识数据:是存储在某种媒体上能够识别的物理符号。
数据处理:将数据转化为信息的过程。
DBS(数据库系统)包括DB(数据库)、DBAS(数据库应用系统)、DBMS(数据库管理系统)数据库系统的组成:硬件系统、数据库集合、数据库管理系统及相关软件、数据库管理员和用户。
数据库系统的核心是:数据库管理系统(DBMS)数据模型:层次模型(用树型结构表示实体及其之间联系的模型称)网状模型(用网状结构表示实体及其之间联系的模型)关系模型(用二维表来表示实体以及实体之间联系的模型。
以关系数学理论为基础)1.7关系数据库“关系”指的是:表文件(.dbf文件)外部关键字:若表中的一个字段不是本表的主关键字或候选关键字而是另外一个表的主关键字或候选关键字,这个字段就称为外部关键字。
传统的集合运算并:两个关系的元组的集合。
差:属于一个关系而不属于另一个关系的元组的集合。
交:两个关系中的公共元组。
专门的关系运算:选择:从关系中找出满足给定条件的元组的操作称为选择。
投影:从关系中制定若干属性,组成新的关系。
投影是从列的角度进行的运算。
连接:把两个关系拼接成一个关系的运算。
第二章数据与数据运算2.1 常量与变量2.1.1 常量常量的数据类型:字符数值日期日期时间货币逻辑●字符常量:可以使用的定界符“”‘’ []●数值常量:1.23E-5 科学计数法●日期常量:分严格日期格式:{^yyyy-mm-dd}传统日期格式:{mm/dd/yy}Set strictdate to 0 可以使用传统日期格式Set strictdate to 1/2 必须使用严格日期格式默认情况下使用严格日期格式Set mark to “-”日期分隔符(”/”,”–““.”)默认 /Set date to mdy /dmy/ymd 设置日期顺序默认 mdySet century on 4位年份显示Set century off 2位年份显示(默认)Set century to 世纪值 rollover 年份参照值当输入两位的年份小于参照值,输出年份世纪值+1如: set century to 19 rollover 20R={10/21/13}?r 输出为: 2013年10月21日R={10/21/95}?r 输出为: 1995年10月21日●日期时间常量●逻辑常量:.t. .f.(.y. .n.)在主窗口口只显示 .t. 和 .f.货币型常量:使用$ ,保留4位小数2.1.2 变量1.变量三要素:变量名数据类型变量值2.变量分类:字段变量和内存变量当内存变量和字段变量同名时,字段变量优先使用,如果要使用内存变量M.变量名或 M->变量名3.内存变量赋值用= 或 storeStore 值 to 变量1,变量2,…Store 一次可以对多个变量赋相同的值。
2010.31.算法的时间复杂度是指算法在执行过程中的基本运算次数.2.属于系统软件的是操作系统.3.软件调试过程中的任务是诊断和改正程序过程中的过程.4.数据流程图是结构化方法的需求分析工具.5.数据库管理系统中负责模式定义的语言是数据定义语言.6.在学生管理数据库中存取一个学生的数据单是记录.7.数据库中用E-R图来描述信息结构但不涉及信息在计算机中表示他属于数据库设计的设计阶段。
8.VF中编译后的程序文件扩展名是FXP。
9.修改表结构使用命令MODISTRU。
10.为当前学生总分加10分命令REPLACEALL总分with总分加1011视图物理上不包含数据。
12对于关系列的次序无关紧要。
13,报表数据源可以是表.视图.查询。
14表单中指定数据源的属性是recordsource15在报表中打印当前时间应插入域控件16可根据数据库表和自由表建立查询。
17sql中更新命令关键词是update18查询读者表所以记录并存储与临时表文件one中sql语句为;select*from读者intocursorone19.软件是程序数据文档的集合20.为表建立索引候选索引可保证数据实体完整性2010.91.线性表的链式存储结构所需的存储空间一般要多于顺序存储结构2.在栈中。
栈顶指针不变栈中元素随栈顶指针变动而动态变化3.软件测试目的是发现程序中的错误4.软件过程不规范不属于软件危机表现5.软件产品生命周期是指软件产品从提出发现使用到停止使用退出过程6.面向对象方法中继承是指类之间共享属性和操作机制7.层次网状关系型数据是数据间联系方式8数据库设计中反应用户对数据要求的设计是外模式9.vf中将日期型或日期时间型数据中年份用4位数字表示为setcenturyon10int取整round四舍五入floor小于括号值最大整数ceiling大于括号值最小整数11在表设计器中设置索引包含在结构复合索引文件中(扩展名cdx)12删除视图dropview13列表框可设置多重选择而组合框不能14vf中属于命令按钮属性的是parent.this-相对引用。
VF学习笔记章节.Ⅰ1.选择查询:“标记”select*from 个人账号记录 where 名称="工商银行"2.改变主窗口字体大小命令:_screen.fontsize=253.清除主荧幕内容命令:clear4.项目建立命令:create project <要建立的项目文件名>5.字符型数据1).字符型数据输出时都必须加定界符[]、""、''<任选其一>。
定界符都必须成对输出,否者无效,如遇定界符嵌套使用,以最外成的定界符为准,期间的定界符都是字符型数据。
(定界符定义了字符型数据从哪里开始到哪里结束,其间的数据都属于字符型数据)2).其次,VF中的汉字、数字、空格都属于字符型数据。
(字符型数据是原样输出,必须区分大小写)*一个?代表"输出"两个??代表"不换行输出" *章节Ⅱ1.表达式①由数据、变量、函数、运算符构成的式子。
②用来计算、判断和数据的转换。
1)数值型表达式:(其结果也是数值型的)———————————————————————优先级运算符说明1 ( ) 形成表达式内的子表达式2 * *或^ 乘方运算3 * / % 乘除运算、求余运算4 + - 加减运算----------------------------------------------1@求余运算%和取余函数MOD()的作用相同,结果的正负号与除数一致。
2@如果余数与被除数同号就是两数相除的余数,反之则把两数相除的余数加上除数的值。
2).字符表达式①它只有加和减两种运算。
②不管哪种运算,它的结果仍然是字符串。
③两个字符串相加,其结果就是两个字符串首尾相连。
④连接前后两个字符串,并将前字符串的尾部空格移到合并后的新字符串尾部。
示例:"ABC "+"123"="ABC123 "3)日期时间型表达式@计算格式没有日期+日期/日期+-日期时间/日期时间+日期时间。
vf程序设计基础教程知识点总结VF基础知识点总结第一章数据库基础知识1.基本概念:数据库、数据管理经历的五个阶段、数据库管理系统、数据库应用系统、数据库管理员。
2.数据库系统的组成:硬件系统、数据库集合、数据库管理系统及相关软件、数据库管理员和用户。
其中数据库管理系统是数据库系统的核心。
3.数据库系统的特点:(1)实现数据共享,减少数据冗余(2)采用特定的数据模型(3)具有较高的数据独立性(4)有统一的数据控制功能4.数据模型:实体间联系的种类:一对一、一对多、多对多。
5.数据模型的三种类型:层次模型、网状模型和关系模型。
6.关系数据库基本术语:关系、元组、属性、域、关键字、外部关键字。
关系的特点7.关系运算:传统的集合运算(并、差、交)另一类是专门的关系运算(选择、投影、连接、等值连接、自然连接)8.VF两种运行方式:菜单方式和交互式方式(命令方式和程序方式)9.所谓项目是指文件、数据、文档和对象的集合,其扩展名为 .pjx。
10.项目管理器包含的选项卡:全部、数据、文档、类、代码、其他11.项目管理器各选项卡所包含的文件有哪些?12.项目管理器可以完成对文件的新建、添加、移去、删除,但不包含重命名。
第二章常量、字符1.常量的种类:数值型、字符型、日期型、日期时间型和逻辑型在书写字符型、日期型、日期时间型和逻辑型需要加定界符2.变量是值能够随时改变的量。
变量名的命名规则:以字母、汉字和下划线开头,后接字母、数字、汉字和下划线构成,不包含有空格3.当内存变量与字段变量同名时,要访问内存变量需加前缀M.(或M-),例如M.姓名4.数组定义的格式 DIMENSION 数组名()、创建数组后,系统自动给每个数组元素赋以逻辑假.F.5.表达式的类型:数值表达式、字符表达式、日期时间表达式和逻辑表达式。
每个表达式的运算规则与结果。
6.运算符 $ 称为子串包含测试,格式字符表达式1 $ 字符表达式27.SET EXACT ON │OFF 的区别与含义。
VF基础知识第一节VF基础知识及表的基本操作一、认识VF1.软件名称Microsoft VisualFoxPro 6.0 数据库与程序设计2.如何启动VF开始→程序→Microsoft VisualFoxPro 6.0程序组→Microsoft VisualFoxPro 6.03.认识VF软件界面标题栏:实现软件的还原/最大化、最小化、关闭菜单栏:通过执行菜单栏中的菜单项可实现软件的所有功能常用工具栏:通过单击工具栏上的图标实现软件的部分功能工作区:软件的最大区域,用于显示执行的结果状态栏:显示当前操作的一些提示信息或状态信息命令窗口:输入系统提供的命令后按回车键执行可完成相应的功能※命令:也叫关键字或系统保留字,由VF系统提供,不能更改,特定的命令可以完成特定的功能※命令的特点①由A到Z的字母构成②不区分大小写③输入前四个字母即可实现命令的功能④输入正确后命令显示为蓝色⑤命令与命令之间必须用空格键分隔开4.配置默认路径(打开或保存文件的文件夹)工具→选项→文件位置→默认目录→单击右下角"修改"按钮→单击右侧按钮→选择保存位置→单击"选定"→单击确定→单击确定二、表的基本概念1.表(关系):用于存储需要分析处理的原始数据,相当于一个容器,是数据库中最基本的对象2.实体:自然界中的一切事物3.字段(属性):某一实体的性质,用来体现实体本身的一些参数同时也是区别不同实体的性质,表中的一列4.字段值:字段的取值5.域:字段值的取值范围6.记录(元组):同一实体的字段值的集合,表中的一行7.关键字:取值不允许重复的字段8.主关键字:一个表只能有一个关键字做为主关键字9.候选关键字:其他不能做为主关键字的关键字叫做候选关键字三、表的基本操作1.创建表(三种方式)①通过菜单:文件→新建→选择"表"→单击右侧的"新建文件"按钮→输入文件名→单击保存②通过工具栏:单击常用工具栏上的"新建"按钮→选择"表"→单击右侧的"新建文件"按钮→输入文件名→单击保存③通过命令实现:create 或create ? 或create 表名※表文件的扩展名VF中有多种不同类型的文件(项目、数据库、表、查询、表单、报表、程序、文本文件、菜单等)其中表文件的扩展名是: .dbf2.修改表结构(插入、删除、修改字段)modify structure※设计器:VF系统提供的一种工具,用来实现各种对象(各类型文件)的创建、修改等操作3.浏览表(以表格形式)browse4.追加记录(在最后一条记录后面加一条新记录)append5.在工作区显示全部记录list 或list all 或display all6.在工作区显示符合条件的记录list for 条件或display for 条件如: list for 性别="男" 其中性别="男" 是条件7.在工作区显示当前记录display8.记录的定位(使某条记录成为当前记录)①绝对定位go 记录号或goto 记录号其中记录号是一个正整数②相对定位(相对于当前记录向前或向后移动记录指针)skip n其中n是一个正整数或负整数③go top使第一条记录成为当前记录④go bottom使最后一条记录成为当前记录9.修改记录edit 或change10.替换所有记录的某字段值replace all 字段名with 值11.替换符合条件的记录的某字段值replace 字段名with 值for 条件12.替换当前记录的某字段值replace 字段名with 值13.逻辑删除所有记录(给记录加逻辑删除标记,并未将记录真正从表中删除,还可以将记录恢复到原来的状态)delete all14.逻辑删除符合条件的记录delete for 条件15.逻辑删除当前记录delete16.恢复带有逻辑删除标记的所有记录recall all17.恢复带有逻辑删除标记的符合条件记录recall for 条件18.恢复带有逻辑删除标记的当前记录recall19.将所有带有逻辑删除标记的记录彻底从表中删除并且不可恢复pack20.物理删除(直接删除表中所有记录,此命令只需要一步即可实现)zap21.打开表use 表名22.关闭当前表use23.如何关闭所有打开的表close tables24.如何关闭所有打开的文件(VF中可以创建的各种类型文件)close all25.如何退出VF系统quit26.清除工作区内容clear习题(用命令实现)创建学生表→浏览表中记录→追加四条记录→修改第三条记录的某字段值→删除第二条记录→关闭学生表→打开上一步闭的学生表→退出VF注意学生表中的字段及追回的记录分别是:学号姓名年龄电话001 张三25 87645589002 李四22 87535584003 王五23 88505457004 赵二20 82683854第二节表的相关操作及基本命令一、表的相关操作及基本命令1.概念:①二维关系表:一张表格(现实生活中的学生表、工资表)②字段(属性):表格的标题③字段值(属性值):字段的取值④域:字段的取值范围⑤元组(记录):属性值的集合⑥关键字:字段的取值是唯一(不可能重复)的字段⑦外部关键字:不是本表的关键字,而是另外一个表的关键字,这个字段是两个表的公共字段, 两个表通过这个字段建立关系2.表的基本操作①创建表:create 表名②类型(字段的类型):不同的字段类型,其字段值是不同的a.字符型(C):字母汉字字母与数字的组合,字符型常量有三种定界符"abc" 'a12b' [你好]b.数值型(N):整数或小数85 85.5c.浮点型(F):整数或小数数值范围比数值型大85.5d.双精度型:与浮点型相比数值范围更大,小数数位有效位更多e.整型(I):整数而且数据宽度已经固定,不能更改f.日期型(D):{^1983-05-14} 而且宽度固定为8g.日期时间型(T):{^1983-05-14 14:25:40}h.逻辑型(L):只有两种取值即真(.y.或.t.)或假(.n.或.f.)i.备注型(M):用于存放大量文字(个人简介,年终报告)j.通用型(G):用于存放OLE对象的数据(word文档,图片等)k.货币型(Y):在数值型数据前加一个$符号即可l.二进制型(B):用于保存不希望更改的字符型数据m.备注二进制型:用于保存不希望更改的备注型数据③宽度:数据的位数,一个字母或一个数字占一个宽度,一个汉字占两个宽度3.操作表的基本命令①追加记录:append②以表格的形式浏览记录:browse③在工作区浏览记录a.浏览全部记录:listb.浏览符合条件的记录:list for 逻辑表达式如:list for 性别="男"c.浏览全部记录:display alld.浏览符合条件的记录:display for 逻辑表达式e.浏览当前记录:display.定位到指定记录(使某条记录成为当前记录)a.绝对定位:go n或goto n 其中n是记录号go top定位到首条记录go bottom定位到最后一条记录b.相对定位:skip n 其中n为正数时表示向下定位,其中n为负数时表示向上定位,skip 与skip 1等价c.用locate for命令定位(定位到符合条件的记录,并可能移动到下一条记录)语法格式: locate for 逻辑表达式continue④插入记录:inserta.insert beforeb.insert blank⑤交互式修改记录:a. editb. change⑥用replace命令修改记录a.修改当前记录的某个字段的值replace 年龄with 50replace 年龄with 20,性别with "男"b.修改当前表所有记录的某个字段的值replace all 年龄with 50⑦删除记录步骤:a.逻辑删除b.物理删除带有逻辑删除标记的记录.逻辑删除a.逻辑删除当前记录:deleteb.逻辑删除符合条件的记录:delete for 逻辑表达式c.逻辑删除所有记录:delete all⑧物理删除带有逻辑删除标记的记录执行pack命令即可⑨去掉逻辑删除标记a. recall allb. redall for 逻辑表达式⑩物理删除所有记录,一次性彻底删除zap命令删除只是将记录删掉,表结构依然存在第三节数据库及其操作一、数据库及其基本操作1.概念:相当于一个仓库,里面存放有关系的二维关系表2.数据库的基本操作①创建数据库:a. create databaseb. create database ?c. create database 数据库名②打开数据库设计器modify database③将已经存在的表添加到数据库a. 右击数据库→添加表b. add table 表名④浏览表双击二维关系表即可⑤打开表设计器a. 右击表→修改b. modify structure※状态栏上显示的表是当前表,当前的一些操作都是针对当前表⑥移去表:将表从数据库中移去,但表还在硬盘上,此时的表叫做自由表(不属于任何一个数据库的表叫自由表,此表可添加到任何一个数据库,但当前只能属于一个数据库)a.右击表→删除→单击"移去"按钮b.remove table 表名⑦删除表:从硬盘上将表彻底删除a.右击表→删除→单击"删除"按钮b.drop table 表名⑧新建表a. 右击数据库设计器→新建表b. create 表名⑨关闭数据库close database⑩打开数据库open database⑾删除数据库delete database 数据库名称注意一定要加名称二、索引1.概念:可以为根据某个字段设置索引,从索引的功能角度理解索引,索引有两个主要功能即一是建立索引用于提高查询速度,二是建立索引是建立表与表之间的前题条件2.索引的类型:①主索引:只有关键字可以设置为主索引,一个表只能设置一个主索引②候选索引:只有关键字可以设置为候选索引,一个表可以设置多个候选索引③普通索引:任何一个字段均可设置为普通索引3.如何建立索引:①打开表设计器②选择欲设置索引的字段,单击字段名右侧索引下拉列表,选择升序或降序③切换到索引选项卡,修改索引名,索引类型,索引表达式三、关系1.建立关系的前题条件①有两张(含)以上表②两表之间有相同字段③将其中一张的相同字段设为主索引或侯选索引,将另外一张表的相同字段设的普通索引2.如何创建关系将其中一张表的主索引拖放到另一张表的普通索引上即可四、完整性规则(通过多种手段在多个层次上确保字段值或记录的正确,有效)㈠域完整性(字段有效性):确保字段的取值正在有效范围内,即保证字段值正确无误1.创建字段有效性的步骤①打开表设计器②选择需要设置"字段有效性"的字段③在右下角的字段有效性区域设置规则、信息、默认值※规则表示字段的取值范围,信息表示违返规则时的出错提示信息,默认值就是字段的默认值㈡实体完整性:确保表中记录唯一(不重复)通过创建主索引或候选索引实现实体完整性㈢参照完整性:确保表与表之间记录的有效1.如何设置参照完整性约束规则①数据库→清理数据库②数据库→编辑参照完整性③设置相应的规则(更新、删除、插入规则)※问:清理失败时怎么办?答:执行close tables命令后再次清理数据库※子表:普通索引所在表主表(父表):主索引所在表第四节SQL(结构化查询语言)一、单表查询(从一张表中查询我们需要(感兴趣)数据)SQL(structure query language)结构化查询语言从已经存在数据的表中检索符合条件的数据,我们现在学习的是SQL语句的查询功能1、查询某张表中的某些列select 字段1,字段2,...字段n from 表名2、查询customer表中全部记录,查询结果包含客户号,客户名,电话select 客户号,客户名,电话from customer※select 关键字后面的字段限制了查询结果的列3、查询customer表中全部记录,查询结果包含所有字段select * from customer注意:*号代表表中全部字段4、查询order_list表中总金额在10000元以上(含)的记录,查询结果包含客户号,订单号,总金额select 客户号,订单号,总金额from order_list where 总金额>=10000※where 关键字影响了查询结果的行,即将不符合条件的记录筛选掉,where 后面是查询条件5、从order_list表中查询C10001客户签订的订单,并且订单总金额在5000元(含)以上的记录,查询结果包含客户号,订单号,订购日期,总金额select 客户号,订单号,订购日期,总金额from order_list where 客户号="C10001" and 总金额>=5000※当查询结果需要同时满足多个条件时,条件之间用and连接续行符:语句末尾加分号,表示分号前的语句与分号后的语句是同一条语句6、从order_detail表中查询订单号是OR-01C或OR-04C的全部记录方法一:select * from order_detail where 订单号="OR-01C" or 订单号="OR-04C"※当查询结果满足条件1或条件2中的一个即可时,条件之间用or 连接方法二:select * from order_detail where 订单号="OR-01C" union select * from order_detail where 订单号="OR-04C"※union关键字要求前后两个select语句查询结果字段类型,数量(列数)一致7、从order_detail表中查询单价大于500元并且订单号是OR-01C或OR-04C的全部记录select * from order_detail where 单价>500 and (订单号="OR-01C" or 订单号="OR-04C")8、从order_detail表中查询单价在500(含)到1200元(含)之间的记录a. select * from order_detail where 单价>=500 and 单价<=1200b. select * from order_detail where 单价between 500 and 1200※between...and 语句包含500与12009、从order_detail表中查询单价不在500到1200元之间的记录select * from order_detail where 单价not between 500 and 1200※not表示否定10、使用通配符进行查询a.从customer表中查询客户名以公司结尾的记录,查询结果包含客户号,客户名,地址select 客户号,客户名,地址from customer where 客户名like "%公司"※%是通配符,可以代表一个或多个任意字符_是通配符,可以代表任意一个字符b.从customer表中查询客户号第二个字符是1的记录select * from customer where 客户号like "_1%"11、按总金额从低到高的顺序查询order_list表中的全部记录select * from order_list order by 总金额asc12、从order_detail表中查询订单号,器件号,单价,数量,查询结果先按单价降序排序,再按数量升序排序select 订单号,器件号,单价,数量from order_detail order by 单价desc,数量asc※order by 关键字在不加desc(降序)或asc(升序)时,默认为升序(asc)13、聚合函数:在查询过程中对查询结果进行计算(求和,求平均值,求最大值,求最小值,统计个数)a. 求和函数SUM()从order_detail表中查询所有数量的总和(新字段名为总数量)select sum(数量) as 总数量from order_detail※as 后面是新字段名,as 可以省略b.求平均值函数AVG()从order_detail表中查询所有单价的均价(新字段名为平均单价) select AVG(单价) as 平均单价from order_detailc.最大值函数MAX()从order_detail表中查询最高单价(新字段名为最高单价)select max(单价) as 最高单价from order_detaild.最小值函数MIN()select min(单价) from order_detaile.计数函数COUNT()计算order_detail表共有多少条记录select count(*) as 记录个数from order_detail14、分组与计算(使用聚合函数)查询a.从order_detail表中查询每种订单的数量总和查询结果包含订单号,数量总和(来自数量字段)字段select 订单号,sum(数量)as 数量总和from order_detail group by 订单号※group by 订单号表示按订单号分组,有几种订单号则分成几组,聚合函数是针对每组中的记录进行统计※请注意当在select短语后面使用某聚合函数,但整个语句中没有group by 短语时,则查询结果只有一条记录,此聚合函数针对所有记录进行统计b、从order_list 表中查询订购总金额在50000元以上(含)的每个客户的客户号,订购总金额(新字段)select 客户号,sum(总金额) as 总订购金额from order_list group by 客户号having 总订购金额>=50000※having 总订购金额>=50000是分组条件,通过聚合函数构造的新字段如果符合having关键字限定的分组条件则显示在查询结果中,否则反之c、从order_list 表中统计每个客户签订的订单数量,查询结果包含客户号,订单个数select 客户号,count(*) as 订单个数from order_list group by 客户号15、查询去向a、将查询结果保存到永久表中(就是已经存放在计算机中的表,关机后此表也不会消失)select.. from.. where.. group by.. having.. order by.. into table 表名※也可将table替换成dbf,二者完全一样b、将查询结果保存到临时表中(在内存中存放,当关闭VF后临时表自动消失,临时表也像永久表一样有名字)select...from...where...group by...having...order by...into cursor 表名c、将查询结果保存到文本文件中(相当于记事本文件)select...from...where...group by...having...order by...to file 文件名※如何将命令保存到文本文件中:1.文件→新建→文本文件2.将命令粘贴到文本文件中3.文件→保存4.在弹出的"另存为"对话框中的"保存文档为"文本框中输入文件名,注意一定要在文件名后加文本文件的扩展名.txt式为:文件名.txt★综合举例:例:从order_list表中查询在2002年订购商品的每个客户所订购的订单总数(新字段为订单数量),订购总金额(每个客户所有订单的总金额之和)但总金额之和应在5000元以上,查询结果按总金额降序排序,总金额相同时按客户号降序排序,并保存到永久表temp中select 客户号,count(*) as 订单数量, sum(总金额) as 订单总金额from order_list ;where year(订购日期)=2002 group by 客户号having 订单总金额>=5000 ;order by 订单总金额desc,客户号desc into table temp二、多表查询(查询结果来自多张表即select后面的字段来自两张以上的表)1、用where实现从多张表中查询数据例:查询总金额在5000元以上的每个客户的客户号,客户名,订单号,器件号,订单数量(订单数量必须在2个以上),订购日期,查询结果按订单数量升序排序,客户号降序排序,最后将查询结果保存到永久表table1表中select customer.客户号,客户名,order_list.订单号,器件号,count(*) as 订单数量,订购日期; from order_detail,order_list,customer where order_detail.订单号=order_list.订单号;and order_list.客户号=customer.客户号and 总金额>=5000 group by customer.客户号; having 订单数量>2 order by 订单数量,customer.客户号desc into table table1※当查询结果来自两张表时须在where关键字后面体现联系条件, 当既有查询条件又有联接条件时,可以使用如下格式:select...from...where 性别='女' and 学生表.学号=课程表.学号※当select语句中的某字段在from后面的多张表中都存在时,必须在此字段前面写上其中一张表的名字格式: 学生表.学号2、用inner join(内连接)实现从多张表中查询数据select customer.客户号,客户名,order_list.订单号,count(*) as 订单数量,订购日期;from order_detail inner join order_list inner join customer ;on customer.客户号=order_list.客户号;为什么没有and?on order_list.订单号=order_detail.订单号where 总金额>=5000 ;group by customer.客户号having 订单数量>=2 ;order by 订单数量,customer.客户号desc into table table1※应用内连接时用on关键字体现联接条件,用where关键字体现查询条件顺序为表1 inner join 表2 on 表2.字段名=表1.字段名where 查询条件※体现联接条件时,一定要和from 后面的表的顺序相反语法:select...from 表1 inner join 表2 inner join 表3 on 表2.字段名=表3.字段名on 表1.字段名=表2.字段名三、SQL语句的操作功能1、插入记录:a.给表中全部字段赋值语法:insert into 表名values(字段值列表)例:给customer表中所有字段插入一条记录insert into customer values("S00000","张三","大开辽宁街","0411********")b.给表中部分字段赋值语法:insert into 表名(字段名列表) values(字段值列表)例:给customer表中客户号,客户名字段赋值insert into customer(客户号,客户名) values("H1000000","李四")※注意:字段值一定要与字段类型一致2、删除记录:a.逻辑删除表中全部记录,语法如下:语法::delete from 表名例:delete from order_listb.逻辑删除表中符合条件的记录语法:delete from 表名where 逻辑表达式例:delete from order_list where 总金额>50003、更新表中记录:a.更新表中全部记录的指定字段值语法:update 表名set 字段=值示例:update order_list set 总金额=总金额-6000b.更新表中符合条件记录的指定字段值语法:update 表名set 字段=值where 逻辑表达式示例:update order_list set 总金额=总金额-6000 where 客户号="14775"四、SQL语句的定义功能1:选项的含义primary key:说明主索引check:说明有效性规则error:说明出错提示信息default:说明默认值foreign key:说明普通索引foreign key ... tag ... references ... :说明表之间的联系ALTER TABLE 课程表ADD UNIQUE 课程号TAG temp例1:建立订货管理数据库CREATE DATABASE 订货管理例2:建立仓库wang表CREATE table 仓库表(仓库号c(5) PRIMARY KEY,城市c(10),面积i CHECK(面积>0) ERROR"面积应该大于0!")例3:建立职工wang表CREATE TABLE 职工(仓库号c(5),职工号c(5) PRIMARY ;KEY,工资i CHECK(工资>=1000 AND 工资<5000) ;ERROR "工资值的范围在1000-5000!" DEFAULT 1200, ;FOREIGN KEY 仓库号TAG 仓库号REFERENCES 仓库)例4:建立供应商表CREATE DBF 供应商(供应商号c(5) PRIMARY KEY, ;供应商名c(20),地址c(20))例5:建立订购单表CREATE TABLE 订购单wang(职工号c(5),供应商号c(5), ;订购单号c(5) PRIMARY KEY,订购日期d, ;FOREIGN KEY 职工号TAG 职工号REFERENCES 职工, ;FOREIGN KEY 供应商号TAG 供应商号REFERENCES 供应商)3、表结构的修改①命令功能1:修改字段的类型、宽度,定义主关键字和联系等;但是不能修改字段名,不能删除字段,也不能删除已经定义的规则等。
第一章数据结构与算法 1.1 算法算法:是指解题方案的准确而完整的描述。
算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数终止。
特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报。
算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
指令系统:一个计算机系统能执行的所有指令的集合。
基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输。
算法的控制结构:顺序结构、选择结构、循环结构。
算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。
算法复杂度:算法时间复杂度和算法空间复杂度。
算法时间复杂度是指执行算法所需要的计算工作量。
算法空间复杂度是指执行这个算法所需要的内存空间。
1.2 数据结构的基本基本概念数据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。
数据结构是指相互有关联的数据元素的集合。
数据的逻辑结构包含:1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。
数据的存储结构有顺序、链接、索引等。
线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。
非线性结构:不满足线性结构条件的数据结构。
1.3 线性表及其顺序存储结构线性表由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。
在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。