资源描述
填空1. 在学生表中查找并输出指定学生的所有信息INDEX ON 学号 TO IXH!FOUND()DISPLAY2. 判断给定的正整数表达式的值是否为素数,并能反复判断FOR I=2 TO X-1I=XIF UPPER(YN)=”Y”或者IF LOWER(YN)=”y”3. 输入边长,如果能构成三角形,则计算三角形面积.DO WHILE .T.LOOPM=SQRT(U*(U-X)*(U-Y)*(U-Z)4. 在屏幕上显示输出一个九九乘法表.X=1?STR(X,1)+”*”+STR(Y,1)+”=”+STR(X*Y,2)+” ”?5. 根据输入的数据,计算不大于该数的所有奇数累加和.UPPER(YN)=”Y”INT(X/2)X/2WAIT或者ACCEPT或者INPUT6. 根据输入的数据,判断该数是否为偶数,可以反复判断.DO WHILE UPPER(YN)=”Y”N%2!=0或者 N/2!=INT(N/2) 或者 MOD(N,2)!=0WAIT7. 显示指定表中的全部字段名,并由用户输入显示表信息的条件,最后列表显示满足条件的记录.USE(TBN) 或者 USE&TBNFCOUNT()For &EXPR8. 接收从键盘输入的任意5个数,输入的数字可以是负数,但最多包括3位符号位.程序的功能是,找出其中最大的数和最小的数,最后显示出来.ZX=XDO WHILE N1ZXX9. 显示输出学生表中每个班级男女生的奖学金总金额.DO WHILE !EOF()LEFT(学号,3)=CLASS 或者 SUBSTR(学号,1,3)=CLASSSKIP10. 返回给定字符串表达式的倒置字符串.例如,输入字符串”ABCD”,倒置后输出的字符串为”DCBA”.C=” 或者 C=SPACE(0)Do While L0C+Q11. 利用公式e的x次方=1+X+X2/2!+X3/3!+XN/N!,输入X和N,计算e的x次方的近似值.S=1FOR I=1 TO NS=S+A/B12. 输入一个正整数M,判断并显示1M中有哪些数可以分为两个相等的素数.(例如,M=10,有2个数符合,即3+3=6和5+5=10。)ELSEJ=2 TO I-1IF JI-1 或者 IF J=I13. 本程序实现口令验证.输入次数在3次以内,给予重输的提示;超过3次,则进入死循环.EXITIF I=3 或者 IF I=3I=I+114. 显示学生表中的获得奖学金的学生姓名和奖学金数额 DO WHILE !EOF() IF 奖学金0 SKIP15. 填空本程序显示学生表中1990年或以前出生的学生姓名和出生年月(日期型)。LOCATE FOR YEAR(出生年月)0M=INT(M/10)17. 本程序实现从键盘中输入5个数,去掉一个最大数和一个最小数,然后求平均值。Store N to A,B,SANS=S+N18.计算1!+3!+5!+N!,N由键盘输入INPUT “N=” TO NS=S+TT=T*J19设变量N 的输入值为5,字符A的ASCII码为65。SPACE(N-I)2*I-1CHR(65+I-1)20将表“学生.DBF”中指定学生(键盘输入)的奖学金加60,并显示该学生的记录。LOCATE FOR 学号=MREPLACE 奖学金 WITH 奖学金+60ENDIF21下面程序统计指定学生的平均成绩及该成绩的档次LOCATE FOR 学号=XHAVERAGE 成绩 TO PJCJ FOR 学号=XHOTHERWISE22程序输入的结果如图所示(三角*)H=5SPACE(H-K)2*K-123编程实现将日期转换成中文星期的字定义函数N=DOW(D)OTHERWISERETURE C24百钱买百鸡。FOR Y=0 TO 33IF 5*X+3*Y+Z/3=100ENDFOR25输入一个自然数,判断是否为完数(若该数除本身之外的所有因子之和等于该数,则为完数。例如,1+2+3=6,6为完数;1+2+4=、8,8不是完数)S=0 或者 STORE 0 TO SMOD(M,N)=0 或者 INT(M/N)=M/N 或者 M%N=0S=M改错1求当1!+ 3!+ 5!+ N!的值不超过1020时的临界值及N的值。DO WHILE S=M9.本程序用以判断输入的字符串是否是回文(回文是从左到右和从右到左读时都一样的一个字符串,不论大小写字母)。I=LEN(ST)C=Q+CIF UPPER(ST)=UPPER(C)10本程序求S=K!+M!(M,K由键盘输入,且MK),请输入S的值DO SUB WITH A,IS=S+ADO WHILE L=N11.本程序输入一个一位数值(09),并把它转化为对应的中文大写数字(零玖)。DO WHILE .T.S=SUBSTR(X,2*N+1,2)IF UPPER(T)=”N”12.对成绩.dbf(其中包含“学号”字段,并且以“学号”为关键字建立了索引标识“学号”)中学号相同的重复记录进行逻辑删除。USE 成绩 ORDER 学号DO WHILE 学号=XHSKIP13.本程序是在屏幕上打印输出如图4-6所示图形。DO WHILE CC AND A+CB AND B+CA20、成绩小于60的学号课程号成绩显示出来GO TOP?学号+SPACE(5)+课程号+SPACE(5)+STR(成绩,6)?当前日期+DTOC(DATE()21、计算S=1+2+3+.+N的和INPUT”N=”TO NDO WHILE IN?”1+2+3+N=”+S22、输入学号,计算平均成绩,说明成绩档次INPUT”输入学号=”TO XHAVERAGE 成绩 TO CJ FOR 学号=XHDC=SUBSTR(C,6*R+1,6)23、指定表指定条件的任意查询功能IF NOT FILE(FNAME+”.dbf”)ENDFORLIST FOR &EXP24、输入表名,若存在则打开并显示各字段名IF NOT FILE(FNAME+”.dbf”)?”此表中的字段有:”,ZDSM,”个”?FIELDS(I)25、屏幕上出现15的那个图形DO WHILE CThisform.Pageframe1.Pagecount Thisform.P=1ENDIFThisform.Pageframe1.Pages(Thisform.P).Enabled=.T.Thisform.Pageframe1.Activepage=Thisform.PThisform.Refresh 5.编制手工日历表单。(1) 表单FORM1的INIT事件 Thisform.Text1.Value=DATE( ) Thisform.Spinner1.Setfocus(2)微调Spinner1的UpClick事件 Thisform.Text1.Value=Thisform.Text1.Value+1 Thisform.Refresh(3)微调Spinner1的DownClick事件 Thisform .Text1.Value=Thisform.Text1.Value-1 Thisform . Refresh6.编制表文件完成自动只读浏览显示功能(表单内容将以2秒为间隔自动刷新)表单FROM1的INIT事件Thisform.Setall(“Readonly”,.T.”Textbox”)Thisform.Setall (“Readonly”,.T.,”Editbox”)Thisform Setall (“Readonly ”,.T.,”Checkbox”)计时器TIMER1的timer事件SkipIF EOF()Go TOPENDIFThisform.Refresh7.设计一个表单,使表单中的信息行显示系统当前时间,并使该信息行在表单内左右缓慢平移。界面如图4-23和图4-24所示。要求:现实时间信息的字体大小为20号。信息先向右移动,且每0.1秒钟移动一个像素点。(1) 表单Form1的Iint事件 This.caption=”信息移动态平行移动”Thisform.timer1.interval=100(2)计时器TIMER1的TIMER事件Thisform.label1.caption=TIME() IF Thisform .Label1.Left=thisform.width-thisform.label1.widththisform.D=.F.EndifIf thisform.D=.T. Thisform.label1.left=thisform.label1.left+1Else Thisform.label1.left=thisform.label1.left-1Endif8.利用计时器空间设计一个模拟拍球动作的表单。具体界面如图4-25和4-26所示。球的起始位置在表单的顶行中部,表单执行后,秋自上而下落下并且球体逐渐变大,当球到达表单底部时自动弹回,并且球体又逐渐回缩变小,当球到达顶部时再次自动下落,如此往复弹跳,仿佛有人用手拍打球,知道关闭表单。(1)表单Form1的Init事件Thisform.shape1.width=40Thisform.shape1.height=40Thisform.shape1.top=0Thisform. t=1Thisform.timer1.interval=100(2).计时器Timer1的Timer事件 If thisform.shape1.top= Thisform . Height- Thisform.shape1.heightThisform.T=0Endif If thisform.T=1Thisform.shape1.top= Thisform.shape1.top+1Thisform.shape1.width= Thisform.shape1.width+1Thisform.shape1.height= Thisform.shape1.height+1ElseThisform.shape1.top= Thisform.shape1.top-1Thisform.shape1.width= Thisform.shape1.width-1Thisform.shape1.height= Thisform.shape1.height-1EndifThisform.refresh 9.设计一个3表关联查询表单FORM1的INIT的事件Thisform.setall(“Readonly”,.T.,”Grid”)Thisform.setall(“Allowaddnew”,.F.,”Grid”)Thisform.setall(“Deletemark”,.F.,”Grid”)10.设计一个统计车票总金额的表单。“计算总额”命令按钮设置“计算总额”Default为.T. Text1 ReadOnly为.T.Command1的Click事件:S=0IF Thisform.Check1.Value=1S=S+580ENDIFIF Thisform.Check2.Value=1S=S+50ENDIFIF Thisform.Check3.Value=1S=S+280ENDIFThisform.Text1.Value=SThisform.RefreshCommand2的Click事件:Thisform.Release11.计数器计数显示功能。初始显示为“00:00:00”。“计数”、“停止”时钟设置interval 1000表单-新建属性-添加S,H,M(1) Formthisform.timer1.Enabled=.F.thisform.S=0thisform.H=0thisform.M=0thisform.text1.value=00:00:00(2) command1 thisform.timer1.Enabled=.T.thisform.S=0THISFORM.H=0thisform.M=0thisform.text1.Value=00:00:00THISFORM.Refresh(3) command2thisform.timer1.Enabled=.F.(4) timerthisform.S=thisform.S+1IF thisform.S=60thisform.S=0THISFORM.M=thisform.M+1IF thisform.M=60THISFORM.M=0THISFORM.H=THISFORM.H+1ENDIFENDIFHH=IIF(thisform.H9,STR(thisform.H,2),0+STR(thisform.H,1)MM=IIF(thisform.M9,STR(thisform.M,2),0+STR(thisform.M,1)SS=IIF(thisform.S9,STR(thisform.S,2),0+STR(thisform.S,1)thisform.text1.Value=HH+:+MM+:+SSTHISFORM.Refresh12、选项按钮5色调色板表单AUTOSIZE 设置为 F,可拖动边框大小 T,调整字体大小Form1的init事件thisform.optiongroup1.Value=1thisform.optiongroup1.BackColor=RGB(255,0,0)Optiongroup1的click事件DO caseCASE this.value=1this.BackColor=RGB(255,0,0)CASE this.value=2this.BackColor=RGB(0,0,255)CASE this.value=3this.BackColor=RGB(0,255,0)CASE this.value=4this.BackColor=RGB(255,255,255)CASE this.value=5this.BackColor=RGB(0,0,0)ENDCASETHISFORM.Refresh13、设计一个表单,当用户在文本框输入矩阵的维数后,按“显示”按钮则会在编辑框中输出对角线为0的N维矩阵,输入数据不合要求时显示提示信息。(1)文本框text1的valid事件 IF VAL(this.Value)9 OR VAL(this.Value)1 =MESSAGEBOX(输入错,请重新输入!) RETURN .F.ELSE RETURN .T.ENDIFthisform.Refresh(2)命令按钮command1的click事件 N=VAL(ALLTRIM(thisform.text1.Value)DIMENSION A(N,N)CH=FOR I=1 TO N FOR J=1 TO N IF I=J OR I+J=N+1 A(I,J)=0 ELSE A(I,J)=1 ENDIF CH=CH+STR(A(I,J),2) ENDFOR CH=CH+CHR(13)ENDFORthisform.edit1.Value=Chthisform.text1.SetFocusthisform.Refresh14.设计一个完成口令判定功能的表单。(1)表单FORM1的init事件 USE 学生 Thisform.text1.passwordchar=* This.Caption=口令验证窗(2)文框Text1.Valid事件 locate for alltrim(this.value)=alltrim(姓名) if found() messagebox(正确!) return .f. else messagebox(错误!) return .f. endif thisfor.refresh(3)命令按钮command1的click事件 thisform.text1.valid(4)命令按钮command2的clicl事件 use thisform.release15.设计一个圆球跳动表单。要求:球的宽和高为40像素,球的填充颜色为RGB(128,64,0)(1)命令按钮command1的click事件 thisform.timer1.enabled=.t.(2)命令按钮command2的click事件 thisform.timer1.enabled=.f. (3)计时器timer1的timer事件if thisform.shape1.top=0 thisform.shape1.top=thisform.height-thisform.shape1.heightelse thisform.shape1.top=0endifthisform.refresh(4)表单form1的init事件thisform.timer1.enabled=.f.16:运用文本框和计时器对象设计一个数字时钟表单,要求:文本框为隶书、30号字,表单的标题为“数字时钟”,每隔一秒刷新一次时间。(1) 表单Form1的Init事件Thisform.Caption=”数字时钟”Thisform.Text1.Fontname=”隶书”Thisform.Text1.Fontsize=30Thisform.Timer1.Interval=1000(2) 计时器的Timer1的Timer事件Thisform.Text1.Value=LEFT(TIME(),2)+”时”+SUBSTR(TIME(),4,2)+”分”+RIGHT;(TIME(),2)+”秒”Thisform.Refresh17:显示时钟和日期的表单,命令按钮及文本框的字体、颜色和大小设置为自己喜欢的形式。(1)Form的init事件thisform.text1.value=00:00:00thisform.timer1.Enabled=.F.(2)command1的click事件thisform.timer1.Enabled=.T.thisform.text1.Value=TIME()thisform.Refresh(3)command2的click事件thisform.timer1.Enabled=.F.y=ALLTRIM(STR(YEAR(DATE()m=ALLTRIM(STR(month(DATE()d=ALLTRIM(STR(day(DATE()thisform.text1.Value=y+年+m+月+d+日+CHR(13)+cdow(DATE()thisform.Refresh(4)command2的click事件thisform.Release(5)timer事件thisform.text1.Value=TIME()thisform.Refresh18.建立一个表单,通过每次单击“开始”按钮,都能实现表单的标签信息从顶行向下平移,移到底边即停止。标签高度为30像素,字体颜色为蓝色。(1)命令按钮Form1的Init事件Thisform.Timer1.Enabled=.F.(2)命令按钮Command1的Click事件Thisform.Timer1.Enabled=.T.Thisform.Label1.Top=0(3)命令按钮Command2的Click事件Thisform.Release(4).计时器Timer的Timer事件IF Thisform.Label1.TopN Thisform.text2.value=”是素数!”Else Thisform.text2.value=”不是素数!”EndifThisform.text1.setfocusThisform.refresh(3)command的click事件Thisform.release22、有一个狐狸头(1)form1的init事件Thisform.f=0Thisform.caption=”动画”(2)timer1的timer事件If thisform.f=0 Thisform.image1.left=thisform.image1.left+1If thisform.image1.left=thisform.width-thisform.image1.width Thisform.f=1EndifEndifIf thisform.f=1 Thisform.image1.left=thisform.image1.left-1If thisform.image1.left=0Thisform.f=0EndifEndif23.学生学籍信息浏览,2秒自动刷新,到第三页后自动回到第一页时钟 INTERVAL 2000TIMER事件DO caseCASE thisform.pageframe1.ActivePage=1thisform.pageframe1.ActivePage=2CASE thisform.pageframe1.ActivePage=2thisform.pageframe1.ActivePage=3CASE thisform.pageframe1.ActivePage=3thisform.pageframe1.ActivePage=1 ENDCASEthisform.Refresh24根据学生表,课程表和成绩表,用SOL-SELECT语句实现以下查询。学号前三位为“081”COMMAND1的CLICKSETECT学生.学号,姓名,出生年月,课程名,成绩FROM学生,成绩,课程;WHERE学生.学号=成绩.学号AND课程.课程号=成绩.课程号ANDYEAR(;出生年月)=1990COMMAND2的CLICKSETECT学生.学号,姓名,课程名,成绩FROM学生,成绩,课程;WHERE学生.学号=成绩.学号AND课程.课程号=成绩.课程号AND成绩=60COMMAND3的CLICKSETECT学生.学号,姓名,课程名,成绩FROM学生,成绩,课程;WHERE学生.学号=成绩.学号AND课程.课程号=成绩.课程号ANDLEFT(;学生.学号,3)=081COMMAND4的CLICKTHISFORM.RELEASE25学生表信息查询界面,只读方式FORM1INIT事件THISFORM.LABEL1.CAPTION=请选择学生姓名THISFORM.LABEL2.CAPTION=学号THISFORM.LABEL3.CAPTION=姓名THISFORM.LABEL4.CAPTION=性别THISFORM.LABEL5.CAPTION=出生年月THISFORM.LABEL6.CAPTION=奖学金THISFORM.CHECK1.CAPTION=选中为男,否则为女THISFORM.CAPTION=学生表信息查询THISFORM.SETALL(READONLY,.T.,TEXTBOX)THISFORM.CHECK1.READONLY=.T.LIST1INTERACTIVECHANGE事件THISFORM.SETALL(VISIBLE,.T.)THISFORM.REFRESH1.设计一个统计车票总金额的表单,要求是:在给出的各种车票中选择你需要的,3个复选框“计算总额”按钮 default为T text1 readonly 为 TCommand1的CLICKs=0IF thisform.check1.value=1s=s+580ENDIFIF thisform.check2.value=1s=s+50ENDIFIF thisform.check3.value=1s=s+280ENDIFthisform.text1.value=sthisform.RefreshCommand2的CLICKthisform.Release2. 设计一个“职工销售额分档查询”表单FORM1的INIT事件SET SAFETY OFFSET DELETED ONSELECT 姓名,商品名称,数量*单价 as 金额 FROM 职工,销售,商品 WHERE 销售.职工号=职工.职工号;AND 销售.商品号=商品.商品号 INTO TABLE 商品销售 ORDER BY 销售.职工号WITH thisform. grid1.recordsourcetype=1.recordsource=商品销售.readonly=.T.visible=.F.allowaddnew=.F.deletemark=.F.ENDWITH FORM1的DESTROY事件CLOSE ALLOPTIONGROUP1的INTERACTIVECHAN事件DELETE ALLDO caseCASE this.Value=1 RECALL ALL FOR 金额=6000CASE this.Value=2 RECALL ALL FOR 金额=4000 AND 金额=2000 AND 金额=1000 AND 金额2000CASE this.Value=5 RECALL ALL FOR 金额1000ENDCASEGO TOPTHISFORM.GRID1.Visible=.T.THISFORM.Refresh
展开阅读全文