结构化程序设计.ppt

上传人:夺命阿水 文档编号:259888 上传时间:2023-03-31 格式:PPT 页数:57 大小:298.50KB
返回 下载 相关 举报
结构化程序设计.ppt_第1页
第1页 / 共57页
结构化程序设计.ppt_第2页
第2页 / 共57页
结构化程序设计.ppt_第3页
第3页 / 共57页
结构化程序设计.ppt_第4页
第4页 / 共57页
结构化程序设计.ppt_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《结构化程序设计.ppt》由会员分享,可在线阅读,更多相关《结构化程序设计.ppt(57页珍藏版)》请在课桌文档上搜索。

1、结构化程序设计,1,6.1.1 基本概念,1程序 能够完成特定任务的命令序列,存储在命令文件(.PRG)中。运行该文件可自动执行一系列操作。2结构化程序设计 用结构化编程语句来编写程序。3程序的基本结构(1)说明部分:一般是一组注释语句。(2)初始化部分:设置程序运行时的系统状态和参量初值。(3)程序主体部分:包括数据输入、处理和输出3个模块。(4)还原部分:将当前的工作环境恢复到执行该程序前的状态。(5)程序的退出:程序运行完毕,返回 VFP 应用程序窗口或退出VFP,返回操作系统。,2,6.1.2 程序文件的建立1项目管理器:选择“程序”项,单击“新建”按钮,打开代码编辑窗口,输入程序内容

2、。然后选择“文件|保存”命令将编写的代码存入磁盘。2.菜单:选择“文件|新建”,在“新建”对话框中选择“程序”文件类型,单击“新建文件”按钮,进入代码编辑窗口。3.命令:MODIFY COMMAND 程序文件名 输入命令语句时,必须一条命令占一行,一行写不下时,在行尾加续行符(;),换行后接着书写该命令语句。,3,4,6.1.3 程序文件的修改对已建立的程序文件可以重新进入代码编辑窗口修改内容。1项目管理器:选中要修改的程序文件,单击“修改”按钮,重新打开代码编辑窗口。修改后,选择“文件|保存”命令,保存程序。2菜单:选择“文件|打开”命令,将要修改的程序文件调入代码编辑窗口。3命令:MODI

3、FY COMMAND 程序文件名,5,1项目管理器:选中要执行的程序文件,单击“运行”按钮。2.菜单:选择“程序|运行”命令。3.命令:DO 程序文件名,6.1.4 程序文件的执行,6,6.2.1 基本命令l注释命令 非执行语句,用于提高程序的可读性。NOTE、*(行首注释)、&(行尾注释)命令格式1:NOTE 注释内容note not字符 命令格式2:*注释内容注释字符 命令功能:对程序作注释,不执行任何操作。例如:*计算园的面积 r=5&园的半径为5 s=3.14*r*r?”s=“,s,7,2文本显示命令 TEXT 文本内容 ENDTEXT功能:将文本内容 原样显示 注意文本内容 不用加定

4、界符例如:TEXT 西北师范大学一所重点大学 ENDTEXT,8,2.环境设置命令 set 命令。set talk 命令 命令格式:set talk on/offS 命令功能:在on状态下,在执行一些非显示命令时,将把执行结果等信息送到显示器显示;在off状态下,屏幕上只显示命令要求输出的结果。set printer命令 命令格式:set printer on/offst printer off/on 命令功能:在on状态下,输出结果将传送到打印机输出;在off状态下,关闭向打印机输出。,9,3、系统初始化命令 命令格式:clear all 命令功能:该命令关闭所用打开的库文件、表文件及有关文

5、件,清除所有内存变量,清除所有用户自定义下拉菜单、弹出式菜单和窗口,选择1号工作区为当前工作区。常用于应用程序主控模块的开头。4、清屏命令 命令格式:CLEAR命令功能:清除VFP主窗口或当前用户自定义窗口,常用于应用程序某模块的开头,或在各输出命令前使用。,10,5.关闭文件命令:CLOSE ALL(关闭所有文件)CLOSE 文件类型(关闭指定类型的文件)6.运行中断和结束命令 Cancel 终止程序运行,返回命令窗口。RETURN 结束当前程序的执行,返回到调用它的上级程序。QUIT 关闭所有文件,退出 VFP 系统,返回操作系统环境。,11,1基本输出命令:?|?表达式表 功能:计算各表

6、达式的值,并将 结果送到主窗口 注意各表达式之间用逗号相隔 例如:?“r=“,3+5,6.2.2 输入/输出命令,12,2.键盘输入单字符命令:WAIT 命令格式:wait“提示信息”TO 内存变量功能:暂停程序的执行,并显示“提示信息”,等待用户输入任何单个字符后再继续执行程序。注意 1“提示信息”可有可无,如果有显示“提示信息”,如果无,则显示“按任意键继续”。2如果有“TO 内存变量”,则输入的字符将存人指定的内存变量。例如:1 wait 2 wait“请用户按任意键继续”3 wait“请用户按任意键继续”to h ZH“提示信息”to,13,3键盘输入字符串语句 命令格式:accept

7、”提示信息”to 内存变量 功能:显示”提示信息”,暂停程序的执行,等待用户从键盘输入内容并存人内存变量.注意此命令无论输入任何类型的数据,都作为字符型数据处理,输入字符型数据时不需要加定界符.accept“提示信息”to 示例:accept”请输入姓名:”to xm,14,4键盘输入语句 命令格式:input“提示信息”to 内存变量“功能:显示”提示信息”,暂停程序的执行,等待用户从键盘输入内容并存人内存变量.注意此命令可接受任何类型的数据,输入字符型数据时定界符,输入逻辑型数据时,用小圆点,如:.T.或.F.。输入日期型数据时,要加大括号,如:2005-04-25能解放 息”to 示例:

8、input“请输入数据”to z,15,5格式输入输出命令格式1:行号,列号 SAY 表达式 功能:在主窗口指定的位置处显示表达式的值格式2:行号,列号 SAY 表达式 GET 变量 READ 功能:在窗口指定位置处分别显示表达式和变量的值。若使用READ语句,则可以对变量的值进行修改。注意格式2,如果是内存变量,必须要先赋值,表达式 如果为字符型的数据,则要加定界符.,16,XM=“杨灵”2,10 SAY“姓名是:”3,10 SAY XMXB=男5,10 say“性别是:”7,10 say XBREAD,17,6.3 程序的基本控制结构 应用程序是用户为解决一个特定的问题而将有关的命令按一定

9、的结构组成的序列.顺序结构、选择结构、循环结构是三种基本的控制结构。在进行程序设计时,为了把解题的步骤清晰的表达出来,我们常常图形来描述流程图。它是用特定的图形符号和必要的文字来描述解题步骤。,18,数据的输入输出框,程序的开始与结束框,计算与处理数据框,判断框,连接线,并指出执行顺序,19,ClearUse c:XJKLOCATE FOR 姓名=“杨灵”DISPUSE,开始,清屏,打开表,查找,显示,关闭,结束,20,编写程序的步骤(1)明确题目要求解决什么问题(2)明确输入什么数据,处理什么数据,输出什么数据。(3)画出流程图(4)根据流程图编写程序(5)运行调试程序,21,输入程序的规则

10、:(1)一行只能输入一个命令且输完后要 按回车键;(2)如果一个命令一行输不下,则要分行输入且前一行的后面一定要输入分号,且要按回车键;如:disp all for 语文80.and.化学90;fields 姓名,外语,性别,学号,22,6.3 程序的基本控制结构,1.顺序结构:按语句的先后顺序逐条执行。直到最后一条语句执行完.,ClearUse c:XJKLOCATE FOR 姓名=“杨灵”DISPUSE,23,use xjk input“请输入要删除的记录号”to x GOTO x dele pack,24,2.选择结构:根据条件成立与否,选择执行 某些语句;基本格式:(一)第一种格式(1

11、)IF 条件表达式(THEN)语句序列 ENDIF,25,执行过程:当条件成立时,执行语句序列,否则不执行语句序列直接退到ENDIF后面去执行;举例INPUT“请输入X的值:”TO X IF X0 X=X+1?X=,X ENDIF X=X-1?X=,X,26,(2)USE XJKACCEPT“请输入姓名:”TO XMLOCA FOR 姓名=XMIF FOUND()REPL 语文 WITH 100ENDIF 注意:FOUND()可改为:FOUND()=.T.或.NOT.EOF(),27,(二).第二种格式 1.IF 条件表达式(THEN)语句序列1 ELSE 语句序列2 ENDIF 2.执行过程

12、:当条件成立时执行语句序列1,然后退到ENDIF后面去执行;当条件不成 立时,执行语句序列2,然后退到ENDIF后 面去执行;,28,举例INPUT X=TO X IF X0?X-1 ELSE?X+1 ENDIF?“结束”,29,(2)USE XJK ACCEPT“请输姓名”TO XM IF FOUND()DISP 姓名,语文 ELSE?“查无此人”ENDIF,30,(3)如果有多个条件,可用多个IF语句 X X0 Y=X+1 X0?X ENDIF IF X-2.AND.X0?X+3 ENDIF,31,(三)第三种格式 1.DO CASE CASE 条件表达式1 语句序列1 CASE 条件表达

13、式2 语句序列2.CASE 条件表达式N 语句序列N OTHERWISE 语句序列N+1 ENDCASE,32,执行过程:当条件表达式1成立,则执行 语句序列1,然后退到ENDCASE后面去 执行;当条件表达式1不成立时,继续判 断条件表达式2,如果成立,则执行语句 序列2然后退到ENDCASE后面去执行;依次类推;如果所有的条件表达式都不 成立,且还有OTHERWISE语句时;则执 行语句序列N+1,然后退到ENDCASE 后面去执行;,33,举例(DO CASE语句一般用于具有多个 条件或多个选项的题目)(1)INPUT“X=“TO X DO CASE CASE X0?X CASE X0?

14、X-1 CASE X=0?X+1 ENDCASE,34,(2)USE XJK?*?*1.追加记录*?*2.删除记录*?*3.显示记录*?*4.退出*?*ACCEPT 请选择1-4 TO X DO CASE CASE X=1 APPEND CASE X=2 ACCEPT 请输入条件 TO H,35,DELE FOR&H PACK CASE X=3 ACCEPT“请输入条件”TO K DISP FOR&K CASE X=4 CANCEL ENDCASE,36,CLEAR 10,10 SAY“*”11,10 SAY“*学生挡案管理系统*”12,10 SAY“*1建立库结构*”13,10 SAY“*2

15、追加记录*”14,10 SAY“*3退出*”15,10 SAY“*”,37,X=18,10 SAY“请输入1-3”GET X READ DO CASE CASE X=1 CREAT YYY CASE X=2 USE YYY APPE CASE X=3 EXIT ENDCASE,38,三.循环结构,一.循环结构:某个程序段的反 复执行的结构;二.基本格式,39,(1)第一种格式 1.DO WHILE 条件表达式 语句序列 ENDDO 2.执行过程:当条件成立时,执行语句序 列,执行完后自动返回到 DO WHILE 语句,再判断条件,如果成立,再执行语 句序列,如果不成立则退到ENDDO后 面去执

16、行;,40,3.举例 X=1 DO WHILE X5?”*”X=X+1 ENDDO 执行结果为:*,41,4.循环常用的控制格式(一)对表文件记录逐条操作的循环格式(1)USE 库文件名 DO WHILE.NOT.EOF()语句序列 SKIP ENDDO,42,(2)说明:当执行到 DO WHILE 语句时,首先判断EOF(),如果EOF()=.F.,则.NOT.EOF()=.T.执行语句序列,然后执行 SKIP;如EOF()=.T.则.NOT.EOF()=.F.,那么条件不满足,这时退到ENDDO后面去执行;注意记录的定位由 SKIP 完成;,43,(3)举例 显示每个学生的性别USE XJ

17、KDO WHILE.NOT.EOF()DISP 性别 SKIPENDDO 注意.NOT.EOF()可换为:.NOT.EOF()=.T.,44,(二)对表文件中满足条件的记录逐条 进行操作的循环格式;(1)USE 表文件名 LOCATE FOR 条件表达式 DO WHILE.NOT.EOF()语句序列 CONT ENDDO,45,(3)说明 首先用命令LOCATE 将记录指针指向第一条满足条件的记录上,然后进入循环执行语句序列,再执行CONT,将记录指针指向第二条满足条件的记录上,然后返回到 DO WHILE 语句,判断.NOT.EOF(),这样重复下去,直到.NOT.EOF()=.F.,然后,

18、退到ENDDO后面去执行;,46,(4)举例 USE XJK LOCATE FOR 语文80 DO WHILE.NOT.EOF()REPL 化学 WITH 100 CONT ENDDO?“全部改完”,47,(三)有限次循环控制方式(1)A=常量1 B=常量2 DO WHILE A(=)B 语句序列 A=A+1 A=A-1 ENDDO,48,(2)说明:当AB 时退到ENDDO后面去执行;(3)举例:求1+2+3+.+10 S=0 P=1 DO WHILE P=10 S=S+P P=P+1 ENDDO?S注意当给一个变量多次赋值时,取最后 赋予的只值;,49,求1+2+3+.+N S=0 P=1

19、 INPUT“请输入N的值:”TO N DO WHILE P=N S=S+P P=P+1 ENDDO?S,50,打印出 10,9,81P=10DO WHILE P=1?P P=P-1ENDDO求2+4+6+N(偶数)S=0 P=2 INPUT“N=“TO N DO WHILE P=N S=S+P P=P+2 ENDDO?S,51,(4)无限循环控制方式,1.格式 DO WHILE.T.语句序列 ENDDO2.说明:因为无限循环的条件永远为真(即条件永远成立),所以进入循环后,得用其它的方法退出,否则为死循环;,52,3.退出无限循环的命令(1)格式 EXIT(QUIT,RETURN CANCE

20、L)(2)功能:当执行此命令时就退到本循环 的ENDDO 后面去执行;(3)说明:LOOP命令与EXIT不同,当执行 LOOP时,就直接转到 DO WHILE 去 判断条件,如果条件成立,往下执行,否 则退出循环;(4)LOOP 与 EXIT可放到循环体的任何 地方;,53,(5)EXIT 的两种格式 DO WHILE.T.IF 条件表达式 EXIT ENDIF 语句序列 ENDDO 说明当条件表达式成立时退出循环,否则执行语句序列;,54,DO WHILE.T.DO CASE CASE 条件表达式1 EXIT CASE 条件表达式2 语句序列2.CASE 条件表达式N 语句序列N ENDCASE ENDDO,55,4.举例(1)求自然数的和,当和大于200时退出 P=0 S=0 DO WHILE.T.IF S200 EXIT ENDIF P=P+1 S=S+P ENDDO?S,56,(2)求自然数中偶数之和,当和大于200时 退出;S=0 P=0 DO WHILE.T.P=P+1 IF P/2INT(P/2)LOOP ENDIF S=S+P IF S200 EXIT ENDIF ENDDO?S,57,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号