欢迎来到天天文库
浏览记录
ID:18295703
大小:187.00 KB
页数:28页
时间:2018-09-16
《程序设计练习(例题)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、结构化程序的基本结构一、顺序结构按语句排列的先后顺序逐条执行语句二、选择结构选择结构只有一个入口和一个出口,但在结构内部根据条件有两条或者多条路径可供选择。1、二分支选择结构(IF—ENDIF语句)格式:IF<条件><语句序列1>[ELSE<语句序列2>ENDIF功能:若条件为真,则执行语句序列1,然后执行ENDIF的后继语句;若条件为假,则执行语句序列2,然后执行ENDIF的后继语句。2、多分支选择结构格式(DOCASE—ENDCASE语句)格式:DOCASECASE<条件1><语句序列1>CA
2、SE<条件2><语句序列2>......CASE<条件n><语句序列n>[OTHERWISE<语句序列>]ENDCASE功能:逐个检查条件,若条件为真则执行相应的语句序列;否则检查下一个条件;若条件都不满足,则执行OTHERWISE的语句序列,然后执行ENDCASE的后继语句。3、循环结构在结构的内部,重复执行某些语句序列。(1)当型循环(DO WHILE—ENDDO语句)格式:DO WHILE<条件><语句序列1>[LOOP]<语句序列2>[EXIT]<语句序列3>ENDDO功能:先判断循环条件
3、,若为.T.,则执行一遍循环语句,遇到循环终端句ENDDO时,转向循环起始句DO WHILE,重新判断循环条件,如此往复,直至循环条件为.F.,结束循环,执行ENDDO的后继语句。说明:在循环体中,若遇到跳出循环语句EXIT,则无条件结束循环,执行ENDDO的后继语句。若遇到短路语句LOOP,则不执行本次循环余下语句,而返回循环起始语句DO WHILE,重新判断下一次循环的条件。(2)计数循环(FOR—ENDFOR语句)格式:FOR<循环变量>=<初值>TO<终值>[STEP<步长>]<循环体>E
4、NDFOR
5、NEXT功能:执行时先将初值赋给循环变量,判断其是否超过终值,若是,则退出循环,否则,执行一遍循环体,遇到循环终端语句ENDFOR时,循环变量增加一个步长,然后返回循环起始FOR语句,重新判断循环变量是否超过终值,如此反复,直至循环变量超过终值,则结束循环,执行ENDFOR的后继语句。(3)扫描循环(SCAN—ENDSCAN语句)格式:SCAN[<范围>][FOR
6、WHILE<条件>]<循环体>ENDSCAN功能:记录指针自动在当前表的指定范围内满足条件的记录中依次移动,对每一条记录执
7、行循环体中的语句。说明:该语句只对表文件操作;缺省<范围>子句,则默认ALL(4)循环嵌套当一个循环的循环体本身也是一个循环时就构成了循环嵌套,但不能交叉。外循环每走一步,内循环要遍历循环变量所有的值。一、顺序结构实例:设2001年我国的国民经济产值为一个单位,若每年增长8%,求2010年的产值?程序:clearn=2010-2001v=1*(1+0.08)^n?“2010年产值为:”,vReturn示例1:试在表文件中查看某学生的有关情况。*L3.PRGSETTALKOFFCLEARUSE学生表
8、.DBFLOCATEFOR姓名=“林天力”DISPLAYUSESETTALKON示例2:编程,根据输入的半径值,计算出相应的圆的周长。SETTALKOFFCLEARINPUT“请输入圆的半径:”TORL=2*3.1416*R@10,10SAY“圆的周长是:”+STR(L,6,3)SETTALKON二、二分支选择结构1.单向分支实例:从键盘输入任意两个数,然后按从大到小顺序输出。程序:clearinput“X=”toXinput“X=”toyifX>YT=XX=YY=TEndif?“X=”,X?“Y
9、=”,Y例:在“学生表”中查看“李尚清”的基本情况。SETTALKOFFCLEARUSE学生表LOCATEFOR姓名=”李尚清”IFFOUND()DISPENDIFUSESETTALKON1.双向分支实例:编写一个程序,其功能是:输入职工号,在表文件Zgjk2.dbf中查找职工的记录,若找到了,则将基本工资低于1000元的增加50元,否则增加30元;若没有找到,则显示“查无此人!”程序:*这是双向分支问题,且需要分支嵌套clearusezgjk2listaccept“请输入职工号:”tozghlo
10、catefor职工号=zghiffound()if基本工资<1000replace基本工资wifh基本工资+50elsereplace基本工资wifh基本工资+30endifdisplayelsemessagebox(“查无此人!”)endif实例:编写一个程序,其功能是:输入职工号,在”职工业绩.dbc”数据库中查找。若找到了,显示该职工的全部工资信息;若没有找到,则显示“查无此人!”。*这是双向分支问题,且使用到两个数据库表内联查询的SQL语句。ClearAccept“请输入职
此文档下载收益归作者所有