迭代益于进步

迭代是重复反馈的过程,目的是为了得到或逼近所需的结果。每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。用生活中的例子来理解迭代:比如,你写了一篇作文,拿给老师看,让他给点建议,老师看完之后会给出评价,你根据评价在原来作文的基础上进行修改,这就完成了一次迭代;你再拿修改后的作文给老师看,老师还是不满意,于是你又进行了一次修改,这就是第二次迭代,可以看出第二次迭代的初始值是第一次修改的作文,这就是定义中的“每一次迭代得到的结果会作为下一次迭代的初始值”。那什么时候迭代结束呢?老师说满意了,你的作文就可以不用修改了,这时迭代就结束了。

kgjrigjlkfdsgj


一、在程序中的迭代

程序中的迭代是是一种不断用变量的旧值递推新值的过程,是循环的一种方式。比如用for循环计算1到100的总和,就用到了迭代。

#include <stdio.h>

int main(){

int sum=0;  // 定义累加变量sum,并初始化为 0

int i;

for(i=1; i<=100; i++) /* i初始值为1,i++等价于i=i+1,所以当i小于等于100时,每循环一次,i就加一 */

{

    sum = sum + i;   // 将累加的和保存在累加变量sum中

}

printf("%d\n", sum);  // 输出1到100之和

}

 

可看出,这个程序中有两个变量的迭代:

1. i的迭代,每循环一次i的值就加一,并放到i中作为下一次迭代的初始值;

2. 累加变量sum的迭代,计算出sum和i的结果,把结果又放到sum当中,作为下一次计算的初始值。

用程序框图来表示,程序的迭代过程就更清晰了。

 78310a55b319ebc4940d94f48026cffc1e171661

迭代结束的标志是i >100的时候。

 

二、互联网产品中的迭代

互联网产品通常是指网站或者APP。要理解迭代,就要先知道互联网产品的开发流程。产品开发流程可大致理解为第一步是做市场调研确定目标用户的需求,产品经理根据需求写出需求文档,设计师根据需求文档设计出产品的样子和功能,然后程序员根据设计来编程,把梦想变成现实,做出一个最初的产品,测试工程师不断地调试产品,测出程序的bug,程序员再修改bug,直到测试没有出问题,产品就可以正式上线,推出市场了。这就是一个APP或网站诞生的大概流程。

u=2334630637,3101079108&fm=26&gp=0

 

没有事情是完美的,产品开发也不例外。产品发布上线之后,会出现一些问题、用户也会提出更多的要求,所以要根据这些问题和需求来完善产品,相当于重复了一次上面讲的开发流程,完善之后推出新的版本,这就完成了一次迭代。比如,一个APP的版本更新就是一次迭代的成果。

9fa90fd77405f24277e8fbda8491b7290ac2b7be1afa4-zOHuRP_fw658

 

三、迭代对我们有什么用呢?

平常如果能应用好迭代这个方法,将有利于我们的进步。比如,每次考试之后,老师会督促我们做好错题本,避免下次考试再错同一个题型,这也是一种迭代。在编程少年网站,很多同学会做一些游戏作品发布出来,但大部分同学发布完之后就完事了。但一个人的能力是有限的,游戏可能会存在一些隐藏的问题,所以我们可以动用众人的力量,把游戏作品分享到QQ空间或微信,让更多的人来玩你的游戏,他们在玩的过程中会发现一些问题,向你提出建议,这时你就可以根据这些建议来完善游戏代码,这也是一种迭代。

lhohify 


附一项骄傲的声明:编玩边学拥有全球领先的“在线编程——手机分享”核心技术,小朋友们在这里5分钟就可以编出精彩手机游戏,然后扫码传播出去!你在编玩边学创作的所有Scratch作品能够发送到QQ空间、朋友圈,都是基于这项专利的哟~

 


登录或注册后发布评论