题库 高中信息

题干

   (加试题)计算整数t的近似算数平方根算法如下:

先取,然后根据公式计算,再由计算,……直到,则为解。

小李编写了一个VB程序实现上述功能:运行程序时,在text1中输入一个正整数,单击命令按钮command1,文本框text2显示该数的算数平方根。


程序代码如下,请阅读完成以下两小题。
Function fun(x As Integer, x0 As Double) As Double
Dim x1 As Double
x1 = (x0 + x / x0) / 2
If Abs(x1 - x0) < 0.00001 Then
fun = x1
Else
fun = (1)    
End If
End Function
Private Sub Command1_Click()
Dim t As Integer
Dim k As Double
t = Val(Text1.Text)
k = fun(t, 1)
k = (2)        '保留两位小数的四舍五入
Text2.Text = Str(k)
End Sub
(1)题中函数fun主要采用的算法思想是___________
(2)程序中(1)划线处应填写的代码是_____________
程序中(2)划线处应填写的代码是___________
上一题 下一题 0.99难度 填空题 更新时间:2019-05-05 07:27:04

答案(点此获取答案解析)

同类题2

给定区间a1,a2和b1,b2,若a2≥b1,则认为这两个区间是有重叠的,可进行合并。如区间1,3和2,6可合并为1,6;区间1,6,2,5可合并为1,6;区间1,4和4,5可合并为1,5。
编写一个“合并重叠区间”的VB程序,功能如下:在文本框Text1中按各区间起始值升序依次输入各区间的起始值和终止值(数据都用逗号分隔并以逗号结尾),单击“确定”按钮后,在Text2中显示合并后的各个区间。例如,在文本框Text1中输入“1,2,3,5,4,6,9,12,10,11,”,表示区间1,2,3,5,4,6,9,12,10,11,合并后的区间分别为1,2,3,6,9,12。程序运行界面如图所示,实现上述功能的VB代码如下:

Const n=100
Private Sub Cmd1_Click()
Dim i As Integer, k As Integer, L As Integer, R
As Integer
Dim s As String, c As String, t As String, result
As String
Dim a(1 To n) As Integer
s=①  :t="":k=0
For i=1 To Len(s)
c=Mid(s,i,1)
If c<>, Then
②
Else
k=k+1
a(k)=Val(t)
t=""
End If
Next i
L=a(1):R=a(2)
i=3
Do While i<=k
If a(i)>R Then
result = result+"("+Str(L)+,+Str(R)+"),"
L=a(i):R=a(i+1)
   
R=a(i+1)
End If
 ③
Loop
result=result+"("+Str(L)+,+Str(R)+"),"
Text2. Text=result
End Sub
(1)码中①②③划线处代码补充完整。
①__________
②__________
③__________
(2)程序代码中的加框处代码有误,请改正。
_____________________
(3)运行该程序,输入数据如图所示,程序执行完毕时,变量k 为________________。

同类题4

某班师生玩一个游戏,n(n 不超过 1000)个同学站成一圈,逆时针编号为 l - n,有两个老师 A 和 B,A 老师从 1 开始逆时针数 k 个同学,B 老师从 n 开始顺时针数 m 个同学(注意 A,B 老师可能数到同一个学生),被老师选中的 1 个或 2 个学生离开圈子,剩下的学生继续。
程序开始时在 Text1 中输入同学数 n,在 Text2 中输入 k 的值,在 Text3 中输入 m 的值,点击“开始” 按钮,在 label5 中显示依次出圈的学生编号。程序运行如图所示:

VB 程序如下,请将按要求答题:
Dim stu(1 To 1000) As Integer
Dim n As Integer
Private Sub Command1_Click()

Dim left, k, m As Integer

Dim stup1, stup2 As Integer

n = Val(Text1.Text)

k = Val(Text2.Text)

m = Val(Text3.Text)

    ①    
stup1 = n: stup2 = 1
For i = 1 To n
stu(i) = i Next i
Do While left > 0
stup1 = teachount(stup1, 1, k)
stup2 =
Label5.Caption = Label5.Caption & " " & Str(stup1)
left = left - 1
If    ②    Then
Label5.Caption = Label5.Caption & " " & Str(stup2)
left = left - 1
End If stu(stup1) = 0

stu(stup2) = 0

Loop

End Sub
'f=1 表示逆时针数 c 个,f=-1 表示顺时针数 c 个
Function teachount(ByVal p As Integer, ByVal f As Integer, ByVal c As Integer) As Integer
Do While c > 0
    ③    
Do While stu(p) = 0

p = (p + f + n - 1) Mod n + 1

Loop

c = c - 1

Loop teachount = p
End Function
(1)加框处的语句有错误,请改正:______________________________________________ 
(2)请将①处的语句补充完整:______________________________________________
(3)请将②处的语句补充完整:______________________________________________
(4)请将③处的语句补充完整:______________________________________________