班级:电气2013-1 学号:20130210010119

VFP程序设计

——课设总结

为期几周的VFP数据库设计的课设就快过去了,在这做课设的这段时间,可以说是有苦有甜,令人难忘。因此,有必要写一篇总结,记录一下自己做课设的历程。

刚刚接到老师的课设要求的时候有点傻眼了,得优秀的要求是系统完善、写一篇系统总结、回答老师对于代码方面的提问。第一点似乎都还算能做到,但是对于我们这种连SQL语言的皮毛都没学,对于数据库的系统结构完全不了解的人,怎么能把三点要求都完成。

但是经过一段时间的摸索,我渐渐对vf的数据库系统有了大体的了解知道了什么是项目,数据库就是数据表的集合,搞清了基本表单的制作过程,知道如何用快速报表和报表向导做格式的报表,以及对报表的美化、求和、计算等处理,还有就是如何去制作菜单,以及用菜单调用各种数据文件,最后的主程序是直接复制老师的代码,但是凭着一点点C++和C语言基础,能够看懂代码的意思,这有助于我后期对整个系统进行查错和修改。下面就讲一下我对自己做的系统的总结。

1数据表(.dbf):数据表是整个系统的“原材料”,后期所有的制作处理,都是为了去处理和显示这些数据,去用这些数据,当然也可以说数据表依靠后期的表单等等呈现给用户。

2数据库(.dbc):数据库以我看来就是数据表的集合,可以将无联系的自由表集合到一个容器里,使他们可以产生联系。并且将这些表作为后面其他东西的数据环境。

3表单(.scx):表单就是最后呈现给用户的人机交互界面,并且带有一定的功能。表单的制作首先需要要给他设置数据环境,因为其上面的各种控件都是以数据环境里面的数据实现控件的意义。各种控件比如标签就是用来显示表单上需要显示的一些文字提示,文本框就是用来显示文本内容,组合框可以下拉显示一连串的内容,表格控件可以显示表格数据,可以用生成器做出自定义的表格,按钮控件可以通过某个过程比如单击执行用户需要的事件代码等等。最后表单生成以后,作为整个系统的优良的用户与系统的交互平台。

4菜单(.mnx):菜单就是整个系统调用文件的工具,通过点击菜单,可以调用任意用户想要调用的文件比如表单,数据表,程序等等。

5程序(.prg) 程序就是一段代码,生成文件以后可以由其他文件调用并执行,如主程序就是在系统运行时的入口,当然得先设置好主文件;quit程序可以实现系统的退出。

除了以上几个以外,还有工具栏、自定义类等等在系统中都起着重要的作用,最后讲一下设置背景音乐所用的方法,用set bell to的方式定位到文件,用?chr(7)就能对WAV格式的音乐进行播放。

致谢:

整个课设过程收获很多,不仅仅是了解了利用Visual fox 制作系统的方法,而且还增进了同学们之间的友谊。在这里感谢同学们的互相学习以及交流分享,还有老师孜孜不倦的引导,总之,感谢老师,感谢同学,感谢大家!

XXX

班级:电气2013-1 学号:20130210010119

VFP程序设计

——课设总结

为期几周的VFP数据库设计的课设就快过去了,在这做课设的这段时间,可以说是有苦有甜,令人难忘。因此,有必要写一篇总结,记录一下自己做课设的历程。

刚刚接到老师的课设要求的时候有点傻眼了,得优秀的要求是系统完善、写一篇系统总结、回答老师对于代码方面的提问。第一点似乎都还算能做到,但是对于我们这种连SQL语言的皮毛都没学,对于数据库的系统结构完全不了解的人,怎么能把三点要求都完成。

但是经过一段时间的摸索,我渐渐对vf的数据库系统有了大体的了解知道了什么是项目,数据库就是数据表的集合,搞清了基本表单的制作过程,知道如何用快速报表和报表向导做格式的报表,以及对报表的美化、求和、计算等处理,还有就是如何去制作菜单,以及用菜单调用各种数据文件,最后的主程序是直接复制老师的代码,但是凭着一点点C++和C语言基础,能够看懂代码的意思,这有助于我后期对整个系统进行查错和修改。下面就讲一下我对自己做的系统的总结。

1数据表(.dbf):数据表是整个系统的“原材料”,后期所有的制作处理,都是为了去处理和显示这些数据,去用这些数据,当然也可以说数据表依靠后期的表单等等呈现给用户。

2数据库(.dbc):数据库以我看来就是数据表的集合,可以将无联系的自由表集合到一个容器里,使他们可以产生联系。并且将这些表作为后面其他东西的数据环境。

3表单(.scx):表单就是最后呈现给用户的人机交互界面,并且带有一定的功能。表单的制作首先需要要给他设置数据环境,因为其上面的各种控件都是以数据环境里面的数据实现控件的意义。各种控件比如标签就是用来显示表单上需要显示的一些文字提示,文本框就是用来显示文本内容,组合框可以下拉显示一连串的内容,表格控件可以显示表格数据,可以用生成器做出自定义的表格,按钮控件可以通过某个过程比如单击执行用户需要的事件代码等等。最后表单生成以后,作为整个系统的优良的用户与系统的交互平台。

4菜单(.mnx):菜单就是整个系统调用文件的工具,通过点击菜单,可以调用任意用户想要调用的文件比如表单,数据表,程序等等。

5程序(.prg) 程序就是一段代码,生成文件以后可以由其他文件调用并执行,如主程序就是在系统运行时的入口,当然得先设置好主文件;quit程序可以实现系统的退出。

除了以上几个以外,还有工具栏、自定义类等等在系统中都起着重要的作用,最后讲一下设置背景音乐所用的方法,用set bell to的方式定位到文件,用?chr(7)就能对WAV格式的音乐进行播放。

致谢:

整个课设过程收获很多,不仅仅是了解了利用Visual fox 制作系统的方法,而且还增进了同学们之间的友谊。在这里感谢同学们的互相学习以及交流分享,还有老师孜孜不倦的引导,总之,感谢老师,感谢同学,感谢大家!

XXX

“VFP程序设计”教学案例与反思

开县职业教育中心 向生

我长期从事计算机专业班的VFP教学,针对VFP课程的特点,在教法上,以‚示例教学法‛、‚‘课机’结合式教学法‛、‚任务驱动教学法‛为主开展教学,其教学效果明显,但在‚程序设计‛这一章节的教学中,还是存在着两大误区:一是学生基础较差,加之不爱动脑、动手,导致时间花得多,效果不理想;二是只重视程序设计的结果,忽视了其算法的多样化,从而束缚了学生的思维创新。于是,解决突破这两大误区成了我的首要任务。通过向同事学习,查找相关资料,将多种教法结合起来,通过实践,逐步形成了一种‚精讲多练、小组互动、分层实施、机试为主‛教学模式,从而达到了预期的目的。

现以do while …… enddo循环控制命令的使用为例,将其教学片段简介如下:

【案例】:

探索循环结构的程序设计方法:

1.示例:用投影仪展示求1+2+3+4+…+100程序清单,让学生对照程序清单上机调试并思考。

附程序清单:clear sum=0 i=1 do while i<=100 sum=sum+i i=i+1 enddo ?‛1+2+3+…+100=‛,sum 师:同学们,你们能找出程序清单中有哪些变量?并说明它的作用吗? 学生思考,随后指名回答。 教师板书:sum i

sum的作用是用于存储所求的和(中间结果及最终结果),i的作用是用来存储循环的值(即加数),同时控制循环执行的次数。

师:程序中的变量名可用其它的字母代替吗?你能找出在循环体(命令序列)中用于控制循环趋于结束的命令吗?

学生回答,教师板书:i=i+1 师:好,请同学们独立思考此程序的循环次数? 全班回答:100次。 师:如何通过上机操作验证其执行过程呢?(学生开展讨论并上机操作验证) 生1:只须将输出命令放到循环体中即可,即在‚i=i+1‛命令之后、‚enddo‛之前插入‚?sum,i‛命令。(学生操作验证)

生2:因为一屏显示不下,我们看到的仅仅是最后的几次执行过程,对于以前的执行过程还是看不到,可将该题分段实施,即先求1+2+3+…+20的和。

师:很好。(鼓掌、同学们再操作验证)

2.任务:四人一个小组开始活动,讨论以下任务的设计,并上机操作,教师参与到学生的活动中。 任务一:求2+4+6+8+…+100的和 任务二:求1×2×3×4×5 不一会,各小组互动结束,请两个组进行了回答如下:

小组甲:任务一与例题之间的区别是循环变量的初值为2,每循环一次循环变量增2即i=i+2。

小组乙:任务二在例题的基础上将‚sum=0‛改为‚sum=1‛,循环变量的终值为5即条件改为i<=5,然后是循环体中的‛sum=sum+i‛改为‛sum=sum*i‛。

3.讨论:同学们,在刚才所做的程序中,你能找出其规律吗? 全班交流:

生1:循环变量从所赋的初值到终值按照一定的差进行变化,如求1+2+3+4+…时,其差为‚1‛进行的,求1+3+5+7+…时其差为‚2‛。

生2:(补充)循环变量在程序每执行一次时,就按照其连续相邻的两个值之间的差进行递增变化。

生3:用来存储结果的变量sum,也有一定的特点,如在求和时可以赋‚0‛,在求积时只能赋‚1‛。

……

师:你们说得很好,尤其是循环变量的特点,它是我们进行循环结构程序设计的关键,也是一个难点,其理解的程度直接影响到我们程序设计成败。但注意的是有时也可能发生递减变化哟。

4.拓展:做一做,求1+2+3+…+n;1×2×3×4×…×n;n从键盘输入。 做完后并思考:与上述程序设计题有何区别?有何意义

过了一会儿,大多数学生做完了,但还有部分学生没有做完,就安排做完了的学生去指导未完成学生,帮助其操作,力争所有的学生有所获,有所得。

……

【反思】:

对VFP程序设计的教学,不再是重结果,轻过程,而是很好地驾驭教材内容,创造性地使用教材,巧妙组织、精心安排、灵活设计,给学生以耳目一新的感觉,教学效果非常明显,主要体现了以下几个方面:

1.程序设计关注的应该是程序设计的思维过程

本章节的教学,我跳出了认知技能的框框,不把程序设计的方法、操作技能的形成作为唯一的目标,而更关注学生的学习过程,让学生在自身实践探索的过程中实现发展性领域目标。如教学时围绕do while命令的使用为重点展开探索,通过相应的活动与任务提供自主学习的机会,给学生充分思考的空间和时间,允许并鼓励他们有不同思维方法,尊重他们的想法,哪怕是不合理的,甚至是错误的,让他们在相互交流、碰撞、讨论中,进一步明确程序设计的基本方法。通过互助探究后,他们在不同的层面上得到提高,并掌握了解决相应的实际问题的能力。在此基础上,教师组织学生对知识进一步拓展:如求‚1+2+3+…+n‛,达到程序设计的基本要求,那就是通用性、实用性。这样的教学,学生获得的不仅仅是程序设计的基本方法,更重要的是分析、处理问题的思维创新能力。

2.提倡思维方式、程序算法的多样化,促进学生个性发展。

思维方式、程序算法的多样化,是指尊重学生的独立思考,鼓励学生探索不同的方法,而不是让学生一定要去掌握多种操作方法。学生有着不同的专业基础、知识背景和思考角度,他们的差异是客观存在的,对同一个实际问题,由于学生的认知水平和认知风格的不同,常常会出现不同的设计方法,这正是学生具有不同个性的体现。通过分层实施,学生分别达到了应会、熟练等不同程度。在学生进行程序设计时,学生中出现了多种形式不同的程序清单。有的是变量的初值不同,有的是在循环体中命令的先后位臵略有变化,有的是把输出放在了循环体之中等等。在学生独立思考解决的基础上,再让学生发表自己的见解、观点,倾听同伴的解法,进行小组内交流、争论,从而达成一种共识。教师鼓励学生用已有的经验大胆思维,鼓励学生动手上机操作,寻求解决问题的有效途径,营造宽松活跃的课堂气氛。算法的多样化使学生变得聪明自信,在主动探索与合作交流中得到收获,并促进学生的个性发展。

3.营造民主的氛围,激发学生的创新思维 在程序设计过程中,不同的方法对同一个人也许有快慢之说,而对不同的人却不存在优劣之分。在整个探索的过程中,我只是通过投影展示了一个例题,然后组织学生不断地发表自己的想法,通过引导,鼓励他们敢于争论,完成对知识的构建,同时也要注意呵护每一位学生的学习激情,激发其创造力。

学生争论不休的时刻,也正是他们在积极地参与整个学习活动,这正是组织教学的精华所在,同时也挖掘了学生潜在的创造力,从而也带动了全班学生的积极参与,在‚do while命令‛使用的探索过程中,如验证体会循环的执行过程时,一学生提出只要验证‚1+2+3+…+20‛的和,又如求"1×2×3×4×5"时,一学生说它的sum初值不能为‚0‛,只能为‚1‛时,全班学生都给了他热烈的掌声。我想他这种的见解总是在经过认真分析思考后得出来的。

4.教学方法多样化,激发了学生学习的兴趣

VFP课的教学具有很强的实践操作性,教师在课堂中采取灵活多样的方法,可充分调动学生学习的激情。‚课机‛结合式教学法,在课堂中教师通过大屏幕液晶投影仪或网络教室讲解知识,然后学生在下面操作学习,学生很容易跟着教师的步骤进行学习,掌握教师教给的内容,而且印象也较为深刻。如上述的示例部分。‚任务驱动‛教学法可合理组织学生自主学习,激发他们的兴趣,让他们尽快地活动起来,并通过自己的自学和同学的帮助来解决问题,在愉快的教学过程中掌握知识,如上述互动中的任务

一、任务二等。

5.实践探索,进一步提高了学生的创造力

真理源于实践,实践出真知。在程序设计的教学中,通过边讲、边练,先从理论上分析讨论,找准理论依据,后通过上机操作验证其正确性,最后再讨论分析、交流程序设计的最佳方法,不仅训练了学生的操作技能,同时也培养学生的创造能力。

总之在程序设计中,鼓励积极思维、分层要求、反复操作验证、达到程序算法多样化是尊重学生的表现,体现了以学生为主体的教学原则,符合现代认知建构主义思想,是释放学生自信心和创新思维、培养创造能力的有效途径。

6.需进一步探索的问题

在程序设计教学时提倡‚精讲多练、小组互动、分层实施、机试为主‛的教学模式,保障了学生在不同的层面得到发展,得到提高,同时也培养了学生的创新思维,体现理论与技能的双丰收。但在对那些基础较差、不爱动脑、动手的学生帮扶上,在分层互动、层次把握上,对教师的组织能力、对教材的分析驾驭能力提出了新的要求,要能真正把握住哪些是全班学生掌握的,哪些是部分(即提高)学生掌握的,达到所有的学生在各自的水平上能‚吃饱‛。这些问题还需要我们在下一阶段的教学中进一步的探索。

五.程序题

1 在Text1中输入一个3位自然数,分解求和的结果存入Text2中

x= thisform.text1.value a=int【1 】

b=int 【 2】

c=【 3】

s=【 4】

thisform.text2.value=【5 】

x/100 (x-a*100)/10 x-a*100-b*10 a+b+c s 2 文本框Text1中输入的值与文本框Text2中输入的值交换

a= thisform.text1.value b= thisform.text2.value d=【1 】

【2 】

【3 】=d thisform.text1.value=【4 】

thisform.text2.value=【 5】

a a=b b a b 3 已知任意一个三角形的三条边为a、b、c,求其面积。

a=thisform.text1.value b=【 1】

c=【 2】

p=(a+b+c)/【3 】

s=【 4】(p*(p-a)*(p-b)*(p-c)) thisform.text4.value=【5 】

thisform.text2.value thisform.text3.value 2 sqrt s 4 判断一个学生的计算机考试成绩x属于哪个分数段之间(0-59,60-69,70-79,80-89,90-100)Command1_click事件代码如下:

x= thisform.text1.value store 0 to h5,h6,h7,h8,h9 do case case x>=0 and x<=59 h5=h5+1 case 【1 】 and x<=69 h6=h6+1 case x>=70 and x<=79 【 2】

case 【3 】 and x<=89 h8=h8+1 case x>=90 and 【 4】

h9=h9+1 【 5】

thisform.label1.caption=str(h5)+ str(h6) +str(h7) +str(h8) +str(h9) x>=60 h7=h7+1 x>=80 x<=100 endcase 5 假设表单与第二题中的表文件zgqk.dbf 建立了数据环境,在其中按姓名查找职工情况,找到后将其情况在表单上显示,否则在信息框中显示“查无此人”。试完成下面程序。

【 1】 zgqk xm=thisform.text1.value locate for【2 】

if 【 3】eof() thisform.【4 】

else 【5 】("查无此人") Endif use xm=姓名 not refresh messagebox 6 求s=1/1^2+1/2^2+„+1/n^2 【 1】

n=thisform.text1.【2 】

FOR i=1 TO 【3 】

s=s+【4 】

next THISFORM.Label3.Caption=【5 】

s=0 value n 1/i^2 str(s) 7 计算1+3+5+„„99,并将结果存入文本框Text1中,请填空

【 1】

FOR N=1 TO 【 2】 step 【 3】

s=s+n end【4 】

【5 】

s=0 99 2 for thisform.text1.value=str(s) 8 计算1+3+5+„„99,并将结果存入文本框Text1中,请填空

【 1】

FOR N=1 TO 【 2】

if 【 3】(n/2)<> n/2 s=s+n endif end【 4】

【5 】 s=0 99 int for thisform.text1.value=str(s) 9 计算2+4+6+„„100,并将结果存入文本框Text1中,请填空

【1 】

FOR N=2 TO 【2 】step 1 if int(n/2)=【 3】

s=s+n 【4 】

endfor 【 5】

s=0 100 n/2 endif thisform.text1.value=str(s) 10 求所有的3位正整数除以99的商和余数,并输出。

for i= 【1 】to 【2 】

a= 【 3】

b=【4 】

?【5 】

Endfor 100 999 int(i/99) i%99 a, b 11 求1!+2!+3!+4!+5!。

S=0 For i=1 to【1 】

t=【2 】

for k=1 to 【 3】

t=t*【4 】

endfor s=s+【 5】

endfor 5 1 I k t 12 计算1+2+3+„„100,并将结果存入文本框Text1中,请填空

【 1】

FOR N=1 TO【 2】step 【 3】

s=s+n 【 4】for 【5 】

s=0 100 1 end thisform.text1.value=str(s) 13 统计1至100之间能被7整除的数的个数并求其和,结果用信息框(对话框)输出。Command1_click事件代码如下:

k=0 s=0 for i=1 to 100 if 【1 】(I,7)=0 k=k+【 2】

s=s+【3 】

endif endfor a=messagebox(【 4】+【 5】) mod 1 I str(k) str(s) 14 在文本框Text1中输入一个字符串,统计其中数字字符的个数,结果存入文本框Text2中。Command1_click事件代码如下: k=0 x=allt( thisform.text1.value) n=【1 】

for i=1 to 【 2】

if subs(x,i,1)>”0” and【3 】

【 4】

endif endfor thisform.text2.value=【 5】

len(x) n subs(x,i,1)>”9” k=k+1 str(k) 15. s=求1!+2!+3!+...+20! 【1 】

for n=1 to 20 t=1 for m=1 to 【 2】

t=t*【3 】

endfor 【 4】

endfor THISFORM.Text1.Value=【 5】

s=0 n m s=s+t s 16. 找出2010至2100之间所有闰年的年份

FOR i=【 1】 TO 【2 】

if i%4=0 AND i%100!=0 OR i%【3 】

? 【4 】

endif 【5 】

2010 2100 400=0 I ENDFOR 17. 设计一个求t=n!的自定义函数

【 1】f(x) t=【 2】

FOR j = 1 to 【3】 t=t*【4 】 endfor return 【 5】

function[###]func 1 x j t 18. 求 Fibonacci 数列(1,1,2,3,5„)的前n(n>3)项,并输出

input "n=" to n 【 1】 a(n) a(1)=1 a(2)=1 ? a(1),a(2) for i=3 to 【 2】

a(i)=【 3】+【 4】

?? a(i-1),a(i-2) end【 5】

dime n a(i-1) a(i-2) for 19. 输出zgqk.dbf的基本工资大于600的记录

【 1】zgqk do while not 【 2】

if 【 3】

【 4】

endif 【5 】

enddo use eof() 基本工资>600 disp[###]display skip 1.在Text1中输入一个3位自然数,分解求和的结果存入Text2中 2.文本框Text1中输入的值与文本框Text2中输入的值交换 3.已知任意一个三角形的三条边为a、b、c,求其面积。

4.判断一个学生的计算机考试成绩x属于哪个分数段之间(0-59,60-69,70-79, 80-89,90-100)287 5.求s=1/1^2+1/2^2+„+1/n^2 6.计算1+3+5+„„99,并将结果存入文本框Text1中, 7.计算1+3+5+„„99,并将结果存入文本框Text1中 8.计算2+4+6+„„100,并将结果存入文本框Text1中, 9. 求所有的3位正整数除以99的商和余数,并输出。

10.编写程序计算:s=1+1/2!+1/3!+„+1/n!,说明:在表单中有一个文本框控件:Text1,用来接收n的值,有一个标签控件:Label1,用来显示S的值,试编写表单的单击事件,实现计算与显示功能,只要求写出事件的主要代码,事件过程的起始语句和结束语句可略去。 11. 编写程序计算:S=1X2+2X3+„+NX(N+1)。 0

12.编写程序计算多项式:1^1+2^2+3^3+„+10^10 0

13.编写程序在表单上显示出:1~15之间的偶数 0

14. 编写程序在表单上显示出:5/6+4/5+3/4+2/3+1/2 15. 假设表单与第二题中的表文件zgqk.dbf 建立了数据环境,在其中按姓名查找职工情况,找到后将其情况在表单上显示,否则在信息框中显示“查无此人”

VFP程序题 第一套题

一、运行结果题

1、以下程序运行结果是

SET TALK OFF

CLEAR

A = 5

B = 12

C = 18 IF MAX (A , B) < C

? MAX (A, B )

ELSE IF MIN(A , B) < C

? C

ELSE

? MIN( A , B)

ENDIF

ENDIF SET TALK ON

RETURN

2、以下程序运行结果是

SET TALK OFF CLEAR USE STCJ

DO WHILE ,NOT, EOF()

REPLACE 总分 WITH 高数 + 计算机 + 英语 SKIP

ENDDO GO BOTTOM

? 学号,总分

USE

RETURN

3、以下程序运行结果是

SET TALK OFF

SET HEADINGS OFF SELECT 2 USE STCJ

INDEX ON 编号

TO GZ21

REPLACE ALL 总分

WITH 高数 + 计算机 + 英语 SELECT 1 USE STDA

SET RELATION TO 编号

INTO B DISPLAY FIELDS 姓名,B .总分

FOR 四级通过

OFF CLOSE ALL RETURN

4、以下程序运行结果是

SET TALK OFF SET SAFETY OFF USE STDA INDEX ON 民族

TO XBSY TOTAL ON 民族

TO GZHZ USE GZHZ COUNT TO N ? N

SET SAFETY ON SET

TALK

ON RETURN

5、以下程序运行结果是

SET TALK OFF SET DELETED ON USE STDA DELETE FOR 性别 = “ 男 ” COUNT TO A SET DELETED OFF COUNT TO B DELETE ALL PACK COUNT TO C ? A , B , C SET TALK ON RETURN

6、以下程序运行结果是

SET TALK OFF USE STDA

INDEX ON 奖学金

TO GZSY SKIP 2

? 姓名,奖学金 USE

SET TALK ON RETURN

7、以下程序运行结果是

SET TALK OFF

SET PROCEDURN TO SP S = 0

DO SP1 WITH 5 , S ? S

SET TPROCEDURE

TO RETURN * SP PRG PROCEDURE

PARAMETERS X , Y N = 1 Y = 1

DO WHILE N < X

Y = Y + N

N = N + 1

ENDDO

RETURN

8、以下程序运行结果是

SET TALK OFF DIMENSION X (2 ,2) X = 5 FOR I = 1 TO 2 FOR J = 1 TO 2 IF I = J

X (I , J ) ENDIF ?? X (I , J) ENDFOR ENDFOR SET TALK ON RETURN

二、完善程序

1、下列程序计算机 S =1!+ 2!+3!+4!+5!中,填空完成程序。

S = 0 FOR N = 1

TO 5

FOR I = 1 TO N

P = P * I

ENDFOR

ENDFOR

? “SUN =” , S

2、用下列程序找出所有的水仙花数,所谓水仙花数,是指这样一

个三位数,其各位数字的立方和等于该数本身,如 153 = 1^3 +5^3 +3^3,对以下程序填空完成该功能。 FOR N = 100 TO 999

A = INT ( N / 100)

B =

C = N – INT (N / 10) * 10 IF N = A^3 +B^3 +C^3

? N

ENDIF

ENDFOR

RETURN

3、将新表 DB2 . DBF 文件中学号重复的记录删掉(只保留一个) SET TALK OFF SET SAFETY

OFF

USE STDA

COPY TO DB2 USE DB2

INDEX ON 学号

TO XH DO WHILE . NOT . EOF () XH = 学号 SKIP

DELETE ENDIF ENDDO

CLEAR ALL

4、显示STDA . DBF 文件中男同学的记录

SET

TALK

OFF

SET

HEADING

OFF

USE

STDA

DO

WHILE

. NOT . EOF ()

IF

ENDIF

DISPLAY

WAIT

ENDDO

USE

SET

TALK ON

RETURN

5、将STDA . DBF 表中未通过英语四级考试学生的将赏金取消,通过者奖学金加50元,并显示姓名和奖学金额。 SET TALK OFF

CLEAR USE STDA DO WHILE . NOT . EOF () IF .NOT .四级通过

REPLACE 奖学

WITH 0

ELSE

? 姓名,奖学金

ENDIF

SKIP

ENDDO

USE

SET TALK ON

RETURN

6、按学号查询成绩

SET TALK OFF CLEAR SELECT 1 USE STDA

INDEX ON 学号 TO IXH SELECT 2 USE STCJ

INDEX ON 学号 TO ICJ

ACCEPT “请输入查询学号:” TO XH SEEK

XH IF

FOUND ()

DISPLAY

学号, A - >姓名,总分

ELSE

? “ 查无此人!”

ENDIF

USE RETURN

7、请阅读下列判断一个自然数是否为质数的程序,并将程序填写完整。

SET

TALK

OFF

INPUT

“ 请输入一个大于1 的自然数:”

TO N

K = 0

J = 2

DO

WHILE

J < N IF MOD ( N , J )

J = J +1

LOOP

ELSE

K = 1

EXIT

ENDIF

ENDDO

IF

K = 0

?

+ “ 素数”

ENDIF

? “ 再见 !!” SET TALK ON

RETURN

8、修改数据表文件 STDA . DBF 中指定同学的四级通过情况。 SET TALK OFF USE STDA

INDEX TO ISY

DO

WHILE .T .

CLEAR

ACCEPT “ 输入待学生的姓名” TO XM SEEK XM

IF

FOUND ()

@ 10 , 10 SAY “ 修改” + XM + “ 的四级通过情况:” GET 四级通过

WAIT

“ 继续修改?(Y / N)”

TO N IF

ENDIF ENDDO USE RETURN

9、将数据表文件STDA . DBF 中的第三条记录与第四条记录的

内容互换,并显示第三条记录。

SET

TALK

OFF

CLEAR

USE

STDA

GO

SCATTER

TO

A

GO

SCATTER

TO

B

GO

GATHER

FROM

B

DISPLAY

GO

4

USE

SET

TALK

ON

RETURN

10、如下程序根据键入的学号使用SQL SELECT 语句显示学生的学号、姓名和平均成绩。请在下划线处填写适当的内容,使程序能正确的运行。

DO

WHILE .T .

CLEAR

ACCEPT

“请输入学号:” TO KEYNO

SELECT

STDA .学号,姓名,(高数 +计算机 +英语)/3 AS 平均成绩; FROM STDA . STCJ WHERE

WAIT

“如果退出,请按【Y】键!”

TO KEY

IF

UPPER(KEY) = “ Y”

ENDIF ENDDO USE RETURN

三、程序改错题

1、在STDA . DBF 中,查询某人英语四级通过情况,若通过了,则授予学位,否则不授予学位。 (1) SET

TALK OFF (2) USE

STDA

(3) ACCEPT “请输入姓名:”

TO XM (4) SEEK

FOR 姓名 = XM (5) IF

EOF()

(6) ? “查无此人!” (7) RETURN (8) ENDIF

(9) IF

英语四级通过

(10) ?姓名 + “英语四级通过,授予学位” (11) ELSE

(12) ?姓名 + “英语四级没通过,不授予学位” (13) ENDIF (14) USE

(15) SET

TALK

ON (16) RETURN 错误的行是 改为:

2、显示 STCJ . DBF 中总分不低于190分的所有学生的姓名和总分字段的值。

(1)

SET

TALK OFF

(2)

SET

HEAD

OFF

(3)

USE

STCJ

(4)

DO

WHILE

RECNO() < = RECCOUNT()

(5)

REPL

总分

WITH

高数 +计算机 +英语

(6)

IF

总分> = 190

(7)

DISP

学号,总分 OFF

(8)

ENDIF

(9)

LOOP

(10)

ENDDO

(11)

RETURN 错误的行是: 改为:

3、在STDA . DBF 中,快速查询性别为“男”,“09/12/92”出生的人

(1)

SET

TALK OFF

(2)

USE

STDA

(3)

INDEX

ON 性别 +入学时间

TO LKL

(4)

SEEK “男” + “09/12/92”

(5)

IF

. NOT . EOF ()

(6)

DISPLAY

(7)

ELSE

(8)

? “查无此人!”

(9)

ENDIF

(10)

USE

(11)

SET

TALK ON

(12)

RETURN 错误的行是: 改为:

4、求出 STCJ 表中总成绩的最大值和最小值。 (1)

SET

TALK

OFF

(2)

USE

STCJ

(3)

DO

WHILE

. NOT . EOF ()

(4)

REPLACE

总分

WITH 高数 +计算机+英语

(5)

SKIP

(6)

ENDDO

(7)

GO

TOP

(8)

STORE

总分

TO MAX , MIN

(9)

DO

WHILE

. NOT . EOF ()

(10)

IF MAX >总分

(11)

MAX = 总分

(12)

ENDIF

(13)

IF MIN

(14)

MIN = 总分

(15)

ENDIF

(16)

SKIP

(17)

ENDDO

(18)

? “最高分:” ,MAX ,”最低分:” , MIN

(19) SET

TALK

ON

(20) RETURN 错误的行是: 改为:

第九套题

一、完善程序题

1、将“职工”表中的数据按工资降序排列后生成新表,程序如下:

CLOSE

ALL

SET

TALK

OFF CLEAR USE 职工

TO 职工1 ON

工资/D USE 职工1 DISPLAY ALL USE

RETURN

2、在“职工”表中查找且显示“孙大鹏”的信息,程序如下:

SET TALK OFF CLEAR USE 职工 LOCATE

IF

FOUND() DISPLAY ENDIF USE

3、显示“职工”表中女职工的工资和,程序如下:

SET

TALK

OFF CLEAR SELECT

FROM 职工 RETURN

1、设计一个查询表单BD.SCX,其界面如图所示,其中文本框控件

名为TEXT1,表格控件名为GRID1。当在其中输入职工姓名并单击“查询”按钮时,将下边的表格内显示该职工的信息。 “查询”按钮的Click 事件代码应如下:

THISFORM.GRID1.RECORDSOURCETYPE=4

THISFORM.GRID1.FRCORDSOURCE=”SELECT

* FORM 职工

WHERE

姓名

= = ”

5、将“职工”表中第6条记录的“出生日期”改为“12/12/1972”,程序如下:

SET TALK OFF CLEAR USE 职工 SKIP 5

出生日期

WITH {^1972/12/12} DISPLAY USE

RETURN

vfp程序设计和c语言6,VFP程序设计总结相关推荐

  1. c语言选择结构程序设计笔记,C语言选择结构程序设计.ppt

    <C语言选择结构程序设计.ppt>由会员分享,可在线阅读,更多相关<C语言选择结构程序设计.ppt(32页珍藏版)>请在人人文库网上搜索. 1.选择结构程序设计,关系运算符和关 ...

  2. c语言俄罗斯方块程序设计论文,c语言俄罗斯方块游戏程序设计报告

    c语言俄罗斯方块游戏程序设计报告 俄罗斯方块程序设计报告 2018-7-1511 计本(2)班 卢文俊C 语言课程设计报告主标题: C 语言课程设计 副标题: 俄罗斯方块游戏 ----界面设计姓 名: ...

  3. c语言分支结构程序设计课件,C语言 分支结构程序设计.ppt

    C语言 分支结构程序设计 第2章 分支结构程序设计 本章要点 C语言中有哪些关系运算和逻辑运算? 关系运算和逻辑运算的优先级如何? 如何用IF语句构成分支结构? 如何用SWITCH语句构成多分支结构? ...

  4. C语言程序设计与有限元,C语言与有限元程序设计.pdf

    C语言与有限元程序设计.pdf C语言与有限元程序设计 叶 又 戚 燕 (上海交通大攀国家棋其C几D工程中心 上海加0030) (上海大学计算中心 上海匆印力 摘 要 本文通过与FORTRAN77语官 ...

  5. 程序设计入门——C语言

    写在前面: 浙大翁恺老师(注意是恺不是凯)的C语言课程可谓是经典,这种口碑的形成不是没有原因的.有些科班同学或许会认为这门课程过于浅显.殊不知,浅显易懂的课程对于0基础的跨考党是多么重要.以名师身份引 ...

  6. c语言程序设计入门导论,程序设计入门——C语言

    spContent=C语言是古老而长青的编程语言,它具备了现代程序设计的基础要求,它的语法是很多其他编程语言的基础,在系统程序.嵌入式系统等领域依然是无可替代的编程语言,在各类编程语言排行榜上常年占据 ...

  7. c语言顺序结构程序设计第4章答案,第4章顺序结构程序设计习题及答案.doc

    第4章顺序结构程序设计习题及答案 第4章 顺序结构程序设计 4-1 C语言的控制语句有哪些? 答:C语言有九条控制语句: 条件语句:if-else语句. 开关语句:switch语句. 当循环语句:wh ...

  8. c语言循环结构程序设计视频,第13讲:循环结构程序设计1

    C语言是计算机科学及应用专业的一门重要的专业基础 课,也是全校各 个专业的公共必修课程.它既可以为其它专业课程奠定程序设计的基础,又可以作为其它专业课程的程序设计的工具. 通过本课程的学习,应掌握计算 ...

  9. c语言使用数组计算最大数。_程序设计入门——C语言_浙江大学_第10次开课

    课程概述 程序设计是一门基础课程.对于计算机相关专业而言,程序设计是专业基础知识,是进一步学习其他专业知识的第一步阶梯:对于非计算机专业而言,程序设计的学习有助于理解计算机的能力所在,理解哪些是计算机 ...

  10. c语言程序设计了解,C语言程序设计

    图书简介 本书图文并茂,示例丰富,对C语言的基础知识进行了彻底剖析,内容涉及输入输出.流程控制.数组.函数.指针.文件操作等.对难以理解的概念,均精心绘制示意图,进行清晰.通俗地讲解.本书首次将在线评 ...

最新文章

  1. 2022-2028年中国聚合物气体分离膜行业市场发展模式及投资前景分析报告
  2. 三维图----2(房子)
  3. NFS网络文件系统服务
  4. URL的getFile()和getPath()方法的区别
  5. Python with和contextlib.closing配合使用(contextlib)
  6. 如何手动删除不需要的windows服务
  7. C Tricks(十九)—— 求以任意数为底的对数
  8. 如何用 Go 快速编写出 HTTP REST API 服务?
  9. 凯立德地图导航2020年最新版_曾是导航领域“领头羊”的凯立德,如今为何岌岌可危?...
  10. npp php,Notepad++ Home下载,NPP官方下载
  11. python常用英文缩写_Python正则表达式:标记英语缩略语
  12. Redis 跳跃表的原理和实现
  13. 单片机全局变量 局部变量 堆与栈
  14. 计算机比赛小组名称和口号,取个小组队名和口号
  15. 普通人有没有必要学python,什么样的人适合学python
  16. 开源机器人库orocos KDL 学习笔记(四):Forward Kinematric
  17. Download Example
  18. 网页中链接中图片的下载
  19. 找素数(质数):线性筛法和埃氏筛法
  20. Python grid布局

热门文章

  1. 天若OCR专业版软件,现可无需联网本地使用了~
  2. 【干货】最新app源码下载:200款优秀Android项目源码
  3. gdiPlus 显示图片缩放不正确的可能解决方案
  4. Clover引导简明教程
  5. 基于PHP+MySQL的物流配送管理系统平台
  6. canvas保存图片时,谷歌浏览器Chrome报错【解决方案】Not allowed to navigate top frame to data URL
  7. 一年代码功能点的创新性怎么写_创新项目计划书模板
  8. tomcat历史版本新特性_Tomcat介绍(三)完结,即将进入正文
  9. mysql索引超出了数组接线_索引超出数组范围是什么意思
  10. 翻转棋java实现代码及ai_黑白棋中的 AI