VFP程序设计典型例题汇总
《vfp实验题整理》word版

Visual FoxPro实验题汇总★顺序结构程序设计1.用过程化编成方式编写本题。
求解一元二次方程〔JFC.PRG〕a=1b=4c=4x1=<-b+SQRT<b^2-4*a*c>>/<2*a>x2=<-b-SQRT<b^2-4*a*c>>/<2*a>?"方程的一个根是:",x1,space<10>,"另一个根是:",x22.理解大小写转换函数。
在文本框中输入文本串,按"转大写"按钮,文本中的英文字母变为大写,按"转小写"按钮,文本中的英文字母变为小写〔如图所示〕。
<FORM><load>:Public a<text1><interactiveChange>:Thisform.text1.value=a<大写><click>:Thisform.text1.value=upper<a><小写><click>:Thisform.text1.value=lower<a><复原><click>:Thisform.text1.value=a3.班上集体购买课外读物,在文本框中输入3种书的单价、购买数量,计算并输出所用的总金额。
<总计><click>:a=val<thisform.text1.value>b=val<thisform.text2.value>c=val<thisform.text3.value>d=val<thisform.text4.value>e=val<thisform.text5.value>f=val<thisform.text6.value>thisform.text7.value=a*b+c*d+e*f4. 在文本框中输入小时、分、秒,化成共有多少秒,然后输出之。
VFP程序设计典型例题汇总

VisualFxoPro程序设计题1.编写程序,从键盘输入一个日期,查询STUDENT表中该日期以后出生的学生信息并显示在浏览窗口中。
usestudent&&运行前单击教学管理数据库input“请输入某日期:”tor q*输入时有提示,或inputtorq输入时无提示,输{^1987-01-01}browsefor出生日期>rq2.有一函数:x(x<1)y=2x-1(1≤x<10)3x-11(x≥10)编写程序,输入x,输出y的值。
clearinput"Enterxplease!"toxifx<1y=xelseifx<10y=2*x-1elsey=3*x-11endifendif?'x=',x,'y=',y3.编写程序,从键盘输入一个年份,判断它是否闰年。
clearinput"Enteryearnumberplease!"toyify%4=0andy%100<>0ory%400=0?y,"isaleapyear!"else?y,"isnotleapyear."Endif4.编写程序,输入一个百分制成绩,要求输出成绩等级“A”、“B”、“C”、“D”、“E”。
90分以上为“A”,80~89分为“B”,70~79分为“C”,60~69分为“D”,60分以下为“E”。
input“请输入一百分制成绩”tocjdocasecasecj>=90?”A”casecj>=80?”B”casecj>=70?”C”casecj>=60?”D”otherwise?”E”endcase5.编写程序,从键盘输入一个正整数M,输出M内(包括M)所有偶数。
clearinputtomfori=0tomstep2??str(i,5)Endfor6.编写程序,从键盘输入一个正整数M,计算M内(包括M)所有偶数之和。
VFP常见编程实例及模拟试卷4套

VFP常见编程实例及模拟试卷4套1、1-100的累加** 求1到100的累加值CLEARs=0i=1DO WHILE i<=100s=s+ii=i+1 &&一定记住先累加后循环ENDDOsRETURN2、阶乘** 求5的阶乘CLEARj=1i=1DO WHILE i<=5j=j*ii=i+1ENDDOjRETURN3、求阶乘和** 求1至5的阶乘和CLEARs=0i=1j=1DO WHILE i<=5j=j*is=s+ji=i+1ENDDOsRETURN4、条件定位** 查询定位记录指针在赵伟上CLEARUSE 学生LOCATE FOR 姓名="赵伟"IF FOUND()DISPLAYELSECANCELENDIFCONTINUE5、用scan语句查询定位** 用scan语句查询定位记录在赵伟上SCAN FOR 姓名="赵伟"DISPLAYENDSCANRETURN6、用scan语句扫描符合条件的记录,并显示出来** 把年龄小于30岁的人显示出来CLEARSCAN FOR 年龄<30DISPLAYENDSCANRETURN7、查找男性职工** 查找男性职工CLEARLOCATE FOR 性别="男"DO WHILE FOUND()DISPLAYCONTINUEENDDORETURN** 查找男性职工CLEARLOCATE FOR 性别="男"DO WHILE NOT EOF()DISPLAYCONTINUEENDDORETURN** 查找男性职工CLEARUSE 职员基本信息表LOCATE FOR 性别="男"DO WHILE .t.IF FOUND() thenDISPLAYELSE &&记住最后一个ELSE语句后面不需要条件表达式 CANCELENDIFCONTINUEENDDO** 查找男性职工set talk offclearopen database 家庭成员管理.dbcuse stu.dbfscan for not eof()if xb="女"skipelsedisplayendifendscanclose databaseuseset talk onreturn8、新值换旧值** 有一对新生的兔子,从第三个月开始,每个月出生一对兔子,请问到第十二个月共出生多少对兔子?clearstore 1 to a,bi=3do while i<=12c=a+ba=bb=ci=i+1enddo"一年共出生兔子:",creturn9、多位整数各个位数相加** 求多位整数各个位数之和CLEARs=0input "请输入一个多位整数:" to aDO WHILE a<>0s=s+MOD(a,10) &&将a取余正好是个位上的数a=INT(a/10) &&将a除10取整正好是除个位之后的数ENDDO"这个整数的各个位数之和是:",sRETURN10、找100-999之间的“水仙花数”CLEARFOR i=100 TO 999a=INT(i/100)b=INT((i-100*a)/10)c=i-INT(i/10)*10IF i=a^3+b^3+c^3?iENDIFENDFORRETURN11、判断一个大于3的数是否为素数CLEARinput "请输入一个数(>=3):" to sf=0i=2DO WHILE i<=INT(SQRT(s))IF MOD(s,i)<>0i=i+1ELSEf=1EXITENDIFENDDOIF f=0?str(s,3)+"是素数"ELSE f=1 &&这个表达式可有可无,为了省事完全省略也可以。
visual_fox_pro6.0程序设计习题大全

第一部分VFP概述一、选择题1、VisualFoxPro关系数据库管理系统能够实现的三种基本关系运算是()。
A)索引、排序、查找B)建库、录入、排序C)选择、投影、联接D)显示、统计、复制2、在下列四个选项中,不属于基本关系运算的是()A.连接B.投影C.选择D.排序3、按照传统的数据模型分类,数据库系统可分为三种类型()A.大型、中型和小型B.西文、中文和兼容C.层次、网状和关系D.数据、图形和多媒体4、如果一个班只能有一个班长,而且一个班长不能同时担任其它班的班长,班级和班长两个实体之间的关系属于()A.一对一联系B.一对二联系C.多对多联系D.一对多联系5、VisualFoxPro支持的数据模型是()A.层次数据模型B.关系数据模型C.网状数据模型D.树状数据模型6、设有关系R1和R2,经过关系运算得到结果S,则S是()A.一个关系B.一个表单C.一个数据库D.一个数组7、在数据库设计中用关系模型来表示实体和实体之间的联系。
关系模型的结构是()A.层次结构B.二维表结构C.网状结构D.封装结构8、一个数据库系统必须能够表示实体和关系,关系可与(①)实体有关。
实体与实体之间的关系有一对一、一对多和多对多三种,其中(②)不能描述多对多的联系。
A.0个B.1个C.2个或2个以上D.1个或1个以上9、按所使用的数据模型来分,数据库可分为()三种模型。
A.层次、关系和网状B.网状、环状和链状C.大型、中型和小型D.独享、共享和分时10、实体是信息世界中的术语,与之对应的数据库术语为()A.文件B.数据库C.字段D.记录11、层次型、网状型和关系型数据库划分原则是()A.记录长度B.文件的大小C.联系的复杂程度D.数据之间的联系二、填空题1、VisualFoxPro6.0是面向__的程序设计系统。
2、VisualFoxPro6.0集成环境主要包括标题栏_______、_______、________、________、_________。
VFP程序设计典范例题汇总

clear
input "Enter year number please!" to y
if y%4=0 and y%100<>0 or y%400=0
? y,"is a leap year!"
else
? y,"is not leap year."
Endif
&&运行前单击教学管理数据库
(x<1)
(1≤x<10)
2.有一函数:
编写程序,输入 x,输出 y 的值。
clear
input "Enter x please!" to x
if x<1
y=x
else
if x<10
y=2*x-1
else
y=3*x-11
,x,'y=',y
y= 2x-1
x
3x-11 (x≥10)
3.编写程序,从键盘输入一个年份,判断它是否闰年。
4.编写程序,输入一个百分制成绩,要求输出成绩等级“A”、“B”、“C”、“D”、 “E”。90 分以上为“A”,80~89 分为“B”,70~79 分为“C”,60~69 分为 “D”,60 分以下为“E”。
clear input “请输入一百分制成绩” to cj do case
case cj>=90 ?” A”
Visual FxoPro 程序设计题
1.编写程序,从键盘输入一个日期,查询 STUDENT 表中该日期以后出生的学
生信息并显示在浏览窗口中。
use student
input “请输入某日期:” to rq
*输入时有提示,或 input to rq 输入时无提示,输{^1987-01-01}
(完整版)vfP程序设计基础习题集

VFP程序设计习题习题一一、判断题(1分/题,共20分,对打画√,错打×)1.建立自由表分两步:定义表结构和输入数据。
2.表间的关系分三种:一对一关系、一对多关系和多对多关系。
3.若要使用多个表,就要使用多个工作区。
4.在应用程序中可以通过使用该工作区的表的别名来标识工作区。
5.对象具有属性,而属性只能在设计阶段设置。
6.引用对象的方法分绝对引用和相对引用。
7.表单集是指两个以上的表单同时输出,并且可以通过程序或鼠标交换输出权。
8.一条命令可分几行写,在行结束处用“:”表示一行未完,转入下一行。
9.VFP主要数据容器有:表记录、变量和数组。
10.报表包括两个基本组成部分:数据源和布局。
11.如果不想使用“报表向导”或“快速报表”设计报表,可以从空白报表布局开始,然后自己添加控件。
12.表选择查询输出的去向可以是浏览、报表或表单。
13.视图与查询相类似的地方是:可以用来从一个或多个相关联的表中提取有用信息。
14:视图与表相类似的地方是:可以用来更新其中的信息,并将更新结果永久保存在磁盘上。
15.在“数据库设计器”中,视图的显示方式与表在分层结构中的显示方式相同,所不同的是视图名代替了表名。
16.一个视图在使用时,将作为临时表在自己的工作区中打开。
17.如果打开基于本地表的视图,则在Visual FoxPro的另一个工作区中基表被同时打开。
18.在视图中更新数据与在表中更新数据类似,使用视图还可以对其基表进行更新。
19.VFP中的NULL表示未知数据,便于与含有NULL值的SQL数据库一起工作。
20.索引是改变表的物理顺序,排序是排列表的逻辑顺序。
二、选择题(每个选择3分,共24分)1.统计女生人数并将结果存放于变量X中的命令是()(A).COUNT FOR .NOT. 性别=”男” TO X(B).COUNT FOR ( 性别=”女”)=.T. TO X(C).SUM FOR ( 性别<>”男”)=.T. TO X(D).SUM FOR 性别=”女” TO X2. 在已打开的表中,要永久删除当前记录位置开始的10条记录,可用()(A)先执行DELETE NEXT 10命令,后用PACK命令(B)先执行DELETE RECORD 10命令,后用PACK命令(C)先执行DELETE FOR RECORD> 10命令,后用PACK命令(D)ZAP NEXT 103.按数值型字段”总分”进行索引,使其按降序排列的命令是()(A)INDEX ON -总分TO WP(B)INDEX ON 总分/A TO WP(C)INDEX ON 总分TO WP(D)INDEX ON 总分/D TO WP4.下列操作后,不改变表记录指针的命令是()(A)RECALL(B)LIST(C)SUM(D)REPL ALL5.按照数据库的数据模型分类,VFP属于()(A)层次型(B)关系型(C)网状型(D)混合型6.函数LEN(SPACE(5)-SPACE(1))的返回值是()(A)错误信息(B)17(C)6(D)47.某表文件中有日期型字段”出生日期”,设N=’01/01/80’,下列命令正确的是()(A)LOCATE FOR 出生日期=’01/01/80’(B)LOCATE FOR 出生日期=&N(C)LOCATE FOR DTOC(出生日期)=N(D)LOCATE FOR DTOC(出生日期)=CTOD(N)8.从表customer中提取所有记录生成查询,并将查询结果存放于表MyCursor的SQL命令为()(A)SELECT * FROM customerINTO CURSOR MyCursor(B)SELECT * FROM customerINTO TABLE MyCursor(C)SELECT ALL FROM customerINTO TABLE MyCursor(D)CREATE SQL VIEWMyCursor ASSELECT * FROM customer答案一.1.(√)2.(√)3.(√)4.(√)5.(×)6.(√)7.(√)8.(×)9.(√)10.(√)11.(√)12.(×)13.(√)14.(√)15.(√)16.(√)17.(√)18.(√)19.(√)20.(×)二.AAAABCCB习题二一.判断题(1分/题,共21分,对画√,错画×)1.VFP程序每行必须以“;”结尾。
VFP程序设计示例与练习
选择结构程序设计示例与练习1.从键盘输入一个正整数,判断这个数的奇偶性。
输出这个数以及判断结果。
SET TALK OFFCLEARINPUT ‘请输入一个正整数:’ TO XIF INT(X/2)=X/2‘是偶数’ENDIFIF INT(X/2)!=X/2‘是奇数’ENDIFSET TALK ONRETURN【练习】(1)请用IF……ELSE……ENDIF语句实现;2. 输入一个年份,判断其是否闰年,输出这个年份以及判断结果。
SET TALK OFFCLEARINPUT ‘请输入一个年份:’ TO YRIF MOD(YR,4)=0 AND MOD(YR,100)!=0 OR;MOD(YR,400)=0Note 上面两行是关于闰年的判断,因为太长,所以写Note 成了两行,第一行末尾用了分号,表示和下一行Note 是一个命令YR,‘是闰年’ELSEYR,‘不是闰年’ENDIFSET TALK ONRETURN【练习】(1)从键盘输入一个正整数,判断这个数是否是3的倍数,若是,则输出这个数,否则,输出“不是3的倍数”;(2)从键盘输入一个正整数,判断这个数是否能被3、4同时整除。
输出同(1);(3)从键盘输入一个正整数,判断这个数是否能被4和5整除,同时又不能被6整除。
输出同(1);(4)从键盘输入一个正整数,如果这个数同时能被3、5整除,或者同时能被2、7整除,则输出“YES!”,否则输出“NO!”3.输入一个大写字母,求该字母的ASCII值;(要求判断该字母是否为大写字母,若不是,则输出“输入错误,该字母不是大写字母!”)CLEARSET COLLATE TO ‘MACHINE’ACCEPT ‘请输入一个大写字母:’ TO CH IF CH>=‘A’ AND CH<=‘Z’“字母&CH.的ASCII值是:”,ASC(CH)ELSE‘输入错误,该字母不是大写字母!’ENDIFRETURN【练习】(1)输入一个小写字母,做同样判断;(2)输入一个大小为100—10000的整数,并将该数转换为字符串输出;(要求判断该数的大小,若不符合要求,则输出“输入数据不符合要求”)4.输入三角形的三条边,求三角形的周长和面积。
vfp常见20道编程题
vfp常见20道编程题VFP常见20道编程题1、求解AX^2 BX C=0的根、其中A、B、C三个参数由键盘输入。
一元二次方程的求根公式是:X=-b±√b2-4ac/2acleartext一元二次方程求解ax^2 +bx+ c=0endtextinput '请输入a的值:' to ainput '请输入b的值:' to binput '请输入c的值:' to cm=b*b-4*a*cif m>=0x1=(-b sqrt(m))/(2*a)x2=(-b-sqrt(m))/(2*a)'x1的值是:',x1'x2的值是:',x2else'此方程无实根!'endif2、编写程序将1-100之间所有能被7和3整除的整数输出clearfor i=1 to 100if i%3=0 and i%7=0iendifendfor3、编写程序计算e,e的近似值计算公式为:e=1 1/1! 1/2! 1/3! ... 1/n!,直到1/n!<0.000001为止e=1n=1do while .t.k=1for i=1 to nk=k*iendform=1/ke=e mif m<0.000001exitendifn=n 1enddo'e=1 1/1! 1/2! 1/3! … 1/n!=',e4、编写程序,计算1!2!3! .......N!=?clearinput '请输入n的值:' to ns=0t=1for i=1 to nt=t*is=s tendfor'1!2!3! .......N!=',s5、从键盘输入十个数,将它们进行降序排列。
clear dime a(10)for i=1 to 10input '请输入一个数:' to a(i)'降序排列为:'for i=1 to 9for j=i 1 to 10if a(i)<a(j)< p="">k=a(i)a(i)=a(j)a(j)=kendifendforalltrim(str(a(i))) ' 'endforalltrim(str(a(i)))6、(1)输出有*号组成的图形:*************************clearfor i=-3 to 3space(abs(i))for j=1 to 7-abs(i)*2 ??'*' endforendfor(2)********************clearfor i=1 to 5space(5-i)for j=1 to 2*i-1 ??'*'endforendfor7、编写一个程序产生一个有20项的Fibonacci数列并输出。
Vfp题库(程序设计基础)--典型例题
典型例题[例1] 在()窗⼝中可以控制列表框内显⽰的变量种类。
A.跟踪窗⼝B.监视窗⼝C.局部窗⼝D.调动堆栈窗⼝分析:局部窗⼝⽤于显⽰模板程序中的内存变量,并显⽰它们的名称.当前取值的类型。
它可以控制在列表内显⽰的变量类型。
答案c例2下⾯选项中关于ACCEPT命令说法错误的是()A.ACCEPT命令格式是:ACCEPT[] TOB.该命令只接收字符串,但是⽤户在输⼊字符串时,必须要加上定界符C如果不输⼊任何内容直接按回车键,系统就会把空串赋给指定的内存变量D如果选⽤,那么系统就会⾸先显该表达式的值,作为提⽰信息分析:该命令只接收字符串,但⽤户在输⼊时不需要加定界符;否则,系统会把定界符当作字符串的⼀部分输出.答案:B例3下列关于过程的说法中不正确的是A.过程⽂件可以放在任何程序⽂件代码的后⾯,也可以保存在称为过程⽂件的单独⽂件⾥B.过程⽂件只包含过程,这些过程只能被过程⽂件调⽤C.如果需要打开多个过程⽂件,可以在调⽤过程语句中加ADDITVE,那么在打开过程⽂件时,并不关闭原先已打开的过程⽂件D.关闭个别过程⽂件的命令格式是:RELESE PROCEDURE分析:过程⽂件只包含过程,这些过程可以被任何其它程序调⽤.命令格式SETPOCEDURE TO[][ADDITIVE]就可以打开多个过程⽂件.当使⽤不带任何⽂件名的SET PROCEDURE TO命令时,将会关闭所有的过程⽂件,使⽤命令RELEASE PROCEDURE时,将关闭指定的过程⽂件.答案:B例4 在⼀个程序定义了的⼀些变量,选出局部变量 ( )1.PRGPUBLIC aILOCAL a2,a3SCORE’B’TO a4LOCATE a5A.a1B.a2,a3C.a4D.a5分析:A是公共变量,C是私有变量,D的命令和LOCATE相似,但不存在这样定义变量的命令.只有B才是定义了两个局部变量.答案:B例5 不需要先建⽴就可以使⽤的变量是 ( )A.局部变量B.公共变量C.私有变量D.数组分析:私有变量是指在程序中直接使⽤,由系统⾃动隐含建⽴的变量.即没有通过PUBLIC 或LOCAL定义的变量.它的作⽤域是建⽴它的模块及其下属的各层模块.私有变量随着建⽴它的模块运⾏结束⾃动清除,不需要先建⽴就可以使⽤.答案:C「例6」可以设置表达式类型的断点窗⼝是()A.跟踪窗⼝B.监视窗⼝C.局部窗⼝D.调⽤堆栈窗⼝分析:监视窗⼝主要就是⽤来指定表达式在程序调试执⾏过程中的变化。
VFP程序设计题集
VFP程序设计题集1、求[10,1000]内所有能被被7和9中至少一个数整除的整数之个数。
set talk offclears=0for x=10 to 1000if mod(x,7)=0 and mod(x,9)=0n=n+xendifendforxset talk onreturn答案:2362、求[10,1000]内所有能同时被7和9整除的整数之和。
set talk offclears=0for x=10 to 1000if mod(x,7)=0 and mod(x,9)=0s=s+xendifendforsset talk onreturn答案:75603、求[10,1000]内所有能被6整除但不能被9整除的整数之和。
set talk offclears=0for x=10 to 1000if mod(x,6)=0 or mod(x,9)=0x=s+xendifendforsset talk onreturn答案:554404、求[10,1000]内所有能被6和9中的一个且只有一个数整除的整数的个数。
set talk offclearn=0for x=10 to 1000if mod(x,6)=0 and mod(x,9)!=0 and mod(x,6)!=0 and mod(x,9)=0 n=xendifendfornset talk onreturn答案:1655、求[100,800]内所有既不能被5整除也不能被7的整数的个数。
set talk offclearn=0for x=100 to 800if mod(x,5)=0 and mod(x,7)<>0n=x+1endifendforxset talk onreturn答案:4806、求[101,299]内所有能被2整除但不能同时被3和5整除的整数之和。
set talk offclears=0for x=101 to 299if mod(x,2)=0 and not mod(x,3)=0 and mod(x,5)=0x=s+xendifendforsset talk onreturn答案:186307、求100以内最大的自然数n,使得从1开始的连续n个自然数的倒数之和小于3.5。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Visual FxoPro程序设计题
1.编写程序,从键盘输入一个日期,查询STUDENT表中该日期以后出生的学生信息并显示在浏览窗口中。
use student &&运行前单击教学管理数据库
input “请输入某日期:” to r q
*输入时有提示,或input to rq输入时无提示,输{^1987-01-01}
browse for 出生日期>rq
2.有一函数:
x (x<1)
y= 2x-1 (1≤x<10)
3x-11 (x≥10)
编写程序,输入x,输出y的值。
clear
input "Enter x please!" to x
if x<1
y=x
else
if x<10
y=2*x-1
else
y=3*x-11
endif
endif
? 'x=',x,'y=',y
3.编写程序,从键盘输入一个年份,判断它是否闰年。
clear
input "Enter year number please!" to y
if y%4=0 and y%100<>0 or y%400=0
? y,"is a leap year!"
else
? y,"is not leap year."
Endif
4.编写程序,输入一个百分制成绩,要求输出成绩等级“A”、“B”、“C”、“D”、“E”。
90分以上为“A”,80~89分为“B”,70~79分为
“C”,60~69分为“D”,60分以下为“E”。
clear
input “请输入一百分制成绩” to cj
do case
case cj>=90
?” A”
case cj>=80
?” B”
case cj>=70
?” C”
case cj>=60
?” D”
otherwise
?” E”
endcase
5.编写程序,从键盘输入一个正整数M,输出M内(包括M)所有偶数。
clear
input to m
for i=0 to m step 2
??str(i,5)
Endfor
6.编写程序,从键盘输入一个正整数M,计算M内(包括M)所有偶数之和。
clear
input to m
s=0
for i=2 to m step 2
s=s+i
Endfor
? s
7.编写程序,从键盘输入5个数,找出其中的最大数和最小数。
clear
input "请输入第一个数" to max
min=max
for i=2 to 5
? "请输入第"+str(i,2)+"个数"
input to a
if a>max
max=a
endif
if a<min
min=a
endif
endfor
? 'max=',max
? 'min=',min
8.利用数组编写程序,从键盘输入10个数,再按逆序输出。
dime a(10)
for i=1 to 10
input to a(i)
endfor
for i=10 to 1 step -1
? a(i)
endfor
9.编写程序,逐条显示STUDENT表中的男生记录(显示一个记录后,由用户按任意键来显示下一个记录)。
use student
scan for 性别=”男”
disp
wait
endscan
use
10.编写程序,自STUDENT表的最后一个记录开始向前逐个显示(显示一个记录后,由用户按任意键来显示上一个记录)。
use student
go bott
do while not bof()
disp
wait
skip -1
enddo
use
11.先在STUDENT表中插入一个新字段:平均成绩(数值型,6,2)。
然后编写
程序,根据GRADE表统计每个学生的平均成绩,并填入新插入的字段中。
select 学号,avg(成绩)as 平均成绩 from grade group by 学号 into table t
use t
index on 学号 to txh
sele 2
use student
index on 学号 to sxh
set rela to 学号 into t
repl all 平均成绩 with t->平均成绩
12.写程序,输入一个三位自然数,判断该数是否为水仙花数。
所谓水仙花数是指一个三位自然数,其各位数字立方和等于该数本身。
例如,153是水仙花数,因为153=13+53+33。
input to zrs
gw=zrs%10
sw=int(zrs/10)%10
bw=int(zrs/100)
if bw**3+sw**3+gw**3=zrs
?”yes!”
else
?”no.”
Endif
13.编写一个自定义函数,判断一个三位自然数是否为水仙花数,若是,返回逻辑真,否则,返回逻辑假。
编写主程序,输入一个三位自然数,调用自定义函数判断该数是否为水仙花数。
clear
input to n
if sxh(n)
?”yes”
else
?”no”
endif
function sxh
para zrs
gw=zrs%10
sw=int(zrs/10)%10
bw=int(zrs/100)
if bw**3+sw**3+gw**3=zrs
return .t.
else
return .f.
endif
endfu
14.编写程序,输入一个自然数,判断该数是否为素数。
clear
input to zrs
sf=.t.
for i=2 to sqrt(zrs)
if zrs%i=0
sf=.f.
exit
endif
endfor
if sf=.t.
?”yes”
else
?”no”
Endif
15.编写一个自定义函数,判断一个自然数是否为素数,返回一个逻辑值。
编写主程序,调用自定义函数求100~200间的所有素数。
for i=100 to 200
if prime(i)
??i
endif
endfor
function prime
para zrs
sf=.t.
for j=2 to sqrt(zrs)
if zrs%j=0
sf=.f.
exit
endif
endfor
return sf
endfunc
16.九九乘法表
(1)矩形样式
Clear
For I=1 to 10 &&外循环I控制输出9行
?
For J=1 to 9 &&内循环J控制第I行输出9项
??str(I,1)+”×”+str(J,1)+”=”+str(I*J,2) &&输出I*J项??”“
Endfor
Endfor
Return
17.阶乘
(1)求单个数阶乘(以5为例)
Clear
J=1
I=1
Do while i<=5
J=j*i
I=i+1
Enddo
?j
Return
(2)求阶乘和(求1到5阶乘的和)
Clear
S=0
I=1
J=1
Do while i<=5
J=j*i
S=s+j
I=i+1
Enddo
?s Return。