数据库改错.docx

上传人:b****5 文档编号:3292462 上传时间:2022-11-21 格式:DOCX 页数:18 大小:22.67KB
下载 相关 举报
数据库改错.docx_第1页
第1页 / 共18页
数据库改错.docx_第2页
第2页 / 共18页
数据库改错.docx_第3页
第3页 / 共18页
数据库改错.docx_第4页
第4页 / 共18页
数据库改错.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

数据库改错.docx

《数据库改错.docx》由会员分享,可在线阅读,更多相关《数据库改错.docx(18页珍藏版)》请在冰豆网上搜索。

数据库改错.docx

数据库改错

1、本程序用于输入一个表名,若表存在则打开表,并显示其各个字段名。

说明:

******N******标注的下一句有错,改正错误并调试运行。

不能删除******N******。

SETTALKOFF

CLEAR

DOWHILE.T.

ACCEPT"请输入表名:

(不含扩展名)"TOFNAME

******1******

IF.NOT.FILE(FNAME)

WAIT"此表不存在!

"

ELSE

USE&FNAME

ZDSM=FCOUNT()

******2******

?

"此表中的字段有:

"+ZDSM+"个"

FORI=1TOZDSM

?

STR(I)+""

******3******

?

?

NAME(I)

ENDFOR

ENDIF

WAIT"继续否?

(Y/N)"TOYN

IFUPPER(YN)="N"

EXIT

ENDIF

ENDDO

SETTALKON

2、本程序在屏幕上显示如下图形:

1

12

123

1234

12345

SETTALKOFF

CLEA

K=1

DOWHILK<=5

C=1

******1******

DOWHILC<=5

******2******

?

C

C=C+1

ENDDO

?

******3******

K=K-1

ENDDO

SETTALKON

3、本程序实现指定表指定条件的任意查询功能。

SETTALKOFF

CLEAR

ACCEPT"请输入表名:

(扩展名略)"TOFNAME

******1******

IF.NOT.FILE(FNAME)

WAIT"此表不存在!

"

ELSE

USE(FNAME)

ZDSM=FCOUNT()

?

"此表中的字段有:

"+STR(ZDSM)+"个"

FORI=1TOZDSM

?

STR(I)+""

?

?

FIELD(I)

******2******

ENDDO

ENDIF

ACCEPT"请输入显示表信息的条件表达式:

"TOEXP

******3******

LISTFOREXP

USE

SETTALKON

4、本程序将成绩表中成绩小于60分的学号、课程号及成绩显示出来。

SETTALKOFF

CLEAR

USE成绩

?

'------------------------------------------'

?

'不及格学生名单'

?

'------------------------------------------'

?

'学号课程号成绩'

******1******

GOBOTTOM

DOWHILE.NOT.EOF()

IF成绩<60

******2******

?

学号+SPACE(5)+课程号+SPACE(5)+成绩

ENDIF

SKIP

ENDDO

?

'---------------------------------------------'

******3******

?

'当前日期'+CTOD(DATE())

USE

SETTALKON

5、本程序用于计算S=1+2+3+…+N的和。

SETTALKOFF

CLEAR

******1******

ACCEPT“N=”TON

S=0

I=0

******2******

DOWHILEI<=N

I=I+1

S=S+I

ENDDO

******3******

?

“1+2+3+…+”+N+”=”+S

SETTALKON

6、本程序实现:

从键盘输入学生的学号,计算该生的平均成绩,并说明成绩的档次(优、良、中、及格和不及格)。

SETTALKOFF

CLEAR

USE成绩

C="不及格及格中良优"

******1******

INPUT"输入学号="TOXH

LOCATEFOR学号=XH

IFFOUND()

******2******

TOTAL成绩TOCJ

IFCJ<60

R=0

ELSE

R=INT(CJ/10)-5

ENDIF

******3******

DC=STR(C,6)

?

XH,CJ,DC

ELSE

?

'查无此人!

'

ENDIF

USE

SETTALKON

7、本程序实现:

输入三个正数,判定是否构成一个三角形,如果构成一个三角形,则返回.T.,否则返回.F.。

另外通过参数的引用将三角形的面积传回。

*主程序

SETTALKOFF

CLEAR

INPUT'X1='TOX1

INPUT'X2='TOX2

INPUT'X3='TOX3

******1******

IfTARER(X1,X2,X3)

?

"三角形面积为:

"+ALLTRIM(STR(X1,19,2))

endif

SETTALKON

*自定义函数

FUNCTIONTARER

******2******

PARAMETERSA,B

******3******

IFA>B>C

S=(A+B+C)/2

A=SQRT(S*(S-A)*(S-B)*(S-C))

RETURN.T.

ELSE

A=0

RETURN.F.

9、本程序输出一个对角线上元素为0,其它元素为1的6*6阶方阵。

输出时每个元素占2个字符。

SETTALKOFF

CLEAR

******1******

FUNCTIONA(6,6)

FORI=1TO6

FORJ=1TO6

******2******

IFI=J

A(I,J)=0

ELSE

A(I,J)=1

ENDIF

ENDFOR

ENDFOR

FORI=1TO6

FORJ=1TO6

******2******

?

A(I,J)

ENDFOR

?

ENDFOR

SETTALKON

10、本程序实现:

对输入的正整数,判别其中包含指定数码的个数(如2312132中包含数码1的个数为2)。

SETTALKOFF

CLEAR

INPUT'输入数值='TOM

INPUT'输入数码='TON

YSM=M

S=0

DOWHILE.T.

******1******

Y=MOD(M/10)

IFY=N

S=S+1

ENDIF

******2******

M=INT(M/N)

IFM=0

******3******

LOOP

ENDIF

ENDDO

?

ALLTRIM(STR(YSM,19))+"中包含数码"+STR(N,1)+"共"+ALLTRIM(STR(S,19))+"个。

"

SETTALKON

11、本程序实现:

对任意一个正数值型数据(该数可有小数若干位,整数部分不超过12位)自动进行小数部分四舍五入取2位,并将其转换为中文大写金额.

SETTALKOFF

CLEAR

C1="零壹贰叁肆伍陆柒捌玖"

C2="分角元拾佰仟万拾佰仟亿拾佰仟"

INPUT'输入一个正数='TOY

******1******

Y=STR(Y,2)

Y=Y*100

I=1

D=SPACE(0)

DOWHILEY>0

P=MOD(Y,10)

******2******

D=SUBSTR(C1,2*P-1,2)+SUBSTR(C2,2*I-1,2)+D

I=I+1

******3******

Y=INT(Y,10)

ENDDO

?

"转换的结果是:

"+D

SETTALKON

12、本程序实现:

将给定的正整数的值分解因子,并输出各个质数因子(如24的质数因子有2、2、2和3)(如果一个质数是某个数的约数,那么这个质数是这个数的质数因子)

SETTALKOFF

CLEAR

******1******

ACCEPT'M='TOM

IFINT(M)!

=MORABS(M)!

=M

?

'输入的数据不符合题目要求!

'

******2******

ENDIF

I=2

?

STR(M)+'的质数因子有:

'

DOWHILEI<=M

IFM%I=0

?

?

STR(I,6)

******3******

0

LOOP

ENDIF

I=I+1

ENDDO

ENDIF

SETTALKON

13、本程序是在屏幕上打印如下图形:

9876543

98765

987

9

SETTALKOFF

CLEAR

K=1

DOWHILEK<=4

C=1

******1******

DOWHILEC<=4

?

?

STR(10-C,3)

C=C+1

ENDDO

******2******

C=C+1

K=K+1

******3******

ENDFOR

SETTALKON

14、本程序实现:

对成绩.DBF(其中包含"学号"字段,并且以"学号"为关键字建立了索引标识“学号”)中学号相同的重复记录进行逻辑删除。

SETTALKOFF

CLEAR

SETDELETEDON

******1******

USE成绩

DOWHILENOTEOF()

XH=学号

SKIP

******2******

DOWHILE.NOT.EOF()

DELETE

******3******

CONTINUE

ENDDO

ENDDO

LIST

USE

SETTALKON

15、本程序求S=K!

+…+M!

(K

SETTALKOFF

CLEAR

INPUT'K='TOK

INPUT'M='TOM

STORE0TOS,A

I=K

DOWHILEI<=M

******1******

DOSUBWITHA,I

******2******

S=S+A

I=I+1

ENDDO

?

S

SETTALKON

PROCSUB

PARAP,N

STOR1TOP,L

******3******

DOWHILEL<=I

P=P*L

L=L+1

ENDDO

RETU

16、本程序输入一个一位数值(0-9),并把它转化为中文大写数字。

SETTALKOFF

CLEAR

X='零壹贰叁肆伍陆柒捌玖'

******1******

DOWHILENOTEOF()

INPUT'N='TON

******2******

S=STUFF(X,N,2)

?

STR(N,1)+"--->"+S

WAIT'是否继续(Y/N)'TOT

******3******

IFUPPER(T)='n'

EXIT

ENDIF

ENDDO

SETTALKON

 

17.本程序用以判断输入的字符串是否是回文(回文是从左到右和从右到左读时都一样的一个字符串,不论大小写字母)。

SETTALKOFF

CLEAR

C=SPACE(0)

ACCEPT'请输入字符串='TOST

******1******

I=LEFT(ST,1)

J=1

DOWHILEJ<=I

Q=SUBST(ST,J,1)

******2******

C=C+Q

J=J+1

ENDDO

******3******

IFST=C

?

ST,'是回文'

ELSE

?

ST,'不是回文'

ENDIF

SETTALKON

18.求3→200之间的素数。

SETTALKOFF

CLEAR

FORM=3TO200

******1******

FORN=1TOM

******2******

IFM/2=INT(M/2)

EXIT

ENDIF

ENDFOR

******3******

IFN>M

?

?

M

ENDIF

ENDFOR

SETTALKON

19.本程序显示下列的九九乘法表

123456789

1

24

369

481216

510152025

61218243036

7142128354249

816243240485664

91827364554637281

SETTALKOFF

CLEAR

FORI=1TO9

******1******

I

ENDFOR

I=1

DOWHILEI<=9

?

******2******

FORJ=1TO9

?

?

STR(I*J,4)

ENDFOR

I=I+1

******3******

ENDFOR

SETTALKON

20.程序是显示输出给定行数的对称菱形图案,如下图所示。

SETTALKOFF

CLEAR

INPUT"N="TON&&输入5

FORI=1TON

*******1******

?

SPACE(N-I)

*******2******

FORJ=1TON

?

?

CHR(ASC("A")+I-1)

ENDFOR

ENDFOR

FORP=N-1TO1STEP-1

?

SPACE(N-P+1)

*******2******

FORK=1TO2*N-1

?

?

CHR(ASC('A')+P-1)

ENDFOR

ENDFOR

SETTALKON

21.统计显示“课程”表中所有不同学期考试课和考查课的总学分数。

输出格式如下:

学期考试课总学分考查课总学分

***************************************

1113

settalkoff

clear

use课程

indexon开课学期tokkxq

?

"学期考试课总学分考查课总学分"

?

"*******************************************"

dowhile.not.eof()

xq=开课学期

store0toks,kc

*******1******

dowhile.T.

if考查标志="1"

*******2******

kC=kC+学分数

else

kc=kc+学分数

endif

*******3******

CONTINUE

enddo

?

xq+str(ks,19,2)+str(kc,19,2)

enddo

use

settalkoff

22.输出3~M(M为正整数,从键盘输入)之间的素数和素数的个数。

SETTALKOFF

CLEAR

INPUT"M="TOM

K=0

FORX=3TOM

FORN=2TOX-1

*******1******

IFX/N=INT(X/N)

EXIT

ENDIF

ENDFOR

*******2******

IFN>X

?

?

X

*******3******

K=K+X

ENDIF

ENDFOR

?

"共"+ALLTRIM(STR(K))+"个素数"

SETTALKON

23.用带参调用实现:

M!

/(M-N)!

*N!

SETTALKOFF

CLEAR

INPUT"M="TOM

INPUT"N="TON

MJ=M

*******1******

DOJC

NJ=N

DOJCWITHNJ

*******2******

MNJ=0

DOJCWITHMNJ

?

"S=",MJ/(NJ*MNJ)

SETTALKON

PROCEDUREJC

PARAMETERSX

T=1

FORI=1TOX

T=T*I

ENDFOR

*******3******

X=i

RETURN

24.求x1+x2+x3+x4++xn的值。

n,x从键盘输入。

settalkoff

clear

input"n="ton

input"x="tox

*******1******

s=1

t=1

I=1

DOWHILEI<=n

*******2******

t=s*x

s=s+t

I=I+1

*******3******

endFOR

?

"s=",s

settalkoff

25.求当1!

+3!

+5!

++n!

的值不超过1020时的临界值及n的值。

settalkoff

clear

s=0

n=1

*******1******

dowhileI

t=1

fori=1ton

*******2******

t=i*i

endfor

s=s+t

*******3******

n=n+1

enddo

?

"n=",n-4

settalkon

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1