您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 第2章结构化程序设计
1第2章结构化程序设计第一讲重点:命令文件的建立与执行命令;常用的输入、输出命令难点:带参数的命令文件的执行教学目的:掌握命令文件的建立与执行命令;常用的输入、输出命令教学方法和手段:理论讲授、多媒体演示和实际操作相结合。理论讲解主要以讲授为主,辅以设问、引导、启发、提问等教学方法。演示主要以案例驱动教学方法为主,辅以设问、引导、启发、提问等教学方法。学生上机操作以任务驱动教学方法为主。教学过程:一、首先复习上次课的主要内容。复习主要以提问、设问等方式进行。提问时使用具体的例子。二、通过引论,导入新课。2.1.1命令文件的建立与执行1.命令文件概念程序是为了完成一定任务,由若干条可执行的命令或语句组成的序列。而用于存储这些由命令组成的文件,即为命令文件,又称为程序文件。命令文件的扩展名为prg。2.命令文件的建立建立程序文件可以用任何一种字处理的文本编辑器进行(如Windows自带的记事本)。下面我们将介绍如何调用VFP内嵌的编辑器建立程序文件。格式:Modifycommand[文件名|?]Modifyfile[文件名|?]功能:进入程序编辑器,创建程序文件。说明:①可选项[文件名|?]用于设置要编辑的文件名。②在文件名前可指明路径,若未指明则默认路径为当前驱动器的当前目录。如执行命令Modifycommandc:\shu\exam1,程序文件exam1.prg储存在c盘的子目录shu下,而执行Modifyfileexam2.prg后,程序文件exam2.prg将储存在当前驱动器的当前目录中。例1编写程序exam1.prg,计算表达式a*b,ab的值,并在屏幕上显示出结果,其中a的值为3,b的值为5。程序内容如下:settalkoffa=3b=5?a*b?absettalkon在命令窗口中输入modifycommandexam1或输入modifyfileexam1.prg即可进入到程序编辑窗口,输入程序内容后,按下Ctrl+w组合键保存,就将exam1.prg程序存入到磁盘。我们就在计算机上建立了一个exam1.prg程序文件。3.程序文件的执行2当一个程序文件建立后就可以运行了。运行VFP程序的命令格式如下:格式:Do程序文件名[with参数表]功能:执行指定的程序。说明:①若是省略程序文件的扩展名,则系统默认其扩展名为prg。②命令中的可选项[with参数表]用于执行带参数的程序。③在某一个程序文件中调用其他命令文件作为子程序也使用Do语句。创建程序命令:modifycommandexam2程序内容如下:clearsettalkoffusestudentlistfor总分320fields学号,姓名,总分offusesettalkon建立该程序后,执行命令为:doexam2则屏幕上将会显示出:学号姓名总分9912004韩伟娟339.0例3编写程序exam3求三角形的面积。创建程序命令:modifycommandexam3程序内容如下:parametersa,b&&定义了形式参数a,barea=(a*b)/2?三角形面积为:,area建好exam3.prg文件后,执行下述命令便可求出一个三角形面积。r=3doexam3withr,2*r程序运行结果如下:三角形面积为:9在exam3程序中,parameters语句后跟参数表,这些参数称为形式参数。执行命令中列在with后的参数称为实在参数。实在参数和形式参数的个数、类型与排列次序必须完全相匹配。2.1.2常用命令关于表操作的基本命令,在前面我们已经做过一些详细的介绍,本小节将从程序设计的角度出发,对一些在程序中常用的基本命令作具体的说明。1.非格式化输入语句(1)字符串输入命令Accept格式:Accept[提示信息]to内存变量功能:在屏幕上显示提示信息,等待用户键入一串字符,并把输入的字符串赋值给指定的内存变量。说明:①[提示信息]是一个字符型的表达式,若省略提示信息则不显示任何提示信息。②内存变量是一个已定义或未定义的字符型内存变量。③用户从键盘上输入字符串时,不必输入字符定界符,只要直接输入字符串中的字符即可。字符输入完后,按回车键表示结束,回车键不作为字符串中的字符。若直接按回车键,则获得空字符串。3例4执行下述语句:accept请输入性别:tosex此语句的功能是在屏幕上显示“请输入性别:”,并将用户输入的内容存放到内存变量sex中。若用户性别是“男”,则用户需键入——男,再按一次回车键即可。(2)数据输入命令Input格式:Input[提示信息]to内存变量功能:在屏幕上显示提示信息,等待用户键入数据,将键入的值赋给指定的内存变量。说明:①提示信息是一个字符型的表达式,若省略提示信息则不显示任何提示信息。②内存变量是一个已定义或未定义的变量。③用户输入数据时,应注意其类型。输入的数据可以是常数,也可以是表达式。输入不同类型的常数有不同的要求。字符型常数:必须用字符定界符(引号,方括号)括住,输入完后,按回车键表示结束。其中字符定界符和回车键不作为字符串中的内容。数值型常数:可直接输入整数或实数,输完后,按回车键表示结束。货币型常数:应在数值前加$符号,例$123.12。日期型常数:必须用日期定界符(大括号)括住,并且年月日的格式必须与当前系统要求的格式相同,同时输入的日期必须为有效日期。输完后,按回车键表示结束。逻辑型常数:必须用小数点括住,数据输完后,按回车键表示结束。例5执行下述语句:input请输入性别:tosex此语句的功能是在屏幕上显示“请输入性别:”并将用户输入的内容存放到内存变量sex中,若用户性别是“男”,则需键入——男,再按回车键即可。Input请输入你的考试成绩:tocj此语句的功能是在屏幕上显示“请输入你的考试成绩:”并将用户输入的数值存放到内存变量cj中。若用户考试成绩为83,则用户只需键入——83,再按回车键即可。input请输入你的出生日期:tobirthday此语句的功能是在屏幕上显示“请输入你的出生日期:”并将用户输入的内容存放到birthday中。若用户出生日期为1978年7月3日,则在严格日期格式下用户需键入——{^1978/07/03},在通常日期格式下用户需键入——{07/03/78},再按回车键即可。(3)等待命令Wait格式:Wait[提示信息][to内存变量][window[nowait]][timeout数值表达式]功能:暂停程序的执行,显示提示信息,并等待用户键入一个字符或单击鼠标。说明:①用户可通过[提示信息]来指定显示的提示内容,否则将显示系统设定的提示信息:“按任意键继续……”②可选项[to内存变量],用于将输入的一个字符赋值给指定的内存变量。③可选项[window[nowait]]用于将提示信息以系统信息窗口的形式出现在屏幕画面的右上角。而带有nowait选项的wait语句,并不会暂停程序的执行,仅仅在屏幕右上角显示提示信息。此时只须移动一下鼠标或按下任意键,这个系统信息窗口便会消除。需要注意的是nowait必须和window可选项合用才会产生效果。④可选项[timeout数值表达式],是指定Wait语句最多暂停程序执行多少秒,若在指定的秒数时间内,用户没有按任意键或单击鼠标,则到指定秒数后,wait语句便会自动终止并返回空串,重新继续执行程序。例6执行下述语句:wait看清后,按任意键,程序将继续运行timeout54此语句的功能是在屏幕上显示“看清后,按任意键,程序将继续运行”的提示信息,在5秒内等待用户按键或单击鼠标终止wait语句的执行,继续执行程序;5秒后wait语句自动终止,程序重新继续运行。wait你要找的记录没有找到!windownowait此语句的功能是在屏幕右上角显示系统信息窗口,窗口内容为“你要找的记录没有找到!”程序并不终止运行。等用户按键或移动鼠标时,信息窗口自动消失。wait继续查找请按Y键,否则请按N键!tochoosewindow此语句的功能是在屏幕右上角显示系统提示信息窗口,窗口内容为“继续查找请按Y键,否则请按N键!”,程序终止执行,等待用户按键,并将键入的一个字符赋值给内存变量choose。总结:Input语句可以输入字符型、数值型、货币型、逻辑型和日期(时间)型的数据,Accept和Wait语句则是专门输入字符型数据的。其中Wait语句,常用于要求用户快速响应的场合,用户只需要按某个键就可继续程序的运行。2.非格式化输出语句前面已经介绍过两种非格式化输出语句,即?和??,在这里就不再重复了。下面将介绍两个文本输出命令。格式1:\文本行|\\文本行功能:将一行文本信息的内容按书写形式的原样显示出来。说明:\与\\的差别在于前者输出的文本行前带有回车换行符,就是在下一行的第一列开始输出;而后者不带,文本行在当前光标位置开始输出。格式2:Text文本信息Endtext功能:可以进行多行文本的输出。说明:它只能在程序中使用,并且必须成对使用。例7下面有3个文本输出程序,它们运行的结果是相同的。modifycommandexam7a\您好,\\欢迎你光临!\今天天气真好!modifycommandexam7b\您好,欢迎你光临!\今天天气真好!modifycommandexam7ctext您好,欢迎你光临!今天天气真好!endtext分别运行这3个程序,都会在屏幕上显示出下列内容:您好,欢迎你光临!今天天气真好!3.格式化输出语句格式:@行,列say表达式[picture格式符][function功能符][size表达式1,表达式2]功能:在屏幕指定位置按照指定格式输出表达式。5说明:例8执行下述语句:@11,12saywelcomehome!function!@11,12saywelcomehome!picture@!@11,12saywelcomehome!picture!!!!!!!!!!!!!@11,12saywelcomehome!size2,104.格式化输入语句格式:@行,列get变量名[picture格式符][function功能符][size表达式1,表达式2][default表达式][range[表达式1][,表达式2]][valid条件1][when条件2]Read[save][cycle][timeout等待时间]功能:在屏幕指定位置按照指定格式输入数据,它必须与Read语句配合使用,用Read命令激活当前所有的Get变量。例9执行下述语句:@12,13getagedefault0read可在屏幕第12行第13列输入一个数值,并把这个数值赋给变量age,因为age没有定义,所以在get语句中有一个default子句对age变量进行定义赋值。又因为赋给age的初值为数值0,所以用户在输入数据时,只能输入数值型的数据,而不能是其他的类型。上面介绍的格式化输入输出语句,也可联合使用。格式:@行,列[say表达式[picture格式符][function功能符]][get变量名[picture模式符][function功能符]][default表达式][range[表达式1][,表达式2]][size表达式1,表达式2][valid条件1][when条件2]功能:从屏幕的指定位置开始显示表达式的值,空一格后反相显示变量的值。当执行Read语句时,光标出现在变量对应的反相区并暂停程序的执行,等待用户输入一个值并把该值赋予get后的变量。例10执行下述语句:xm=@11,12say请输入您的姓名:getxmread则在屏幕第11行,第12列显示“请输入您的姓名:”并在其后等待用户输入字符串,并将输入内容赋值给xm。5.其他语句(1)注释语句为了方便用户对程序的阅读,VFP提供了一种特殊的语句——注释语句,对程序语句做出解释说明。
本文标题:第2章结构化程序设计
链接地址:https://www.777doc.com/doc-2191966 .html