计算机二级VF第六章 程序设计基础Word文档下载推荐.docx

上传人:b****3 文档编号:16793215 上传时间:2022-11-26 格式:DOCX 页数:18 大小:21.47KB
下载 相关 举报
计算机二级VF第六章 程序设计基础Word文档下载推荐.docx_第1页
第1页 / 共18页
计算机二级VF第六章 程序设计基础Word文档下载推荐.docx_第2页
第2页 / 共18页
计算机二级VF第六章 程序设计基础Word文档下载推荐.docx_第3页
第3页 / 共18页
计算机二级VF第六章 程序设计基础Word文档下载推荐.docx_第4页
第4页 / 共18页
计算机二级VF第六章 程序设计基础Word文档下载推荐.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

计算机二级VF第六章 程序设计基础Word文档下载推荐.docx

《计算机二级VF第六章 程序设计基础Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《计算机二级VF第六章 程序设计基础Word文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。

计算机二级VF第六章 程序设计基础Word文档下载推荐.docx

*以上是得到年月日星期的字符数据

?

"

今天是:

+YY+"

年"

+MM+"

月"

+DD+"

日,星期"

+XQ

*以上为程序主体部分

SETTALKON

RETURN

3.保存文件并关闭程序编辑界面(Ctrl+W)

4.在命令窗口输入运行程序的命令:

DOSX1

编写程序SX2.PRG完成如下操作:

打开表DJKS,显示所有性别为男且成绩合格的记录,将结果保存在表文件NAN.DBF中,关闭所有表文件

*SX2.PRG

CLOSEDATAALL&

&

程序中有表文件打开

SETSAFEOFF

*以上是环境设置

USEDJKS

DISPFOR性别="

男"

ANDMIN(笔试,上机)>

=60

COPYTONANFOR性别="

*以上是程序主体

CLOSDATAALL

SETSAFEON

上机模拟题第五十套第三题

*PROGZH.PRG

CLOSEDATAALL

SELECOUNT(DISTDHDW)FROMGNHTINTOARRAYDH

SELECOUNT(DISTGHDW)FROMGNHTINTOARRAYGH

SELESUM(JHSL)FROMGNHTINTOARRAYJH

UPDAJIEGUOSETNUM=DHWHERENAME="

订货单位数"

UPDAJIEGUOSETNUM=GHWHERENAME="

供货单位数"

UPDAJIEGUOSETNUM=JHWHERENAME="

订货总数"

上机模拟题第九套第三题

要点:

UPDATESCORE1SET总成绩=考试成绩+IIF(三好生,20,IIF(优秀干部,10,IIF(少数民族,5,0)))

SELE学号,总成绩FROMSCORE1ORDERBY2,1INTOTABLEZCJ

上机模拟题第一套第三题

UPDASCORESET学分=IIF(物理>

=60,2,0)+IIF(高数>

=60,3,0)+IIF(英语>

=60,4,0)

SELE学号,学分FROMSCOREORDERBY2,1DESCINTOTABLEXF

三、简单的输入命令

1.INPUT命令

格式:

INPUT[字符表达式]TO<

内存变量>

功能:

当系统执行到本命令时,会等待用户从键盘输入数据,用户可以输入任意合法的表达式。

当用户以回车结束输入时,系统将表达式的值存入指定的内存变量。

2.ACCEPT命令

ACCEPT[字符表达式]TO<

与INPUT基本相同,但会将用户输入的一切内容都当作字符型常量保存在指定的内存变量中。

3.WAIT命令

WAIT[字符表达式][TO<

][WINDOW[AT<

行>

<

列>

]][TIMEOUT<

N>

]

与ACCEPT命令相似,保存字符型数据的输入,但只能接受一位字符的输入。

说明:

(1)如果<

字符表达式>

为空串,则不显示任何提示。

如果此项省略则显示系统的默认提示“按任意键继续…”

(2)<

如果省略,则本命令相当于暂停命令

(3)WINDOW选项如果存在,则提示信息会显示在指定窗口

(4)TIMEOUT可以指定系统的等待时间

编写程序SX3.PRG,要求由用户输入圆半径,计算机返回该圆的面积

*SX3.PRG

SETTALKOFF

CLEAR

INPUT[请输入圆半径:

]TOR

?

PI()*R^2

SETTALKON

RETURN

编写程序SX4.PRG,由用户输入表名称,计算机查询该表的全部信息

*SX4.PRG

ACCEPT[请输入要查询的表名称:

]TOBM

SELE*FROM&

BM

SETTLAKON

CLOSDATAALL

编写程序SX5.PRG,由用户输入考生姓名,计算机在DJKS.DBF表中查询考生的信息进行显示

*SX5.PRG

ACCEPT'

请输入考生的姓名:

'

TOXM

SELE*FROMDJKSWHERE姓名=XM

编写程序SX6.PRG,由用户输入结论信息,计算机在DJKS.DBF表中查询符合的信息进行显示,并将结果保存在以结论命名的表中(如:

优秀.DBF)

*SX6.PRG

ACCEPT'

请输入结论:

TOJL

SELE*FROMDJKSWHERE结论=JL

SELE*FROMDJKSWHERE结论=JLINTOTABLE&

JL

第二节程序的基本结构

在标准化程序设计中,程序一般分为三种基本结构:

顺序结构、选择结构和循环结构。

一、顺序结构的程序设计

顺序结构是最简单的程序结构,它按命令在程序文件中的先后次序依次执行。

二、分支选择结构程序设计

1.IF…ELSE…ENDIF分支

IF<

条件>

<

语句序列1>

[ELSE

<

语句序列2>

ENDIF

当条件成立时,计算机将执行<

当条件不成立,将判断是否有ELSE选项存在,如存在,则执行<

反之,什么都不执行。

编写程序FZ1.PRG,由用户输入考生姓名,计算机返回该考生的相关信息

*FZ1.PRG

USEDJKS

ACCEPT"

请输入要查询的考生姓名:

LOCAFOR姓名=XM

IFFOUND()

DISPFOR姓名=XM

ELSE

查无此人!

USE

2.DOCASE…ENDCASE分支

DOCASE

CASE<

条件1>

条件2>

条件n>

语句序列n>

[OTHERWISE

语句序列>

ENDCASE

当系统执行到DOCASE语句时,会顺序对各个CASE后的条件做出判断,并执行第一个满足条件的CASE后的语句序列。

如果所有的CASE后条件均不满足,则判断是否有OTHERWISE选项存在,如存在,则执行OTHERWISE后的语句序列,反之,什么都不执行。

编写程序FZ2.PRG,根据用户输入的存款年限返回存款的利率.1年以内为0.03,3年以内0.05,5年以内0.07,5年以上0.09

*FZ2.PRG

INPUT"

请输入存款年限:

TONX

CASENX<

1ORINT(NX)<

>

NX

输入有误,只能输入不小于1的整数!

CASENX=1

0.03"

=3

0.05"

=5

0.07"

OTHER

0.09"

编写程序FZ3.PRG,根据用户输入的身高(CM),体重(KG)来判断体形

*FZ3.PRG

ACCEPT"

请输入姓名:

请输入性别:

TOXB

INPUT"

请输入身高(CM):

TOSG

请输入体重(KG):

TOTZ

CH=IIF(XB="

"

先生"

女士"

DOCASE

CASESG-115>

TZ

TX="

有些偏瘦!

ZG="

加强营养!

CASESG-105<

有些偏胖!

加强锻炼!

OTHER

完全正常!

继续保持!

ENDCASE

XM+CH+"

您的体形"

+TX+"

请"

+ZG

三、循环结构程序设计

1.DOWHILE…ENDDO循环

DOWHILE<

[LOOP]

[EXIT]

[RETURN]

ENDDO

功能:

当条件成立时,系统会执行DOWHILE与ENDDO之间的循环体;

当遇到ENDDO语句,系统会回到DOWHILE处对条件再次进行判断,直到条件不成立,系统才会执行ENDDO后的语句。

说明:

LOOP:

回到本层循环开始处,重新判断条件

EXIT:

跳出本层循环

编写程序XH1.PRG,计算从1累加至100的结果

*XH1.PRG

S=1

N=100

DOWHILEN<

=100

S=S+N

N=N+1

S

编写程序XH2.PRG,逐条显示DJKS表中的所有记录

*XH2.PRG

DOWHILE!

EOF()

DISP

WAITTIME3

SKIP

ENDDO

编写程序XH3.PRG,逐条显示DJKS表中所有成绩合格的考生信息

*XH3.PRG

LOCAFORMIN(笔试,上机)>

DOWHILFOUND()

CONTINUE

上机模拟题第五十六套第三题

*PROG1.PRG

USETABLE3

ZAP

USECHENGJI

INDEXON学号TAGSY

SELE0

USEXUESHENG

SETRELATIONTO学号INTOCHENGJI

GOTOP

IFA.数学<

60

INSERTINTOTABLE3VALUES(B.学号,B.姓名,"

数学"

A.数学)

IFA.英语<

英语"

A.英语)

IFA.信息技术<

信息技术"

A.信息技术)

SKIP

SELE*FROMTABLE3ORDERBY分数,学号DESCINTOTABLELSH

SELETABLE3

APPEFROMLSH

*注意:

表文件TABLE3.DBF要事先建立

2.FOR…ENDFOR循环

FOR<

循环变量>

=<

初值>

TO<

终值>

[STEP<

步长>

循环体>

ENDFOR|NEXT

用于指定次数的循环。

执行该语句时,首先将初值赋给循环变量,然后判断循环条件是否成立(若步长为正值,循环条件为<

=<

;

若步长为负值,循环条件为<

>

)。

若循环条件成立,则执行循环体,然后循环变量增加一个步长值,并再次判断循环条件是否成立。

的默认值为1。

编写程序XH4.PRG,显示100到999之间的"

水仙花数"

水仙花数是指各位数的立方和等于这个数本身

*XH4.PRG

FORN=100TO999

A=INT(N/100)

B=INT(N/10)%10

C=N%10

*A,B,C分别为N的百位数字,十位数字和个位数字

IFA^3+B^3+C^3=N

N

ENDIF

ENDFOR

3.SCAN…ENDSCAN循环

SCAN[范围][条件]

ENDSCAN

用于处理表中的记录。

执行该语句时,记录指针自动、依次地在当前表的指定范围内满足条件的记录上移动,对每一条记录执行循环体内的命令。

编写程序XH5.PRG,逐条显示DJKS中所有性别为男且成绩合格的考生信息

*XH5.PRG

SCANFOR性别="

CLOSEDATAALL

上机模拟题第三套第三题

USESCORE_FS

SCAN

XK=0

IF物理#-1

REPL平均分WITH平均分+物理

XK=XK+1

IF高数#-1

REPL平均分WITH平均分+高数

IF英语#-1

REPL平均分WITH平均分+英语

REPL平均分WITH平均分/XK

ENDSCAN

SELE学号,平均分FROMSCORE_FSORDERBY平均分DESC,学号INTOTABLEPJF

第三节多模块程序

一、过程的定义和调用

1.定义过程:

PROCEDURE|FUNCTION<

过程名>

[RETURN[表达式]]

ENDPROC|ENDFUNC

2.调用模块:

1)打开过程文件

SETPROCEDURETO[<

过程文件名列表>

[ADDITIVE]]

2)使用过程

DO<

|<

2:

(…)

编写程序LX1.PRG

*LX1.PRG

DOWHIL.T.

INPUT[请选择:

1.姓名查询2.结论查询3.考场查询4.退出]TOXZ

CASEXZ=1

DOSUB1

CASEXZ=2

DOSUB2

CASEXZ=3

DOSUB3

OTHER

WAIT"

谢谢使用,再见!

TIME3

*以上为主模块,以下为各子模块过程

PROCSUB1

ACCEPT[请输入姓名:

]TOXM

SELE*FROMDJKSWHERE姓名=XM

ENDPROC

PROCSUB2

ACCEPT[请输入结论:

]TOJL

SELE*FROMDJKSWHERE结论=JL

PROCSUB3

ACCEPT[请输入考场:

]TOKC

SELE*FROMDJKSWHERE考场=KC

二、参数传递

1.接受参数的命令

PARAMETERS形参变量名列表(私有)

LPARAMETERS形参变量名列表(局部)

2.传递参数的命令

格式1:

DO<

WITH实参变量名列表

格式2:

(实参变量名列表)

注意:

1.实参可以是常量、变量,也可以是一般形式的表达式。

调用模块程序时,系统会自动把实参传递给对应的形参(因此,形参个数必需不少于实参,多出的形参取初值.F.)

2.如果实参是变量,则本次传递为按引用传递,此时,实参与形参其实是同一个变量,如果形参的值发生变化,则实参也同时改变

3.如果实参是表达式,则为按值传递。

编写程序LX2.PRG,通过参数传递计算最大公约数

*LX2.PRG

请输入第1个自然数:

TON1

请输入第2个自然数:

TON2

DOSUBWITHMAX(N1,N2),MIN(N1,N2)

PROCSUB

PARAA,B

FORN=BTO1STEP–1

IFA%N=0ANDB%N=0

最大公约数为:

+ALLT(STR(N))

EXIT

编写自定义函数"

CDATE(D)"

*CDATE.PRG

PARARQ

IFVARTYPE(RQ)<

D"

&

D必须是大写

RQ=DATE()

XRQ=DTOC(RQ,1)

YY=LEFT(XRQ,4)

MM=SUBS(XRQ,5,2)

DD=RIGHT(XRQ,2)

XQ="

XQ=SUBS(XQ,DOW(RQ)*2-1,2)

FHZ=YY+"

RETURNFHZ

注:

保存完毕后,在命令窗口输入

CDATE(),CDATE({^2008-8-8})

三、变量的作用域

1.公共变量(在任何模块中都可以使用的变量,要先建立后使用)

PUBLIC<

内存变量名列表>

2.私有变量(在程序中直接使用,不用事先定义,可用于本模块以及其下属的各层模块,建立该变量的模块执行结束后,变量会自动清除)

3.局部变量(只能在建立它的模块中使用,要先建立后使用)

LOCAL<

4.屏蔽上层模块中可能出现的变量

PRIVATE<

PRIVATE[LIKE<

通配符>

]|[EXCEPT<

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1