07 程序的分支执行结构 08版nullnull《计算机应用技术基础》null第7章
程序的
分支结构《计算机应用技术基础》本章目录本章目录7-1 程序的建立与维护
7-2 程序的流程控制7-1 程序的建立与维护 7-1 程序的建立与维护 Visual FoxPro程序文件,是一个以(.PRG)为扩展名的文本文件。任何可以建立、编辑文本文件的工具,都可以创建和编辑Visual FoxPro程序文件。这些文本编辑工具,可以是Visual FoxPro系统提供的内部编辑器,也可以是其它常用文本编辑软件。在文本编辑环境下,不仅可以对程序文件进行输入和...
nullnull《计算机应用技术基础》null第7章
程序的
分支结构《计算机应用技术基础》本章目录本章目录7-1 程序的建立与维护
7-2 程序的
控制7-1 程序的建立与维护 7-1 程序的建立与维护 Visual FoxPro程序文件,是一个以(.PRG)为扩展名的文本文件。任何可以建立、编辑文本文件的工具,都可以创建和编辑Visual FoxPro程序文件。这些文本编辑工具,可以是Visual FoxPro系统提供的内部编辑器,也可以是其它常用文本编辑软件。在文本编辑环境下,不仅可以对程序文件进行输入和修改,还可以实现字符串查找、替换、删除和编辑功能。7-1-1 用菜单选择方式建立及维护程序 7-1-1 用菜单选择方式建立及维护程序 1.创建与修改程序文件
命令方式
MODIFY COMMAND 〈程序文件名〉
菜单方式
打开“文件”菜单,选择“新建”;在“新建”窗口,选择“程序”,再选择“新建文件”;在“程序文件”编辑窗口,输入程序文件,并保存,此时建立程序文件的操作结束。2.运行程序文件2.运行程序文件 调用程序文件,即运行程序文件,是程序文件建立的最终目的。在Visual FoxPro系统中,调用程序文件有很多方法,在这里仅介绍其中两种方法。
菜单方式
以菜单方式调用程序文件,操作方法如下:
(1)在Visual FoxPro系统主菜单下,打开“程序”菜单,选择“运行”。
(2)在“运行”窗口,输入被调用的程序文件名即可。 null 命令方式
在Command 窗口中,输入如下命令,则程序文件被调用。
DO 〈程序文件名〉3.维护程序 3.维护程序 修改程序文件时,可以从菜单“文件”中选择“打开”命令,从屏幕显示的“打开”对话框中选择要修改的文件,在文件编辑器窗口中进行编辑修改程序。 保存程序保存程序在编辑过程中,
按Ctrl+Q或Esc键,中止程序的编辑;
按Ctrl+W键,保存编辑的程序,并返回到“命令”窗口中。
程序文件名默认的扩展名为.PRG。
如果省略“程序文件名”,系统会自动以“程序1”为程序文件名存盘。 4.运行程序4.运行程序在命令窗口中键入:
DO(程序文件名)
执行一个Visual FoxPro程序,程序文件名前根据需要可以加上路径。如:
DO ‘d:\VFP\程序1.prg’
该命令可以在命令窗口发出,也可以出现在某个程序文件中,这样就使得一个程序在执行的过程中还可以调用执行另一个程序。 null当程序被执行时,文件中包含的命令被依次执行,直到程序执行完毕,或遇到以下命令:
① CANCAL:终止程序运行,清除所有私有变量,返回命令窗口。
② DO:转去执行另一个程序。
③ RETURN:结束当前程序的执行,返回到调用它的上级程序,若无上级程序则返回到命令窗口。
④ QUIT:退出VFP系统,返回到操作系统。
null Visual FoxPro程序文件通过编译、连编,可以产生不同的目标代码文件。如果没有对程序进行编译,而且程序中存在错误,则在执行程序过程中Visual FoxPro会指出程序中存在的错误,出现错误提示对话框。此时,可以取消操作,中止程序的运行,修改后再运行。 7-1-3 程序的编译7-1-3 程序的编译在运行程序时,系统提供了两种方式:先编译后执行和一边编译一边执行。
先编译后执行是在编辑窗口打开要编译的程序,然后在菜单“程序”中选定“编译”。7-1-4 编程时的一般规则7-1-4 编程时的一般规则1.每行只能写一条命令,每条命令以回车换行作为结束标志;
2. 命令一行写不下时,可以分多行输入,在未输入完的数据后加分号,然后回车换行,系统会把此行作为前一行的续行;
3.“*”,“&&”,“NOTE”用来作为程序的说明的符号和命令;“*”及“NOTE”只能放在一行的前面,而“&&”可以放在前面或后面。7-1-5 简单的输入输出命令7-1-5 简单的输入输出命令(1). ACCEPT命令
格式 :accept [<提示信息>] to <内存变量>
功能:在屏幕上显示提示信息,等待用户输入一个字符串,赋值给一个内存变量
注意:该命令只能接受字符型常量,输入一个字符串(不必加引号)且按回车键后,程序继续执行1.键盘输入语句:用于程序执行中原始数据输入nullCLEA
ACCE "请输入用户名=" TO USER
? USER
WAITACCEPT命令:thisform.text1.value=‘’ACCEPT命令:thisform.text1.value=‘’null(2). INPUT命令
格式:input [<提示信息>] to <内存变量>
功能:与accept相似,不同的是能接受字符型、数字型、日期型和逻辑型数据。
说明:除输入数值型数据外,其他几种类型的数据一律使用定界符;输入的信息可以是表达式,input命令有计算功能
nullINPUT "请输入密码:" TO PASSWORD
? PASSWORD
WAITINPUT命令:thisform.text1.value=0INPUT命令:thisform.text1.value=0INPUT与ACCEPT的区别INPUT与ACCEPT的区别 INPUT[<提示信息>]TO<内存变量>
ACCEPT[<提示信息>]TO<内存变量>
(1)两条命令的主要区别在于:ACCEPT命令能在用户的输入内容中自动添加定界符后再给变量赋值,而INPUT命令则把输入内容的值计算出来后向变量赋值。因此,用 ACCEPT命令只能接受字符型常量,而INPUT命令则能接受任何类型的表达式。 nulljg=7800
INPUT "输入价格:"TO a
ACCEPT "输入价格:"TO b
?'a=',a,'b=',b
执行时,先后两次输入同样的内容jg+200,而输出结果却不相同,分别为
a=8000 b=jg +200 null(2)命令中可选项缺省时,屏幕上无显示信息而直接等待用户的输入;另外,提示信息也可以是含有变量的字符型表达式,这时屏幕上显示的提示信息将随变量值的不同而变化。
例如,
m='微型机'
INPUT “输入"+m+'价格'TO p
命令执行时,屏幕的提示信息为:
输入微型机价格
注意, INPUT命令也能接受字符型常量,但需把该常量两边的定界符同时输入。null(3). WAIT命令
【格式】WAIT [<提示符表达式>] [T0 <内存变量>][Windows[Nowait]][CLEAR] [TIMEOUT<数值表达式>]
【功能】等待用户从键盘上输入一个字符存入指定变量中。
nullINPUT "请输入密码:" TO PASSWORD
? PASSWORD
WAIT "进入程序吗?Y/N" TO YN
?YN2.格式输出语句2.格式输出语句 无论是内存变量还是字段变量都可以使用?或??命令输出,这种输出方式简单,但是不能按照用户指定的位置输出。格式输出语句能按用户的要求来设计屏幕格式,使之美观、方便。
【格式】 @ <行号,列号> SAY <表达式>
【功能】 从指定的行、列号开始输出表达式的值。
【说明】
1. <表达式>可以是常量、字段变量及由它们组成的表达式。
2. 定位输出时,一次只能输出一个表达式。 THISFORM.TEXT2.VALUE=3.14159*R*RTHISFORM.TEXT2.VALUE=3.14159*R*R文本输出命令 文本输出命令 命令格式(一):
\|\\<文本行>
命令格式(二):
TEXT
<文本信息>
ENDTEXT
null 命令格式(一): \|\\<文本行>
命令格式(二): TEXT
<文本信息>
ENDTEXT
功能:
格式(一)能将一行文本信息的内容按书写形式的原样显示出来.\与\\的区别在于前者输出的文本行带有回车换行符,就是在下一行的第一列开始输出;而后者则不带,文本行在当前光标位置开始显示。格式(二)则能把TEXT与ENDTEXT之间的文本信息内容显示出来,允许其间出现多个文本行。 null说明:
(1)文本输出命令TEXT与ENDTEXT只能在程序工作方式中使用,而且必须成对出现。
(2)通常把指定的屏幕画面用TEXT与ENDTEXT括起来后直接写在程序之中,以便在程序执行中把该画面按原样显示或打印出来。null(3)在文本信息中允许出现变量、函数和表达式,本命令能识别它们并显示其值。但需事先设置状态SET TEXTMERGE ON,并且把它们用符号“<<”与“>>”括起来以区别于一般的文字信息。如果这两个条件不同时具备,则本命令将它们与其它的文字信息同样看待而直接输出。null例如,执行下述命令后,在所显示的图式下面将显示系统的当前日期。
SET TEXTMERGE ON
TEXT
**************
设备管理系统
**************
<
>
ENDTEXT 3.程序设计辅助语句命令3.程序设计辅助语句命令(1) CLEAR 语句:
【格式】CLEAR
【功能】清除屏幕信息语句
(2) SET TALK ON/OFF语句:
【格式】SET TALK ON / OFF
【功能】命令执行的结果传送/不传送到屏幕上null(3) 程序运行结束命令:
QUIT && 返回操作系统
CANCEL && 返回Visual FoxPro 6.0“命令”窗口
RETURN && 返回调用处
7-2 程序的流程控制 7-2 程序的流程控制 Visual FoxPro系统的程序有两个特点:
一是程序控制流模式,由顺序、分支、循环三种基本结构构成。
二是面向对象可视化的结构程序模块,在每个模块的内部也是由程序控制流组成。
常见的控制结构如下:
程序的3种基本结构程序的3种基本结构任何一种计算机语言程序主体是由3种基本结构组成:顺序结构、选择结构和循环结构。顺序结构循环结构选择结构7-2-1 顺序结构7-2-1 顺序结构 在结构化程序设计方法中,程序基本控制结构有三种,即顺序结构、分支结构和循环结构。顺序结构是一种线形结构,是最基本的程序结构,它是按照命令或语句的排列顺序,依次执行。 7-2-2 选择结构7-2-2 选择结构分支结构是在程序执行时,根据不同的条件,选择执行不同的程序语句,用来解决有选择、有转移的诸多问题。选择结构的基本形式 选择结构的基本形式 有三种基本形式:
1、单条件选择结构
单分支结构
是一种IF-ENDIF分支结构
格式:
IF<条件表达式>
<语句序列>
EDNIF
功能:条件表达式的值为真(.T.)则执行“语句序列”,否则为假(.F.)则直接执行EDNIF后续语句条件真假语句序列null例2:从键盘输入一个数,若为正数则输出,若为非正数则结束。
此题学生自己分析。2、双向分支结构2、双向分支结构双向分支语句,即根据用户设置的条件表达式的值,选择两个操作中的一个来执行。是一种IF-ELSE-ENDIF选择结构
格式:
IF<条件表达式>
<语句序列1>
ELSE
<语句序列2>
ENDIF
功能:表达式为真,则执行“语句序列1”,再执行EDNIF的后续语句;为假,则执行“语句序列2”,再执行EDNIF的后续语句。条件真假语句序列1语句序列2null例1:从键盘输入一个数X,如果被5除余数为3,输出“3”, 否则输出“余数不为3”.
*MODI COMM BCB2.PRG
CLEA
INPUT “请输入一个数: ”TO X
IF X%5=3
?” 余数为3”
ELSE
?” 余数不为3”
ENDIFX=
X%5=
null例3:求一元二次方程AX2+BX+C=0的实根。
分析:用根的判别式:D=B2-4AC进行判别,如果:D≥0,说明有实根,如果:D<0,则说明无实根。
INPUT "请输入A = "TO A
INPUT "请输入B = "TO B
INPUT "请输入C = "TO C
?""
M=B*B-4*A*C
IF M>=0
X1 = (-B + SQRT(M))/(2*A)
X2 = (-B-SQRT(M))/2/A
?"X1= ",X1
?"X2= ",X2
ELSE
?"无实数解!"
ENDIF nullnull1、从键盘输入一个数X,如果能被2整除,输出’偶数’,否则输出“奇数”。
*MODI COMM BCB1.PRG
CLEA
INPUT “请输入一个数: ”TO X
IF INT(X/2)=X/2
?”这是一个偶数!”
ELSE
?”这是一个奇数!”
ENDIFnull例:用IF-ELSE-ENDIF方法,再做一次求解一元二次方程的根,若有实根,则输出实根,否则输出“无实根”。3、多分支条件选择语句(多路选择)3、多分支条件选择语句(多路选择)是一种DO CASE-ENDCASE分支结构
格式:
DO CASE
CASE<条件表达式1>
<语句序列1>
CASE<条件表达式2>
<语句序列2>
……
CASE<条件表达式n>
<语句序列n>
[OTHERWISE
<语句序列n+1>]
ENDCASE条件1语句
序列1条件n。。。语句
序列nOTHERWISEyNNynull功能:依次判断条件1-n的表达式,当遇到第一个条件为真时,则执行该表达式对应的语句序列,然后转去执行ENDCASE的后续语句,若前几个表达式都为假,则执行OTHERWISE的语句序列,然后执行ENDCASE的后续语句。
使用分支语句应注意的几点使用分支语句应注意的几点(1)IF… … ENDIF和DO CASE… … ENDCASE 必须配对使用,DO CASE与第一个CASE〈条件表达式〉之间不应有任何命令。
(2)〈条件表达式〉可以是各种表达式或函数的组合,其值必须是逻辑值。
(3)〈命令行序列〉可以由一个或多个命令组成,可以是条件控制语句组成的嵌套结构。
(4)DO CASE… … ENDCASE 命令,每次最多只能执行一个〈命令行序列〉。在多个CASE项的〈条件表达式〉值为真时,只执行第一个〈条件表达式〉值为真的〈命令行序列〉,然后执行ENDCASE的后面的第一条命令。null例:从键盘输入一个学生的成绩,按下述规定输出: 90分-100分 输出“优秀”
80分-89分 输出“良好”
70分-79分 输出“中等”
60分-69分 输出“及格”
0分— 59分 输出“不及格”
参考P135【例7-10】练习练习编写程序,输入一个数,判断这个数能否被6整除。
编写一正整数存于变量X中,判断它是几位数。7-6 小结7-6 小结通过本章的学习,要求读者掌握以下主要内容:
l 程序的建立与维护。
l 程序的基本操作,如:程序的运行、编译及编程时的一般规则等。
l 掌握结构化程序设计的基本要点及顺序结构、和选择结构的编程概念技巧。 本章作业:本章作业:作业27 编写顺序结构程序
作业28 阅读分支结构程序
作业29 编写分支结构程序
null
本文档为【07 程序的分支执行结构 08版】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。