VF程序设计复习资料_(1) 2
VF总复习[1]
![VF总复习[1]](https://img.taocdn.com/s3/m/0eae662658fb770bf78a55e6.png)
1、DB、DBMS、DBS、DBAS的关系?2、数据模型的种类?3、三种基本关系运算?第一章数据库系统概述数据和信息数据管理技术的发展数据库系统基本知识数据模型关系数据库人工管理阶段文件管理阶段数据库系统阶段数据库(DB):结构化、独立性、共享性、冗余量小等特点。
数据库管理系统(DBMS):数据库系统(DBS):数据库应用系统(DBAS):层次模型网状模型关系模型VFP是一个关系数据库管理系统关系术语:关系、元组、属性、域等关系模式格式:关系名(属性1,属性2….属性N)三种基本的关系运算:选择、投影、连接1、VFP 常用文件的类型与扩展名?2、VFP 中表的类型?3、VFP 中表的组成?4、VFP 中表文件的头尾位置?5、范围包括哪些内容?具体运用怎样?6、VFP 命令的格式规则?表文件中共有40条记录,当前记录号是35,要显示最后6个记录的命令怎样?1、LIST NEXT 62、LIST REST3、DISPLAY NEXT 6第二章VFP 初步知识VFP 的特点及性能指标P14表中字段最大数255个,自由表的字段名最大长度10个字符,数据库表的字段名最大长度128个字符,字符字段最大宽度254个字符VFP 的安装、启动与退出VFP 的系统窗口VFP 菜单的操作:鼠标操作、键盘操作热键:ALT +字母用于菜单栏内菜单打开。
快捷键:CTRL +字母用于执行菜单命令。
VFP 的文件类型项目文件(.PJX)表文件(.DBF)数据库文件(.DBC)程序文件(.PRG)索引文件(.IDX 和.CDX)内存文件(.MEM )屏幕格式文件(.FMT )备注文件(.FPT )VFP 表的类型:VFP 的工作方式:自由表和数据库表交互方式程序方式菜单方式工具操作方式VFP 的命令格式:命令动词[范围][表达式][Fields<字段名表>][For/While<条件>]ALL 所有Next<n>从当前记录开始的n 条记录Record<n>第n 条记录Rest 从当前记录开始到最后的所有记录VFP 的辅助设计工具:1、VFP的数据类型有哪些?2、字段变量与内存变量有什么区别?3、VFP的常量有哪些?4、VFP系统固定的字段变量有哪些?5、几种表达式运算结果怎样?6、数组的定义中初始值怎样?二维数组的元素如何确定?7、常用的函数有哪些?第三章VFP 的数据基础数据类型:字符C 、数值N 、浮点F 、整型I 、双精度B 、逻辑L 、日期D 、时间T 、货币Y 、备注M 、通用G常量:C 、N 、D 、T 、L 、F 变量:字段变量内存变量数组变量C 、N 、F 、B 、I 、L 、D 、T 、M 、G C 、N 、D 、T 、L 、Y 、屏幕型赋值:Store <表达式>to 变量名显示:disp/list memory [like<通配符>][to printer/to file<文件名>] 保存:save to <文件名>[all like<通配符>/all except<通配符>]恢复:restore from <内存变量文件名>[additive]删除:clear memory 或release <内存变量名表>或release all [ like/ except <通配符>]Dimension/Declare 数组变量名(N 表达式1,N 表达式2)运算符与表达式五种运算符:算术、字符串、关系、日期、逻辑运算顺序:括号,算术、字符串、日期、关系、最后逻辑运算常用函数数值运算函数:INT ,ABS ,SQRT ,Round ,MOD字符处理函数:&,长度LEN,查找AT,space,取子串substr,left,right ,转换函数:Lower 和Upper,CtoD 和DtoC,Str 和Val,ASC 和CHR日期时间函数:DATE ,TIME ,YEAR ,MONTH ,DAY ,DOW 测试函数:Recno,Bof,Eof,Found,File,Select,Type,IIf1、表结构的建立、修改、删除?2、表的备注字段的内容存储的地方?3、表文件结构中有备注字段,系统将怎样?4、记录的显示、追加、插入、修改和删除?5、表文件的复制?(结构、指定内容、文件)如何显示数据库中30岁以下,职称为讲师的姓名,性别和工资第四章表的创建和基本操作表的创建表的打开和关闭表的结构基本操作表的记录的基本操作表文件的基本操作命令方式:Create 或Create Table 菜单方式:表向导或表设计器USE <表文件名>USE ,Close All ,Close <文件类型>,Clear All ,菜单方式显示:Disp/List structure 修改:Modify structure定位:Go Top/Bottom/<N 表达式>,Skip <N 表达式>显示:Disp/List [范围][Fields<字段名表>][For/While<表达式>]浏览显示browse 追加:Append 和Append from <文件名>插入:Insert 和Insert into 表名[字段名表]Values [表达式表]修改:编辑Edit,Change,全屏browse,成批Replace,删除:分步Delete,pack,Recall,快速Zap 表的过滤记录过滤:set filter to <条件>set filter to 字段过滤:set fields to [字段名表] [All]set fields on/off 数组与表中记录的转换单记录与数组之间交换:Scatter [Fields<字段名表>] to <数组名>Gather From <数组名> [Fields<字段名表>] 多记录与数组之间交换:Copy to Array <数组名> [Fields<字段名表>] [范围][For/While<表达式>]Append From Array <数组名> [Fields<字段名表>] [For/While<表达式>]复制表的结构Copy Stru to <文件名>[Fields<字段名表>]复制表文件:Copy to <文件名>[Fields<字段名表>] [范围][For/While<表达式>]复制任何文件:Copy File <文件名1> to <文件名2>1、排序和索引的区别?2、索引文件的使用?主控索引的设置?3、查询命令使用后,指针的位置?4、统计命令情况?1、当前记录序号为3,将第6记录设置为当前记录的命令是( )A.SKIP -6 B.SKIP 6C.SKIP 3 D.SKIP-32、若当前数据库中有200个记录,当前记录号是8,执行命令LIST NEXT 5的结果是。
VF复习课

第一章:VF基础(本章在笔试考试中分值约为 <=6 分)一、数据库基础知识(一)计算机数据管理的发展人工管理、文件系统、数据库系统、分布式数据库系统和面向对象数据库系统(二)数据库系统(层次示意图)数据库系统由五部分组成:硬件系统、数据库集合、数据库管理系统及相关软件、数据库管理员和用户数据库系统的特点①实现数据共享,减少数据冗余②采用特定的数据模型③具有较高的数据独立性④有统一的数据控制功能(三)数据模型实体的描述实体间联系及联系的种类: ①一对一联系②一对多联系③多对多联系数据模型简介: 层次模型、网状模型、关系模型二、关系数据库(一)关系模型关系术语关系-----二维表元组-----行------记录属性-----列------字段域 ------ 有效性规则(逻辑表达式)关键字:主关键字、候选关键字、普通关键字(外部关键字)关系的特点①关系必须规范化②在同一个关系中不能出现相同的属性名,VF不允许同一个表中有相同的字段名③关系中不允许有完全相同的元组,即冗余④在一个关系中元组的次序无关紧要。
也就是说,任意交换两行的位置并不影响数据的实际含义。
日常生活中经常见到的“排名不分先后”正反映这种含义⑤在一个关系中列的次序无关紧要。
任意交换两列的位置也不影响数据的实际含义(二)关系运算传统的集合运算进行并、差、交集合运算的两个关系必须具有相同的关系模式,也就是相同结构专门的关系运算选择(部分记录操作)投影(部分字段操作)连接(表之间横向结合)自然连接(去掉相同字段,关键字段值相同)三、数据库设计基础(一)数据库设计步骤①关系数据库的设计应遵从概念单一化“一事一地”的原则②避免在表之间出现重复字段③表中的字段必须是原始数据和基本数据元素④用外部关键字保证有关联的表之间的联系(二)数据库设计过程1.需求分析2.确定需要的表3.确定所需字段4.确定联系如何建立联系?什么是纽带表?5.设计求精课后习题:历年考题:(1)在写列四个选项中,不属于基本关系运算的是A)连接 B)投影 C)选择 D)排序(2)如果一个班只能有一个班长,而且一个班长不能同时担任其他班的班长,班级和班长两个实体之间的关系属于A)一对一联系 B)一对二联系 C)多对多联系 D)一对多联系(3)VF支持的数据模型是A)层次数据模型 B)关系数据模型 C)网状数据模型 D)树状数据模型(4) Visual FoxPro DBMS 是A)操作系统的一部分 B)操作系统支持下的系统软件C)一种编译程序 D)一种操作系统(5) Visual FoxPro DBMS 基于的数据模型是A)层次型 B)关系型 C)网状型 D)混合型(6)设有部门和职员两个实体,每个职员只能属于一个部门,一个部门可以有多名职员,则部门与职员实体之间的联系类型是A)m:n B)1:m C)m:k D)1:1(7)没有关系R1和R2,经过关系运算得到结果是S,则S 是A)一个关系 B)一个表单 C)一个数据库 D)一个数组(8)关系数据库管理系统所管理的关系是。
重商 《程序设计VF》 期末复习资料

程序设计VF复习资料选择题1. 负责数据库中查询操作的数据库语言是( C )A. 数据定义语言B. 数据管理语言C. 数据操纵语言D. 数据控制语言2. 一个教师可讲授多门课程,一门课程可由多个教师讲授。
则实体教师和课程间的联系是( D )A. 1∶1联系B. 1∶m联系C. m∶1联系D. m∶n联系3. 在建立数据库表时给该表指定了主索引,该索引实现了数据完整性中的( B )A. 参照完整性B. 实体完整性C. 域完整性D. 用户定义完整性4. 在数据库表中,要求指定字段或表达式不出现重复值,应该建立的索引是( D )A. 惟一索引B. 惟一索引和候选索引C. 惟一索引和主索引D. 主索引和候选索引5. 在建立数据库表时给该表指定了主索引,该索引实现了数据完整性中的( B )A. 参照完整性B. 实体完整性C. 域完整性D. 用户定义完整性6. 在Visual FoxPro中,执行SQL的DELETE命令和传统的FoxPro DELETE命令都可以删除数据库表中的记录,下面正确的描述是( A )A. SQL的DELETE命令删除数据库表中的记录之前,不需要先用USE命令打开表B. SQL的DELETE命令和传统的FoxPro DELETE命令删除数据库表中的记录之前,都需要先用命令USE打开表C. SQL的DELETE命令可以物理地删除数据库表中的记录,而传统的FoxPro DELETE命令只能逻辑删除数据库表中的记录D. 传统的FoxPro DELETE命令还可以删除其他工作区中打开的数据库表中的记录7. 在Visual FoxPro中,如果希望跳出SCAN…ENDSCAN循环语句、执行ENDSCAN后面的语句,应使用( B )A. LOOP语句B. EXIT语句C. BREAK语句D. RETURN语句8. 为了在报表中打印当前时间,应该插入的控件是( D )A. 文本框控件B. 表达式C. 标签控件D. 域控件9. 在一个空的表单中添加一个选项按钮组控件,该控件可能的默认名称是( A )A. OptionGroup1B. Check1C. Spinner1D. List110. 恢复系统默认菜单的命令是( B )A. SET MENU TO DEFAULTB. SET SYSMENU TO DEFAULTC. SET SYSTEM MENU TO DEFAULTD. SET SYSTEM TO DEFAULT11. 一个教师可讲授多门课程,一门课程可由多个教师讲授。
VF复习资料课本复习知识汇总

2011年9月份全国计算机等级考试二级VF考试复习纲要目录第一章数据库基础知识 (2)第二章VF程序设计基础 (3)第一部分 (3)第二部分程序设计基础 (3)第三部分函数部分 (5)第三章数据库及其操作 (26)第四章关系数据库标准语言SQL (32)4.1概述 (32)4.2 查询功能 (33)4.3操作功能 (34)4.4 定义功能 (35)第五章查询与视图 (37)第六章表单设计与运用 (40)第七章菜单设计与应用 (46)第八章报表设计 (48)第一章数据库基础知识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、各类文件选项卡:①数据选项卡(数据库,自由表,查询,视图)②文档选项卡(表单,报表,标签)③类④代码⑤其他第二部分程序设计基础1、概念:是命令的集合,分行存储在磁盘上,按照人为的顺序依次输出的过程。
2、建立、修改:modify command 程序名3、运行:do 程序名4、基本输入语句:(以求圆的面积为例)①.input”请输入圆的半径”to r②.accept ”请输入圆的半径”to r③.@10.10 say “请输入圆的半径” get rread④.wait ”请等候……”window⑤. messagebox (“欢迎光临!”,48,“欢迎信息”)5、程序的结构:顺序结构选择结构(分支、判断)循环结构(条件循环、步长循环、扫描循环)6、程序的控制语、注释语①.exit 退出、终止②.loap 中止③.quit 关闭系统④.&& 同行注释⑤. * 换行注释⑥.error 不参与程序的执行6、程序模块7、变量的作用域①.公共变量(public):作用于程序运行的始终②.局部变量(local):只在本过程中使用,即不上传,也不接收③.私有变量(private):在程序运行过程中自动隐藏,成程序结束时显示本身第三部分函数部分1、字段数据类型(11种)* N包括Y,F,B,I2、变量:在程序运行过程中,其值可能发生变化的量。
VF复习全集

Visual FoxPro数据库程序设计教案第一章. Visual FoxPro 数据库基础一. 数据库基础知识•数据与数据处理数据:存储在某一种媒体上能够识别的物理符号。
数据处理:将数据转换成信息的过程•计算机数据管理:指对数据的组织、分类、编码、存储、检索和维护提供操作手段分为:人工管理文件系统数据库系统分布式数据库系统面向对象数据库系统•数据库系统及其特点特点:1.实现数据共享,减少数据冗余2.采用特定的数据模型]3.具有较高的数据独立性4.有统一的数据控制功能•数据模型及相关概念数据模型:层次型,网状型,关系型实体,实体属性,实体集和实体型实体间联系及种类:One to one relationshipOne to many relationshipMany to many relationship二. 关系数据库•关系数据库相关概念关系模型:用二维表结构来表示实体以及实体之间联系的模型称为关系模型关系,元组,属性,关键字,处部关键字•关系的特点:必须规范化,即每个属性必须不可分割的数据单元,不能表中含表同一关系中不能出现相同的属性关系中不允许有完全相同的元组在一个关系中元组的次序无关紧要在一个关系中列的次序无关紧要•关系运算:选择,投影,联接(自然联接)三. Visual FoxPro 系统概述•安装:资源管理器——>open CD-ROM——>setup.exeVisual FoxPro 的界面•菜单操作:鼠标操作,键盘操作,光标操作•命令窗口:是vf桌面上一个重要部件,自动保留已输入的命令,如再次执行此命令时只需把光标移至,然后按Enter即可,同时支持对命令的修改、删除、剪切等操作•命令窗口的显示和隐藏:四. 项目管理•项目管理器窗口:用图形化分类的方法来管理属于同一个项目的文件,是文件、数据、文档和对象的集合(*.pjx)•各类文件选项卡:•使用项目管理器:添加文件,修改文件,移去文件•定制项目管理器:--移动、缩放、折叠、拆分、停放•设计器:是一个操作平台,是创建和和修改应用系统各种组件的可视化工具。
VF复习资料

循环结构
Clear Use 学生 Do while .t. Clear Accept “输入查询学生姓名:” to xm _________ 姓名= xm ________ ?“查无此人!” —————— Display Endif Wait “是否继续查询(Y/N)?” TO P If upper(p)=“y” _______ Endif ____ Enddo
SQL的查询功能
SELECT语句的一般格式 Select[all\distinct] From[数据库名,表名] Where(联接条件1)and (联接条件 2)….. Group by (组表达式)…having(筛选条 件) Order by (关键字表达式)(asc\desc)
实战演练
利用结构花查询语言SQL (1)在给定的数据库表RS中有数值字段“工资”, 将工资在原来基础上增加20%. _____________RS_______________工资=工资 *1.2 (2)在教工数据表JG中,查询职称为“助教”或 “讲师”人员的姓名,工资和部门,并按工资降序排 序。 SELECT 姓名,工资,部门, FORM JG WHERE职称_______________________; ________________BY 工资________________
数据控制结构 顺序结构 分支结构 循环结构 顺序结构例题 Clear Use 学生 ———— Wait“按任意键,显示下一个学生的信息” ———— ———— Wait“按任意键,显示下一个学生的信息” Skip Display ?“现在显示的是第”+str(recno())+“条记录” Use return
8删除(逻辑删除,物理删除(pack)),一次性删除 (zap)
VF程序设计教程(复习)

5、数据库系统的核心是 ( C ) A)数据库系统 B)数据库 C)数据库管理系统 D)数据库应用系统 6、在关系数据模型中,二维表的列称为 字段 ,二维表的行称为 ,能唯一标识元组的属性或属性的集合称为 。 记录 关键字 7、安装在VF6.0之后,要添加或删除VF的某些组件时,应当启动 windows的(控制面板中的添加/删除 )程序。 8、安装完VF之后,系统自动用一些默认值来设置环境,要定制自己的 系统环境,应单击( 工具 )菜单下的( 选项 )菜单项。 9.Visual FoxPro关系数据库管理系统能够实现的三种基本关系运算 是 。 A) 索引、排序、查找 B) 建库、录入、排序 C) 选择、投影、联接 D) 显示、统计、复制 10.Visual Foxpro的工作方式包括( abcd)。 A.命令方式 B.菜单方式 C.程序文件方式 D.交互执行方式 11)数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间 的关系是(a) A)DBS包括DB和DBMS B)DBMS包括DB和DBS C)DB包括DBS和DBMS D)DBS就是DB,也就是DBMS
A) 单一索引文件 单一索引文件(IDX) C) 结构化复合索引文件 B) 复合索引文件 复合索引文件(CDX) D) 非结构化复合索引文件
13、 FoxPro有两种变量 即内存变量和_(字段变量_)变量。 有两种变量, _(字段变量_)变量 13、Visual FoxPro有两种变量,即内存变量和_(字段变量_)变量。 14、 FoxPro支持两类索引文件 即单一索引文件和(复合索引文件)。 支持两类索引文件, 14、Visual FoxPro支持两类索引文件,即单一索引文件和(复合索引文件)。 15、要为当前表所有职工增加100元工资,应该使用: 100元工资 15、要为当前表所有职工增加100元工资,应该使用: 工资+100 REPLACE工资 工资+100 A) CHANGE 工资 WITH 工资+100 B )REPLACE工资 WITH 工资+100 ALL工资 工资+100 ALL工资 工资+100 C) CHANGE ALL工资 WITH 工资+100 D)REPLACE ALL工资 WITH 工资+100 16、数据库表之间的一对多联系通过主表的( 索引和子表的( 16、数据库表之间的一对多联系通过主表的(主)索引和子表的(普通索引 实现。 实现。 17、实现表之间的临时联系的命令是( 17、实现表之间的临时联系的命令是(set relatlon to 18、 FoxPro中数据库文件的扩展名是 18、在Visual FoxPro中数据库文件的扩展名是 __dbc_____ ,数据库表文 __dbf______。 件的扩展名是 __dbf______。 19、 19、数据库表的索引有 , , , 。 20、 20、逻辑删除用 delete ,物理删除用 pack 21、 21、清除主窗口屏幕的命令是 。 A) CLEAR B) CLEAR ALL C) CLEAR SCREEN D) CLEAR WINDOWS 22、 FoxPro中 通用型字段G和备注型字段M 22、在Visual FoxPro中,通用型字段G和备注型字段M在表中的宽度 。 2, 4, 8, 4,10个 A) 2,4个字节 b) 4,4个字节 C) 8,4个字节 D) 4,10个 字节 23、不论索引是否生效, 23、不论索引是否生效,定位到相同记录上的命令是 。 A) GO TOP B) GO BOTTOM C) GO TO D) SKIP
VF知识点复习总结(二)

VF知识点复习总结(二)Visual Foxpro 程序设计基础一、重要知识点1.常量:○a.数值型:占8个字节○b.货币型:占8个字节,采用4位小数,(四舍五入),如$123.456789将储存为$123.4568○c.字符型:(字符串)不包含任何字符的字符串是空串“”,空串与包含空格的字符串不同””(单双引号,方括号(定界符)都要是英文的)“?”换行,“??”不换行○d.日期型:分隔符(/,-,.,空格);默认斜杠,8个字节必须有脱字符^命令格式:○1SET MARK TO [<日期分隔符>]○2SET DATE TO [AMERICAN(mm/dd/yy默认)]YMD(yy/mm/dd)○3SET CENTURY ON|OFF|TO [<世纪值>[ROLLVER<年份参照值>]](ON 显示世纪,4位数表示年份,1992)(OFF 不显示世纪,2位,92,默认)(TO 解释一个用2位数字年份表示的日期所处的世纪,年份小于参照值,世纪值加1)○4SET STRICTDATE TO [0|1|2](0 不进行严格的日期格式检查;1进行,默认;2 进行)例:SET CENTURY ONSET MARK TOSET DATE TO YMD?{^2011-2-11}显示:2011/2/11○e.日期时间型:{<日期>,<时间>}默认AM,8个字节○f.逻辑型:.T. .t. .Y. .y. 真,.F. .f. .N. .n. 假;两个句点不可少,是定界符。
2.变量○a, 创建数组DIMESION y(2,2)○b.内存变量赋值○1STORE <表达式> TO <内存变量>○2<内存变量>=<表达式>○c.内存变量的显示○1LIST MEMORY L IKE 通配符;一屏显示○2DISPLAY MEMORY LIKE 通配符;多屏显示通配符有*和?,*表示任意多个字符;?表示任意一个字符例:LIST MEMORY LIKE A* 表示只显示变量名以A开头的所有内存变量○d.内存变量的清除○1CLEAR MEMORY 清除所有○2RELEASE <指定内存变量>○3RELEASE ALL [EXTENDED用于程序]清除所有○4RELEASE ALL [LIKE 通配符|EXCEPT 通配符] LIKE 清除与通配符匹配的内存变量EXCEPT 清除与通配符不匹配的○e表与表组之间的数据传递将表的当前记录复制到数组SCATTER TO将数组数据复制到表的当前记录GATHER FROM3.表达式A.数值表达式 + — * ^ / %(求余)B.字符表达式 +:首尾相接—:两字符串相连,前一个字符的尾部空格移到新字符串尾部 Len( )用于计算字符串的长度c.日期时间表达式日期+天数(后多少天);日期—天数(前多少天);日期—日期(得相差的天数);日期时间+秒数(多少秒后)日期时间—秒数(多少秒前)日期时间—日期时间(相差的秒数)d.关系表达式< > = <= >= 不等于(<> 或#或!=)==(字符串精确比较) $子串包含测试○1 .T.大于.F. <字符表达式1>$<字符表达式2> 若字符1是字符2的一个子字符串,则结果为逻辑真,否则为逻辑假○2设置字符排序次序命令:SET COLLATE TO “排序次序名”Machine :机内码,空格最前,大写ABCD ,小写abcdPinYin :拼音次序,空格最前,小写abcd ,大写ABCDStroke:不论西文,书写笔画○3两字符串完全相同==结果才为真SET EXACT ON|OFF ON是尾部加上多个空格,使得两字符串的长度相等,OFF默认值,只要两者前面部分匹配就为逻辑真e.逻辑表达式运算符:NOT AND OR4.常用函数A.数值函数○1ABS()绝对值 SIGN()指定符号,运算结果分别为正、负和零时,输出1、-1、0○2SQRT 求平方根 PI()圆周率○3求整数 INT()取整数部分 INT(5.8)=5CEILING()取大于等于它的最小整数CEILING(5.8)=6FLOOR()取小于等于它的最大整数FLOOR(5.8)=5○4四舍五入函数ROUND(数值表达式1,数值表达式2)表达式2为四舍五入的位置ROUND(345.345,2)=345.35ROUND(345.345,0)=345 ROUND(345.345,-1)=350○5求余 MOD(被除数 ,除数 )余数符号同除数符号,被除数与除数同号时,函数值为两数相除的余数;异号时,函数值为相除的余数加上除数的值MOD(1O,3)(10除以3)= 1 MOD(10,-3)=1+(-3)=-2 MOD(-10,-3)=-1 MOD(-10,3)=-1+3=2○6最大最小 MAX() MIN()B.字符函数○1字符串长度 LEN()大小写转换 LOWER()大到小UPPER()小到大○2空格字符串生成 SPACE <数值表达式>○3删除前后空格 TRIM() 去后空格 LTRIM()去前空格 ALLTRIM() 去前后空格○4取子串 LEFT(表达式,长度) RIGHT(GOOD,2)○6子串首字符位置AT( 字符表达式1,字符表达式2,第几次出现) ATC(同上)ATC不分大小写,AT分,默认第一次例:STORE “This is Visual Foxpro”TO x?AT(“fox”,x) ,ATC(“fox”,x),AT(“is”,x,3), AT(“xo”,x)0 16 10 0○7子串替换 STUFF(字符1,起始位置,长度,字符2)○8字符替换 CHRTRAN (字符1,字符2,字符3)○9字符串匹配 LIKE(字符1,字符2) 分大小写C.日期和时间函数DATE()函数值为日期型TIME() 字符型DATETIME()日期时间型 YEAR() MONTH() DAY()HOUR() MINUTE() SEC()D.数据类型转换函数○1数值转换成字符 STR(数值表达式,长度(默认10),小数位数(0))○2字符串转换成数值 VAL(字符表达式)例:STORE ‘-123.’ TO xSTORE ‘45’TO ySTORE ‘A45’TO z?VAL(x+y),Val(x+z),VAL(z+y)-123.45 -123.00 0.00○3字符转换成日期CTOD()或日期时间型CTOT(W)○4日期或日期时间转换成字符串DTOC() TTOC()○5宏替换函数(字符型变量) & 替换出字符变量得具体内容E.测试函数○1值域测试函数 BETWEEN <表达式T><表达式L><表达式H〉若值L<=T<=H,则函数值为逻辑真,否则为逻辑假,L、H有一个是NULL值,则函数值也是NULL 值○2空值NULL 值测试函数 ISNULL<表达式>表达式的运算结果是NULL值是,返回逻辑真,否则为逻辑假○3“空”值测试函数 EMPTY<表达式> EMPTY<NULL>结果是逻辑假○4数据类型测试函数 VARTYPE<表达式>5○6表文件首 BOF〈工作区号〉〈表别名〉○7记录号测试函数 RECNO()返回记录号表未打开,函数值为0 ;记录指针在尾,函数值为记录号+1 ;在首,函数值为第一条记录的记录号○8记录个数测试函数 RECCOUNT○9条件测试函数 IIF〈逻辑表达式〉〈表达式1〉〈表达式2〉若逻辑表达式的值为逻辑真,返回表达式1的值,否则返回表达式2的值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二部分结构化程序设计语句和算法一、程序的概念程序:是计算机能够分析执行的命令序列的集合。
程序设计:是计算机用户将解决某一实际问题所用的命令按一定的逻辑顺序编制成程序,并以文件的形式存放于磁盘的过程。
执行程序时,计算机按顺序自动执行程序文件中的命令。
例编程求1+2+3+……+100clears=0for i=1 to 100s=s+iendfor“s=”,sreturn二、VF语言基础1.数据类型1)数值型:由数字0-9以及正负号(+和-)和小数点(.)组成。
例如:123,34.56,-1002)字符型:英文、汉字、数字、空格和标点符等组成的一串字符。
例如:”hello”,”goodmorning”。
注意:其表示方法用" "将字符串括起来。
3)逻辑型:表示的值为真和假两种状态, .T.或.t.表示真,.F.或.f.表示假。
2.常量1)数值型常量:例如:123,34.56,-1002)字符型常量:”hello”,”good morning”。
3)逻辑型常量: .T.表示真,.F.表示假。
3.变量1)概念:变量是指在程序运行期间其值可以变化的量,一个变量可以存放一个数据。
2)变量名:每个变量应有一个名字,称为变量名。
(尽量用一个字母作为一个变量名)如:x,y,z,i,j等。
注意:VF中变量不需要定义就可以直接使用。
4.运算符及表达式●运算符:用来进行运算的符号;●表达式:是指用运算符将变量、数组元素、常量、函数连接组合得到的一组有物理意义的式子。
表达式分为算术表达式、字符表达式、关系表达式和逻辑表达式4类。
表达式和常量一样,是具有数据类型的数据(求值之后),因此一个表达式中的各项必须具有相同类型。
1)算术运算符:( ) ^ % *、/ +、-算术表达式:10+3*4-15 2^3 x^3/y+a%52)字符运算符:完全连接“+”:“I have a ” +“Book”= “I have a Book”包含运算“$”:“abc”$“abcdef”=.t.“ABC”$“abcdef”=.f.3) 关系运算符:< > = == <= >= <>关系表达式:<表达式> <关系运算符> <表达式>关系表达式相当于一个命题,这个命题要么成立,要么不成立,如果成立,命题为真,如果不成立命题为假。
1244.33>=12 结果:.t.10=20 结果:.f.”A” <”B”结果:.t.”A BC” >”ABD”结果:.f.4) 逻辑运算符: !, NOT 或 .NOT. OR 或 .OR. AND 或 .AND.逻辑表达式:<关系表达式> <逻辑运算符> <关系表达式>逻辑表达式也相当于一个命题,这个命题要么成立,要么不成立,如果成立,命题为真,如果不成立命题为假。
x>5 OR y<10 .T.或者.F.,取决于x,y的值推导判断闰年的表达式:闰年:能被4整除,但是不能被100整除;或者能被400整除。
(y%4=0 and y%100<>0) or y%400=05.常用函数1)取绝对值函数:abs(数值表达式)2)取整函数:int(数值表达式)功能:取数值表达式的整数部分。
int(12.3)=12int(56.78)=563)求平方根函数:sqrt(数值表达式)4)求字符串长度函数:len(字符串表达式)len("hello")=5len("你好")=4说明:一个汉字占两个字符的宽度。
5)取子串函数:●Left(字符串表达式,长度)●Right(字符串表达式,长度)●substr(字符串表达式,起始位置,长度)功能:从指定表达式值的指始位置取指定长度的字符串作为函数值。
Substr(“hello”,2,3) 结果:ell6)计算字串出现次数函数:Occurs(字符串表达式1,字符串表达式2)功能:返回第一个字符串在第二个字符串中出现的次数。
Occurs(“a”,”abcaa”) 结果:37)大小写转换函数Lower(字符串表达式):Upper(字符串表达式):8)生成空格字符函数:space(数值表达式)功能:生成若干个空格,空格的个数由数值表达式确定。
Space(5) 其作用是产生5个空格9)数值转换成字符串函数:str(数值表达式,长度,小数位数)功能:将数值表达式的值转换为字符串,转换时根据需要自动四舍五入。
转换后的理想长度应该是数值表达式值的整数部分位数加上小数位数值,再加上一位小数点。
Str(“123.567”,7,3) 结果:123.567Str(“123.567”,6,2) 结果:123.5710)随机函数: rand()功能:系统随机产生一个0到1之间的纯小数产生某个范围的随机整数:Int(rand()*(终值-初值+1)+初值)例如:随机产生两位随机整数。
Int(rand()*(99-10+1)+10)三程序设计基本语句:1.变量的赋值:=格式:变量=表达式功能:将“=”(赋值号)右边表达式的值赋予左边的变量。
2.输入命令1)input命令格式:input “提示信息”to 变量功能:在屏幕上显示“提示信息”,并等待用户从键盘上输入表达式,再把表达式的值赋给指定的变量。
2)Accept命令格式:accept “提示信息” to 变量功能:在屏幕上显示[<提示信息>],等待用户从键盘上输入,再把输入内容作为字符串常量赋值给指定的变量。
3.输出命令?|??格式:?表达式1,[< 表达式2>…]功能:将表达式的结果在当前光标的下一行输出;格式:?? 表达式1,[< 表达式2>…]功能:将表达式的结果在当前光标位置输出;四、VF程序基本结构4.1 顺序结构顺序结构:就是计算机要按照程序中语句出现的先后次序依次执行各条语句的结构。
顺序结构是程序设计中最常见、使用最多的结构。
顺序结构程序主要由赋值语句、输入语句和输出语句构成。
程序:1求园的面积clearinput “r=” to rs=3.14*r^2sreturn2交换任意两个变量的值clearinput “x=” to xinput “y=” to yt=xx=yy=t“x=”,x”y=”, yreturn3鸡兔同笼问题。
已知鸡兔的总头数为h,总脚数为f,求鸡兔各有多少只?clearinput "h=" to hinput "f=" to fx=(4*h-f)/2y=(f-2*h)/2”鸡的个数:”,x”兔的个数:”,yreturn三、选择结构1) IF语句格式:IF 条件表达式语句序列1ELSE语句序列2ENDIF功能:执行该语句时,如果条件表达式的值为.t.,则执行语句序列1,否则执行语句序列2,然后再执行endif之后的语句。
其中else可以省略,即如果语句序列2为空,则没有ELSE 以及语句序列1。
程序1.判断闰年。
从键盘任意输入一年份,判断其是否是闰年,是则输出“是“,不是则输出“否”。
ClearInput “y=” to yIf (y%4=0 and y%100<>0) or y%400=0?”是”Else?”否”endifreturn2.输出3个数中最大值clearinput "x=" to xinput "y=" to yinput "z=" to zif x>=ym=xelsem=yendifif m<z thenm=zendifmreturn3.判断一个数是否是水仙花数。
所谓水仙花数是指一个3位数,其每位数字的立方和等于它本身。
clearinput "m=" to mx=int(m/100)y=int((m%100)/10)z=m%10if x^3+y^3+z^3=m"是"else"否"endifreturn2) 多分支语句:DO CASECASE 逻辑达式1命令序列1[CASE 逻辑表达式2命令序列2…CASE 逻辑表达式n命令序列N][OTHERWISE命令序列]ENDCASE说明:1)从第一个逻辑表达式开始判断,当找到一个逻辑表达式的值为.T.时,就执行紧跟其后的命令序列,然后执行ENDCASE之后的语句。
2)在一个DO CASE结构中,最多只能执行一个CASE语句后面的语句序列。
如果case后的所有逻辑表达式的值均为.F.,则执行OTHERWISE后面的语句序列。
4.输入一个成绩,输出其等级。
CLEARINPUT “请输入学生成绩:” TO nDO CASECASE n>=90 and n<=100? “优秀”CASE n>=80? “良好”CASE n>=70? “中等”CASE n>=60? “及格”OTHERWISE? “不及格”ENDCASEreturn四、循环结构1)do while循环Do while 条件循环体Enddo提示:级数求和问题从累加求和到最难的求和一鼓作气学完。
算法:1.求1-100的累加和:s=1+2+3…+100i=1s=0Do while i<=100s=s+ii=i+1Enddosreturn2.求1-100奇数的和。
Cleari=1s=0Do while i<=100s=s+ii=i+2Enddosreturn3.求1-100偶数的和。
Cleari=2s=0Do while i<=100s=s+ii=i+2Enddosreturn2)For循环For 循环变量=初值 TO 终值 STEP 步长循环体Endfor其中步长为1时,STEP 1 可以省略。
4.将1-3题用for语句实现1)1-100所有整数的和Clears=0For i=1 to 100s=s+iendforsReturn2)1-100所有奇数的和s=0For i=1 to 100 step 2s=s+iendforsReturn3)1-100所有偶数的和Clears=0For i=2 to 100 step 2s=s+iendforsReturn强调:当循环次数确定的时候尽量用for循环实现。
5.求s=1+1/2+1/3+1/4+....+1/100clears=0for i=1 to 100s=s+1/iendfor"s=",sReturn6.求s=1-1/2+1/3-1/4+....+1/100clears=0for i=1 to 100s=s+ 1/i*(-1)^ (i+1)endforsReturn7.求s=1-1/2+1/3-1/4+....+1/n,n由键盘输入clearinput “n=” to ns=0for i=1 to ns=s+ 1/i*(-1)^ (i+1)endforsReturn8.求N!=1×2×3×4…×N,其中N由键盘输入。