数据库备份
aaccns吧
全部回复
仅看楼主
level 3
aaccns 楼主
打开ts.DBF, 先显示前5条记录,再显示后3条记录
set talk off
clear
use ts
list next 5
go bottom
skip -2
list rest
use
set talk on
return
在dz.DBF中,按姓名查询相应人员的单位和类别
set talk off
clear
use dz
@5,5 say"请输入读者姓名:" get xm defa space(8)
read
loca for 姓名=xm
?"姓名:",姓名
?"单位:",单位
?"类别:",类别
use
set talk on
return
给出三角形的三边ABC,求其面积
set talk off
clear
@5,5 say"请输入第一条边长"get a defa 0
@6,5 say"请输入第二条边长"get b defa 0
@7,5 say"请输入第三条边长"get c defa 0
read
if a+b>c.and.a+c>b.and.b+c>a
s=(a+b+c)/2
area=sqrt(s*(s-a)*(s-b)*(s-c))
?"面积="+str(area,6,2)
else
?"这三条边不能构成三角形"
endif
set talk on
return
根据输入决定显示dz。DBF中教师或学生的情况
set talk off
clear
use dz
?"输入1——显示教师读者的记录"
?"输入2——显示学生读者的记录"
wait"请选择类型:"to k
if k="1"
disp for 类别="教师"
else
if k=”2“
disp for 类别="学生"
else
?"输入数码错误"
endif
endif
use
set talk on
return
输入一百分制成绩,将其转换为等级制并输出
set talk off
clear
@2,2 say"请输入百分制成绩" get score defa 0
read
do case
case score>=90
?"A",score
case score>=80
?"B",score
case score>=70
?"C",score
case score>+60
?"D",score
otherwise
?"E",score
endcase
set talk on
return
用循环语句编写在屏幕上显示如下图形的程序
*
***
*****
*******
set talk off
clear
for i=1 to 4
??space(40-i)
for j=1 to 2*i-1
??'*'
endfor
?
endfor
set talk on
return
输出1——100之间能被29整除的数
set talk off
clear
n=0
do while .t.
n=n+1
if n=int(n/29)*29
if n>100
exit
endif
?n
else
loop
endif
enddo
set talk on
return
输入10个数,由小到大排序并输出
set talk off
dime a(10)
clear
?"请输入待排序的10个数"
for i=1 to 10
input to a(i)
endfor
for i=1 to 9
for j=i+1 to 10
if a(i)>a(j)
t=a(i)
a(i)=a(j)
a(j)=t
end if
end for
endfor
for i=1 to 10
??a(i)
endfor
set talk on
return

2012年07月04日 02点07分 1
level 3
aaccns 楼主
在数据库ZG.DBF中,交换给定的任意两个记录的物理顺序
set talk off
clear
use zg
input"请输入待交换的第一个记录的记录号" to a
input"请输入待交换的第二个记录的记录号" to b
?"交换前:"
go a
disp
scatter to y
gather from x
?"交换后:"
go a
gather from y
disp
go b
disp
use
set talk on
return
求Fibonacci数列的前20项。该数列的前两项分别是0和1,以后各项是前两项的和
set talk off
clear
dime f(20)
f(1)=0
f(2)=1
for i=3 to 20
f(i)=f(i-1)+f(i-2)
endfor
for i=1 to 20
?? f(i)
if mod(i,5)=0
?
endif
endfor
set talk on
return
用过程文件编写一个程序,使其具有对库文件进行追加。查询。修改。删除和打印记录的功能
主程序:
modify command pr11
clear
set talk off
accept"输入要打开的库的文件名:" to KWJ
use &kwj
set procedure to gcwj1
do while .t.
clear
text
功能表
=========================
1、追加记录 2、查询记录
3、修改记录 4、删除记录
5、打印记录 0、推出
=========================
endtext
@10,10 say "请输入选择(0-5):" to ch defa 0
read
if ch<0 . or. ch>5
loop
endif
do case
case ch=0
return
case ch=1
do p1
case ch=2
do p2
case ch=3
do p3
case ch=4
do p4
case ch=5
do p5
endcase
enddo
set procedure to
use
set talk on
过程文件
modify command gcwj1
procedure p1
append
return
procedure p2
accept "查询商品的型号" to xh
locate all for 型号=HX
if found ()
display
else
?"无此商品"
endif
wait
return
procedure p3
browse
return
procedure p4
accept "要删除商品的型号:"
locate all for 型号=xh
if found ()
display
accept "删除吗?[Y/N]:" to as
if as="Y" .or. as="y"
delete
pack
endif
else
? "无此商品"
endif
wait
return
procedure p5
list to print
return
2012年07月04日 02点07分 2
level 3
aaccns 楼主
求1!+2!+……+10!之和
m=0
for i=1 to 10
n=1
for j=1 to i do
n=n*j
endfor
m=m+n
endfor
?m
求1000以内能被7整除但不能被3整除的数之和
s=0
for i=1 to 1000
if(mod(i,7)=0) and (mod(i,3)<>0)
s=s+i
endif
endfor
?s
求 s=1+2^2
+3
^3+....+10^10
m=0
for i=1 to 10
m=m+i^i
endfor
?m
计算t=1+(1+2)+(1+2+3)+……+(1+2+3+……+20)
m=0
for i=1 to 20
n=0
for j=1 to i do
n=n+j
endfor
?m
求s=1+2^2+3^2+……+10^2
m=0
for i=1 to 10
m=m+1^2
endfor
?m
统计1-200之间能被7整除的数的个数
s=0
for i=1 to 200
if (mod(i,7)=0)
s=s+1
endif
endfor
?s
求1—300之间能同时被6和8整除的数的和
s=0
for i=1 to 300
if(mod(i,6)=0) and (mod(i,8)=0)
s=s+i
endif
endfor
?s
计算10!
n=1
for i=1 to 10
n=n*i
endfor
输出1-100间能被29整除的数
s=0
for i=1 to 100
if mod(i,29)=0
??s
endif
endfor
求1-300间能同时被6和8整除的数的个数
s=0
for i=1 to 300
if (mod(i,6)=0) and (mod(i,8)=0)
s=s+1
endif
endfor
2012年07月04日 02点07分 3
level 3
aaccns 楼主

编程测试
任意输入三个数,求其平均值并输出
set talk off
clear
input"输入第一个数:" to a
input"输入第二个数:" to b
input"输入第三个数:" to c
s=(a+b+c)/3
?"平均值为:J"+itrim(str(s,10,2)
输入百分制成绩,转换为等级制并输出
set talk off
do while .t.
clear
@2,2 say "请输入百分制成绩:" get score default 0
read
do case
case score>=90
@6,2 say alltrim(str(score,3,0))+"分为a等"
case score>=80
@6,2 say alltrim(str(score,3,0))+"分为b等"
case score>=70
@6,2 say alltrim(str(score,3,0))+"分为c等"
case score>=60
@6,2 say alltrim(str(score,3,0))+"分为d等"
otherwise
@6,2 say alltrim(str(score,3,0))+"分为e等"
endcase
wait "继续讲百分制成绩转换为等级制吗(Y/N)" to a windows
if upper(a)="N"
exit
endif
enddo
set talk on
在文件夹下有zgda.dbf 和zggz.dbf 按现有顺序,将第一个职工,第三个职工....第299个职工的基本工资累加求和,并输出
use zgda
s=0
for i=1 to 299 step 2
s=s+jbgz
skip 2
endfor
?s
use
建立自定义函数,求半径为345的三个圆面积之和
clear
?"半径为3,4,5的3圆各面积之和是:"+str(qsym(3)+qsym(4)+qsym(5),10,2)
function qsym
parameters r
s=3.14159*r*r
retrun s
打印所有的水仙花数
clear
for i=100 to 999
a=int(i/100)
b=int((i-a*100)/10)
c=i-a*100-b*10
if 100*a+10*b+c=a*a+b*b+c*c
? 100*a+10*b+c
endif
endfor
用循环语句编写在屏幕上显示如下图形的程序
*
***
*****
*******
set talk off
clear
for i=1 to 4
??space(40-i)
for j=1 to 2*i-1
??'*'
endfor
?
endfor
set talk on
return

2012年07月04日 02点07分 4
level 9

除夕、新正

社日、
腊日、
乞巧
(春龙)

端午、
中秋、重阳、
路神、
花朝、

寒食
(人庆前)、亚岁(小年)

伏日
(天贶)、
上巳
(人庆)、(清明、浴佛)、

(上中下元)




一家亲:初审
11.10

二审
11.17

演出
11.30

O
展:
12.2
2012年10月31日 23点10分 5
1