试题

试题 试卷

logo

题型:综合题 题类:常考题 难易度:困难

浙江省杭州市第二中学2020届高三上学期信息技术第一次月考试卷

多数高次方程不存在求根公式,求精确根非常困难,因此寻找方程的近似根就显得特别重要。由于数轴上的点是有序的,所以我们可以用对分查找法找出高次方程在某一区间的实根,即:不断地将区间对分,使得区间中点的值不断逼近方程的根,当区间小于精度的时候我们就停止对分,并用此时区间的中点值作为方程的根。

现有三次方程y=5x^3-55x^2+170x-130,其函数图象如图所示:

观察该函数图象发现函数有一实根在区域(1.2)之间,因此我们取两者的中点m=(1+2)/2代入方程进行检测发现f(1.5)=18.125。因为f(1.5)>0,因此区间应该往左移动,得下一个区间(1,1.5)然后继续进行检测。如果区间差值≤误差率,则认为该中点是方程的根。根据上述方法描述设计一个VB求解程序的根,要求单击求解按钮Command1,在文本框Text1中显示方程的根,部分程序如下。

(1)、代码“PrivateSubCommand1_Click()”中的Command1_Click()是(单选,填字母:A.对象名/B.事件名/C.事件处理过程)
(2)、将划线处的代码补充完整。

PrivateSubCommand1_Click()

DimiAsDouble,jAsDouble,mAsDoubleDimrAsDouble,yAsDouble

i=1:j=2:y=1:r=j-iDoWhiley<>0Andr>0.00001

m=(i+j)/2

y=

Ify>0Then

j=m

ElseIfy<0Then

i=m

EndIf

Loop

Text1.Text=m

EndSub

举一反三
小明利用所学的信息技术知识帮助语文老师设计一个语文学考等级查询系统,要求如下:输入某个等级,就能查出该等级的所有学生学号和姓名,并统计出该等级学生的人数,以便语文老师方便了解学生的学考情况。语文学考成绩分A、B、C、D、E五个等级,学生信息存储在数据库文件“stugrade.accdb”的数据表“Chinese”中,数据表“Chinese”的结构如图1所示。

VB程序运行界面如图2所示,在文本框Text1中输入查询的等级,单击“查询”按钮Command1,在列表框List1中显示所有该等级的学生学号和姓名,并按照学号从小到大排序,并在标签Label2处显示学生的人数,如果人数为0,则在列表框中显示“没有该等级的学生”。按此要求编写程序如下,在下划线处填上合适的代码。

Private Sub Command1_Click()

Dim stuna(1 To 100) As String '存放学生姓名的数组定义为stuna

Dim stunum(1 To 100) As String '存放学生学号的数组定义为stunum

Dim i As Integer, j As Integer, n As Integer

Dim t As String

Dim cn As New ADODB.Connection       '连接数据库

Dim rs As New ADODB.Recordset

Dim strSQL As String

cn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + App.Path + "\stugrade.accdb "

cn.Open

strSQL = "select * from      ①       where 语文等级='" + Text1.Text + "'"

Set rs.ActiveConnection = cn

rs.Open strSQL

n = 0

Do While Not rs.EOF

          ②    

   stuna(n) = rs.Fields("姓名").Value

   stunum(n) = rs.Fields("学号").Value

   rs.MoveNext       

Loop

rs.Close

cn.Close

Set rs = Nothing

Set cn = Nothing

List1.Clear '清除列表框

If n = 0 Then

   List1.AddItem "没有该等级的学生"

Else

   For i = 1 To n - 1       '按姓名排序

      For j = n To    ③    Step -1

         If        ④          Then      

            t = stunum(j): stunum(j) = stunum(j - 1): stunum(j - 1) = t

            t = stuna(j): stuna(j) = stuna(j - 1): stuna(j - 1) = t

         End If

     Next j

   Next i

   For i = 1 To n

      List1.AddItem stunum(i) + "  " + stuna(i)

   Next i

   Label2.Caption = "该等级的学生共有" + Str(n) + "名"

End If

End Sub

其中①处填入          ;②处填入           ;③处填入           ;④处填入           

返回首页

试题篮