程序设计基础

上传人:hs****ma 文档编号:591479569 上传时间:2024-09-17 格式:PPT 页数:54 大小:557.50KB
返回 下载 相关 举报
程序设计基础_第1页
第1页 / 共54页
程序设计基础_第2页
第2页 / 共54页
程序设计基础_第3页
第3页 / 共54页
程序设计基础_第4页
第4页 / 共54页
程序设计基础_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《程序设计基础》由会员分享,可在线阅读,更多相关《程序设计基础(54页珍藏版)》请在金锄头文库上搜索。

1、主讲老师:主讲老师:韩维良韩维良2005.7第七章第七章程序设计基础程序设计基础 二级VFP程序设计教程第七章 程序设计基础第一节第一节 程序与程序文件程序与程序文件一、程序的概念一、程序的概念VFP的工作方式有两种:一是交互命令方式,一种是程序方式。 1、命令工作方式、命令工作方式通过命令窗口输入一条命令,完成一个操作的方式。通过命令窗口输入一条命令,完成一个操作的方式。 二级VFP程序设计教程第七章 程序设计基础2、程序文件方式、程序文件方式程序文件是由若干条语句或指令组成的一个扩展名为.prg的文本文件,当运行程序时,系统会按照一定的次序自动执行包含在程序文件中的命令,与在命令窗口逐条输

2、入命令相比,采用程序方式有以下几种好处:可以利用编辑器,方便程序的输入、修改和保存。可以采用多种方式、多次运行程序。可以在一个程序中调用另一个程序。二级VFP程序设计教程第七章 程序设计基础二、程序文件的建立与执行二、程序文件的建立与执行1、程序文件的建立、保存、打开与修改、程序文件的建立、保存、打开与修改、执行“文件”菜单中的“新建”命令。、交互命令:modify command 功能:建立或者修改指定的文件。扩展名可以省略,系统默认为PRG;如果文件不存在,则建立文件,并进入编辑修改界面,进行录入修改等操作;如果文件已存在,则打开文件,进入编辑修改界面,进行编辑修改操作;二级VFP程序设计

3、教程第七章 程序设计基础程序文件的构成特点:程序文件的构成特点:、大小写等价;、每一条命令以回车键作为结束;、一般情况下,提倡一行写一条命令;当然也允许一个命令分几行写,用分号分号作为续行符;二级VFP程序设计教程第七章 程序设计基础2、执行程序文件、执行程序文件菜单方式:“程序”“运行” (程序文件路径采用默认目录)命令方式:do 3、程序终止运行、程序终止运行当程序文件被执行时,文件中包含的命令依次执行,直到所有的命令执行完毕,或者执行到以下命令之一:Cancel:终止程序运行,清除所有的私有变量,返回命令窗口。二级VFP程序设计教程第七章 程序设计基础do:转去执行另一个程序。retur

4、n:结束当前程序的执行,返回到调用它的上级程序,若无上级程序则返回到命令窗口。quit:退出VFP系统,返回到操作系统。二级VFP程序设计教程第七章 程序设计基础4、简单的输入、输出命令、简单的输入、输出命令一个程序一般都包括数据输入、数据处理、数据输出三个部分。 、input任意类型数据输入语句任意类型数据输入语句格式:input to 功能:程序暂时停止执行,等待用户从键盘上输入一个任意类型的常量或表达式赋给指定变量,按回车结束。二级VFP程序设计教程第七章 程序设计基础说明:输入的内容以常量的表达形式区别;如78,Holle,.y.,.t.等等,也可以是一个表达式;即如果是字符串、日期型

5、,应加定界符;是逻辑型,应加圆点;但不能不输入数据就按回车。例:编写命令文件test2.prg,查找指定日期以后出生的学生。二级VFP程序设计教程第七章 程序设计基础Open database My_dataUse Basic in 0ClearInput 请输入日期: to mrqSelect 学号,姓名,出生日期 from basic where 出生日期mrq NowaitClose database Return注:输入1999/01/01或者DTOC(“01/01/99”)二级VFP程序设计教程第七章 程序设计基础、accept字符串输入语句字符串输入语句格式:accept to 功

6、能:程序暂时停止执行,等待用户从键盘上输入一个字符串赋给指定变量,最后按回车键。输入的内容只能是字符串,所以输入时不必用引号括起来。提示信息部分可以是变量或者表达式。该命令等待从键盘输入数据,回车后,系统将表达式的值存入指定的内存变量,程序继续执行。二级VFP程序设计教程第七章 程序设计基础、wait命令命令单个字符输入语句单个字符输入语句格式:waittoWINDOWAT,NOWAITclear|noclear timeout功能:程序暂时停止执行,等待用户从键盘上按一个键并赋给指定变量,程序又接着运行;Windows:显示提示信息的窗口。 Nowait:不等待,直接往下执行。Timeout

7、:表示等待的时间。二级VFP程序设计教程第七章 程序设计基础第二节第二节 程序的基本结构程序的基本结构一、程序结构一、程序结构程序结构:是指程序中命令或语句执行的流程结构。从控制程序的执行过程来看,程序主要有三种结构:顺序结构、选择结构、循环结构;二级VFP程序设计教程第七章 程序设计基础二、选择结构二、选择结构1、条件语句、条件语句If else Endif功能:计算表达式的值,当值为.T.时,执行,然后转去执行ENDIF后的语句;反之执行,然后转去执行ENDIF后的语句。 二级VFP程序设计教程第七章 程序设计基础举例:编写一个用户认证程序,设其密码字为:12345。clearset ta

8、lk offAccept 请输入密码: to passwordIf password=12345 3,2 say 你是合法用户! 4,2 say 你的密码是:+password 5,2 say 你可以操作数据库!else 3,2 say 你是非法用户! cancelendifset talk onreturn二级VFP程序设计教程第七章 程序设计基础2、分支语句、分支语句格式:DO CASE CASE CASE CASE OTHERWISE ENDCASE二级VFP程序设计教程第七章 程序设计基础功能:在逐个检查多个时,选择第一个为.T.的路线,作为程序执行的路线。Do case case x

9、0 wait “X0的情况“ case x=0 wait “X=0的情况“ case x0 wait “X0的情况“Endcase二级VFP程序设计教程第七章 程序设计基础三、循环结构三、循环结构1、do while循环循环格式:DO WHILE LOOP EXIT ENDDO二级VFP程序设计教程第七章 程序设计基础功能:判断的值,如果为.T.,则执行循环体语句,直到的值为.F.时,才结束循环转去执行ENDDO后的语句。LOOP语句是一种特殊的循环终止语句。其功能是执行该语句时,将终止本轮循环的执行,返回到DO WHILE处,LOOP之后的语句在本轮循环中不被执行。EXIT语句是无条件跳出循

10、环语句。其功能是执行该语句时跳出循环,转去执行ENDDO后面的语句。LOOP和EXIT一般与IF条件语句结合使用。二级VFP程序设计教程第七章 程序设计基础条件循环体ENDDO后面的语句条件ENDDO后面的语句循 环体LOOPEXIT二级VFP程序设计教程第七章 程序设计基础2、For计数循环语句计数循环语句格式:FOR = TO STEP endfor|next功能:该语句在的控制下,反复执行FOR -NEXT(ENDFOR)之间的循环体。仅当的值超过终值(步长为正)或的值小于终值(步长为负)时,才跳出循环,执行NEXT后面的语句。 二级VFP程序设计教程第七章 程序设计基础说明:FOR循环

11、语句,用于循环数据表现出一定规律并且循环次数可以确定的情况下;循环次数是由循环变量的初值、终值及步长决定的,其计算公式为:循环次数=INT(终值-初值)/步长)+1;当步长为1时,STEP可以省略;在FOR语句的循环体内,可含有LOOP和EXIT语句。二级VFP程序设计教程第七章 程序设计基础3、Scan“指针指针”型循环语句型循环语句该语句一般用于处理表中的记录。语句可指明需处理的记录范围及应满足的条件。又叫做扫描循环语句。格式:SCAN FOR/WHILE LOOP EXIT ENDSCAN功能:在当前已打开的数据表中,对指定范围内满足条件的记录,依次执行循环体中所包含的。二级VFP程序设

12、计教程第七章 程序设计基础说明:SCAN为循环起始语句,ENDSCAN为循环终止语句,两者之间的语句为循环体;“指针”循环是针对当前打开的数据库表进行的操作,该语句在数据表中的作用范围由子句来描述,若子句缺省,系统默认为ALL;为逻辑表达式,它指明对满足条件的记录进行操作。执行该语句时,记录指针自动、依次地在当前表的指定范围内满足条件的记录上移动,对每一条记录执行循环体内的命令。二级VFP程序设计教程第七章 程序设计基础例:统计专业代码(学号的第3、4位)为03的男、女生人数。Open database 学生选课Use 学生 in 0Select 学生 Store 0 to m,w二级VFP程

13、序设计教程第七章 程序设计基础Scan for subs(学号,3,2)=”03” If 性别=.t. M=m+1 Else W=w+1 EndifEndscanClear?”男生人数”,m?”女生人数”,wclose databasereturn二级VFP程序设计教程第七章 程序设计基础第三节第三节 多模块程序多模块程序应用程序一般包含多个程序模块,所以又叫多模块程序,模块是一个相对独立的程序段,它可以被其它模块调用,也可以调用其它的模块。通常,把被其它模块调用的模块称为子模块,把调用其它模块而没有被别的模块调用的模块称为主程序。将应用程序划分为多个子模块之后,程序的维护和阅读得到了简化。二

14、级VFP程序设计教程第七章 程序设计基础在结构化程序设计中,一个应用系统通常要实现若干功能,每个功能可以用一个模块来表示,而每个模块又可以细分为若干小模块,每个小模块可以完成一个子功能,每一个小模块可以作为一个独立的程序,称为过程过程或函数或函数,外部过程也叫做子程序子程序。二级VFP程序设计教程第七章 程序设计基础一、模块的定义和调用一、模块的定义和调用VFP的模块有两种。一种是命令文件即外部过程,一种是过程,即内部过程。1、外部过程、外部过程子程序的建立子程序的建立子程序建立仍用MODIFIY COMMAND命令。格式:MODIFY COMMAND 子程序的最后一条语句必须是一条返回语句R

15、ETURN。二级VFP程序设计教程第七章 程序设计基础程序调用返回语句程序调用返回语句格式:RETURN TO MASTER执行子程序,当执行到return时,程序流程将返回主程序从原来被打断的地方接着往下执行。如果有TO MASTER选项,则返回到最外层调用者。如果需要传递参数,则子程序第一条语句必须是PARAMETERS ,用于定义形式参数。二级VFP程序设计教程第七章 程序设计基础子程序的执行子程序的执行格式:DO WITH 功能:调用子程序,并将中的各参数依次传递给中的诸变量。二级VFP程序设计教程第七章 程序设计基础2、内部过程、内部过程可以把多个过程组织在一个文件中,这个文件称为过

16、程文件;也可以把过程放在调用它的程序文件的末尾。这样在打开过程文件或程序文件的同时,所有过程就调入了内存。二级VFP程序设计教程第七章 程序设计基础过程的定义过程的定义格式:PROCEDURE |FUNCTION PARAMETERS return ENDPROC |ENDFUNC TO MASTER二级VFP程序设计教程第七章 程序设计基础功能:在程序文件中定义若干个过程,或者使用MODIFY COMMAND命令建立单独的过程文件。过程的调用过程的调用如果过程与程序文件保存在同一个文件中,则过程调用的格式如下:格式:DO WITH 参数1,参数2,参数N功能:执行中的程序段,WITH用于传递

17、参数。二级VFP程序设计教程第七章 程序设计基础打开与关闭过程文件打开与关闭过程文件当多个过程定义在一个独立的过程文件中时,每个过程的定义与前面一样。但是调用过程文件中的过程之前,必须先打开包含该过程的过程文件,在主程序文件结束前应关闭被调用的过程文件。过程文件的扩展名仍为Prg。二级VFP程序设计教程第七章 程序设计基础打开过程文件打开过程文件格式:SET PROCEDURE TO 功能:打开指定的过程文件,同时关闭原已打开的过程文件。关闭过程文件关闭过程文件格式:CLOSE PROCEDURE功能:关闭已打开的过程文件。二级VFP程序设计教程第七章 程序设计基础二、参数传递二、参数传递如果

18、在调用者和被调用者之间传递参数,在调用时可用WITH项携带;传递参数的格式传递参数的格式:格式:do | with, | (,)后者是函数化的调用法。二级VFP程序设计教程第七章 程序设计基础定义参数的格式:定义参数的格式:格式:parameters , lparameters ,说明:在相应的子程序中,第一行应有相应的参数说明语句;PARAMETERS 声明形参变量被看作是模块程序中建立的私有变量,还可以在其下属模块中有效。LPARAMETERS 声明形参变量被看作是模块程序中建立的局部变量,只在本模块中有效。二级VFP程序设计教程第七章 程序设计基础三、变量的作用域三、变量的作用域在Vis

19、ual FoxPro程序中,一个大的应用程序通常由多个模块组成,在各个模块中又分别使用了多个变量,因此很难保证这些变量之间没有冲突。 冲突由同名变量引起。二级VFP程序设计教程第七章 程序设计基础1、定义全局变量、定义全局变量使用Public命令可以定义全局型的变量和数组。格式:Public 功能:将指定的内存变量或数组定义为全局变量或数组。用Public定义的全局变量,在全部程序、过程、自定义函数以及它调用的程序、过程和自定义函数中都有效,即使程序运行完成以后,这些变量也不被释放,它们的数值仍保留在内存中,直到被清除或者关闭VF。二级VFP程序设计教程第七章 程序设计基础2、定义私有变量、定

20、义私有变量使用Private命令可以定义私有的变量和数组。格式:Private 功能:将指定的内存变量或数组说明为局部变量。用Private定义的局部变量可以在定义它的程序以及被该程序调用的程序、过程和函数中有效(下级模块中有效)。如果定义它的程序运行完毕,则系统将释放该变量。是默认类型,如果一个变量没定义,是这种类型。二级VFP程序设计教程第七章 程序设计基础3、定义局部变量、定义局部变量使用Local可以定义本地型变量和数组。格式:Local 用Local定义的变量和数组只能在定义它的程序中使用,一旦程序运行完毕,系统将会将变量释放。本地型变量不能被高级或低级的模块调用。二级VFP程序设计

21、教程第七章 程序设计基础第四节第四节 程序调试程序调试错误类型:错误类型:语法错误:语法错误:输入错误的命令,如:格式错,命令动词拼错了,参数错误等,编写代码的过程中,可以自行发现,并提示用户予以纠正,另外在编译的过程中将给出详细的出错信息。逻辑错误:逻辑错误:算法上的错误,程序虽然没有语法错误,但不能完成给定的任务。此类错误一般情况下比较难找,另外产生的原因也较多,如经验不足,算法分析不透彻等,可以借助于程序调试器解决。二级VFP程序设计教程第七章 程序设计基础一、调试器环境一、调试器环境1、启动调试器、启动调试器方法:执行工具菜单上的“调试器”命令。或者在命令窗口中的执行“Debug”命令

22、。2、调试器各子窗口、调试器各子窗口、跟踪窗口:适用于显示正在调试的程序。二级VFP程序设计教程第七章 程序设计基础调试的方法调试的方法:在程序中设置断点,跟踪程序的执行过程,查看程序中各变量取值的变化情况,从而找出程序中的逻辑错误。一般情况下,当循环多次执行时,每当执行到断点处,停止运行,以便查看各种中间结果,是否按照预定的算法发生变化。二级VFP程序设计教程第七章 程序设计基础、监视窗口、监视窗口用于监视程序中的指定表达式值的变化情况。、局部窗口、局部窗口用于在调试执行的过程中,显示程序中的各种变量的取值。前提是先设置断点,否则将一闪而过。二级VFP程序设计教程第七章 程序设计基础、调用堆

23、栈窗口、调用堆栈窗口用于在发生子程序调用时,显示当前正在执行的程序模块,即显示堆栈的使用情况。、调试输出窗口、调试输出窗口用于在程序中安排一些调试输出语句(Debgu 表达式),当程序执行中,执行到该语句时,将其值输出到输出窗口中。二级VFP程序设计教程第七章 程序设计基础二、设置断点二、设置断点1、断点的类型、断点的类型类型1断点:在定位处中断。类型2断点:如果表达式值为真则在定位处中断。类型3断点:当表达式值为真时中断。类型4断点:当表达式值改变时中断。二级VFP程序设计教程第七章 程序设计基础2、设置断点、设置断点方法:执行调试器窗口“工具”菜单中的“断点”命令。类型1的断点是最常见的断点,可直接在窗口左侧的竖条上双击即可。二级VFP程序设计教程第七章 程序设计基础设计并调试如下程序:Set talk offS=0For i=1 to 10 S=s+i I=i+1Endfor?sReturn找出程序中的错误,并纠正。二级VFP程序设计教程第七章 程序设计基础三、调试菜单三、调试菜单用于控制程序的执行过程,主要有:运行、继续执行、定位修改、跳出、单步、单步跟踪、运行到光标处、调速、设置下一条语句等。二级VFP程序设计教程第七章 程序设计基础二级VFP程序设计教程第七章 程序设计基础

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 幼儿/小学教育 > 小学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号