第三章 第一节 用解析法解决问题

减小字体 增大字体 作者:教育文稿  来源:教育文稿  发布时间:2009-07-21 20:56:30
A38.40,在B点向M点张望的仰角B22.80。试设计程序计算高度MN

41(1)测量物体高度示意图

1)分析问题(以下内容由老师正确引导,学生小组协作完成)

我们不可能直接求出物体的高度。但我们可以利用所学的知识(三角函数)来完成该工作。

在直角三角形ANM中可以得到:

tanA0MN/AN

即:ANMN/ tan A0

在直角三角形BNM中可以得到:

tan B0MN/BN

即:BNMN/ tan B0

所以:

ABBNAN

MN/tan B0MN/tan A0 

MN1/ tan B01/tan A0

2)设计算法

   设计输入输出界面,从三个文本框中输入基线长a ,仰角A0Alpha代替、B0Bata代替

   计算tan A0的倒数(用COTA表示),即

COTA1/tanA03.14159/180);

   计算tan B0的倒数(用COTB表示),即

COTB1/tanB03.14159/180);

   计算a/(COTBCOTA)

   输出结果 

3)编写程序

设计窗体如图42

41(2)测量高度问题程序的窗口 

对象名

属性名

属性值

功能

标签

[ 名称 ]

label1

Label2

Label3

Label4

标签的名称

Caption

基线长  a=

仰角  α=

仰角  β=

被测物体高度=

设置标签显示的内容

文本框

Enabled

Text1 textbox

Text2 textbox Text3 textbox Text4 textbox

文本框的名称

text

全部设置成空

设置text的值

按钮

[ 名称 ]

command1

命令按钮的名称

Caption

计算

设置命令按钮显示的内容

41(1)对象属性表

参考程序:

Private Sub Command1_Click()

  a = Val(Text1.Text)

  Alpha = Val(Text2.Text)

  bata = Val(Text3.Text)

  pi = 3.14159265

  COTA = 1 / Tan(Alpha * pi / 180)

  COTB = 1 / Tan(bata * pi / 180)

  MN = a / (COTB - COTA)

  Text4.Text = MN

End Sub

 

4)调试程序(运行源程序)

41(3)参考程序41运行的结果

5)检验结果

探究:在本问题里,如果输入的两个仰角相等,或其中一个仰角是900,都会导致程序非正常结束。如果,甚至会使输出的结果是负数!请讨论一下使用者输入数据时比较常见的错误会有哪些?我们在程序中可以怎样防范?

 

【教师总结】

解析法的基本概念——通过分析问题中各要素之间的关系,用最简练的语言或形式化的符号来表达它们的关系,得出解决问题所需的表达式,然后设计程序求解问题的方法称为解析法。

上一页  [1] [2] [3] 

Tags:

作者:教育文稿
  • 好的评价 如果您觉得此文章好,就请您
      0%(0)
  • 差的评价 如果您觉得此文章差,就请您
      0%(0)

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论