递归函数。
求最大公约数。
public function gcd(m as integer, n as integer) as integer
if (m mod n) =0 then
gcd = n
elsegcd = gcd(n, m mod n)
end if
end function
private function fact(n as string) as double
if n <=1 then
fact = 1
elsefact = n * fact (n - 1)
end if
end function
5. 执行下面的程序,第一行输出结果是___23)__第二行输出结果是___47)__
示例:(2024年)运行下面的程序,当单击窗体时,窗体上显示的内容的第一行是 ,第二行是 。
private sub test(x as integer)
x = x * 2 + 1
if x < 6 then
call test(x)
end if
x = x * 2 + 1
print x
end sub
private sub form_click()
test 2
end sub
分析:本程序共发生三次过程调用:第一次是form_click对test调用,第二次和第三次都是test对自身的递归调用,终止条件是x=11,所以应该有三次的逐层返回。答案:
5.执行下面程序,单击命令按钮command1后,显示在窗体上第一行的内容是 ,第二行的内容是 ,第三行的内容是 。
option explicit
private sub command1_click()
dim n as integer, m as integer
n = 2do while m < 3
n = n + 2
if fun(n) then
print n
m = m + 1
end if
loopend sub
private function fun(byval n as integer) as boolean
if n / 2 = int(n / 2) then
fun = fun(n / 2)
elseif n = 1 then fun = true
end if
end function
解析:本题考察的递归函数问题。表达式“n / 2 = int(n / 2)”等式成立表示n能被2整除,当n能被2整除就继续递归调用,否则就终止递归调用;当n为1时,fun返回true。
最终这3个自然数能满足上述条件。
答案: 4 8 16
4. 执行下面的程序,**框第一行内容是 cba ,**框第一行内容是 abc 。
option explicit
private sub command1_click()
dim s as string
s="abc"
back s
send sub
private sub back(st as string)
if len(st)>1 then
back(right(st, len(st)-1))
end if
left(st,1);
end sub
17、(2024年春)运行下面程序,单击命令按钮command1,则在窗体上显示的第一行内容是 ,第二行内容是 ,文本框text1中显示的内容是 。
private sub command1_click()
dim s as string
s = lausiv"
= display(s, len(s))
end sub
private function display(s as string, l as integer) as string
if l > 1 then display = display(s, l - 1)
s = left(s, l - 1) &right(s, 1) &mid(s, l, len(s) -l)
display = s
print display
end function
复合反函数题型分析
复合反函数的问题是一个难点,突破此难点的方法是 充分利用互为反函数的本质特征,即与交换 充分利用互为反函数的转化关系式,即与互为反函数。下面依题型进行分类 1 求复合反函数的解析式。例1 已知,则 解由,得。又设,得,即,故。2 求复合反函数的定义域 值域。例2 已知函数的定义域为,值域为,若该函数...
VB必学函数设计
1.打印负数并分别计算正负数只和 有如下10个数 2,73,82,76,1,24,321,25,89,20 也可以定位其他数值 打印出其中的每个负数,分别计算并输出正数和负数的和。程序如下 sub form click dim number as integer negativesum 0 post...
函数常见题型
复杂的问题往往是一些简单问题的演变和拼接组合,解题的过程则是一个不断分解 转化的过程,注重平时基本题型的积累,就可以敏感地抓住解题过程的结构特征,联想起积累的解题方法,例如一般转化类型有 1 恒成立或恒成立 2 恒成立或恒成立 3 恒成立 4 若存在x使 常用的解题技巧有分离参数,分类讨论,整体代换...