试题

试题 试卷

logo

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

浙江省安吉县上墅私立高级中学2015-2016学年高二下学期期中考试试卷信息技术部分

模拟一个简单计算器,输入两个数和一个运算符(加、减、乘、除),进行算术运算,并输出运算结果。程序界面如第14题图所示,在文本框Text1输入第一个数a,在文本框Text2输入第二个数b,在文本框Text3输入运算符ch,在文本框Text4中输出结果。

当输入的运算符不是加、减、乘、除四种运算符时,则输出“运算符不正确”;当进行除法运算时,如果除数为0,提示输出“除数不能为零”。相应的Visual Basic程序如下,在①和②划线处,填入合适的语句或表达式,把程序补充完整。

Private Sub Command1_Click()

    Dim a As Single, b As Single, ch As String

    a = Val(Text1.Text)

    b = Val(Text2.Text)

             ①      

    If ch = "+" Then

        Text4.Text = Str(a + b)

    ElseIf ch = "*" Then

        Text4.Text = Str(a * b)

    ElseIf ch = "-" Then

        Text4.Text = Str(a - b)

    ElseIf ch = "/" Then

        If  ②  Then Text4.Text = Str(a / b) Else Text4.Text = "除数不能是零"

    Else

                 ③     

    End If

End Sub

(1)、解决此问题采用的算法是。(填:解析算法/枚举算法/查找算法)
(2)、程序中划线处①应填入

程序中划线处②应填入

程序中划线处③应填入

举一反三
【加试题】输入一个表达式(运算符号只有加减乘除和小括号,表达式是正确的,不需要检查),求表达式中最后一次运算的运算符号位置。比如表达式a*(b+c)-4+d最后一次运算的运算符号是在第10个位置的“+”,输出10。算法的思想是:从表达式右边开始往左边查找,对碰到的字符分四种情况考虑:

1)若是运算符“+”或“-”保存该位置并结束查找。

2)若是第一次碰到“*”或“/”,保存该位置,若不是第一次碰到“*”或“/”,继续往左边查找。

3)若是“)”,调用函数找到和它对应的“(”位置,跳过该括号,继续往左查找。

4)若是非运算符,继续往左查找。

运行界面如下图:

实现上述功能的 VB 程序如下,但加框处代码有错,请改正。

Function find(y As String , x As Integer ) As Integer

’该函数的功能是:返回表达式 y 中和位于第 x 位置的“)”配对的“(”的位置,代码略

End Function

Private Sub Commandl _ Click ()

Dim s As String ,  t As Integer ,  temp As Integer ,  p As Integer

s = Text1.  Text ‘输入表达式

t = Len (s):p = 0

Do While t>0

    If Mid ( s, t , 1) =“*” Or Mid ( s, t , 1) =“-” Then    ‘处理+、-

        temp=t

        Exit Do

    End If

    If ①  Then  处理 *、/

        temp = t

P=1 ‘用来标记乘号或除号已经出现了

    End If

    If Mid(s, t, 1)= ")"  Then     ‘处理括号

       

    End If

    t=t -1

Loop

Text 2.Text = Str (temp)

End Sub

①{#blank#}1{#/blank#} ②{#blank#}2{#/blank#} 

返回首页

试题篮