文档库 最新最全的文档下载
当前位置:文档库 › VF程序的3种基本结构

VF程序的3种基本结构

程序的3种基本结构:顺序结构、选择(或分支)结构、循环结构,它们构成了实现一个算法的基本单元.

1.顺序结构

顺序结构是在程序执行时,根据程序中语句的书写顺序依次执行的命令序列。

2.分支(选择)结构

分支结构是在程序执行时,根据不同的条件,选择执行不同的程序语句,用来解决有选择、有转移的诸多问题。

常见的分支结构有:

1)I F语句:

语句格式:

<命令组1>

[else

<命令组2>]

Endif

例:CLEAR

INPUT "请输入年份:" to y

IF y/4=int(y/4) and y/100<>int(y/100) or y/400=int(y/400)

str(y,4)+"年是闰年"

ELSE

str(y,4)+"年不是闰年"

ENDIF

RETURN

2)多分支语句:表达分支、循环的每种语句都不允许在一个命令行中输完,必须按格式一行一行地键入,因此,不能出现在命令窗口中。

语句格式:

do case

case<条件1>

<命令组1>

case<条件2>

<命令组2>

………………..

[otherwise

<命令组N>]

endcase

例:yue=month(date())

do case

case inlist(yue,3,4,5) &&第一个表达式的值是其余表达式值之一就返回.T.

jj= "春"

case inlist(yue,6,7,8)

jj= "夏"

case inlist(yue,9,10,11)

jj= "秋"

case inlist(yue,12,1,2)

jj= "冬"

endcase

MESSAGEBOX("当前季节为:"+jj+"季")

return

3:循环结构,循环结构能够使某些语句或程序段重复执行若干次。

1)条件循环(do while循环)

语句结构:里面镶嵌if函数。

do while<条件>

<命令组>

[exit]

[loop]

Enddo

例:下列程序的功能是输出能被7整除的3位自然数。请填空完成。

CLEAR

N=100

DO WHILE N>=100 AND N<1000

IF MOD(N,7)=0

N

ENDIF

n=n+1

ENDDO

RETURN

2)步长循环(for…endfor计数循环)

语句结构:

For<循环变量>=<初值> to <终值>[step<步长值>]

<命令组>

Endfor︳next

例:计算s=1+2+3+…+100

clear

s=0

for i=1 to 100

s=s+i

endfor

"1+2+3+...+100=",s

Return

3)扫描循环(scan…endscan循环)

语句格式:

Scan[<范围>][for<条件>][while <条件>

<命令组>

Endscan

例:clear

use 学生

vs=0

do whil not eof()

if 性别=“男” scan

skip if 性别=“男”

loop loop

else else

disp disp

vs=vs+1 vs=vs+1

skip endi

endi ends

endd

”女生人数为:”,vs

retu

4:多重循环(掌握双重循环)

clear

for i=1 to 5 &&控制行数

for j=1 to 2*i-1 &&控制每行字符个数

'*'

endfor

endfor

return

1、公共变量public <内存变量表>

上下级各级程序都有效的内存变量表。命令窗口中定义的变量是公共变量,但不能在程序中使用

2、本地变量 local <内存变量表>

命令屏蔽掉主模块或上级模块中同名的变量,使得这些变量在子模块中暂时无效。只要返回主模块或上级模块,原来同名变量会重新出现,并且其值保持不变。

3﹑私有变量 private <内存变量表> | all [like|except <通配符>]

在程序中定义的变量,并且没有经过任何声明,均为私有变量.此命令只对本级程序及以下各级程序有效,并不影响上级程序中与之同名的内存变量的值。

1.过程的格式

clea

area=0

input “输入半径:” to r

do sub3 with r,area

”圆的面积为:”,area

retu

procedure sub3

parameter a,b

b=pi()*a^2

retu

相关文档