2019VF实验八

发布 2023-04-19 08:42:28 阅读 5108

实验八顺序结构、选择结构和循环结构程序设计。

子程序设计、过程的调用、自定义函数。

实验目的】

1. 掌握三条交互式语句(accept、wait、input)

2. 掌握分支结构程序设计(if…endif、do和case…endcase)

3. 熟练掌握循环结构程序设计(do while…enddo、for…endfor、scan…endscan)

4. 熟悉exit和loop语句的作用和区别

5. 掌握过程的直接调用和带参调用

6. 掌握自定义函数的设计方法和使用方法。

实验内容及过程】

在实验报告中写出一下题目的程序设计。

1、编写程序计算s=1+2+…+100(要求使用条件循环和计数循环分别编写)

2、①中的第二条语句是错误的,修改该语句(注意:只能修改该语句),使得程序执行的结果是在屏幕上显示10到1,如下图所示:

修改并执行程序temp。该程序的功能是根据教师表2和课程表2计算讲授《数据结构》这门课程,并且工资大于等于4000的教师人数。注意:

只能修改标有错误的语句行,不能修改其他语句。(第8套)

修改并执行程序该程序的功能是:根据“学院表1”和“教师表1”计算“信息管理”系教师的平均工资。注意:只能修改标有错误的语句行,不能修改其他语句。(第12套)

3、将歌手比赛分为4个组,"歌手表"中的"歌手编号"字段的左边两位表示该歌手所在的组号。程序文件的功能是:根据"歌手表"计算每个组的歌手人数,将结果存入表one,表one中有"组号"和"歌手人数"两个字段。

程序中有3处错误,请修改并执行程序。注意:只能修改标有错误的语句行,不能修改其他语句,数组名a不允许修改。

(第16套)

4、(第17套)①打开考生文件夹下的数据库文件"大学管理",修改并执行程序程序的功能是:

1)建立一个"工资表"(各字段的类型和宽度与"教师表"的对应字段相同),其中职工号为关键字。

2)插入一条"职工号"、"姓名"和"工资"分别为"11020034"、"宣喧"和4500的记录。

3)将"教师表"中所有记录的相应字段插入"工资表"。

4)将工资低于3000的职工工资增加10%。

5)删除姓名为"thomas"的记录。

注意,只能修改标有错误的语句行,不能修改其他语句,修改以后请执行一次该程序,如果多次执行,请将前一次执行后生成的表文件删除。

打开文件,修改其中的一处错误,使程序执行的结果是在屏幕上显示:

5、有一个名为的程序文件,其功能如下:

查询2023年各部门商品的年销售利润情况。查询内容为部门号、部门名、商品号、商品名和年销售利润,其中年销售利润等于销售表中一季度利润、二季度利润、三季度利润和四季度利润的合计。查询结果按部门号升序排列,若部门号相同再按年销售利润降序排列,并将查询结果输出到表taba中。

表taba1的字段名分别为部门号、部门名、商品号、商品名和年销售利润。

请打开程序文件修改其中的错误,然后运行该程序。(第46套)

提示】第一行错误错在指定别名应该用as

当排序时order by后可以用字段名,也可以用该字段在显示结果中字段的顺序代替,比如1,指的就是部门号,5指的就是年销售利润。

这里一定要注意数据类型,因为不同的数据类型表示方式不同。

6、打开程序文件该程序的功能是根据输入的半径和高计算圆柱体表面积,其中函数定义中有错误,请在***found***的下一行进行修改使之能正确运行(不得增加语句,不得删除语句)

提示】这道题主要是注意两个方面:

第一个错误是参数不够,一般有几个实参,就有几个形参,实参是r,h,形参只有一个a,所以缺个形参。

第二个错误是函数用return 表达式来返回结果。

7、新建一个数据库将和添加到数据库;打开程序文件按文件中给出的功能要求改正其中的错误,以文件名重新保存该文件并运行程序。

8、student是一张表,其中包含学号(c 8)、姓名(c 8)、性别(c 2)、政治面貌 (c 4)、班级(c 5)等字段。程序文件的功能是显示输出所有政治面貌为“群众”的“男”生的姓名和班级,每行输出一个学生的信息;程序中有三处错误,**以改正。说明:

程序中的***error found***的下一行为错误所在行。不得增加语句,不得删除语句。

9、编写实验报告

写出以上题目的简单操作步骤。

思考练习】1、在visual foxpro中,用于建立或修改程序文件的命令是( )

a) modify 《文件名》b) modify command 《文件名》

c) modify procedure《文件名》 d) modify program《文件名》

2、假设新建了一个程序文件不存在同名的。exe、.app和。

fxp文件),然后在命令窗口输入命令do myproc,执行该程序并获得正常的结果。现在用命令erase 删除该程序文件,然后再次执行命令do myproc,产生的结果是( )

a) 出错(找不到文件b) 与第一次执行的结果相同。

c) 系统打开"运行"对话框,要求指定文件 d) 以上说法都不正确。

解析】erase命令是从磁盘上删除文件,用此命令删除的任何文件都不能恢复。格式为"erase filename|?[recycle]",因此再次执行的时候会出错,选项a)正确。

3、如果一个过程不包含return语句,或者return语句中没有指定表达式,那么该过程:

a) 没有返回值 b) 返回0 c) 返回。f. d) 返回。t.

解析】程序文件被运行时,文件中包含的命令将被依次运行,直到所有的命令被运行,或者运行到以下命令:

cancal:终止程序运行,清除所有的私有变量,返回命令窗口。

do:转去运行另一个程序。

return:结束当前程序的运行,返回到调用它的上级程序,若无上级程序则返回到命令窗口。

quit:退出visual foxpro系统,返回到操作系统。

如果一个过程不包含return语句,或者return语句中没有指定表达式,那么该过程返回。t.,因此d选项正确。

4、有以下程序:

input to a

s=0if a=10

s=1endifs=2 s

假定从键盘输入的a值是数值型,则程序的运行结果是:

a) 0 b) 1 c) 2 d) 1或2

解析】不管前面如何运行,我们只需要注意最后给变量赋的什么值。

5、下面程序的运行结果是( )

set exact on

s="ni"+space(2)

if s=="ni"

if s="ni"

? "one"

else? "two"

endifelse

if s="ni"

? "three"

else? "four"

endifendif

return

a) one b) two c) three d) four

解析】在用双等号运算符(==比较两个字符串时,只有当两个字符串完全相同(包括空格以及各字符的位置)时,运算结果才会是逻辑真。t.,否则为逻辑假。

f.;在用单等号运算符(=)比较两个字符串时,运算结果与set exact on|off的设置有关:当设置on时,先在较短字符串的尾部加上若干个空格,使两个字符串的长度相等,然后再进行精确比较,当设置off时,只要右边字符串与左边字符串的前面部分内容相匹配,即可得到逻辑真。

t.的结果,即字符串的比较因右面的字符串结束而终止。

本题中,s="ni"+space(2)= ni ",第一层条件语句(if s=="ni")为逻辑假。f.,则进入else分支中。

由于本题设置了set exact on,第二层条件语句(if s="ni")中,等号右侧的长度小,所以会在右侧的字符串增加两个空格,使之和左侧的字符串长度相等,这与s("ni ")的值相等,所以第二层条件语句为逻辑真。t.,程序将执行:?

three"语句,所以运行结果为:three。

6、下列的程序段中y的计算结果为76543的是( )

a) x=34567

y=0flag=.t.

do while flag

y=x%10+y*10

x=int(x/10)

if x>0

flag=.f.

endifenddo

b) x=34567

y=0flag=.t.

do while flag

y=x%10+y*10

x=int(x/10)

if x=0

flag=.f.

endifenddo

c) x=34567

y=0flag=.t.

do while !flag

y=x%10+y*10

x=int(x/10)

if x>0

flag=.f.

endifenddo

d) x=34567

y=0flag=.t.

do while !flag

y=x%10+y*10

x=int(x/10)

if x=0

flag=.t.

endifenddo

7、下列程序段执行以后,内存变量y的值是。

clearx=56789

y=0do while x>0

y=y+x%10

x=int(x/10)

enddo?y

a) 56789 b) 98765 c) 35 d) 15

提示】如果是y=y*10+ x%10就跟上题一样,生成的结果就是98765,但是没有*10,就是每个值相加。

VF程序设计实验大纲

vf程序设计 课程实验教学大纲。课程编码 7004 课程类别 必修课程。适用层次 专科。适用专业 计算机维护 适用学期 第 3学期。课程总学时 96 实验学时 30 开设实验项目数 6 考核方式 考试。一 实验教学目的及要求。vf程序设计是计算机科学中发展最快 应用最广泛的领域之一,它已成为计算机信...

2023年VF新题

1.1 sele from 歌手信息 into table temp 并添加到数据库。1.2 modi menu mymenu 注意快捷菜单 切记生成 1.3 报表 快速报表。1.4 update temp set 年龄 20 where 歌手编号 111 2.1 改错 create table p...

2019上VF教学计划

2015 2015学年第一学期。vf教学计划。崔艳。1 教学目标分析 本课程以visual foxpor 6.0 为基础,讲授数据库系统的基本概念和基本理论,使学生了解关系型数据库的基本概念和程序设计方法,能够独立编写短小的vfp程序,并结合数据库的操作管理功能,实现信息管理与查询功能,为后续课程学...