《结构化程序设计.ppt》由会员分享,可在线阅读,更多相关《结构化程序设计.ppt(57页珍藏版)》请在第壹文秘上搜索。
1、 结构化程序设计1 6.1.1 基本概念1 1程序程序 能够完成特定任务的命令序列,存储在命令文件(.PRG)中。运行该文件可自动执行一系列操作。2 2结构化程序设计结构化程序设计 用结构化编程语句来编写程序。3 3程序的基本结构程序的基本结构(1)说明部分:一般是一组注释语句。(2)初始化部分:设置程序运行时的系统状态和参量初值。(3)程序主体部分:包括数据输入、处理和输出3个模块。(4)还原部分:将当前的工作环境恢复到执行该程序前的状态。(5)程序的退出:程序运行完毕,返回 VFP 应用程序窗口或退出VFP,返回操作系统。 2 6.1.2 程序文件的建立1 1项目管理器项目管理器 :选择
2、“程序”项,单击“新建”按钮,打开代码编辑窗口,输入程序内容。然后选择“文件|保存”命令将编写的代码存入磁盘。2. 2. 菜单:菜单:选择“文件|新建”,在“新建”对话框中选择“程序”文件类型,单击“新建文件”按钮,进入代码编辑窗口。3. 3. 命令:命令:MODIFY COMMAND MODIFY COMMAND 程序文件名程序文件名 输入命令语句时,必须一条命令占一行,一行写不下时,在行尾加续行符(;),换行后接着书写该命令语句。 3命令序列注释语句4 6.1.3 程序文件的修改对已建立的程序文件可以重新进入代码编辑窗口修改内容。 1 1项目管理器:项目管理器:选中要修改的程序文件,单击“
3、修改”按钮,重新打开代码编辑窗口。修改后,选择“文件|保存”命令,保存程序。2 2菜单:菜单:选择“文件|打开”命令,将要修改的程序文件调入代码编辑窗口。 3 3命令:命令:MODIFY COMMAND MODIFY COMMAND 程序文件名程序文件名5 1 1项目管理器:项目管理器:选中要执行的程序文件, 单击“运行”按钮。2. 2. 菜单:菜单:选择“程序|运行”命令。3. 3. 命令命令:DO DO 程序文件名程序文件名 6.1.4 程序文件的执行6 6.2.1 基本命令l l注释命令注释命令 非执行语句,用于提高程序的可读性。非执行语句,用于提高程序的可读性。 NOTENOTE、*
4、*(行首注释)、(行首注释)、&(行尾注释)(行尾注释) 命令格式命令格式1:NOTE 注释内容注释内容note not字符字符 命令格式命令格式2:* 注释内容注释内容注释字符注释字符 命令功能:对程序作注释,不执行任何操作。命令功能:对程序作注释,不执行任何操作。例如:例如: * *计算园的面积计算园的面积 r=5 &r=5 &园的半径为园的半径为5 5 s=3.14 s=3.14* *r r* *r r ?”s=“,s ?”s=“,s72文本显示命令文本显示命令 TEXT 文本内容文本内容 ENDTEXT功能:将文本内容功能:将文本内容 原样显示原样显示 注意注意文本内容文本内容 不用加
5、定界符不用加定界符例如:例如: TEXT 西北师范大学一所重点大学西北师范大学一所重点大学 ENDTEXT82. 2. 环境设置命令环境设置命令 set set 命令。命令。 set talk 命令命令 命令格式:命令格式:set talk on/offS 命令功能:在命令功能:在on状态下,在执行一些非显示命状态下,在执行一些非显示命令时,将把执行结果等信息送到显示器显示;在令时,将把执行结果等信息送到显示器显示;在off状态下,屏幕上只显示命令要求输出的结果。状态下,屏幕上只显示命令要求输出的结果。 set printer命令命令 命令格式:命令格式: set printer on/off
6、st printer off/on 命令功能:在命令功能:在on状态下,输出结果将传送到打状态下,输出结果将传送到打印机输出;在印机输出;在off状态下,关闭向打印机输出。状态下,关闭向打印机输出。93、系统初始化命令、系统初始化命令 命令格式命令格式: clear all 命令功能:该命令关闭所用打开的库文件、表命令功能:该命令关闭所用打开的库文件、表文件及有关文件,清除所有内存变量,清除所有用文件及有关文件,清除所有内存变量,清除所有用户自定义下拉菜单、弹出式菜单和窗口,选择户自定义下拉菜单、弹出式菜单和窗口,选择1号工号工作区为当前工作区。常用于应用程序主控模块的开作区为当前工作区。常用
7、于应用程序主控模块的开头。头。4、 清屏命令清屏命令 命令格式:命令格式: CLEAR命令功能:清除命令功能:清除VFP主窗口或当前用户自定义窗口,主窗口或当前用户自定义窗口,常用于应用程序某模块的开头,或在各输出命令前常用于应用程序某模块的开头,或在各输出命令前使用。使用。105. 5. 关闭文件命令:关闭文件命令: CLOSE ALLCLOSE ALL (关闭所有文件)(关闭所有文件) CLOSE CLOSE 文件类型文件类型(关闭指定类型的(关闭指定类型的文件)文件)6. 6. 运行中断和结束命令运行中断和结束命令n CancelCancel 终止程序运行,返回命令窗口。终止程序运行,返
8、回命令窗口。 n RETURNRETURN 结束当前程序的执行,返回到调用它结束当前程序的执行,返回到调用它的上级程序。的上级程序。n QUIT QUIT 关闭所有文件,退出关闭所有文件,退出 VFP VFP 系统,返回操系统,返回操作系统环境。作系统环境。111 1基本输出命令:基本输出命令:?|? ?|? 表达式表表达式表 功能:计算各表达式的值,并将功能:计算各表达式的值,并将 结果送到主窗口结果送到主窗口 注意注意 各表达式之间用逗号相隔各表达式之间用逗号相隔 例如:?例如:?“r=“,3+5r=“,3+5 6.2.2 输入/输出命令122.2.键盘输入单字符键盘输入单字符命令:命令:
9、WAIT 命令格式:命令格式: wait “提示信息提示信息” TO 内存变量内存变量功能:暂停程序的执行,并显示功能:暂停程序的执行,并显示“提示信息提示信息”,等待用户输,等待用户输入任何单个字符后再继续执行程序。入任何单个字符后再继续执行程序。注意注意 1“提示信息提示信息”可有可无,如果有显示可有可无,如果有显示“提示信息提示信息”,如果无,则显示如果无,则显示“按任意键继续按任意键继续”。 2如果有如果有 “TO 内存变量内存变量”,则输入的字符将存人指,则输入的字符将存人指定的内存变量。定的内存变量。例如:例如: 1 wait 2 wait “请用户按任意键继续请用户按任意键继续”
10、 3 wait “请用户按任意键继续请用户按任意键继续” to h ZH “提示信息提示信息” to 133键盘输入字符串语句键盘输入字符串语句 命令格式:命令格式:accept ”提示信息提示信息” to 内存变量内存变量 功能:显示”提示信息提示信息” ,暂停程序的执行暂停程序的执行,等待用等待用户从键盘输入内容并存人内存变量户从键盘输入内容并存人内存变量. 注意注意此命令无论输入任何类型的数据此命令无论输入任何类型的数据,都作为字都作为字符型数据处理符型数据处理,输入字符型数据时不需要加定界符输入字符型数据时不需要加定界符.accept “提示信息提示信息” to 示例:示例:accep
11、t ”请输入姓名请输入姓名:” to xm144键盘输入语句键盘输入语句 命令格式:命令格式:input “提示信息提示信息” to 内存变内存变量量 “ 功能:显示”提示信息提示信息” ,暂停程序的执行暂停程序的执行,等等待用户从键盘输入内容并存人内存变量待用户从键盘输入内容并存人内存变量. 注意注意此命令可接受任何类型的数据此命令可接受任何类型的数据,输入字符输入字符型数据时定界符型数据时定界符,输入逻辑型数据时输入逻辑型数据时,用小圆点用小圆点,如如: .T.或或.F.。输入日期型数据时,要加大括号,如:。输入日期型数据时,要加大括号,如:2005-04-25能解放能解放 息息” to
12、示例:示例:input “请输入数据请输入数据” to z155 5格式输入输出命令格式输入输出命令n格式格式1 1: 行号行号, ,列号列号 SAY SAY 表达式表达式 功能:在主窗口指定的位置处显示表达式的值功能:在主窗口指定的位置处显示表达式的值n格式格式2 2: 行号行号, ,列号列号 SAY SAY 表达式表达式 GET GET 变量变量 READREAD 功能功能:在窗口指定位置处分别显示表达式和变量在窗口指定位置处分别显示表达式和变量的值。若使用的值。若使用READREAD语句,则可以对变量的值进行修语句,则可以对变量的值进行修改。改。 注意注意格式格式2,如果是内存变量如果是
13、内存变量,必须要先赋值必须要先赋值,表表达式达式 如果为字符型的数据如果为字符型的数据, ,则要加定界符则要加定界符. .16XM=“杨灵”2,10 SAY “姓名是:”3,10 SAY XMXB =男5,10 say “性别是:”7,10 say XBREAD17 6.3 程序的基本控制结构 应用程序是用户为解决一个特定的问题而将有关的命令按一定的结构组成的序列.顺序结构、选择结构、循环结构是三种基本的控制结构。 在进行程序设计时,为了把解题的步骤清晰的表达出来,我们常常图形来描述流程图。它是用特定的图形符号和必要的文字来描述解题步骤。18数据的输入输出框程序的开始与结束框计算与处理数据框
14、判断框连接线,并指出执行顺序19ClearUse c:XJKLOCATE FOR 姓名姓名=“杨灵杨灵”DISPUSE开始清屏打开表查找显示关闭结束20编写程序的步骤编写程序的步骤(1)明确题目要求解决什么问题)明确题目要求解决什么问题(2)明确输入什么数据,处理什么数据,)明确输入什么数据,处理什么数据, 输出什么数据。输出什么数据。(3)画出流程图)画出流程图(4)根据流程图编写程序)根据流程图编写程序(5)运行调试程序)运行调试程序21输入程序的规则输入程序的规则: (1)一行只能输入一个命令且输完后要一行只能输入一个命令且输完后要 按回车键按回车键; (2)如果一个命令一行输不下如果一
15、个命令一行输不下,则要分行则要分行输入且前一行的后面一定要输入分号输入且前一行的后面一定要输入分号,且要且要按回车键按回车键; 如如: disp all for 语文语文80 .and. 化学化学0 X=X+1 ? X= ,X ENDIF X=X-1 ? X= ,X26(2) USE XJKACCEPT “请输入姓名请输入姓名:” TO XMLOCA FOR 姓名姓名=XMIF FOUND( )REPL 语文语文 WITH 100ENDIF 注意注意: FOUND ( ) 可改为可改为: FOUND ( )=.T. 或或 .NOT.EOF( )27(二二).第二种格式第二种格式 1. IF 条
16、件表达式条件表达式 (THEN) 语句序列语句序列1 ELSE 语句序列语句序列2 ENDIF 2.执行过程执行过程:当条件成立时执行当条件成立时执行语句序列语句序列1, 然后退到然后退到ENDIF后面去执行后面去执行;当条件不成当条件不成 立时立时,执行执行语句序列语句序列2,然后退到然后退到ENDIF后后 面去执行面去执行;28举例举例(1)INPUT X= TO X IF X0 ?X-1 ELSE ?X+1 ENDIF ? “结束结束” 29(2)USE XJK ACCEPT “请输姓名请输姓名” TO XM IF FOUND( ) DISP 姓名姓名,语文语文 ELSE ? “查无此人查无此人” ENDIF30(3)如果有多个条件如果有多个条件,可用多个可用多个IF语句语句 X X0 Y= X+1 X-2 X+3 -2X0 ?X ENDIF IF X-2 .AND. X0 ?X CASE X0 ?X-1 CASE X=0 ?X+1 ENDCASE34(2) USE XJK ? * ? *1.追加记录追加记录 * ? *2.删除记录删除记录 * ? *3.显示记录显示记录 * ?