




免费预览已结束,剩余89页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章程序设计,程序文件的建立与运行程序的控制结构过程程序设计,7.1程序文件的建立与运行7.1.1程序文件的建立1.命令方式建立程序文件MODIFYCOMMAND功能:打开程序编辑窗口,修改或创建程序文件。指定修改或创建的程序文件名。命令程序文件的扩展名是.PRG。,2.在程序编辑窗口中输入命令例编写两个变量的加法运算程序。步骤1:在命令窗口里输入:MODIFYCOMMANDCX1步骤2:在程序编辑窗口输入如下6条命令。CLEAR&将屏幕输出窗口内容清空a=12&将数值12赋值给变量ab=18&将数值18赋值给变量bc=a+b&将变量a与b的和计算出来,赋值给变量c?a,b,c&输出变量a、b、c的值RETURN&表示程序结束。在输入程序时,请注意以下几点:a.一个命令语句中只能有一个命令动词;b.每输入完一个语句按“回车”键表示该语句结束;c.每一个程序最后一般应有一个结束语句,以表示该程序的结束。,3.程序文件的保存、打开与关闭(1)程序文件的保存按快捷键Ctrl+W将文件进行保存退出。或(2)程序文件的打开在命令窗口里,利用“MODIFYCOMMAND”命令打开指定程序文件,进行编辑修改。(3)程序文件的关闭a.单击菜单【文件(F)】【关闭(C)】命令;b.单击程序编辑窗口右上角的【】关闭按钮;c.在“命令”窗口里输入命令:CLOSEALL;d.按快捷键Ctrl+W,保存并关闭程序文件。,7.1.2程序的运行命令方式运行程序DO功能:将指定的程序文件调入内存并运行。说明:a.默认程序扩展名为.PRG,可不必输入;b.该命令可在命令窗口里输入执行,也可以出现在另一个程序文件中,后者可实现在一个程序中调用另一个程序。如在命令窗口里输入:DOcx1执行程序cx1后,将在屏幕输出程序计算结果:121830在程序打开并且为当前程序的情况下,单击常用工具栏上【!】命令按钮也可以执行程序。,7.1.3程序中的辅助命令1、程序书写规则:一行只能写一条语句。每输入完一个语句按“回车”键表示该语句结束。如果希望把一行语句分两行写,应在第一行的尾部键入继行符“;”2.程序注释命令VFP提供了3种程序设计注释命令:格式1:NOTE格式2:*功能:使NOTE或*后面的内容成为注释内容。格式3:&功能:对&左面的命令做出解释或给出运行结果,又称为行尾注释命令。,3.程序结束命令格式1:RETURN功能:返回到上一级模块。如果本程序是以菜单方式或在命令窗口中调用执行的,则返回到命令交互状态即命令窗口。格式2:CANCEL功能:结束程序运行,关闭程序中所有的文件和变量,返回到交互状态即命令窗口。格式3:QUIT功能:关闭VisualFoxPro,返回到操作系统对一个独立程序来说,一般在最后一条语句要用RETURN命令,以表示程序的结束。,7.1.4交互式的输入命令根据解决实际问题的需要,往往在程序运行的过程中,由用户向程序输入一些数据或信息,完成这种功能的一些命令称为交互式输入命令。,a.是在屏幕上出现的提示信息。它可以是字符串,也可以是字符型内存变量,此时该内存变量必须预先赋值。b.用户在键盘输入的任何字符信息都被赋值给“内存变量”。输入的数据将作为字符型数据处理,不需要定界符括起来。c.输入完需要的信息后,按Enter键结束本命令的输入。如果没有输入其他信息,只输入一个回车键,将把一个空字符赋值给内存变量。,1.字符型数据输入命令ACCEPTACCEPTTO功能:暂停程序的执行,等待用户输入一个字符串给变量,例编一程序,将学生表打开,在程序运行中输入学生姓名,显示指定姓名的人员记录。该程序编写步骤为:步骤1:在命令窗口里输入命令:MODIFYCOMMANDCX2步骤2:在打开的程序窗口里输入如下语句:NOTE该程序查找指定姓名的人员信息。CLEARUSErsbACCEPT“请输入要查找的姓名:”TOname1LOCATEFORALLTRIM(姓名)=name1DISPLAYRETURN步骤3:按Ctrl+W保存该程序步骤4:运行程序,在命令窗口里输入:DOCX2请输入要查找的姓名:李明,a.,同“ACCEPT”命令中的含义。b.用户可输入任何一个合法的数值型(N)、字符型(C)、日期型(D)、逻辑型(L)表达式,表达式的值并将该值赋值给内存变量。c.如果输入字符串信息,则必须加上双引号或单引号定界符,如ABC。d.按Enter键结束输入,系统将表达式的值赋值给内存变量。e.如果输入的是非法表达式,系统将提示重新输入。,2.表达式输入命令INPUTINPUTTO功能:暂停程序的执行,接受用户输入合法表达式并将表达式的值赋值给内存变量。,例已知圆半径为r,求圆面积s假设圆的半径为r,则计算圆面积s的公式为:s=r2,计算圆面积公式的表达式为:3.14*r2。程序编写步骤如下:步骤1:在命令窗口里输入:MODIFYCOMMANDCX3步骤2:在打开的程序窗口里输入如下语句:*该程序用于计算指定半径的圆的面积。CLEARINPUT请输入圆半径r=TOrs=3.14*r2?该圆半径为:,r?该圆面积为:,sRETURN步骤3:按Ctrl+W保存该程序文件。步骤4:在命令窗口里输入运行命令:DOCX3请输入圆半径r=18,a.指定要显示的自定义信息。若省略该参数,则显示信息“按任意键继续”。例如下列命令显示一行有提示信息。WAIT请稍后,程序将继续执.“此时单击鼠标按键、按下键盘上任意一个按键,程序继续执行.,3.程序暂停、等待接收单字符命令WAITWAITTO短语,将用户所按键盘字符赋值给指定的内存变量。,用于指定在屏幕上输出的行、列位置坐标。SAY用来在屏幕上输出表达式的值。c.GET子句用来在屏幕上输入指定变量的值,且必须与READ命令配套使用。d.DEFAULT子句用来给GET子句中的变量赋初值。,4.定位输出与输入命令SAYGETDEFAULT在屏幕上指定行、列位置输出指定表达式的值,并且(或者)获得所指定变量的值。,例将学生表打开,新增加一条记录部分字段内容,增加完成后在浏览窗口显示数据表记录内容,关闭浏览窗口,屏幕出现等待信息,等待信息关闭,清屏并关闭数据表,程序结束。该程序如下:CLEARUSE学生表APPENDBLANK3,8SAY请输入新职工信息:4,8SAY“学号:”GET学号5,8SAY姓名:GET姓名6,8SAY“性别:”GET性别READBROWSEWAIT“程序将在按任意键后关闭.。USECLEARRETURN,例编写一个程序,根据记录号来修改学生表中的记录。该程序如下:CLEARUSE学生表a=110,20say“请输入记录号”getareadgoa12,20SAY“修改该同学的信息:14,20SAY“学号:”GET学号16,20SAY姓名:GET姓名18,20SAY“性别:”GET性别READBROWSEUSERETURN,7.2程序的控制结构程序设计包括三种基本结构,即顺序结构、选择结构、循环结构。,7.2.1顺序结构顺序结构是程序设计中最基本的结构,该结构按照程序命令出现的先后顺序依次执行。其它结构作为它的组成部分而存在于程序之中。事实上,程序中的命令如果不进行特殊说明,就自动按其前后排列顺序执行。我们以前介绍的几个例题都是顺序结构程序设计题目。,7.2.2选择结构可分为简单分支结构、双分支选择结构和多分支选择结构。,简单分支结构简单分支结构是由IF语句开头,以ENDIF语句结束,中间由若干条命令组成的。IF命令序列ENDIFa.如果的逻辑值为.T.,就依次执行命令序列,执行完后就转去执行ENDIF之后的命令。如果的逻辑值为.F.,则直接转到ENDIF之后的命令。b.IF语句和ENDIF语句必须成对出现,且各占一行。c.为了程序阅读方便,便于以后维护修改,命令序列部分最好采取向右缩进书写的方式。,问题分析:设行李重量为W公斤,应付运费为P元,则运费公式为:p=0.25w当W50p=500.25+(w-50)0.45当W50程序如下:CLEARINPUT请输入行李重量:TOwP=0.25*wIFw50P=50*0.25+(w-50)*0.45ENDIF?行李重量为:,w?应付运费为:,pRETURN,例铁路托运行李,按规定每张客票托运行李不超过50公斤时,每公斤0.25元,如超过50公斤,超过部分按每公斤0.45元计算。编写一个程序,把行李重量输入计算机,计算出运费。,根据以上分析,该问题计算机程序框图,2.双分支简单结构,双分支选择结构也是由IF语句开头,以ENDIF语句结束,中间由若干条命令组成的,但其中包含一条ELSE语句。IF命令序列1ELSE命令序列2ENDIFa.如果的逻辑值为.T.,就执行命令序列1,执行完后就转到执行ENDIF之后的命令。如果的逻辑值为.F.,就执行命令序列2,完成后转去执行ENDIF之后的命令。b.ELSE语句单独占一行,IF语句和ENDIF语句必须成对出现,且各占一行。,例铁路托运行李,按规定每张客票托运行李不超过50公斤时,每公斤0.25元,如超过50公斤,超过部分按每公斤0.45元计算。编写一个程序,把行李重量输入计算机,计算出运费。CLEARINPUT请输入行李重量:TOwIFw50P=50*0.25+(w-50)*0.45elseP=0.25*wENDIF?行李重量为:,w?应付运费为:,pRETURN,1、设计简单分支程序。在“员工信息表”表文件中查询“刘明”的基本情况,如果找到,显示信息,否则显示“查无此人”。,1、设计简单分支程序。由键盘输入一个员工的姓名,在“员工信息表”表文件中该员工的基本情况,如果找到,显示信息,否则显示“查无此人”。,例设计选择分支程序,在“ZGSJ.DBF”表文件中查看编号为“1002”的职工的月收入,若月收入大于600元,显示“该职工的月收入大于600”;否则显示“该职工的月收入小于600”。,UsezgsjLocatefor编号=“1002”Iffound()Else“无此编号”endif,If月收入600?”该职工的月收入大于600”Else?”该职工的月收入大于600”,3.分支嵌套结构对于在分支结构中的,可以包含任何VFP命令语句,也可以包括另外一个或几个合法的分支结构语句,也就是说分支结构可以嵌套。对于嵌套的分支结构语句,一定注意内外层分支结构层次分明,即注意各个层次的IF.ELSE.ENDIF语句配对情况。,4.多分支选择结构VisualFoxPro提供了多分支结构来解决多种不同情况下的程序选择问题。DOCASECASECASE.CASEOTHERWISEENDCASE,a.多分支选择结构执行的过程:系统依次判断各是否满足,若某一为.T.,就执行该下的,执行后不再判断其它,而转去执行ENDCASE后面的第一条命令。如果没有一个为.T.,就执行OTHERWISE后面的命令序列,直到ENDCASE;如果没有OTHERWISE,则不作任何操作就转向ENDCASE之后的第一条命令。b.DOCASE语句和ENDCASE语句必须成对出现,各占一行。c.多分支选择结构中各CASE语句后的是按其先后顺序判断执行的,因此对实际问题进行编程时,应认真考虑各个条件排列的先后顺序。,编写一个程序,要求从键盘输入一个学生的分数,判断该分数属于哪个等级.分数:60分以下为不及格,60-70为及格,70-80为中,80-90为良,90-100为优,Y=,根据键入的X值,计算下面的分段函数值,并显示结果。,5X2+6X-1(X0)X2-4X+1(020),【例6-7】输入考试成绩,显示成绩等级的程序。(90分以上为“优秀”;80-89为“良好”;60-79为“合格”;60分以下为“不合格”)。,SETTALKOFFINPUT“输入考试成绩:”TOXDOCASECASEX=90?“成绩等级:优秀”CASEX=80?“成绩等级:良好”CASEX=60?“成绩等级:合格”OTHER?“成绩等级:不合格”ENDCASERETU,6.9循环结构,循环结构有3种命令格式:DOWHILEENDDOFORENDFORSCANENDSCAN,6.2.3循环结构在程序设计中,有时需要从某处开始有规律地反复执行某些类似的操作,这些类似的操作一般用循环结构程序设计来解决。在VFP中,提供了“条件循环”、“步长型”和“表扫描型”循环结构。,1.条件循环结构DOWHILE命令序列ENDDO,a.当型循环执行的过程是:根据逻辑值进行判断。如果为.T.,则执行命令序列,命令序列执行完返回到DOWHILE语句,每执行一遍就判断一次DOWHILE语句中的。如果仍然为.T.,则继续执行命令序列,直到的逻辑值为.F.,则结束循环,转去执行ENDDO之后的第一条命令。,1.条件循环结构DOWHILE命令序列ENDDO,b.DOWHILE和ENDDO语句应配对使用,各占一行。c.在命令序列的适当位置可以放置EXIT和LOOP语句,用以对循环过程作特殊处理。EXIT的功能是:终止本层循环命令。LOOP语句的功能是:终止本次循环命令。,循环结构流程图,6.9循环结构,DoWhile条件loopenddo,DOWHILE条件EXITENDDO,例5计算1+2+10的值settalkoffcleara=1s=0doWhilea=10s=s+aa=a+1enddo?“s=“,sSettalkon,6.9循环结构,【例】编程计算S=1+2+3+100【例】编程计算S=1+3+5+99【例】编程计算S=2+4+6+100【例】输出100-300之间所有能被7整除的数基本结构(循环次数已知情况下)a=1(定义一个变量,确定循环开始的数)doWhilea=90k1=k1+1CASE成绩600?姓名,月收入n=n+1ENDSCAN?“月收入在600元以上的人数有:+STR(N,2)+人。useRETURN,Dowhile-enddo和scan-endscan的主要区别,显示学生表中所有入学成绩超过490分的学生名单,Use学生表Locatefor入学成绩490Dowhilenoteof()Disp姓名ContEnddouse,Use学生表scanfor入学成绩490Disp姓名endscanUse,4、循环结构嵌套循环结构的嵌套是指在一个循环体内包含其他的循环结构,也称为多重循环结构。同一种类型的循环结构可以嵌套,不同类型的循环结构也可以嵌套。要编好循环嵌套结构程序,必须做到:循环开始语句和循环结束语句配对出现;内外层循环层次分明,不得交叉。VisualFoxPro最多允许128层嵌套。,FORa=1TO9FORb=1TO9ENDFOR?ENDFORRETURN,外循环,内循环,【例6-19】输出下面图形(要求使用双重循环语句)*FORI=1TO4FORJ=1TOI?“*”ENDFOR?ENDFOR,【例6-19】输出下面图形(要求使用双重循环语句)*FORI=1TO4FORJ=1TOI?“*”ENDFOR?ENDFOR,阅读下列程序,写出运行结果,DIMENSIONA(3,3)I=1DOWHILEI4J=IDOWHILEJ4A(I,J)=I*J?A(I,J)J=J十1ENDDO?I=I+1ENDDORETURN,阅读下列程序,写出运行结果,SETTALKOFFCLEARZ=0X=1?DOWHILEX=5Y=1DOWHILEY=100【2】OTHERWISEY=Y+XENDCASE【3】?0-100之间的奇数之和为:,Y,2、统计zgsj.dbf中职工的月收入总和,并在表文件末尾增加一条空记录,在该记录的姓名字段中写入总计,在月收入字段中写入工资总和,最后显示该条记录。CLEAR【4】SUM月收入TOS【5】REPLACE姓名WITH总计,月收入WITHS【6】USERETURN,3、求S=1+2+3+1000。S=0I=1DOWHILE【1】【2】I=I+1ENDDO?S,4、某职工数据工资表文件为GZ.DBF。下面程序将根据职工的职称情况对工资作相应调整:职称为教授的基本工资加40%;职称为副教授的基本工资加20%,否则,若基本工资低于300的按500计算。请填上相应的语句,使之成为完整的程序。【3】DOWHILE.NOT.EOF()【4】CASE职称=教授【5】CASE职称=副教授REPLACE基本工资WITH基本工资*1.1CASE基本工资300REPLACE基本工资WITH300ENDCASE【6】ENDDOLISTUSE,5、按性别查询显示并统计RSDA.DBF中的指定性别的职工人数。USERSDASTORE0TORSACCEPT“请输入性别:”TOXB【4】DOWHILE.NOT.EOF()DISPOFFRS=RS+1【5】ENDDO?“性别为”+XB+“的人数=”,【6】USE,6、求出1到100之间的奇数积、偶数和,请在【】处填入正确的内容。s1=0s2=1FORI=1to100IF【1】s1=s1+IElses2=【2】ENDIFNEXT?奇数积为:,s2?偶数和为:,s1,7、有一数据表RS.DBF,编写实现在其中按姓名查询学生信息的程序。请在【】处填入正确的内容。【3】ACCEPT输入姓名:TONAME【4】IF.NOT.EOF()DISPEL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年影视行业工业化制作流程创新与质量保障策略分析报告
- 省委党校研究生现代管理学试题及答案
- 2024-2025学年自考专业(金融)试卷含答案详解【黄金题型】
- 2025年新能源汽车充电设施在户外生态园的应用与推广报告
- 2025注册公用设备工程师高分题库及一套答案详解
- 2024安全员考试考前冲刺练习含答案详解【能力提升】
- 2024年自考专业(建筑工程)能力检测试卷及完整答案详解(全优)
- 2023年度邮政行业职业技能鉴定考试彩蛋押题含答案详解(培优A卷)
- 2025年高校教师资格证之《高等教育法规》考前冲刺练习题库附参考答案详解(轻巧夺冠)
- 2025年公路水运安全员考试练习资料及答案
- 2025年《物流成本与绩效管理》课程标准(含课程思政元素)
- 卖报废车领补贴合同范本
- T/CCOA 51-2023生湿面条生产加工技术规程
- 市场监督管理局课件
- 《美术与生活》教学课件-2024-2025学年冀美版(2024)初中美术七年级上册
- 设备润滑技术教材
- 2025年中国燃气用埋地聚乙烯(PE)管材数据监测报告
- 职业卫生模拟试题+答案
- DBJ50-T-200-2024 建筑桩基础技术标准
- 1.团体标准《腹部减脂塑形手法操作技术规程》(征求意见稿)
- 江苏连云港历年中考作文题与审题指导(2003-2021)
评论
0/150
提交评论