js 循环结构


循环结构的概念

先来看看生活中的一些场景:

(1)      食堂阿姨打菜:接过顾客的餐盘→询问菜品→打菜→递回餐盘,重复以上的过程,直到所有顾客的菜都打完了。

(2)      快递员送快递:查看送快件地址→赶往目的地→电话告知收件人→收件人签收→交快递件,重复以上过程,直到所有需要送的快件都处理完了。

(3)      公交司机……

(4)      作业流程……

以上场景都有一个共同的特点:有条件重复的做一件事情,每一次做的事情不同但类似。

程序是为了解决实际问题的,实际问题中存在大量的重复动作,那么程序中也应该有相应的描述,这就是循环

 

 

但是这两种方案的描述方式不大理想,如果是要加到10000呢?

注意观察方案二,它

5.2 while循环

While是表示“当……则……”,也就是某个条件成立时,则一直重复做。

(流程图)


(调试工具查看程序)

do while循环

两者的去别while 是先判断条件然后在运行,do while 是先执行后判断

 


 

 

var year=2009;
var america=142562.17;
var china=49089.82;

do{
    america=america+(america*0.02);
    china=china+(china*0.08);
    year++;
}while(america > china);
alert(year + "中国GDP超过了美国")

 

总结一下循环的套路

(1) 初始状态

(2) 循环条件

(3) 循环体(要重复做的事情)

(4) 为下次循环做准备

那要如何去写循环的程序呢?,回答四个问题:

(1) 初始状态是怎样的

(2) 重复做的条件是什么

(3) 重复做什么

(4) 怎么过渡到下次的循环

 

水仙花数问题

gdp预测

 

初始状态

Num=100

var year=2009;
var america=142562.17;
var china=49089.82;

 

循环条件

num <= 999

america > china

循环体

 


    america=america+(america*0.02);
    china=china+(china*0.08);
    year++;

 

为下次循环做准备

num++

year++
   

 

 

案例:计算圆周率,π=(1 - 1/3 + 1/5 - 1/7 +……)*4

最后一项的绝对值小于10-6

分析:将公式

1 - 1/3 + 1/5 - 1/7 +

变化为(+1/1)+( 1/3) +(+ 1/5)+( - 1/7)

那么和我们之前解决的1+2+3+…..+10问题就非常类似了

我们可以将每一项拆分为:

t = 符号* 1/分母

(1) 初始状态是怎样的

  sun=0;

  t = 1;

sign = 1;

deno = 1;

(2) 重复做的条件是什么

|t| >= 10-6

(3) 重复做什么

sum += t

(4)怎么过渡到下次的循环

Sign = -sign

Deno += 2

t = sign * 1/deno

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值