1. 程序分析题:算法设计与程序实现(每空4分,共8分)

已知a、b、c分别为三角形的三条边长,利用海伦公式求三角形面积 ,其中 编程实现:输入边长a,b,c,如果能构成三角形,输出面积,否则输出“No Answer !”

def cal():

a=int(txtl.get())

b=int(txt2.get())

c=int(txt3.get())

if:              :

  p= (atb+c)/2

  s=math. sqrt (p*(p-a)*(p-b)*(p-c))

  txt4.insert (0,str(s))

else:

  txt4.insert (0."No Answer!")

(1) 利用海伦公式求三角形面积的算法是(填写:解析法/查找法/穷举法/排序法)。
(2) 填写出参考程序中空白处的表达式              (填写字母: A/B/C/D)。 A. a+b>c or  a+c>b  and  b+c>a B. a+b>c or  a+c>b  or   b+c>a C. a+b>c  and  a+c>b  or  b+c>a D. a+b>c  and  a+c>b  and  b+c>a
【考点】
运算符、基本运算与表达式; 解析算法及程序实现; 分支结构语句及程序实现;
【答案】

您现在未登录,无法查看试题答案与解析。 登录
综合题 普通
能力提升
换一批
1. 【加试题】某程序功能如下:数组a中存放了n*n个两位随机正整数,按n行n列在列表框List1 中显示(即第一行自左向右依次显示a(1)~a(n),第二行自左向右依次显示a(n+1) ~a(2*n),……)。按(行号,列号)的形式在文本框Text1 中输入某矩形区域的左上角位置(x1,y1),在文本框Text2 中输入右下角位置(x2,y2),单击“水平翻转”按钮Command1,对以(x1,y1)和(x2,y2)为对角顶点的矩形区域中的数据进行水平翻转,并将变换后的n*n个数据保存到数组b中,最后在列表框list2 中按照List1的格式显示数组b中的数据。程序运行界面如图所示。

(1) 对于有8*8个元素构成的数组a,如果输入左上角位置是(2,3),右下角位置是(7,5),水平翻转后,则元素a(27)的值在新数组保存在元素b()(填写下标)中。
(2) 依据上述描述设计的VB 程序如下,请在划线处填入合适代码。

Const n = 6

Dim a(1 To n ^ 2) As Integer, b(1 To n ^ 2) As Integer

Private Sub Form_Load()

    '产生n*n个两位随机正整数,保存数组a,显示在List1中,代码略。

End Sub

Private Sub Command1_Click()

Dim i As Integer, j As Integer, xy(1 To 4) As Integer

Dim s As String, tmp As String, c As String

s = Text1.Text + "," + Text2.Text + ","

tmp = "": j = 0

For i = 1 To Len(s)

    c = Mid(s, i, 1)

    If c >= "0" And c <= "9" Then

        tmp = tmp + c

    Else

        j = j + 1

       

        tmp = ""

    End If

Next i

For i = 1 To n

    For j = 1 To n

        If i>= xy(1) And i<= xy(3) And j >= xy(2) And j <= xy(4) Then

            b((i - 1) * n + j) =

        Else

            b((i - 1) * n + j) = a((i - 1) * n + j)

        End If

    Next j

Next i

List2.Clear: c = ""

For i = 1 To n * n

    c = c + Str(b(i))

    If  Then

        List2.AddItem c

        c = ""

    End If

Next i

End Sub

综合题 困难