文档介绍:程序开发和结构化程序设计
良好的行文格式
自顶向下逐步求精的程序设计技术
受限排列组合——穷举法与试探法
本章小结
作业
良好的行文格式
程序的行文格式不好直接影响程序的可读性、清晰性和外观。
/* A */ #include <>
int i;main (){i=25+38;printf(“25+38=%d”,i);}
/* B */ #include <>
int i;main ()
{
i = 25+38; printf (
“25+38=%d”,
i );}
/* C */ #include <>
int i; /* 声明整型变量i */
int main (void) { /* 主函数*/
i = 25+38; /* 求和运算*/
printf ( “25+38=%d”, i ); /* 打印*/
}
if ( b )
S1
else
S2
switch ( expr ) {
case a1: S1
case a2: S2
...
case an: sn
} /* switch */
图1 函数定义图2 IF语句图3 SWITCH语句
int main ( vido ) {
DS
DS
...
} /* main */
do{
S
}while (b)
for(expr1;expr2;expe3){
S
} /* for */
while ( b ) {
S
} /* while */
图4 WHILE语句图5 FOR语句图6 DO语句
用合适的助记名来命名标识符
注释
自顶向下逐步求精的程序设计技术
自顶向下、逐步求精
若想让计算机解题必须用清晰而无两义性的方式给它提供算法。要求:
找出一个算法,它能提供所解问题的从输入到输出所需的映象。
选择一种程序语言写出程序,用计算机能接受的方式表述算法。
关键是如何找出算法。因为写出程序,只是表述算法,应该没有困难。
求解一个问题
粗略的解决方案
细化
第一步子问题
第二步子问题
第n步子问题
...
前处理
结束条件
后处理
进展
一
步
前处理
后处理
条件
处理1
处理2
处理n
... ...
条件
条件
条件
前处理
后处理
递归
条件
递归
顺序连接
循环
分支选择
递归
求精实例
测定字母偶的出现频率
三个齿轮啮合问题
验证三角形外心定理
编程序,测定字母偶的出现频率
测定小写字符串中相邻字母偶出现频率。例如,针对
the cat
对
th 、he 、ca 、at
计数。设有说明:
int conmat[26][26] ;
字母偶 he 的出现次数存入下标变量
conmat[‘h'-‘a’]['e'-’a’]
首先把该问题分解成如下几步:
1)初始化计数器数组conmat ;
2)统计每个字母偶的出现频率;
3)输出统计结果。
initial 初始化
statistical 统计
out 输出