今天这节课主要讲了算法,算法可以说是程序的灵魂,从沃斯的程序=算法+数据结构这个等式中就足以看出算法在编程中的地位之高,不过算法也算是一个比较抽象的概念,简单来讲算法就是解决问题的方法和步骤,对程序设计至关重要,就像数学中的解题步骤一样,对于结果起决定作用.正如同一道题有多个不同的解法,一个程序也可以有多种不同的算法,或简单或复杂,不过能成功运行的算法就是好算法.
算法有5种表达方式:(1)用自然语言表达算法;(2)用流程图表达算法;(3)用N-S图表达算法;(4)用伪代码表示算法;(5)用计算机语言表示算法
因为课上就讲了第一第二种,我就先举这两个(因为其他的还不会)
例如求1-1/2+1/3_1/4+...=1/99_1/100
sign代表当前项前数值符号,term代表当前项的值,deno是当前项的分母
一
S1:sign=1 S2:sum=1 S2:deno=2 S4:sign=(-1)*sign S5:term=sign*(1/deno) S6:sum=sum+term S7:deno=deno+1 S8:若deno<=100,返回S4;否则算法结束
二
由此,就可以清晰明了的写出这段代码
#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", sum);
return 0:
}
思考算法的时候还是有点烧脑的(猪脑过载),但只要算法写到位了,代码的编译也无非就只剩下报错纠错调试了,所以理解算法还是很有用的!
今天的内容就这么多了,可谓是收获满满,不过我还没有踏进编程的门槛呢,所以我还会继续坚持的,争取以后能写点高大上的代码来真正的创作一篇有用的博客服务大众!