




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
结构化程序的基本结构 顺序结构 按语句排列的先后顺序逐条执行语句 选择结构 选择结构只有一个入口和一个出口,但在结构内部根据条件有两条或者多条路径可供选择。 1、二分支选择结构(IF—ENDIF语句) 格式:IF<条件> <语句序列1> [ELSE <语句序列2> ENDIF 功能:若条件为真,则执行语句序列1,然后执行ENDIF的后继语句;若条件为假,则执行语句序列2,然后执行ENDIF的后继语句。 2、多分支选择结构格式(DOCASE—ENDCASE语句) 格式:DOCASE CASE<条件1> <语句序列1> CASE<条件2> <语句序列2> ...... CASE<条件n> <语句序列n> [OTHERWISE <语句序列>] ENDCASE 功能:逐个检查条件,若条件为真则执行相应的语句序列;否则检查下一个条件;若条件都不满足,则执行OTHERWISE的语句序列,然后执行ENDCASE的后继语句。 3、循环结构 在结构的内部,重复执行某些语句序列。 (1)当型循环(DOWHILE—ENDDO语句) 格式:DOWHILE<条件> <语句序列1> [LOOP] <语句序列2> [EXIT] <语句序列3> ENDDO 功能:先判断循环条件,若为.T.,则执行一遍循环语句,遇到循环终端句ENDDO时,转向循环起始句DOWHILE,重新判断循环条件,如此往复,直至循环条件为.F.,结束循环,执行ENDDO的后继语句。 说明:在循环体中,若遇到跳出循环语句EXIT,则无条件结束循环,执行ENDDO的后继语句。若遇到短路语句LOOP,则不执行本次循环余下语句,而返回循环起始语句DOWHILE,重新判断下一次循环的条件。 (2)计数循环(FOR—ENDFOR语句) 格式:FOR<循环变量>=<初值>TO<终值>[STEP<步长>] <循环体> ENDFOR|NEXT 功能:执行时先将初值赋给循环变量,判断其是否超过终值,若是,则退出循环,否则,执行一遍循环体,遇到循环终端语句ENDFOR时,循环变量增加一个步长,然后返回循环起始FOR语句,重新判断循环变量是否超过终值,如此反复,直至循环变量超过终值,则结束循环,执行ENDFOR的后继语句。 (3)扫描循环(SCAN—ENDSCAN语句) 格式:SCAN[<范围>][FOR|WHILE<条件>] <循环体> ENDSCAN 功能:记录指针自动在当前表的指定范围内满足条件的记录中依次移动,对每一条记录执行循环体中的语句。 说明:该语句只对表文件操作;缺省<范围>子句,则默认ALL (4)循环嵌套 当一个循环的循环体本身也是一个循环时就构成了循环嵌套,但不能交叉。外循环每走一步,内循环要遍历循环变量所有的值。 一、顺序结构 实例:设2001年我国的国民经济产值为一个单位,若每年增长8%,求2010年的产值? 程序: clear n=2010-2001 v=1*(1+0.08)^n ?“2010年产值为:”,v Return 示例1:试在表文件中查看某学生的有关情况。 *L3.PRG SETTALKOFF CLEAR USE学生表.DBF LOCATEFOR姓名=“林天力” DISPLAY USE SETTALKON 示例2:编程,根据输入的半径值,计算出相应的圆的周长。 SETTALKOFF CLEAR INPUT“请输入圆的半径:”TOR L=2*3.1416*R @10,10SAY“圆的周长是:”+STR(L,6,3) SETTALKON 二、二分支选择结构 单向分支 实例:从键盘输入任意两个数,然后按从大到小顺序输出。 程序: clear input“X=”toX input“X=”toy ifX>Y T=X X=Y Y=T Endif ?“X=”,X ?“Y=”,Y 例:在“学生表”中查看“李尚清”的基本情况。 SETTALKOFF CLEAR USE学生表 LOCATEFOR姓名=”李尚清” IFFOUND() DISP ENDIF USE SETTALKON 双向分支 实例:编写一个程序,其功能是:输入职工号,在表文件Zgjk2.dbf中查找职工的记录,若找到了,则将基本工资低于1000元的增加50元,否则增加30元;若没有找到,则显示“查无此人!” 程序: *这是双向分支问题,且需要分支嵌套 clear usezgjk2 list accept“请输入职工号:”tozgh locatefor职工号=zgh iffound() if基本工资<1000 replace基本工资wifh基本工资+50 else replace基本工资wifh基本工资+30 endif display else messagebox(“查无此人!”) endif 实例:编写一个程序,

ys****39
实名认证
内容提供者


最近下载