结构化程序设计课件_第1页
结构化程序设计课件_第2页
结构化程序设计课件_第3页
结构化程序设计课件_第4页
结构化程序设计课件_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

结构化程序设计1谢谢观赏2019-6-176.1.1基本概念1.程序能够完成特定任务的命令序列,存储在命令文件(.PRG)中。运行该文件可自动执行一系列操作。2.结构化程序设计用结构化编程语句来编写程序。3.程序的基本结构(1)说明部分:一般是一组注释语句。(2)初始化部分:设置程序运行时的系统状态和参量初值。(3)程序主体部分:包括数据输入、处理和输出3个模块。(4)还原部分:将当前的工作环境恢复到执行该程序前的状态。(5)程序的退出:程序运行完毕,返回VFP应用程序窗口或退出VFP,返回操作系统。2谢谢观赏2019-6-176.1.2程序文件的建立1.项目管理器:选择“程序”项,单击“新建”按钮,打开代码编辑窗口,输入程序内容。然后选择“文件|保存”命令将编写的代码存入磁盘。2.菜单:选择“文件|新建”,在“新建”对话框中选择“程序”文件类型,单击“新建文件”按钮,进入代码编辑窗口。3.命令:MODIFYCOMMAND程序文件名输入命令语句时,必须一条命令占一行,一行写不下时,在行尾加续行符(;),换行后接着书写该命令语句。

3谢谢观赏2019-6-17命令序列注释语句4谢谢观赏2019-6-176.1.3程序文件的修改对已建立的程序文件可以重新进入代码编辑窗口修改内容。1.项目管理器:选中要修改的程序文件,单击“修改”按钮,重新打开代码编辑窗口。修改后,选择“文件|保存”命令,保存程序。2.菜单:选择“文件|打开”命令,将要修改的程序文件调入代码编辑窗口。3.命令:MODIFYCOMMAND程序文件名5谢谢观赏2019-6-17

1项目管理器:选中要执行的程序文件,单击“运行”按钮。2.菜单:选择“程序|运行”命令。3.命令:DO程序文件名6.1.4程序文件的执行6谢谢观赏2019-6-176.2.1基本命令l.注释命令非执行语句,用于提高程序的可读性。

NOTE、*(行首注释)、&&(行尾注释)命令格式1:NOTE注释内容note<注释字符>

not字符>

命令格式2:*注释内容注释字符>

命令功能:对程序作注释,不执行任何操作。例如:

*计算园的面积

r=5&&园的半径为5s=3.14*r*r?”s=“,s7谢谢观赏2019-6-172文本显示命令

TEXT

文本内容

ENDTEXT功能:将文本内容原样显示

[注意]文本内容不用加定界符例如:

TEXT

西北师范大学一所重点大学

ENDTEXT8谢谢观赏2019-6-172.环境设置命令set命令。

settalk命令命令格式:settalkon/offS命令功能:在on状态下,在执行一些非显示命令时,将把执行结果等信息送到显示器显示;在off状态下,屏幕上只显示命令要求输出的结果。

setprinter命令命令格式:setprinteron/offst

printeroff/on

命令功能:在on状态下,输出结果将传送到打印机输出;在off状态下,关闭向打印机输出。9谢谢观赏2019-6-173、系统初始化命令命令格式:clearall

命令功能:该命令关闭所用打开的库文件、表文件及有关文件,清除所有内存变量,清除所有用户自定义下拉菜单、弹出式菜单和窗口,选择1号工作区为当前工作区。常用于应用程序主控模块的开头。4、清屏命令命令格式:CLEAR命令功能:清除VFP主窗口或当前用户自定义窗口,常用于应用程序某模块的开头,或在各输出命令前使用。10谢谢观赏2019-6-175.关闭文件命令:CLOSEALL

(关闭所有文件)

CLOSE文件类型(关闭指定类型的文件)6.运行中断和结束命令

Cancel

终止程序运行,返回命令窗口。

RETURN

结束当前程序的执行,返回到调用它的上级程序。

QUIT关闭所有文件,退出VFP系统,返回操作系统环境。11谢谢观赏2019-6-171.基本输出命令:?|??表达式表功能:计算各表达式的值,并将结果送到主窗口

[注意]各表达式之间用逗号相隔例如:?“r=“,3+56.2.2输入/输出命令12谢谢观赏2019-6-172.键盘输入单字符命令:WAIT命令格式:wait[“提示信息”][TO内存变量]功能:暂停程序的执行,并显示“提示信息”,等待用户输入任何单个字符后再继续执行程序。[注意]1“提示信息”可有可无,如果有显示“提示信息”,如果无,则显示“按任意键继续”。

2如果有“TO内存变量”,则输入的字符将存人指定的内存变量。例如:1wait2wait“请用户按任意键继续…”3wait“请用户按任意键继续…”toh

ZH[[

“提示信息”][to<内存变量名>]wait[“提示信息”][to<内存变量名>]13谢谢观赏2019-6-173键盘输入字符串语句命令格式:accept[”提示信息”]to内存变量功能:显示”提示信息”,暂停程序的执行,等待用户从键盘输入内容并存人内存变量.[注意]此命令无论输入任何类型的数据,都作为字符型数据处理,输入字符型数据时不需要加定界符.accept[“提示信息”][to<内存变量名>]

示例:accept”请输入姓名:”toxm14谢谢观赏2019-6-174键盘输入语句命令格式:input[“提示信息”]to内存变量

[“功能:显示”提示信息”,暂停程序的执行,等待用户从键盘输入内容并存人内存变量.[注意]此命令可接受任何类型的数据,输入字符型数据时定界符,输入逻辑型数据时,用小圆点,如:.T.或.F.。输入日期型数据时,要加大括号,如:{^2005-04-25}能解放息”][to<内存变量名>]

示例:input“请输入数据”toz15谢谢观赏2019-6-175.格式输入输出命令格式1:@行号,列号SAY表达式功能:在主窗口指定的位置处显示表达式的值格式2:@行号,列号SAY表达式GET变量

READ

功能:在窗口指定位置处分别显示表达式和变量的值。若使用READ语句,则可以对变量的值进行修改。

[注意]格式2,如果是内存变量,必须要先赋值,表达式如果为字符型的数据,则要加定界符.16谢谢观赏2019-6-17XM==“杨灵”@2,10SAY“姓名是:”@3,10SAYXMXB=‘男’@5,10say“性别是:”@7,10sayXBREAD17谢谢观赏2019-6-176.3程序的基本控制结构

应用程序是用户为解决一个特定的问题而将有关的命令按一定的结构组成的序列.顺序结构、选择结构、循环结构是三种基本的控制结构。在进行程序设计时,为了把解题的步骤清晰的表达出来,我们常常图形来描述——流程图。它是用特定的图形符号和必要的文字来描述解题步骤。18谢谢观赏2019-6-17数据的输入输出框程序的开始与结束框计算与处理数据框

判断框连接线,并指出执行顺序19谢谢观赏2019-6-17ClearUsec:\XJKLOCATEFOR姓名=“杨灵”DISPUSE开始清屏打开表查找显示关闭结束20谢谢观赏2019-6-17编写程序的步骤(1)明确题目要求解决什么问题(2)明确输入什么数据,处理什么数据,输出什么数据。(3)画出流程图(4)根据流程图编写程序(5)运行调试程序21谢谢观赏2019-6-17输入程序的规则:

(1)一行只能输入一个命令且输完后要按回车键;(2)如果一个命令一行输不下,则要分行输入且前一行的后面一定要输入分号,且要按回车键;

如:

dispallfor语文>80.and.化学<90;fields姓名,外语,性别,学号22谢谢观赏2019-6-176.3程序的基本控制结构1.顺序结构:按语句的先后顺序逐条执行。直到最后一条语句执行完.ClearUsec:\XJKLOCATEFOR姓名=“杨灵”DISPUSE23谢谢观赏2019-6-17

usexjkinput“请输入要删除的记录号”tox

GOTOxdelepack24谢谢观赏2019-6-17

2.选择结构:根据条件成立与否,选择执行某些语句;基本格式:(一)第一种格式

(1)IF条件表达式(THEN)

语句序列

ENDIF25谢谢观赏2019-6-17执行过程:当条件成立时,执行语句序列,否则不执行语句序列直接退到ENDIF后面去执行;举例INPUT“请输入X的值:”TOXIFX>0X=X+1?‘X=’,XENDIFX=X -1?‘X=’,X26谢谢观赏2019-6-17(2)USEXJKACCEPT“请输入姓名:”TOXMLOCAFOR姓名=XMIFFOUND()REPL语文WITH100ENDIF

[注意]:FOUND()可改为:FOUND()=.T.或.NOT.EOF()27谢谢观赏2019-6-17(二).第二种格式

1.IF条件表达式(THEN)

语句序列1

ELSE

语句序列2

ENDIF

2.执行过程:当条件成立时执行语句序列1,

然后退到ENDIF后面去执行;当条件不成立时,执行语句序列2,然后退到ENDIF后面去执行;28谢谢观赏2019-6-17举例INPUT‘X=‘TOXIFX>0?X-1ELSE?X+1ENDIF?“结束”

29谢谢观赏2019-6-17(2)USEXJKACCEPT“请输姓名”TOXMIFFOUND()DISP姓名,语文

ELSE?“查无此人”

ENDIF30谢谢观赏2019-6-17(3)如果有多个条件,可用多个IF语句

XX>0Y=X+1X<-2X+3-2<X<0INPUT“X=“TOX

IFX>0?X

ENDIF

IFX<-2?X+1

ENDIF

IFX>-2.AND.X<0?X+3

ENDIF31谢谢观赏2019-6-17(三)第三种格式

1.DOCASECASE条件表达式1

语句序列1CASE条件表达式2

语句序列2…….CASE条件表达式N

语句序列N

[OTHERWISE

语句序列N+1]ENDCASE32谢谢观赏2019-6-17执行过程:当条件表达式1成立,则执行语句序列1,然后退到ENDCASE后面去执行;当条件表达式1不成立时,继续判断条件表达式2,如果成立,则执行语句序列2然后退到ENDCASE后面去执行;

依次类推;如果所有的条件表达式都不成立,且还有OTHERWISE语句时;则执行语句序列N+1,然后退到ENDCASE

后面去执行;33谢谢观赏2019-6-17举例(DOCASE语句一般用于具有多个条件或多个选项的题目)(1)INPUT“X=“TOXDOCASECASEX>0?XCASEX<0?X-1CASEX=0?X+1ENDCASE34谢谢观赏2019-6-17(2)USEXJK

?‘**************’?‘*1.追加记录*’?‘*2.删除记录*’?‘*3.显示记录*’?‘*4.退出*’?‘**************’ACCEPT‘请选择1-4’TOXDOCASECASEX=‘1’APPENDCASEX=‘2’ACCEPT‘请输入条件’TOH35谢谢观赏2019-6-17DELEFOR&HPACKCASEX=‘3’ACCEPT“请输入条件”TOKDISPFOR&KCASEX=‘4’CANCELENDCASE36谢谢观赏2019-6-17CLEAR@10,10SAY“******************”@11,10SAY“*学生挡案管理系统*”@12,10SAY“*1建立库结构*”@13,10SAY“*2追加记录*”@14,10SAY“*3退出*”@15,10SAY“******************”37谢谢观赏2019-6-17X=‘‘@18,10SAY“请输入1-3”GETXREADDOCASECASEX=‘1’CREATYYYCASEX=‘2’USEYYYAPPECASEX=‘3’EXITENDCASE38谢谢观赏2019-6-17三.循环结构一.循环结构:某个程序段的反复执行的结构;二.基本格式39谢谢观赏2019-6-17(1)第一种格式

1.DOWHILE条件表达式语句序列

ENDDO2.执行过程:当条件成立时,执行语句序列,执行完后自动返回到DOWHILE

语句,再判断条件,如果成立,再执行语句序列,如果不成立则退到ENDDO后面去执行;40谢谢观赏2019-6-173.举例

X=1DOWHILEX<5?”*”X=X+1ENDDO

执行结果为:****41谢谢观赏2019-6-174.循环常用的控制格式(一)对表文件记录逐条操作的循环格式

(1)USE库文件名

DOWHILE.NOT.EOF()

语句序列

SKIPENDDO

42谢谢观赏2019-6-17(2)说明:

当执行到DOWHILE语句时,首先判断EOF(),如果EOF()=.F.,则.NOT.EOF()=.T.执行语句序列,然后执行SKIP;如EOF()=.T.则.NOT.EOF()=.F.,那么条件不满足,这时退到ENDDO后面去执行;[注意]记录的定位由SKIP完成;43谢谢观赏2019-6-17(3)举例显示每个学生的性别USEXJKDOWHILE.NOT.EOF()DISP性别

SKIPENDDO[注意].NOT.EOF()可换为:.NOT.EOF()=.T.44谢谢观赏2019-6-17(二)对表文件中满足条件的记录逐条进行操作的循环格式;(1)USE表文件名

LOCATEFOR条件表达式

DOWHILE.NOT.EOF()

语句序列

CONTENDDO45谢谢观赏2019-6-17(3)说明首先用命令LOCATE将记录指针指向第一条满足条件的记录上,然后进入循环执行语句序列,再执行CONT,将记录指针指向第二条满足条件的记录上,然后返回到DOWHILE

语句,判断.NOT.EOF(),这样重复下去,直到.NOT.EOF()=.F.,然后,退到ENDDO后面去执行;46谢谢观赏2019-6-17(4)举例

USEXJKLOCATEFOR语文>80

DOWHILE.NOT.EOF()REPL化学WITH100

CONTENDDO?“全部改完”47谢谢观赏2019-6-17(三)有限次循环控制方式

(1)A=常量1B=常量2

DOWHILEA<(<=)B

[A>(>=)B]

语句序列

A=A+1[A=A-1]ENDDO48谢谢观赏2019-6-17(2)说明:当A<=B时循环继续进行,当A>B

时退到ENDDO后面去执行;(3)举例:

求1+2+3+….+10

S=0P=1DOWHILEP<=10S=S+PP=P+1ENDDO?S[注意]当给一个变量多次赋值时,取最后赋予的只值;49谢谢观赏2019-6-17求1+2+3+….+NS=0P=1INPUT“请输入N的值:”TONDOWHILEP<=NS=S+PP=P+1ENDDO?S50谢谢观赏2019-6-17打印出10,9,8…1P=10DOWHILEP>=1?PP=P-1ENDDO求2+4+6+……+N(偶数)

S=0P=2INPUT“N=“TONDOWHILEP<=NS=S+PP=P+2ENDDO?S51谢谢观赏2019-6-17(4)无限循环控制方式1.格式

DOWHILE.T.

语句序列

ENDDO2.说明:因为无限循环的条件永远为真(即条件永远成立),所以进入循环后,得用其它的方法退出,否则为死循环;52谢谢观赏2019-6-173.退出无限循环的命令

(1)格式

EXIT(QUIT,RETURNCANCEL)

(2)功能:当执行此命令时就退到本循环的ENDDO

后面去执行;

(3)说明:LOOP命令与EXIT不同,当执行

LOOP时,就直接转到DOWHILE

去判断条件,如果条件成立,往下执行,否则退出循环;(4)LOOP

与EXIT可放到循环体的任何地方;53谢谢观赏2019-6-17(5)EXIT

温馨提示

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

评论

0/150

提交评论