【课前思考】
��1、结构化程序设计方法的基本要点是什么?
  2、什么是程序设计风格?为了具有良好的程序设计风格,应注意哪些方面的问题?
  3、影响程序效率的因素有哪些?
  4、程序设计语言有哪些共同的特征?
  5、在项目开发时选择程序设计语言应考虑哪些因素?
  6、程序复杂性的主要参数有哪些?
  7、程序复杂性度量的方法主要有哪几种?
  8、McCabe复杂性度量方法如何使用?程序复杂性与程序出错率什么关系?
  9、Halstead复杂性度量方法如何使用?程序量与程序出错率什么关系?

【学习目标
��1、了解什么是结构化程序设计,以及结构化程序设计的原则。
  2、了解程序设计风格4个方面的要求。
  3、了解提高程序效率的方法。
  4、了解程序设计语言的分类和特点。
  5、了解程序设计语言选择的原则。
  6、掌握度量程序复杂性的McCabe方法和Halstead方法。

学习指南
  用户与计算机交流信息必然使用程序设计语言,这就涉及到程序编码。所谓程序编码就是把软件设计转换为计算机可以理解的形式,即用程序设计语言书写的程序代码。作为软件工程的一个阶段,程序编码是软件设计的结果。因此,程序设计的质量主要取决于软件设计的质量。但是,程序设计方法、程序设计风格、程序设计语言的特性对于程序的质量也起着重大的影响。
  本章第一部分讨论结构化程序设计方法。这种方法首先强调了程序应由几种基本控制结构嵌套组合而成,然后介绍了自顶向下、逐步求精的编程方法,这是一种从实践上讲十分有效的方法。它与后面介绍的程序设计风格一起,可以构造出可读性强、结构性好、可靠性、可修改性和可测试性都很好的程序。
  本章第二部分讨论程序设计语言。程序设计语言的特性不可避免地会影响人的思维和解决问题的方式,会影响人和计算机通信的方式和质量,也会影响其他人阅读和理解程序的难易程度。因此,编码之前一个重要的工作就是选择一种适当的程序设计语言。本章先从软件心理学、软件工程学和语言的技术性能的角度介绍程序设计语言的特性,然后介绍各种语言的分类,最后介绍了开发软件时选择程序设计语言的原则,为程序员提供有力的手段,以保证程序编码工作的顺利进行。
  本章第三部分是关于程序效率的讨论。主要包括算法对效率的影响、对于影响存储器效率和输入 输出效率的因素。效率的高低与软件设计、算法的选择和程序的复杂性有关。
  本章第四部分是关于程序复杂性度量的几种方法的介绍。它们从不同角度度量程序的复杂性,从而间接地度量程序的出错率,因此可以用来评价程序的质量,也为编制好的程序提供了可以遵循的原则。

【难重点
  1、结构化程序设计的基本原则。
  2、自顶向下、逐步求精的程序设计方法。
  3、结构化的数据结构。
  4、关于源程序文档化的3个要点。
  5、关于程序语句编写的若干原则。
  6、程序设计语言在心理学、工程学和技术性能方面的特性与程序质量的关系。
  7、程序设计语言的选择原则。
  8、McCabe程序复杂性度量的实施方法、对于复合条件的特殊处理。
  9、Halstead程序复杂性度量中预测长度、实际长度、词汇表、词汇量、程序量及出错率的计算。