VFP第1部分(程序初步).ppt_第1页
VFP第1部分(程序初步).ppt_第2页
VFP第1部分(程序初步).ppt_第3页
VFP第1部分(程序初步).ppt_第4页
VFP第1部分(程序初步).ppt_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Visual Foxpro 6.0,程序设计基础,重庆工商大学计算机学院 李盛瑜(电话:66544735;EMAIL:),1.难度:对大家来说这门课是比较难的。,教考分离,流水阅卷。,2.重要:1)期末考试 2)等级考试,重视,3.危险: 1)轻者通不过等级考试,学位拿不到; 2)重者期末考试只有十几分,很难毕业。,4.考试: 1)上机; 2)笔试。,非计算机专业的学生学习计算机知识的目的是什么? 要求是什么? 方法是什么?,非计算机专业学习计算机知识应当强调“以应用为出发点,以应用为目的”的原则。,所谓“应用”应当是理论指导下的应用,理论与实践的结合,使学生具有一定的计算机的基础知识以及应用

2、和开发计算机的能力。,教育部高教司根据国内外当前和今后一段时期内的需要指出,各专业学生根据需要学习一到二种语言,但必须要求掌握好一种高级语言,这样就可以举一反三,在需要用时很快地能够学会和使用其它语言。,程序设计课程的重点不应该是讲述语言规则,而是学习程序设计方法,应当介绍基本算法(包括数值和非数值的),在程序设计中应贯穿结构化原则。,文科专业的学生的学习重点在文字处理和文件检索,理工科的重点在数值计算,经济管理类专业学生重点在数据处理。,为什么要学习VFP,培养创造思维 有些问题,有的人想得出解决的办法,有的人想不出。为什么会这样?,逻辑思维训练 所谓逻辑思维能力,就是有条理的、前后连贯的、

3、有规律的、有根有据的认识活动的过程。逻辑思维能力,一般指的是观察、比较、抽象、概括、分析、综合、推理、判断等能力。,培养大家养成认真严谨的习惯:程序有一点点问题,计算机都会告诉你有错。哪怕是一个标点符号错了也不行。,纪律 (1)不得迟到,旷课,早退 (2)上课、上机时不得干与本课无关的一切事情 (3) 作业必须按时完成,按时交(网上提交,尽快学会网上提交的方法) (4)平时成绩与网上参与课程有关,要 求,本课内容 以命令操作,程序设计为主,菜单方式为辅.,主要分成四大部分: 数据库的基本概念和表操作(数据处理基础) 面向过程的程序设计 SQL语言与查询 面向对象程序设计,让我们共同回忆,学习方

4、法 命令-功能 命令的格式,不同的格式有不同的功能,一条命令有几种格式,每次课后复习以课件、实验指导书(读、练)为主,书为参考。,程序设计(结构化程序设计和面向对象程序设计)-重点(贯穿整个学期) 能读懂程序(读程序、程序填空),会编写程序 上机练习 课件中的例子,实验指导书上的实验,Visual FOXPRO 程序设计教程(重庆大学出版社 邹显春主编) Visual FOXPRO 6.0应用基础与面向对象程序设计教程(高等教育出版社) Visual FOXPRO实用教程(电子工业出版社),参 考 书,改变默认磁盘的路径 命令格式: Set default to ,上机提高速度的方法,没有任何

5、反应就对了。否则有出错信息,如要将作业直接做在优盘上,怎么办?,回车,例: set defa to D:101,回车,第一讲 程序设计初步,要点: 1、建立程序的观念 2、初步掌握程序的三种基本结构 3、掌握相关的一些基本概念,学习方法: 循序渐进, 熟能生巧, 举二反三。,取决于老师,首先:先将老师写的程序输入计算机,可能自己抄错一些,上机输错一些,修改调试正确,全部理解; 然后:依照程序的逻辑顺序自己重写该程序(尽量不看笔记),估计还有问题,有些地方要看笔记,反复做, 一直到不看笔记为止,最后做类型相同的其他题目(举二反三),高级语言和自然语言的比较,建立程序,执行程序,本门课程的特点:连

6、续性,每次课的内容,下次课要用,故不要将每次课的内容忘记了(经常翻一下),更不能缺课。,演示一个程序,概念 程序是一组能够完成特定任务的命令序列的集合。 计算机程序设计经过了以下四个发展过程: 1.机器语言程序阶段(1946一1956年) 程序都是用机器指令或接近于机器指令的汇编语言书写。从内部特性上看,程序内部的工作严格依顺序执行,因此都是顺序程序。衡量程序质量的标准主要是功效,运行时间要省,占用存储空间要小。,2.高级语言程序阶段(1956一1958年) 程序主要都用高级语言书写。当然,低级语言程序仍然存在。衡量程序质量的标准,已经逐步转向易读性和易维护性。 3.结构化程序阶段(1958一

7、1975年) 由于计算任务越来越大,程序的规模增大,提出按结构化的思想规范程序设计。程序的模块化、结构化越来越普及。这一阶段的程序主要是模块化程序,即现代高级语言程序。衡量程序质量的标谁主要是结构良好性,易读、易维护。,4.面向对象的程序设计(Object-Oriented Programming),简称OOP, 是近年来程序设计方法的主流方式。是一种更接近人类思维习惯的程序设计方法 面向对象的程序设计方法并没有代替结构化程序设计。 VFP不仅支持面向过程的程序设计,同时还提供了面向对象程序设计的强大功能。,1.如何建立程序,会弹出程序编辑窗口,在窗口里输入程序,输入完后按Ctrl+W存盘,回

8、到命令窗口。 程序的扩展名默认是PRG,最好不输入扩展名。,MODIFY COMMAND 程序名(文件名),程序文件的建立、编辑、修改与执行,MODIFY COMMAND 程序名(文件名),MODIFY COMMAND 程序名(文件名),2.如何执行程序(查看程序运行结果),3.如何修改程序:,4.如何查看源程序内容:,DO 程序名(文件名),常量、变量和表达式,在Visual FoxPro系统环境下,数据输入、输出是通过数据的存储设备完成的。,通常我们都是将数据存入到常量、变量、数组中,而在VFP系统环境下,数据还可以存入到字段、记录和对象中。我们把这些供数据存储的常量、变量、数组、字段、记

9、录和对象称为数据存储容器。,1.常量 常量是一个在命令或程序中直接引用的实际值,其特征是在所有的操作中其值固定不变。常量有以下几种。,(1)字符型常量 由汉字和ASCII字符集中可打印字符组成的字符串,使用时必须用定界符双引号(“ ”)、单引号( )和方括号( )括起来。,容易忘记,注:(1)定界符必须成对匹配,不能一边用单引号而另一边用双相号. (2)如某定界符本身也是字符串的内容,则需要用另一种定界符为该字符串定界。 (3)空串(不包含任何字符的字符串其长度为零)和空格串(包含若干空格的字符串)是有区别的。 (4)定界符只能是半角字符,不能是全角字符。,(2)数值型常量 由数字(09)、小

10、数点和正负号组成。,(3)逻辑型常量 由表示逻辑判断结果“真”或“假”符号(.T. 、.t. 、.Y. 、.y. 、.F. 、.f. 、.N. 、.n.)组成。,不要忘了小圆点,(4) 货币型常量 用来表示货币量,书写时须加上前置的符号($)采用4位小数。如一个货币型常量多于4位小数,那么系统会自动将多余的小数位四舍五入。,(5)日期常量 用于表示日期,以( )为定界符。,必须加上该定界符才为日期,注:系统接受严格日期形式yyyy-mm-dd 。,次序不能颠倒和缺省,影响日期格式的设置命令 (教材p36-37),set mark to 日期分隔符 set date to set century

11、 on /off set strictdate to 0|1,0表示不进行严格的日期格式检查;1表示进行严格的日期格式检查,它是系统默认的设置,格式:,(6)日期时间型常量 用于表示时间日期,其规定格式以 yyyy-mm-dd hh:mm:ss A|P 表示。,2.变量 变量是在命令和操作过程中其值允许变化的量。变量包括内存变量、字段变量和系统变量。 内存变量又可分为简单内存变量和数组变量。, 使用字母,下划线,汉字和数字命名 命名以字母或下划线开头,不能以数字开头 避免使用VFP的保留字,变量命名约定,(1)字段变量 表中的字段名 (2)内存变量 简单内存变量 数组变量 (3)系统变量,简单

12、内存变量 内存变量是一般意义下的简单变量,可以用来存储数据。每一个内存变量都必须有一个固定的名称,以标识在内存单元的存储位置。用户可以通过变量名向内存单元存取数据。,内存变量是内存中的临时单元,可以用来在程序的执行过程中保留中间结果与最后结果,或用来保留对数据库进行某种分析处理后得到的结果。,特别要注意,除非用内存变量文件(.mem)来保存内存变量值,否则,当退出VFP系统后,内存变量也会与系统一起消失。,用户可以根据需要定义内存变量类型,它的类型为最后赋值的值的类型。也就是说,内存变量的定义是通过赋值语句来完成的。,它的类型有数值型、字符型、货币型、逻辑型、日期型、日期时间型等。,在VFP系

13、统中,内存变量的赋值和输出,可以使用STORE、“=”或“?/?”命令进行操作完成。,STORE TO = ?|? AT ,赋值语句,输出语句,三个命令的格式如下:,【例】变量赋值。 aa=abcdef STORE DFASDFAS TO aa STORE 1 TO s1,s2,s3 ? s1, s2, s3,aa ,1 1 1 DFASDFAS,当内存中的变量与字段变量同名时,字段变量优先;此时要访问内存变量,应采用如下格式: M.内存变量 或 M-内存变量,1)内存变量的显示(显示变量名,作用域,类型,值) (见教科书39页),list | display memory,2)内存变量的清除

14、(见教科书39页),格式:,格式:,release clear memory clear all,3.内存变量的存储与恢复, 建立内存变量文件,格式:,SAVE TO,恢复内存变量文件,格式:,RESTORE FROM,(见教科书39页),数组变量 数组是一组有序内存变量的集合。,数组在使用前必须要通过DIMENSION或DECLARE定义。,定义后,它的初始值是 ,在使用数组时,一定要注意数组的初始化,还要注意数组下标的起始值是 。,1,逻辑值.F.,命令格式 例如: dime|decl a(2),b(2,2),二维数组,一维数组,注:在定义数组时,数组名不能与同一环境下的简单变量同名。,同

15、一个数组元素在不同时刻可以存放不同类型的数据; 在同一个数组中,每个元素的值可以是不同的数据类型。,数组下标应使用圆括号,二维数组的下标之间使用逗号隔开。 数组的下标可以是常量、变量和表达式。,数组元素的引用,每个数组元素可通过数组名及相应的下标来访问,在赋值语句中也可使用数组名将同一个值赋给数组的所有元素。 可用一维数组的形式访问二维数组。,【例】定义数组、赋值并输出。 DIMENSION A(2), B(2,2),C(2) A(1)=ABCD A(2)=.T. B(1,2)=A(1) B(2,2)=123 B(2,1)=11.1 C=2 ? A(1),A(2),B(1,2),B(2,2),

16、B(3),C(1),C(2),ABCD .T. ABCD 123 11.1 2 2,运算符及表达式,运算符是在VFP中用来进行运算的符号。 表达式是由数据、数据存储容器和运算符组成的运算式。,在VFP系统中根据不同的运算符及表达式结果的不同,表达式可以分为以下五种: 1、算术表达式 2、字符表达式 3、日期表达式和日期时间表达式 4、关系表达式 5、逻辑表达式,1.常见的表达式 (1)算术表达式 算术表达式的运算结果是数值型常数。,算术运算符: ( ) 分组括号 *或 乘方 % 取模(除法的余数) *、/ 乘、除 +、 - 加、减,特别注意一些 符号的变化,【例】写出数学式 所对应的算术表达式

17、,该数学式子对应的VFP算术表达式为: g*m1*m2/(2+r*2) 或 g*m1*m2/(2+r2) 或 g*m1*m2/(2+r*r),(2)字符表达式 字符表达式运算的结果是字符型常数或逻辑型常数。,字符运算符: + 连接运算 - 连接运算 $ 包含运算,字符型常数,逻辑型常数,【例】 字符连接运算示例。,?计算机+世界,计算机世界,?Ihavea+Book,IhaveaBook,?计算机-世界,计算机世界,?Ihavea-Book,IhaveaBook,【例】 字符串包含运算示例。,?计算机$计算机世界,.T.,?TYPE $ I have a Book,.F.,(3)日期表达式或日

18、期时间表达式 日期和日期时间运算符分为“+”和“-”两种,其作用分别是在日期数据上增加或减少天数,在日期时间数据上增加或减少秒数。,注意:日期型不能和日期型数据相加,【例】日期和日期时间表达式运算示例。 d1= 2007-10-01+2 d2= 2007-10-01-2 ? d1-d2,4,(4)关系表达式 关系表达式的运算结果为逻辑型常量。关系成立结果为(.T.);反之,结果为(.F .)。,关系运算符: 大于 =等于 = 大于或等于 、!= 、# 不等于 = 完全等于,(注:只适用于字符型),各种类型数据的比较规则如下:,数值型和货币型数据根据其代数值的大小进行比较。,日期型和日期时间型数据进行比较时,越新的日期或时间越大。,逻辑型数据比较时,.T.比.F.大。,字符型数据(字符串)比较时,对于西文字符,按其ASCII码值的大小进行排列;对于汉字字符,在默认状态下,根据它们的拼音顺序比较大小。,当运算对象为字符型时,可用命令SET EXACT ON/OFF来设置“=”是否为精确比较。 在非精确比较时,在关系表达式的格式中,只要后一个表达式是前一个表达式的前缀,其结果便为真。,【例】关系运算示例。 SET EXACT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论