2.1
程序=算法+数据结构
计算机算法:
- 数值运算:目的是求值解。
- 非数值运算:涉及广泛,最常见的是用于事务管理领域。
算法的特性:有穷性,确定性,有零个或多个输入,有一个或多个输出,有效性。
程序设计方法:
- 自顶而下
- 逐步细化
- 模块化设计
- 结构化编码
2.2 简单算法案例
例题:求1x2x3x4x5.
算法如下:
- 令p=1
- 令p=2
- 使p与i相乘,乘积仍放在变量p中,可表示为:p*i=p
- 使i的值加1,即i+1=i
- 如果i不大于5,返回重新执行第三个步骤及其第四第五步骤;否则,算法结束。最后得到p的是5!的值。
##2.2 算法表示方法
1.自然语言表示算法
2.用流程图表示算法
3.用N-S流程图表示
4.伪代码表示算法
例题:求5!,用伪代码表示的算法如下:
begin
1→t
2→i
while i≤5
{ t*i→t
i+1→i
}
print t
end
5.计算机语言表示算法
1.求5!
#include<stdio.h>
int main()
{
int i,t;
t=1;
i=2;
while(i<=5)
{
t=t*i;
i=i+1;
}
printf("%d\n",t);
return 0;
}
运行结果:
2.求多项式1-1/2+1/3-1/4+…+1/99-1/100的值
#include<stdio.h>
int main()
{
int sign=1;
double deno=2.0,sum=1.0,term;
while(deno<=100)
{
sign=-sign;
term=sign/deno;
sum=sum+term;
deno=deno+1;
}
printf("%f\n",sum);
return 0;
}
运行结果