购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.4
案例学习——计算三角形的面积

本节应用结构化程序设计方法根据如下需求进行分析和设计:

根据公式 计算三角形的面积,其中a、b、c为三角形的三边,s=(a+b+c)/2为三角形半周长。编写程序,用以上信息计算边长为3、4、5的三角形面积。

1. 问题分析

这一步主要是确认我们对需求有一个完整的理解。

1)确定预期的输出。为了确定预期的输出,应该首先在需求中查找计算、打印等关键词,在上面的需求中,关键的一句话为“计算边长为3、4、5的三角形面积”,这明确了输出项为三角形的面积。

2)确定输入项。明确输出项后,就要确定所有的输入项了。首先要区分输入项和输入值,输入项是输入的量的名字,而输入值是输入项的一个具体的值。例如,本需求中,输入项是三角形的边长。在这一阶段,只需要确定输入项,输入值是不重要的,因为输入项与输出项的关系和输入的具体值没有关系。

3)列出输入与输出关系的公式。这一步要确定如何根据输入项计算输出项,本例中首先根据已知的公式s=(a+b+c)/2计算三角形半周长,再计算三角形面积 ,这里a、b、c是输入项,area是输出项。

4)进行手工计算。这一步要进行手工计算,即用指定的输入值检查公式的正确性,帮助你确认是否真正理解了问题,另外也用于在测试阶段对程序进行验证。本例中三角形面积为6。

2. 算法设计

一般的一级算法为:

输入数据

计算结果

显示结果

本例中采用的算法对第二步进行细分,得到二级算法:

设三角形三边a、b、c的值为3、4、5

用公式s=(a+b+c)/2计算s

用公式 用公式计算面积

显示面积值

3. 代码编写

有了算法以后,就可以编写代码了。本例中只用到了顺序结构,其中每个语句都是严格按照顺序执行的。其中第7行定义了程序中要用到的名字a、b、c、s和area,第8~10行给三角形三边赋值为3、4、5,第11行计算s值,第12行计算三角形面积,第13行用来输出面积。

1 /*程序名:prg1-3.c*/

2 /*功能:给定三角形三边,计算三角形面积*/

3 #include<stdio.h>

4 #include<math.h>

5 int main()

6 {

7 float a, b,c, s,area;

8 a=3;

9 b=4;

10 c=5;

11 s=(a+b+c)/2;

12 area=sqrt(s*(s-a)*(s-b)*(s-c));

13 printf("The area of triangle is%f",area);

14 }

4. 测试与调试

对该程序进行编译、连接和运行,程序运行结果为:

The area of triangle is 6.000000

本程序只有一个输出结果,与第一步问题分析中的手工计算结果进行对比,得到所预期的结果。因此可以使用该程序计算不同边长的三角形的面积。 Q1MYhecyLHSz0y1rkX7LQaP8qIW8Ls7wBb8cOTM68s0WKzEQf0VAl0AR1BM4wGdc

点击中间区域
呼出菜单
上一章
目录
下一章
×