第八、九章参考答案

更新时间:2023-10-09 00:25:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第八章参考答案

一、程序阅读题 1. 1 .F.

11 .T. 2. A 3、25

4. A=___10____ B=____100______ 5. 1 .T. 10 .F. 6. _____55______。 7. ___10______200____。 8、40 9、4

10、计算机等级是及格 11、6 12、2 3 4

3 4 5 13、 11.00 11

14、3 6 9 12 15 18 21 15、按记录号的降序逐条显示表中10条记录 16、WABCABC连续显示5行 二、程序填空题 1. ( x>max ) ( x

not eof ()

)

( skip ) 5 ( store ) ( do case ) (

入学成绩>=400 and 入学成绩<=500 )

6. ( skip )

( 入校总分>fs

loop

)

) )

7. ( 姓名=xm 8. ( 三、编程题

1、 用循环结构计算1到1000之和。 S=0

For i=1 to 1000 S=s+i endfor ?s

2、输入20个数,统计其中正数、负数、零的个数。 Stroe 0 to zs,fs,ling For i=1 to 20

Input “请输入一个数:” to x Do case Case x>0 Zs=zs+1 Case x<0 Fs=fs+1 Case x=0 Ling=ling+1 Endcase Endfor

?”正数的个数:”,zs, ”负数的个数:” ,fs ,”零的个数:” ,ling 3、输入长方体的长、宽和高,求长方体的体积; Input “请输入长方体的长:” to c Input “请输入长方体的宽:” to k Input “请输入长方体的高:” to g M=c*k*g

? “长方体的体积为:”,m

4、某航空公司规定,如果订票数超过20张,则票价优惠15%;如果超过10张,则票价优惠

10%,编写程序,输入票价及订票数后,显示出所需金额。 Input “请输入票价:” to pj Input “请输入票数:” to ps Do case Case ps>=20 Je=pj*ps*0.85 Case ps>=10 Je=pj*ps*0.9 Orthwise Je=pj*ps Endcase

?” 所需金额为:” , je

5、编写程序计算1到100所有5的倍数之和。 S=0

For i=1 to 100 If mod(I,5)=0 S=s+i Endif Endfor ?s

6、编程序求两个数的最大公约数。(方法是用两个数中较小的去除较大的,然后将除数作为下一次除的被除数,余数作为下一次除的除数,反复进行这样的操作,直到余数为零时为止。则最后一次除的除数,即为所给两个数的最大公约数。) SET TALK OFF

INPUT ″请输入A:″ TO A INPUT ″请输入B:″ TO B IF A〈 B T = A A = B B = T ENDIF

DO WHILE B〈 〉0 T = MOD(A,B) A = B B = T ENDDO

?A

SET TALK ON RETURN

7、鸡兔同笼问题。鸡兔同笼,若已经知道鸡兔总头数为h(head),总脚数为f(feet),求鸡兔各有多少只?(假设h=40,f=100)

解题过程:设鸡为a只,兔为b只,已知鸡兔的总头数为h=40,则 a+b=h ①

又知鸡有两只脚,兔有4只脚,由题目知道f=100,则 2*a+4*b=f ② 由①、②可得:

a=(4*h-f)/2 ③ b=(f-2*h)/2 ④ 程序代码如下: set talk off clear h=40 f=100 a=(4*h-f)/2 b=(f-2*h)/2 ? \鸡为\只 \ ? \兔为\只\ set talk on return

8、由键盘输入3个不同的数,求出最小的数。 程序代码如下:

set talk off clear

input \输入数a\ to a input \输入数b\ to b

input \输入数c\ to c if a

? \最小的数为\ set talk on return

9、求1*2*3*…*n的积小于500的最大的n值。 程序代码如下:

set talk off clear n=0 s=1 do while s<500 n=n+1 s=s*n enddo ? n-1 set talk on return

10、********* 利用双循环打印输出左面的图形。 ******* ***** ***

*

CLEAR

FOR K=5 TO 1 STEP -1 ?SPACE(5-K) FOR L=1 TO 2*K-1 ??\ENDFOR ENDFOR RETURN

s?1?11、已知CLEAR N=1 S=0

111????23n,求S刚好大于8时S与N的值。

DO WHILE S<=8

S=S+1/N N=N+1

ENDDO ?“N=”,N-1 ?“S=”,S

12、判断3到20的自然数是否为素数。 SET TALK OFF CLEAR FOR X=3 TO 20

DO PDSS ENDFOR RETURN

PROCEDURE PDSS FOR I=2 TO X-1

IF X/I=INT(X/I)

?X,“不是素数” RETURN

ENDIF

ENDFOR ?X,“是素数” RETURN

13、编写一密码校验程序(假设密码为ABC)。 SET TALK OFF

CLEAR

ACCEPT “请输入您的密码:” TO AAA IF AAA=”ABC” CLEAR

? ”欢迎使用本系统!” ELSE

? ”密码错误!” WAIT QUIT ENDIF SET TALK ON

14、假设收入(P)与税率(R)的关系如下表,编程求税金。 R= 0.05 800 ≤ P<2000 R= 0.08 2000≤P<5000 R= 0.1 P≥5000 SET TALK OFF CLEAR

INPUT “请输入收入:” TO P DO CASE CASE P<800 R=0

CASE P<2000 R=0.05 CASE P<5000 R=0.08 OTHERWISE R=0.1 ENDCASE TAX=P*R

? ”税金为:”,TAX SET TALK ON RETURN

15、计算—个函数f(x) 。

0 (x <-1 或 x >=5)

f(x)= 2x2-x (-1<= x <1) x (1<= x <5)的值。

SET TALK OFF

INPUT“请输入x 值:”TO x DO CASE

CASE x<-l AND X>=5 f=0

CASE X>=-1 AND X<1 f=2*x*x-x

CASE X>=1 AND x<5 f=x ENDCASE ? ‘f(X)=’,f SET TALK ON RETURN

16、编程显示“学生管理”数据库的“学生”表中除“李宁”以外 的所有记录。 SET TALK OFF CLEAR

OPEN DATABASE STUDENT USE STUD

DO WHILE .NOT. EOF() IF 姓名=”李宁” SKIP LOOP ENDIF DISPLAY SKIP ENDDO CLOSE ALL SET TALK ON RETURN

17、用过程文件实现对“学生管理”数据库的“学生”表进行查询、 删除和插入操作。 主程序如下:

* PA12. PRG && 主程序文件名 SET TALK OFF CLEAR

OPEN DATABASE 学生管理

SET PROCEDURE TO PROCE && 打开过程文 USE 学生

INDEX ON 姓名 TO XM DO WHILE .T. && 显示菜单 CLEAR

@ 2,20 SAY “学籍管理系统” @ 4,20 SAY “A:按姓名查询” @ 6,20 SAY “B:按记录号删除” @8,20 SAY “C:追加记录” @10,20 SAY “D:退出”

WAIT “请选择A,B,C,D” TO XZ DO CASE CASE XZ=”A” DO PROCE1 CASE XZ=”B” DO PROCE2 CASE XZ=”C” DO PROCE3 CASE XZ=”D” EXIT ENDCASE ENDDO 过程文件如下:

*PROCE.PRG && 过程文件名 PROCEDURE PROCE1 && 查询过程 CLEAR

ACCEPT ”请输入姓名:” TO NAME SEEK NAME IF FOUND() DISPLAY ELSE

? ”查无此人” ENDIF WAIT

RETURN

PROCEDURE PROCE2 && 删除记录过程 CLEAR

INPUT ”请输入要删除的记录号:” TO N GO N DELETE

WAIT ”物理删除吗Y/N:” TO FLAG IF FLAG=”Y” .OR. ”y” PACK ENDIF RETURN

PROCEDURE PROCE3 && 插入新的记录过程 CLEAR APPEND RETURN

18、在数据表文件 XS.DBF 中查询姓名为刘春林的记录,示他的学号、姓名、专业和总分。 SET TALK OFF USE XS

INDEX ON 姓名 TO XM SEEK \刘春林\ IF FOUND() IF 总分>=250 ?\学号:\学号 ?\姓名:\姓名 ?\专业:\专业 ?\总分:\总分 ELSE

?\刘春林的总分小于250分!\ ENDIF ELSE

?\库中没有刘春林的记录!\ ENDIF USE

RETURN

19、运行XY . PRG程序后,将在屏幕上显示如下乘法表:1) 1 2) 2 4 3) 3 6 9 4) 4 8 12 16

若其总分大于等于250分,则显

5) 5 10 15 20 25 6) 6 12 18 24 30 36 7) 7 14 21 28 35 42 49 8) 8 16 24 32 40 48 56 64 9) 9 18 27 36 45 54 63 72 81 * * *计算乘法表XY . PRG * * * SET TALK OFF CLEAR FOR J = 1 TO 9 ? STR(J,2)+?)? FOR K=1 TO J ?? STR(J*K,6) ENDFOR ? ENDFOR RETURN

20、编写程序实现对表STUDENT(学号 C(6),姓名 C(8),性别C(2),出生日期 D,是否党员L,专业 C(12),籍贯C(10)中的记录按姓名进行顺序查询。要求在程序每次运行时只能从键盘上输入一位待查学生姓名,若查找到则显示该生“学号”、“姓名”和“专业”字段信息,若没有找到则在屏幕上显示“查无此人!”。 Set talk off Use student

Accept “请输入要查找的学生姓名:” to xm Locate for 姓名=xm If found()

? “学号” ,学号,“姓名”, 姓名,“专业” ,专业 Else

? “查无此人!” Endif Use

Set talk on return

第九章参考答案

一、选择题:

1. C 2. A 3. D 4. A 5. C 6. D 7. A 8. C 9. B 10. C 二、填空题:

1. Text2的Value属性设置为 0 ;

“开始”按钮的 Click 事件代码为:

For I=1 to 500

If Mod(I,Thisform.text1.value)=0 Thisfom.Edit1.Value =Thisform.Edit1+str(I,5)+chr(13)

Thisform.Text2.Value= Thisform.Text2.Value+i Endif Endfor

“清除” 按钮的事件代码为:

Thisform.Text1.Value=0 Thisform.Text2.Value=0 Thisform.Edit1.Value=””

2. nn=\

kk=\

nn=nn+substr(kk,2,1) use &nn

aa=alltrim(thisform.text1.value) bb=thisform.check1.value browse for 班级=aa and 性别=bb

3.1)表单Form1的 Caption 属性为:查询成绩

2)“列表框”List1的Click事件代码:

SET FILTER TO THISFORM.LIST1.VALUE=课程.课程名 3) “表格”GRID1的显示栏目数属性LOUMNCOUNT = 3

4) “表格”GRID1中学号数据源为: CONTROLSOURCE =学生.学号

5) 命令按钮COMMAND1(“退出”按钮)的CLICK事件代码: THISFORM.RELEASE 4. 1) 文本框Text1的Click事件代码为: This.Value= time()

2) 文本框Text1的 Rightclick 事件代码为:

Thisform.text1. value =date()

3) 清除命令按钮的代码为: thisform.text1.value=”” 4) 退出按钮的代码为: thisform.release 三、程序题:

1. 答案:1)建立一个表单,表单的CAPTION属性设为“编程题1” 2)标签、文本框、四个命令按钮(caption属性)正确建立和设置 3)建立自定义ABC(可以为其它名)或在表单的load事件中定义PUBLIC ABC

4)“大写”按钮的Click事件:thisform.text1.value=upper(thisform.abc) 或thisform.text1.value=upper(abc) (注:按公共变量设置) 5) “小写”按钮的Click事件:thisform.text1.value=lower(thisform.abc) 或thisform.text1.value=lower(abc) (注:按公共变量设置) 6)“复原”按钮的Click事件:thisform.text1.value=thisform.abc 或thisform.text1.value=abc (注:按公共变量设置) 7)“退出”按钮的Click事件:thisform.release 或release thisform

8) 文本框的interactivechange事件:abc=thisform.text1.value 2. 答案:

1) 建立一个标签控件,一个列表框控件和一个表格控件。 2) 建立数据环境并以教师名册.dbf数据表为父表建立关联; 3) 分别设置表格中的header的caption属性。 4) 将教师名册的教师编号与列表框梆定。

5) 列表框的interactivechange事件中代码为:thisform.grid1.recordsource=\教师.教师号,姓名,课程号 from 教师,授课 where 教师.教师号=授课.教师号 and 教师.教师号=allt(this.value) into cursor sj\

6)表格的recordsourcetype属性为:4-SQL说明

本文来源:https://www.bwwdw.com/article/5icf.html

Top