1、 程序基本结构练习单向分支程序练习:1. 从键盘任意输入任意学生名字,删除该学生记录。locate for 姓名=xmif not eof()deleteendifset talk onreturn双向分支程序练习:1. 从键盘任意输入2个数找出最大的数字input “请输入第一个数:“ to ainput “请输入第二个数:“ to bif ab?aelse?bendif2.从键盘任意输入3个数找出最大的数字*任意输入3个数找出最大的数字clearinput “请输入第一个数:“ to ainput “请输入第二个数:“ to binput “请输入第三个数:“ to cif abmax=a
2、elsemax=bendifif maxc?maxelse?cendif多向分支程序练习:1. 例:读下面程序:CLEARINPUT “请输入成绩: ” TO SCDO CASECASE P=60? “成绩为及格!“ 输入值:56657892CASE P=75? “成绩为中等!“CASE P=90? “成绩为优秀!“OTHERWISE? “成绩为不及格!“ENDCASE2.假设收入(P)与税率(R )的关系如下表,编程求税金。0 P8000.05 800 P2000R= 0.08 2000P50000.1 P5000 Input “请输入您的收入:” to pDo caseCase p800R
3、=0Case p2000R=0.05Case p5000R=0.08OtherwiseR=0.1EndcaseTax=P*RDO WHILE循环语句(条件循环)练习:1.逐条显示在学生表中性别为“男”的所有记录。ClearUse 学生Go top Do wile not eof()If 性别=”男”DispEndifSkipEnddoReturn2.编程求123100之和clearsum=0x=1do while x=100sum=sum+xx=x+1enddo ?sum3.求1*2*3*100的结果clearsum=1x=1do while x=100sum=sum*xx=x+1enddo
4、?sum4.求 N 的阶乘结果input “请输入您要计算的数值:” to nsum=1x=1do while x=nsum=sum*xx=x+1enddo ?str(n)+”的阶乘结果是”+str(SUM)5.1!+2!+3!+4!FOR循环语句(计数循环)练习:1.逐条显示在学生表中性别为“男”的所有记录。clearuse 学生count to numgo topfor i=1 to numif 性别=“男“ dispendifskipendfor2.编程求123100之和SUM=0FOR X=1 TO 100 SUM=SUM+X ENDFOR?” 123100之和是”,SUM3.求1*2
5、*3*100的结果SUM=1FOR X=1 TO 100 SUM=SUM*X ENDFOR?” 1*2*3*100的结果是”,SUM4.求N的阶乘结果input “请输入您要计算的数值:” to nSUM=1FOR X=1 TO nSUM=SUM*X ENDFOR?str(n)+”的阶乘结果是”+str(SUM)指针循环练习:(只能用于数据表)1. 输出学生表中所有三好生姓名和性别。CLEARUSE 学生SCAN FOR 三好生? 姓名,性别ENDSCANuseRETURN多重循环练习:1.打印九九乘法表 Set talk offClearFor y=1 to 9for x=1 to yz=x
6、*y?“ “+str(y,1)+“*“+str(x,1)+“=“+str(z,2)+“ “endfor x?Endfor ySet talk onreturn 2.打印特殊图形:1.三角形形状变幻: 1.整体右移2.变为直角三角形clear set talk offfor i=1 to 5?space(5-i)for j=1 to 2*i-1 ?“*“endfor?endforreturnclear set talk offfor i=1 to 5space(35-i) &只用修改空格数 for j=1 to 2*i-1 ?“*“endfor j?endfor ireturn3.变为菱形4.变为竖三角形clear set talk offfor i=1 to 5for j=1 to 2*i-1 ?“*“endfor?endforreturn&去掉产生空格函数set talk offclearfor i=1 to 5b=abs(3-i)?space(20+b)for j=1 to 2*abs(b-2)+1?“*“endforendforset talk onreturn clear set talk offfor i=1 to 5?space(20)for j=1 to 3-abs(3-i)?“*“endfor?endforreturn