第二章 算法——程序的灵魂

2.1

程序=算法+数据结构
计算机算法:

  1. 数值运算:目的是求值解。
  2. 非数值运算:涉及广泛,最常见的是用于事务管理领域。

算法的特性:有穷性,确定性,有零个或多个输入,有一个或多个输出,有效性。

程序设计方法:

  1. 自顶而下
  2. 逐步细化
  3. 模块化设计
  4. 结构化编码

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;
}

运行结果
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值