程序设计练习(例题).doc

上传人:鲁** 文档编号:560253978 上传时间:2023-10-18 格式:DOC 页数:28 大小:187.01KB
返回 下载 相关 举报
程序设计练习(例题).doc_第1页
第1页 / 共28页
程序设计练习(例题).doc_第2页
第2页 / 共28页
程序设计练习(例题).doc_第3页
第3页 / 共28页
程序设计练习(例题).doc_第4页
第4页 / 共28页
程序设计练习(例题).doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《程序设计练习(例题).doc》由会员分享,可在线阅读,更多相关《程序设计练习(例题).doc(28页珍藏版)》请在金锄头文库上搜索。

1、结构化程序的基本结构一、 顺序结构按语句排列的先后顺序逐条执行语句二、 选择结构选择结构只有一个入口和一个出口,但在结构内部根据条件有两条或者多条路径可供选择。1、二分支选择结构(IFENDIF语句)格式:IF ELSE ENDIF功能:若条件为真,则执行语句序列1,然后执行ENDIF的后继语句;若条件为假,则执行语句序列2,然后执行ENDIF的后继语句。2、多分支选择结构格式(DO CASEENDCASE语句)格式:DO CASE CASE CASE . CASE OTHERWISEENDCASE功能:逐个检查条件,若条件为真则执行相应的语句序列;否则检查下一个条件;若条件都不满足,则执行O

2、THERWISE的语句序列,然后执行ENDCASE的后继语句。3、循环结构在结构的内部,重复执行某些语句序列。(1) 当型循环(DOWHILEENDDO语句)格式:DOWHILE LOOP EXIT ENDDO功能:先判断循环条件,若为.T.,则执行一遍循环语句,遇到循环终端句ENDDO时,转向循环起始句DOWHILE,重新判断循环条件,如此往复,直至循环条件为.F.,结束循环,执行ENDDO的后继语句。说明:在循环体中,若遇到跳出循环语句EXIT,则无条件结束循环,执行ENDDO的后继语句。若遇到短路语句LOOP,则不执行本次循环余下语句,而返回循环起始语句DOWHILE,重新判断下一次循环

3、的条件。(2)计数循环(FORENDFOR语句)格式:FOR = TO STEP ENDFOR|NEXT功能:执行时先将初值赋给循环变量,判断其是否超过终值,若是,则退出循环,否则,执行一遍循环体,遇到循环终端语句ENDFOR时,循环变量增加一个步长,然后返回循环起始FOR语句,重新判断循环变量是否超过终值,如此反复,直至循环变量超过终值,则结束循环,执行ENDFOR的后继语句。(3)扫描循环(SCANENDSCAN语句)格式:SCAN FOR|WHILE ENDSCAN功能:记录指针自动在当前表的指定范围内满足条件的记录中依次移动,对每一条记录执行循环体中的语句。说明:该语句只对表文件操作;

4、缺省子句,则默认ALL(4)循环嵌套当一个循环的循环体本身也是一个循环时就构成了循环嵌套,但不能交叉。外循环每走一步,内循环要遍历循环变量所有的值。一、顺序结构实例:设2001年我国的国民经济产值为一个单位,若每年增长8%,求2010年的产值?程序:clearn=2010-2001v=1*(1+0.08)n? “2010年产值为:”,vReturn示例1:试在表文件中查看某学生的有关情况。 *L3.PRG SET TALK OFF CLEAR USE 学生表.DBF LOCATE FOR 姓名=“林天力” DISPLAY USE SET TALK ON示例2:编程,根据输入的半径值,计算出相应

5、的圆的周长。 SET TALK OFF CLEAR INPUT “请输入圆的半径:” TO R L=2*3.1416*R 10,10 SAY “圆的周长是:”+STR(L,6,3) SET TALK ON二、二分支选择结构1 单向分支实例:从键盘输入任意两个数,然后按从大到小顺序输出。程序:clearinput “X=” to Xinput “X=” to yif XYT=XX=YY=TEndif? “X=”,X? “Y=”,Y例:在“学生表”中查看“李尚清”的基本情况。 SET TALK OFF CLEAR USE 学生表 LOCATE FOR 姓名=”李尚清”IF FOUND() DISP

6、ENDIF USE SET TALK ON2 双向分支实例:编写一个程序,其功能是:输入职工号,在表文件Zgjk2.dbf中查找职工的记录,若找到了,则将基本工资低于1000元的增加50元,否则增加30元;若没有找到,则显示“查无此人!”程序:*这是双向分支问题,且需要分支嵌套clearuse zgjk2listaccept “请输入职工号:” to zghlocate for 职工号=zghif found() if 基本工资=0 X1=(-B+SQRT(D)/(2*A) X2=(-B-SQRT(D)/(2*A) ?“方程的两根是:”+STR(X1,2)+SPACE(4)+STR(X2,2)

7、 ELSE ?”方程无实根!” ENDIF SET TALK ON RETURN【例】:在表文件“分数.DBF”中查找学号为99020203的学生成绩,若其成绩满60分则显示其学号、课程号和成绩;否则显示此人的学号、课程号并通知其补考。*L6.PRGSET TALK OFFUSE 分数.DBFCLEARLOCATE FOR 学号=“99020203” IF 成绩=60 ?“学号:”+学号 ?“课程号:”+课程号 ?“成绩:”+STR(成绩,6,2) ELSE ?“学号为”+学号+“的学生应参加补考的课程号为:”+课程号ENDIF USESET TALK ON三、多分支选择结构实例:编写一个程序

8、,其功能是:打开表文件zgjk.dbf,用户输入部门号,然后显示指定部门的职工的信息;若输入的部门号不存在,则显示“无此部门!”。*这是一个多路分支的问题clearuse zgjkinput “输入部门号(家电为1,服装为2,文具为3):” to bmh do casecase bmh=1 bm=”家电”case bmh=2 bm=”服装”case bmh=3 bm=”文具”otherwise ?”无此部门!”return endcaselist for 部门=bm【例】:根据键入X的值,计算下面分段函数的值,并显示结果。X2+4X-1 (X0)3X2-2X+1 (010)Y=程序如下:SET

9、 TALK OFFCLEARINPUT “X=” TO XIF X0 IF X10 Y=X*X+1 ELSE Y=3*X*X-2*X+1 ENDIFELSE Y=X*X+4*X-1ENDIF?”分段函数值为:”+STR(Y,10,2)SET TALK ONRETURN例:用DO CASE语句修改上面计算分段函数的例子。SET TALK OFFCLEARINPUT “X=” TO XDO CASE CASE X0.AND.X10 Y=X*X+1ENDCASE?”分段函数值为:”+STR(Y,10,2)SET TALK ONRETURN四、循环结构1、do while-enddo 循环(当型循环)死循环示例:X=1 S=0 DO WHILE X=1 S=S+X X=X+1 ENDDO例:编程求和S=1+2+3+100。 SET TALK OFF CLEAR STORE 0 TO K,S DO WHILE k=100 S= K +S K = K +1 ENDDO ?”累加和S=”,S SET TALK ON RETURN在循环过程中各变量变化如下:S K S=S+K K=K+10 1 S=0+1 K=1+10+1 2 S=0+1+2 K=2+10+1+2

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号