自考资讯

导航

2017年自考《物流软件开发工具》章节复习题:PowerScript语言

来源 :中华考试网 2016-11-17

  3.编程题

  (1) 设计一个全局函数返回指定班级(编号)的学生人数。

  解答:打开全局函数画板,函数返回值类型选integer,函数名取stnum,参数传递方式为value,类型为string,名称为bh。函数体如下:

  int li_sc

  select rs into:li_sc from banji where bjbh=:bh;

  if sqlca.sqlcode=0 then

  return li_sc

  else

  return -1

  end if

  函数的运行条件是已经连接上数据库xscj。

  (2) 设计一个应用,能求任意输入两个数的最大公约数。(提示:在一个窗口上设置两个单行文本编辑框用来输入整数,一个命令按钮求最大公约数并输出,也可以定义一个求最大公约数的窗口函数)

  解答:创建一个工作空间test2,再创建一个应用对象app,创建窗口对象w_main,窗口上添加三个单行文本编辑框sle_1、 sle_2和sle_3,其TEXT属性都设为“”,再添一个命令按钮cb_1,其TEXT属性设为“求最大公约数”,cb_1的clicked事件脚本为:

  int li_a,li_b,li_c,li_t

  li_a=integer(sle_1.text)

  li_b=integer(sle_2.text)

  if li_a

  li_t=li_a

  li_a=li_b

  li_b=li_t

  end if

  li_t=mod(li_a,li_b)

  do while li_t<>0

  li_a=li_b

  li_b=li_t

  li_t=mod(li_a,li_b)

  loop

  li_c=li_b;

  sle_3.text=string(li_c)

  sle_1、 sle_2中输入两个整数,单击cb_1则sle_3中显示最大公约数。

  (3) 求Fibonacci数列的前20项之和。Fibonacci数列是指前两项分别为0和1,从第3项起,每一项都是前两项之和。例:0,1,1,2,3,5,8,13,21,…。

  解答:程序代码如下

  int li_f1,li_f2,li_f3,li_i,li_s

  li_f1=0

  li_f2=1

  li_s=li_f1+li_f2

  for li_i=3 to 20

  li_f3=li_f1+li_f2

  li_s+=li_f3

  li_f1=li_f2

  li_f2=li_f3

  end for

  (4) 判断一个数m是否是素数。

  解答:程序代码如下

  int m,i

  for i=2 to m/2

  if mod(m,i)=0 then exit

  end for

  if i

  messagebox("结果",string(m)+"不是素数")

  else

  messagebox("结果",string(m)+"是素数")

  end if

  (5) 用穷举法找出1~100之间的质数并显示出来,分别使用WHILE、DO-WHILE、FOR循环语句。

  解答:使用FOR循环语句的程序代码如下,使用WHILE、DO-WHILE语句程序略。

  int m,i

  string s=""

  for m=1 to 100

  for i=2 to m/2

  if mod(m,i)=0 then exit

  end for

  if i>=m/2 then s=s+string(m)+","

  end for

  messagebox("100以内的素数",s)

分享到

您可能感兴趣的文章