11�√在学生表中查找并输出指定学生的所有信息。SETTALKOFFCLEARUSE学生---INDEXON学号TOXH或者SETORDERTO学号ACCEPT请输入指定的学生学号:TOXHSEEKXHIF---!FOUND()或者EOF()?查无此人!ELSE----DISPLAYENDIFUSESETTALKON2�√*判断给定的正整数值是否为素数�并能反复判断。SETTALKOFFCLEARDOWHILE.T.INPUT请输入一个正整数:TOX---FORI=2TOX-1IFINT(X/I)=X/IEXITENDIFENDFORIF----I=X.OR.X=I错�应为�IX-1或者I=X或者X=I?X,是素数!ELSE?X,不是素数!ENDIFWAIT是否继续输入(Y/N)TOYN----IFUPPER(YN)=“Y”或者IFLOWER(YN)=“y”LOOPELSEEXITENDIFENDDOSETTALKON3�√*输入边长�如果能构成三角形�则计算三角形面积。SETTALKOFF---DOWHILE.T.CLEARINPUT输入第一边长:TOXINPUT输入第二边长:TOYINPUT输入第三边长:TOZIFX=0.OR.Y=0.OR.Z=0.OR.X+Y=Z.OR.Y+Z=X.OR.X+Z=Y?尺寸有误,重新输入!---LOOPENDIF2EXITENDDOU=(X+Y+Z)/2---M=SQRT(U*(U-X)*(U-Y)*(U-Z))?AREA=+ALLTRIM(STR(M,19,2))SETTALKOFF4�在屏幕上显示输出一个乘法九九表。显示格式如图4-1所示。SETTALKOFFCLEAR----X=1或STORE1TOXDOWHILEX=9Y=1DOWHILEY=X----??STR(X,1)+“*”+STR(Y,1)+“=”+STR(X*Y,2)+“”Y=Y+1ENDDO---�X=X+1ENDDOSETTALKON5�√根据输入的数据,计算不大于该数的所有奇数累加和。SETTALKOFFCLEARYN=YDOWHILE---UPPER(YN)=“Y”或者LOWER(YN)=“y”INPUT请输入两位以内的正整数�TONSTORE0TOX,YDOWHILEXNX=X+1IF--INT(X/2)X/2或者X%2!=0或者MOD(X,2)!=0或者INT(N/2)#N/2Y=Y+XENDIFENDDO?不大于该数的奇数累加和=+STR(Y,4)--WAIT---继续计算否�(Y/N)TOYN&&此处填空ENDDO?再见�SETTALKON6�根据输入的数据�判断该数是否为偶数,可以反复判断。SETTALKOFFCLEARYN=Y---DOWHILEUPPER(YN)=“Y”INPUT请输入一个自然数�TONIF--N%2!=0?不是偶数!ELSE?是偶数!3ENDIF---Wait----继续否�(Y/N)TOYNENDDO?再见�SETTALKON7�√*显示指定表中的全部字段名,并由用户输入显示表信息的条件,最后列表显示满足条件的记录。SETTALKOFFDOWHILE.T.CLEARACCEPT请输入表名�扩展名略��TOTBNIFFILE(&TBN..DBF)----USE(TBN)ELSEWAIT指定的表不存在!LOOPENDIF?表中的全部字段名列表:FORN=1TO---FCOUNT()?FIELD(N)ENDFORACCEPT输入显示条件�TOEXPRLIST---FOR&EXPRWAIT是否继续(Y/N)?:TOYNIFUPPER(YN)!=YEXITENDIFENDDOUSESETTALKON8�√*接收从键盘输入的任意5个数�输入的数可以是负数�但包括符号位最多三位。程序的功能是�找出其中最大的数和最小的数�最后显示出来。SETTALKOFFCLEARINPUT请输入第一个数字�TOXZD=X---ZX=XN=5----DOWHILEN1INPUT请输入下一个数字�TOXIFZDXZD=XENDIFIF---ZXXZX=XENDIFN=N-1ENDDO?最大数�+STR(ZD,3,0),最小数�+STR(ZX,3,0)SETTALKON49�√*显示输出学生表中每个班级的男女同学的奖学金总金额。SETTALKOFFCLEARUSE学生INDEXON学号TOINN0?**********各班男女奖学金总额统计************?班级男同学奖学金总额女同学奖学金总额----DOWHILE!EOF()CLASS=LEFT(学号,3)STORE0TOBOYS,GIRLSDOWHILE----LEFT(学号,3)=CLASSIF性别BOYS=BOYS+奖学金ELSEGIRLS=GIRLS+奖学金ENDIF----SKIPENDDO?CLASS+STR(BOYS,19,2)+STR(GIRLS,19,2)ENDDOUSESETTALKON10�√*返回给定的字符串表达式的倒置字符串。如:输入字符串ABCD,倒置后输出的字符串为DCBA。SETTALKOFFCLEARACCEPT请输入一个字符串:TOX---C=“”L=LEN(X)--DOWHILEL0Q=SUBSTR(X,L,1)C=----C+QL=L-1ENDDO?倒置字符串是:+CRETURNSETTALKON11�√利用公式ex=1+X+X2/2!+X3/3!+„+XN/N!�输入X和N�计算ex的近似值。SETTALKOFFCLEARINPUT'X='TOXINPUT'N='TONA=1B=1---S=1--FORI=1TONA=A*XB=B*I--S=S+A/B5ENDFOR?'S=',SSETTALKON12�√*输入正整数M�显示1~M中有哪些数可以分为两个相等的素数。�如M=10�有3个数符合�即2+2=4�3+3=6和5+5=10�SETTALKOFFCLEARINPUT'M='TOMIFINT(M)!=MORABS(M)!=M?'输入数据不符合题目要求�'----ELSES=0FORI=2TOM/2FOR---J=2TOI-1IFI%J=0EXITENDIFENDFOR-----IFJI-1S=S+1?ALLT(STR(J*2,2))+=+ALLT(STR(J,2))+++ALLT(STR(J,2))ENDIFENDFOR?ALLTRIM(STR(M,19))+中共有�+STR(S,3)+个数满足条件ENDIFSETTALKON14�本程序显示学生表中的获得奖学金的学生姓名和奖学金数额SETTALKOFFCLEARUSE学生-----DOWHILE!EOF()IF----IF奖学金0?姓名,奖学金SKIPELSE---SKIPENDIFENDDOUSESETTALKON15�本程序显示学生表中1990年或以前出生的学生姓名和出生年月(日期型)。SETTALKOFFCLEARUSE学生LOCATE----FORYEAR(出生年月)=1990---DOWHILE.NOT.EOF()?姓名,出生年月----CONTINUE6ENDDOUSESETTALKON16�√*本程序计算一个十进制正整数N的各位数字之和�如输入�12378�则计算1+2+3+7+8�。SETTALKOFFCLEARINPUTM=TOMIFINT(M)!=MORABS(M)!=M?输入的数据不符合题目要求�--ELSES=0DO---DOWHILEM0T=MOD(M,10)S=S+TM=---M=INT(M/10)ENDDO?SENDIFSETTALKON17�本程序实现从键盘中输入5个数�去掉一个最大数和一个最小数�然后求平均值。SETTALKOFFCLEARINPUT'N='TON---storeNtoA,B,SFORI=1TO4INPUT'N='TONIF---ANA=NENDIFIFBNB=NENDIF---S=S+NENDFOR?'平均值=',(S-A-B)/3SETTALKON18�√计算�1!+3!+5!+…+N!�N由键盘输入。SETTALKOFFCLEAR---INPUT“N=“TONSTORE0TOS,TFORI=1TONSTEP2DOSUB---S=S+TENDFOR?SSETTALKON7PROCSUBT=1FORJ=1TOI---T=T*JENDFOR19�设变量N的输入值为5�字符A的ASCII码为65。程序的运行如图4-2所示。SETTALKOFFCLEARINPUTN=TONFORI=1TON?---SPACE(N-I)FORJ=1TO---2*I-1??--CHR(65+I-1)ENDFORENDFORSETTALKON20�将表“学生.DBF”中指定学生�由键盘输入�的奖学金加60�并显示该学生的记录。SETTALKOFFCLEARUSE学生ACCEPT“输入学号=”TOM---LOCATEFOR学号=MIF!EOF()---REPLACE奖学金WITH奖学金+60DISPLAYELSE?”没有找到�”---ENDIFUSESETTALKON21�下面程序统计指定学生的平均成绩及该成绩的档次。USE成绩ACCEPT请输入学生的学号�TOXH---LOCATEFOR学号=XHIF!FOUND()?查无此人!ELSE---AVERAGE成绩TOPJCJFOR学号=XHDOCASECASEPJCJ=90DC=优CASEPJCJ=80DC=良CASEPJCJ=70DC=中CASEPJCJ=60DC=及格8---OTHERWISEDC=不及格ENDCASE?学号,平均成绩,档次?XH,STR(PJCJ,8,2),DCENDIFUSE22�程序输出的结果如图4-3所示。SETTALKOFFCLEAA=*---H=5FORK=1TOH?--.SPACE(H-K)FORT=1TO---2*K-1??AENDFORENDFORSETTALKON24�本程序实现“百钱买百鸡”的计算�取自《算经》�“鸡翁一�值钱五�鸡母一�值钱三�鸡雏三�值钱一。百钱买百鸡�问鸡翁、母、雏各几何��SETTALKOFFCLEARFORX=0TO20FOR---FORY=0TO33Z=100-X-YIF---IF5*X+3*Y+Z/3=100?X=+STR(X,2),Y=+STR(Y,2),Z=+STR(Z,2)ENDIFENDFOR---ENDFORSETTALKON25�√输入一个自然数�判断该数是否为完数。�完数的定义�若该数除本身之外的所有因子之和等于该数�则为完数。如�1+2+3=6�6为完数�1+2+4#8�8不是完数。�SETTALKOFFCLEARINPUTM=TOMN=1---S=0FORN=1TOM-1IF---MOD(M,N)=0S=S+NENDIFENDFORIF---S=M?M,是完数�ELSE9?M,不是完数�ENDIFSETTALKON1.√求当1�+3�+5�++N�的值不超过10^20时的临界值及N的值。SETTALKOFFCLEARS=0N=1******1******DOWHILES=10^20T=1FORI=1TON******2******T=T*IENDFORS=S+T******3******N=N+2ENDDO?N=,N-4SETTALKON2�√计算�X^1+X^2+X^3+X^4+.......+XN的值。N�X从键盘输入。SETTALKOFFCLEARINPUTN=TONINPUTX=TOX******1******S=0T=1I=1DOWHILEI=N******2******T=T*XS=S+TI=I+1******3******ENDDO?S=,SSETTALKOFF3�用带参调用的方法实现计算�M!�(M-N)!*N!SETTALKOFFCLEARINPUTM=TOMINPUTN=TONMJ=M******1******10D