第6章程序设计_第1页
第6章程序设计_第2页
第6章程序设计_第3页
第6章程序设计_第4页
第6章程序设计_第5页
已阅读5页,还剩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.字符型数据输入命令ACCEPT

ACCEPT[<提示信息>]TO<内存变量>功能:暂停程序的执行,等待用户输入一个字符串给变量

[例]编一程序,将学生表打开,在程序运行中输入学生姓名,显示指定姓名的人员记录。该程序编写步骤为:

步骤1:在命令窗口里输入命令:

MODIFYCOMMANDCX2

步骤2:在打开的程序窗口里输入如下语句:

NOTE该程序查找指定姓名的人员信息。

CLEAR

USErsb

ACCEPT“请输入要查找的姓名:”TOname1

LOCATEFORALLTRIM(姓名)=name1

DISPLAY

RETURN

步骤3:按Ctrl+W保存该程序

步骤4:运行程序,在命令窗口里输入:

DOCX2

请输入要查找的姓名:李明a.[<提示信息>],同“ACCEPT”命令中的[<提示信息>]含义。b.用户可输入任何一个合法的数值型(N)、字符型(C)、日期型(D)、逻辑型(L)表达式,表达式的值并将该值赋值给内存变量。c.如果输入字符串信息,则必须加上双引号或单引号定界符,如"ABC"。d.按Enter键结束输入,系统将表达式的值赋值给内存变量。e.如果输入的是非法表达式,系统将提示重新输入。2.表达式输入命令INPUT

INPUT[<提示信息>]TO<内存变量>

功能:暂停程序的执行,接受用户输入合法表达式并将表达式的值赋值给内存变量。

[例]已知圆半径为r,求圆面积s

假设圆的半径为r,则计算圆面积s的公式为:s=πr2,计算圆面积公式的表达式为:3.14*r^2。程序编写步骤如下:

步骤1:在命令窗口里输入:

MODIFYCOMMANDCX3

步骤2:在打开的程序窗口里输入如下语句:

*该程序用于计算指定半径的圆的面积。

CLEARINPUT"请输入圆半径r="TOrs=3.14*r^2?"该圆半径为:",r?"该圆面积为:",sRETURN

步骤3:按Ctrl+W保存该程序文件。步骤4:在命令窗口里输入运行命令:

DOCX3

请输入圆半径r=18a.[<提示信息>]指定要显示的自定义信息。若省略该参数,则显示信息“按任意键继续……”。例如下列命令显示一行有提示信息。WAIT"请稍后,程序将继续执......“此时单击鼠标按键、按下键盘上任意一个按键,程序继续执行.3.程序暂停、等待接收单字符命令WAIT

WAIT[<提示信息>][TO<内存变量

功能:暂停程序,用户按任意键或者时间超过等待的秒数后,程序继续执行。如果包含[TO<内存变量>]短语,将用户所按键盘字符赋值给指定的内存变量。@<行,列>用于指定在屏幕上输出的行、列位置坐标。SAY<表达式>用来在屏幕上输出表达式的值。c.GET<变量>子句用来在屏幕上输入指定变量的值,且必须与READ命令配套使用。d.DEFAULT<表达式>子句用来给GET<变量>子句中的变量赋初值。4.定位输出与输入命令

@<行,列>[SAY<表达式>][GET<变量>][DEFAULT<表达式>]

在屏幕上指定行、列位置输出指定表达式的值,并且(或者)获得所指定变量的值。

[例]将学生表打开,新增加一条记录部分字段内容,增加完成后在浏览窗口显示数据表记录内容,关闭浏览窗口,屏幕出现等待信息,等待信息关闭,清屏并关闭数据表,程序结束。该程序如下:

CLEARUSE学生表

APPENDBLANK@3,8SAY"请输入新职工信息:"@4,8SAY“学号:”GET学号

@5,8SAY"姓名:"GET姓名

@6,8SAY“性别:”GET性别

READBROWSEWAIT“程序将在按任意键后关闭......。"USECLEARRETURN

[例]编写一个程序,根据记录号来修改学生表中的记录。该程序如下:

CLEARUSE学生表

a=1@10,20say“请输入记录号”getareadgoa@12,20SAY“修改该同学的信息:"@14,20SAY“学号:”GET学号

@16,20SAY"姓名:"GET姓名

@18,20SAY“性别:”GET性别

READBROWSEUSERETURN7.2程序的控制结构程序设计包括三种基本结构,即顺序结构、选择结构、循环结构。7.2.1顺序结构

顺序结构是程序设计中最基本的结构,该结构按照程序命令出现的先后顺序依次执行。其它结构作为它的组成部分而存在于程序之中。事实上,程序中的命令如果不进行特殊说明,就自动按其前后排列顺序执行。我们以前介绍的几个例题都是顺序结构程序设计题目。7.2.2选择结构

可分为简单分支结构、双分支选择结构和多分支选择结构。简单分支结构

简单分支结构是由IF语句开头,以ENDIF语句结束,中间由若干条命令组成的。

IF<条件>[命令序列]ENDIFa.如果<条件>的逻辑值为.T.,就依次执行[命令序列],执行完后就转去执行ENDIF之后的命令。如果<条件>的逻辑值为.F.,则直接转到ENDIF之后的命令。b.IF语句和ENDIF语句必须成对出现,且各占一行。c.为了程序阅读方便,便于以后维护修改,[命令序列]部分最好采取向右缩进书写的方式。

问题分析:设行李重量为W公斤,应付运费为P元,则运费公式为:

p=0.25×w当W≤50p=50×0.25+(w-50)×0.45当W>50程序如下:

CLEARINPUT"请输入行李重量:"TOwP=0.25*wIFw>50P=50*0.25+(w-50)*0.45ENDIF?"行李重量为:",w?"应付运费为:",pRETURN

[例]铁路托运行李,按规定每张客票托运行李不超过50公斤时,每公斤0.25元,如超过50公斤,超过部分按每公斤0.45元计算。编写一个程序,把行李重量输入计算机,计算出运费。根据以上分析,该问题计算机程序框图2.双分支简单结构

双分支选择结构也是由IF语句开头,以ENDIF语句结束,中间由若干条命令组成的,但其中包含一条ELSE语句。

IF<条件>[命令序列1]ELSE[命令序列2]ENDIFa.如果<条件>的逻辑值为.T.,就执行[命令序列1],执行完后就转到执行ENDIF之后的命令。如果<条件>的逻辑值为.F.,就执行[命令序列2],完成后转去执行ENDIF之后的命令。

b.ELSE语句单独占一行,IF语句和ENDIF语句必须成对出现,且各占一行。

[例]铁路托运行李,按规定每张客票托运行李不超过50公斤时,每公斤0.25元,如超过50公斤,超过部分按每公斤0.45元计算。编写一个程序,把行李重量输入计算机,计算出运费。

CLEARINPUT"请输入行李重量:"TOwIFw>50P=50*0.25+(w-50)*0.45elseP=0.25*wENDIF?"行李重量为:",w?"应付运费为:",pRETURN

1、设计简单分支程序。在“员工信息表”表文件中查询“刘明”的基本情况,如果找到,显示信息,否则显示“查无此人”。

1、设计简单分支程序。由键盘输入一个员工的姓名,在“员工信息表”表文件中该员工的基本情况,如果找到,显示信息,否则显示“查无此人”。

[例]设计选择分支程序,在“ZGSJ.DBF”表文件中查看编号为“1002”的职工的月收入,若月收入大于600元,显示“该职工的月收入大于600”;否则显示“该职工的月收入小于600”。

UsezgsjLocatefor编号=“1002”Iffound()Else“无此编号”endifIf月收入>600?”该职工的月收入大于600”Else?”该职工的月收入大于600”3.分支嵌套结构

对于在分支结构中的<命令序列>,可以包含任何VFP命令语句,也可以包括另外一个或几个合法的分支结构语句,也就是说分支结构可以嵌套。对于嵌套的分支结构语句,一定注意内外层分支结构层次分明,即注意各个层次的IF......ELSE......ENDIF语句配对情况。4.多分支选择结构

VisualFoxPro提供了多分支结构来解决多种不同情况下的程序选择问题。

DOCASECASE<条件1><命令序列1>CASE<条件2><命令序列2>......CASE<条件n><命令序列n>[OTHERWISE<命令序列n+1>]ENDCASE

a.多分支选择结构执行的过程:系统依次判断各<条件>是否满足,若某一<条件>为.T.,就执行该<条件>下的<命令序列>,执行后不再判断其它<条件>,而转去执行ENDCASE后面的第一条命令。

如果没有一个<条件>为.T.,就执行OTHERWISE后面的[命令序列],直到ENDCASE;如果没有OTHERWISE,则不作任何操作就转向ENDCASE之后的第一条命令。

b.DOCASE语句和ENDCASE语句必须成对出现,各占一行。

c.多分支选择结构中各CASE语句后的<条件>是按其先后顺序判断执行的,因此对实际问题进行编程时,应认真考虑各个条件排列的先后顺序。

DOCASEENDCASE条件1命令组1条件2命令组2条件n命令组notherwise编写一个程序,要求从键盘输入一个学生的分数,判断该分数属于哪个等级.

分数:60分以下为不及格,60-70为及格,70-80为中,80-90为良,90-100为优Y=

根据键入的X值,计算下面的分段函数值,并显示结果。5X2+6X-1(X≤0)X2-4X+1(0<X≤20)3X2+1(X>20)【例6-7】输入考试成绩,显示成绩等级的程序。(90分以上为“优秀”;80-89为“良好”;60-79为“合格”;60分以下为“不合格”)。SETTALKOFFINPUT“输入考试成绩:”TOXDOCASECASEX>=90?“成绩等级:优秀”CASEX>=80?“成绩等级:良好”CASEX>=60?“成绩等级:合格”OTHER?“成绩等级:不合格”ENDCASERETU6.9循环结构循环结构有3种命令格式:DOWHILE……ENDDOFOR……ENDFORSCAN……ENDSCAN6.2.3循环结构

在程序设计中,有时需要从某处开始有规律地反复执行某些类似的操作,这些类似的操作一般用循环结构程序设计来解决。在VFP中,提供了“条件循环”、“步长型”和“表扫描型”循环结构。

1.条件循环结构

DOWHILE<条件>[命令序列]ENDDO

a.当型循环执行的过程是:根据<条件>逻辑值进行判断。如果<条件>为.T.,则执行

[命令序列],[命令序列]执行完返回到DOWHILE语句,每执行一遍就判断一次DOWHILE语句中的<条件>。如果<条件>仍然为.T.,则继续执行

[命令序列],直到<条件>的逻辑值为.F.,则结束循环,转去执行ENDDO之后的第一条命令。

1.条件循环结构

DOWHILE<条件>[命令序列]ENDDOb.DOWHILE和ENDDO语句应配对使用,各占一行。c.在[命令序列]的适当位置可以放置EXIT和LOOP语句,用以对循环过程作特殊处理。EXIT的功能是:终止本层循环命令。LOOP语句的功能是:终止本次循环命令。循环结构流程图6.9循环结构DoWhile条件

…loop…enddoDOWHILE条件

…EXIT…ENDDO例5计算1+2+…+10的值settalkoffcleara=1s=0doWhilea<=10s=s+aa=a+1enddo?“s=“,sSettalkonsa00+10+1+21+2+31+2+3+41+2+…+61+2+…+71+2+…+81+2+…+91+2+…1012345678910116.9循环结构【例】编程计算S=1+2+3+…+100【例】编程计算S=1+3+5+…+99【例】编程计算S=2+4+6+…+100【例】输出100--300之间所有能被7整除的数

基本结构(循环次数已知情况下)a=1(定义一个变量,确定循环开始的数)doWhilea<(循环终止的数)

……(执行某项任务)

a=a+1(循环变量累加)enddo?“s=“,s(输出结果)return编写程序,统计员工信息表中金融系职工的人数。

Use学生表A=0Locatefor部门=“金融系”Dowhilenoteof()A=a+1ContinueEnddo?”金融系人数为:”+str(a,2)+”人”Usereturn【例6-10】按90分(含90分)以上、70~90分(含70分)、70分以下三级成绩分档统计“成绩表.DBF”中人数的个数。STORE0TOK1,K2,K3

USE成绩表

DOWHILE.NOT.EOF()

DOCASE

CASE

成绩>=90

k1=k1+1

CASE

成绩<70

k3=k3+1

OTHERWISE

k2=k2+1

ENDCASE

SKIP

ENDDO

?"90分的人数的个数:"+STR(k1)

?"70~90人数的个数:"+STR(k2)

?"70以下人数的个数:"+STR(k3)

USE6.9循环结构对表的操作。用NOTEOF()或FOUND()作为循环条件进行判断,循环体内必须含有指针移动的语句。基本结构:USE<表文件名>LOCATEFOR<条件>

DOWHILE.NOT.EOF()(或FOUND())<执行某一个任务>CONTINUE

ENDDO例:试编一个程序,显示“学生表.DBF”中所有入学成绩超过490分的学生名单。例:统计“职工数据表”中女职工的人数计算1+2+3……,当和大于1000时退出循环(2)在永真循环中。一般用于循环次数不定的情况下,在循环体内根据条件执行EXIT命令退出循环。其基本形式如下:

DOWHILE.T.……

IFX=结束标志

EXITENDIF<执行某一个任务>

ENDDO2.步长型循环结构FOR<循环变量>=<初值>TO<终值>[STEP<步长值>][命令序列]ENDFOR|NEXT

a.<初值>、<终值>、<步长值>都是数值表达式;当<步长值>是1时,可以省略STEP子句。

b.ENDFOR或NEXT语句为循环终端语句,用以标明本循环结构的终点。该语句必须和FOR语句配对使用。2.步长型循环结构FOR<循环变量>=<初值>TO<终值>[STEP<步长值>][命令序列]ENDFOR|NEXT

c.该循环结构的执行过程是:首先将初值赋值给循环变量,然后判断循环变量的值是否超过终值,不超过就执行循环体,遇到ENDFOR或NEXT语句,自动使循环变量增加一个步长值,再将循环变量的值与终值比较,如果循环变量的值不超过终值,就再执行循环体,不断循环执行。如果循环变量的值超过终值则转去执行ENDFOR或NEXT语句后面的第一条语句。d.在循环体内的适当位置也可以放置EXIT和LOOP语句,作用和用法与条件循环结构类似。

2.步长型循环结构FOR<循环变量>=<初值>TO<终值>[STEP<步长值>][命令序列]ENDFOR|NEXT

Forn=初值to终值step步长

…exit…

enddo循环结构流程图2.步长型循环结构Forn=初值to终值step步长

…loop…enddo

[例]求1+2+3+…+99+100的值。

问题分析:采用累加的办法,用循环变量产生1、2、3、…、99、100这些数。用s保存累加和,s的初始值为0,每次循环将s加上循环变量的值,再赋值给变量s,循环结束即求得S。程序为:CLEARs=0FORx=1TO100step1s=s+xENDFOR?"1--100自然数累加和是:",sRETURN【例】编程计算S=1+2+3+…+100【例】编程计算S=1+3+5+…+99【例】编程计算S=2+4+6+…+100【例】输出100--300之间所有能被7整除的数

基本结构(循环次数已知情况下)Fora=1(循环开始的数)

toa=(终止的数)

(step步长)

……(执行某项任务)endfor?“s=“,s(输出结果)return循环结构的类型:

1、条件循环:(常用)命令格式:dowhile<逻辑表达式><语句序列>

enddo2、步长循环命令格式:

For变量=数表1to数表2[STEP数表3]〈语句序列〉

endfor|next一个循环结构一般应具备如下的条件:(1)循环的初始条件:一般为给循环控制变量赋初值;(2)循环头:循环语句的起始,设置、判断循环条件;(3)循环尾:循环语句的结尾;(4)循环体:位于循环头和循环尾之间、循环控制重复执行的语句序列

6.9循环结构Dowhile……enddo

和for……endfor的区别求s=1+2+3+…+99+100S=0N=1Dowhilen<=100S=s+nN=n+1Enddo?”s=“,sreturn求s=1+2+3+…+99+100s=0FORx=1

TO

100step1

s=s+xENDFOR?“s=",sRETURN

复习一期末考题题型一:四、阅读下列程序,写出运行结果(每题3分,共15分)等级考试题型一:(四)阅读下列程序,写出运行结果(每题2分,共10分)阅读下列程序,写出运行结果(每题3分)1、SETTALKOFFSTORE0TOSN=20DOWHILEN>SS=S+NN=N-2ENDDO?SRETURN阅读下列程序,写出运行结果(每题3分)2、SETTALKOFFSTORE2TOM,NDOWHILEM<14M=M+NN=N+2ENDDO?M,NSETTALKONRETURN阅读下列程序,写出运行结果(每题3分)3、SETTALKOFFA=2S=0DOWHILE.T.IFA>=10EXITENDIFA=A+2S=S+AENDDO?A,S阅读下列程序,写出运行结果(每题3分)4、 USERSDAGZH=0DOWHILE.NOT.EOF()

GZH=GZH+基本工资

SKIPENDDO?GZHRETURNUSESTUGO8IF团否

DISPLAY姓名ELSEDISPLAY入学成绩ENDIFUSE6、STORE0TOM,NDOWHILE.T.N=N+2DOCASECASEINT(N/3)*3=NLOOPCASEN>10EXITOTHERWISEM=M+NENDCASEENDDO?"M=",M,"N=",NRETURN7、USEZGSJRS1=0RS2=0DOWHILE.NOT.EOF()

IF性别=‘男’

RS1=RS1+1ELSERS2=RS2+1ENDIFSKIPENDDO?RS1,RS2RETURN

阅读下列程序,写出运行结果(每题3分)8、SETTALKOFFS=0

FORI=1TO6STEP2Q=I**2??QS=S+QENDFOR?SSETTALKON阅读下列程序,写出运行结果(每题3分)9、SETTALKOFFS=0FORN=1TO7STEP2N=N+1S=S+NENDFOR?S,NSETTALKON

SETTALKOFFFILE=“RSDA”USE&FILELISTFOR性别=“男”USESETTALKONRETURNCLEARY="等级考试"X=""L=LEN(Y)FORI=L-1TO1STEP-2X=X+SUBSTR(Y,I,2)ENDFOR ?X阅读下列程序,写出运行结果

A="B"B="C"C="A"?&A+&B+&C阅读下列程序,写出运行结果

SETTALKOFFA="B"B=1C="+"?&A?&A.&C.&ASETTALKON3、表扫描循环结构

SCAN[<范围>][FOR<条件1>]

命令序列]&&[命令序列]也称为循环体

ENDSCANa.该结构是针对当前打开的数据表进行操作的。它的功能是:对当前打开的数据表中指定范围内符合条件的记录,逐个进行<命令序列>所规定的操作,如果缺省范围和条件子句时,则对所有记录逐个进行<命令序列>规定的操作。b.表扫描型循环结构每循环一遍,记录指针自动移动到下一条记录,不需要设置SKIP语句。c.SCAN和ENDSCAN语句要配对使用。d.在<命令序列>的适当位置也可以放置EXIT和LOOP语句,功能和用法同其他循环结构类似。

[例]将职工数据表中月收入大于600元的姓名,月收入字段输出,并统计这些职工的人数。

基本操作步骤为:打开职工数据表,设计一个累加变量n,代表满足条件的记录数,给n赋初值0,用表扫描循环结构定位满足条件的记录,输出姓名和编号字段,并对n进行累加1,循环结束即求得n,输出n。程序如下:

CLEARUSE职工数据表n=0SCANFOR月收入>600?姓名,月收入

n=n+1ENDSCAN?“月收入在600元以上的人数有:"+STR(N,2)+"人。"useRETURNDowhile---enddo和scan----endscan的主要区别显示学生表中所有入学成绩超过490分的学生名单Use学生表

Locatefor入学成绩>490Dowhilenoteof()

Disp

姓名

ContEnddouseUse学生表scanfor入学成绩>490Disp

姓名endscanUse4、循环结构嵌套

循环结构的嵌套是指在一个循环体内包含其他的循环结构,也称为多重循环结构。同一种类型的循环结构可以嵌套,不同类型的循环结构也可以嵌套。要编好循环嵌套结构程序,必须做到:循环开始语句和循环结束语句配对出现;内外层循环层次分明,不得交叉。VisualFoxPro最多允许128层嵌套。

FORa=1TO9

FORb=1TO9

……ENDFOR?ENDFORRETURN外循环内循环【例6-19】输出下面图形(要求使用双重循环语句)****************

FORI=1TO4FORJ=1TOI??“*”ENDFOR?ENDFOR【例6-19】输出下面图形(要求使用双重循环语句)**********

FORI=1TO4FORJ=1TOI??“*”ENDFOR?ENDFOR阅读下列程序,写出运行结果

DIMENSIONA(3,3)I=1DOWHILEI<4J=IDOWHILEJ<4A(I,J)=I*J

??A(I,J)

J=J十1ENDDO?I=I+1ENDDORETURN阅读下列程序,写出运行结果

SETTALKOFFCLEARZ=0X=1?DOWHILEX<=5Y=1DOWHILEY<=X??STR(X,1)+'×'+STR(Y,1)+'='+STR(X*Y,2)+''Z=Z+X*YY=Y+1ENDDO?X=X+1ENDDOSETTALKON第二次作业:五、简答题(每题3分,共15分)1、命令中的[范围]有哪几种,以及它们的作用?2、简要说明INPUT、ACCEPT、WAIT三条命令的功能?3、什么是视图、查询以及它们之间的区别?4、EXIT和LOOP的功能是什么?5、查询和视图有什么异同?6、常用的数据模型有几种?VisualFoxpro属于什么型数据库?7、简述查询命令LOCATE、FIND及SEEK的区别。8、在显示表记录上,命令LIST和DISPLAY的区别是什么?9、什么是项目管理器及其作用?10、表达式类型有哪些?11、查询定位命令LOCATE、FIND、SEEK它们各自的作用及特点?12、文件首、文件尾、首记录、尾记录是什么?如何判断记录指针是否指向文件首或文件尾?List:

disp:分屏显示当前表中指定范围内符合条件的记录的指定字段,若缺省范围和条件,则只显示当前记录六、编程题1、输出下面图形:**********2、输出100到300之间能同时被6和9整除的所有数。六、编程题3、编程求1+2+3+…+?的和,当其和大于100停止。4、编写程序,求出1~100之间能被3或5整除的整数的平方和。5、设计简单的分支程序。在“员工信息表”表文件中查询李明的基本情况,如果找到显示信息,否则显示“查无此人”。六、编程题6、查找zgsj.dbf

中女职工的最高工资,并显示其姓名和工资。(利用dowhile……enddo循环语句实现)。7、在RSDA.DBF中,对建国后出生、职称是教授的职工,输出其姓名、性别、出生日期、基本工资的信息。六、编程题8、已有表文件“成绩表.DBF”,其字段为:姓名计算机数学英语,编写程序实现:显示每个记录的姓名、计算机成绩的同时还要显示如下内容:计算机成绩90分以上(含90)显示“优秀”字样;60(含60)—89之间显示“及格”字样;计算机成绩低于60分显示“补考”字样。如:“张三95优秀”。作业三(代码、程序填空)

1、实现:求0-100之间的奇数之和,超出范围则退出。请在【】处填入正确的内容。STORE0TOX,YDOWHILE.T.X=X+1DOCASECASE【1】LOOPCASEX>=100【2】OTHERWISEY=Y+XENDCASE【3】?"0-100之间的奇数之和为:",Y2、统计zgsj.dbf

中职工的月收入总和,并在表文件末尾增加一条空记录,在该记录的姓名字段中写入"总计",在月收入字段中写入工资总和,最后显示该条记录。CLEAR【4】SUM月收入TOS【5】REPLACE姓名WITH"总计",月收入WITHS【6】USERETURN3、求S=1+2+3+……+1000。S=0I=1DOWHILE【1】【2】I=I+1ENDDO?S4、某职工数据工资表文件为GZ.DBF。下面程序将根据职工的职称情况对工资作相应调整:职称为教授的基本工资加40%;职称为副教授的基本工资加20%,否则,若基本工资低于300的按500计算。请填上相应的语句,使之成为完整的程序。【3】DOWHILE.NOT.EOF()【4】CASE职称="教授"【5】CASE职称="副教授"REPLACE基本工资WITH基本工资*1.1CASE基本工资<300REPLACE基本工资WITH300ENDCASE【6】ENDDOLISTUSE5、按性别查询显示并统计RSDA.DBF中的指定性别的职工人数。USERSDASTORE0TORSACCEPT“请输入性别:”TOXB【4】DOWHILE.NOT.EOF() DISPOFF RS=RS+1 【5】ENDDO?

温馨提示

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

评论

0/150

提交评论