js循环
来源:互联网 发布:linux thrift源码安装 编辑:程序博客网 时间:2024/05/18 03:01
循环结构的概念
先来看看生活中的场景:
(1) 食堂大妈打饭:接过顾客的餐盘→询问菜品→打菜→递回餐盘,重复以上过程,直到所有的顾客都把菜打完。
(2) 快递员去送快递:查看收信地址→赶往目的地→电话告知收件人→收件人签收→交快递,重复以上过程直到所有快递送完。
以上场景都有一个共同点:有条件的重复的做一件事情,每次做的不同,但是类似。
程序是为了解决生活中的问题,生活中存在这重复动作,那么程序中也应有相应的描述,这就是循环。
var num = 1;
var sum = 0;
while(num<=10){
sum +=num
num++
}
alert(sum)
上面是从1加到10的代码,简便而清晰,比如加到一万,就把条件给成<=10000
while循环
while表示:当。。。的时候。。。,也就是当某个条件成立时,则一直重复做。
(流程图)
(调试工具查看程序运行轨迹及变量的变化情况)
上方为计算所有的水仙花数的流程图。
var num = 100;
while(num<=999){
var hundreds = Math.pow(Math.floor(num/100),3) ;
var tens = Math.pow(Math.floor((num%100)/10),3);
var units =Math.pow(num%10,3);
var sum = units+tens+hundreds;
if(sum==num){
alert(num+"是水仙花数")
}
num++;
}
alert("打印完毕,以上全部为水仙花数")
下面是计算GDP中国超美国的代码
var china = Number(49089.82);
var USA = Number(142562.75);
var year = Number(2009);
while(USA >= china ){
china += china * 0.08;
USA += USA * 0.02;
year++;
}
alert(year+"年,中国赶超美国GDP")
总结一下循环的套路:
(1) 初始状态
(2) 循环条件
(3) 循环体(要重复做的事情)
(4) 为下次循环做准备。
如何去写循环的程序那?回答四个问题
(1) 初始状态是怎样的
(2) 重复的条件是什么
(3) 重复做什么
(4) 怎么过渡到下一次循环
水仙花数
GDP预测问题
初始状态
Num=100
Var china=Number(49089.82);
var USA = Number(142562.75);
var year = Number(2009);
循环条件
Num<=999
Usa > china
循环体
var hundreds = Math.pow(Math.floor(num/100),3) ;
var tens = Math.pow(Math.floor((num%100)/10),3);
var units =Math.pow(num%10,3);
var sum = units+tens+hundreds;
if(sum==num){
alert(num+"是水仙花数")
}
num++;
china += china * 0.08;
USA += USA * 0.02;
year++;
为下次循环做准备
Num++
Year++
案例:计算圆周率,π = (1-1/3+1/5-1/7+。。。)*4 最后一项小于10的负六次方
分析:将公式稍微变化一下,1-1/3+1/5-1/7变化为(+1/1)+(-1/3)+(+1/5)+(-1/7)那么他和我们之间就和解决之前的1+2+3.。。+10就非常类似了,即都是求累加和的问题,只不过每次加的内容不同而已。
我们可以将每一项拆分为:
T=符号*1/分母
(1) 初始状态是怎样的
Sum=0
T=1
Sign=1
Deno=1
(2) 重复的条件是什么
|t|>10-6
(3) 重复做什么
Sum += t
(4) 怎么过渡到下一次循环
T=sign*1/deno
Sign= -sign
Deno += 2
- js循环
- js循环
- js循环
- js循环
- JS循环
- js循环
- js循环
- js循环
- JS循环
- js循环及跳出循环
- js循环测试密码
- JS For 循环
- JS While 循环
- JS Break 循环
- js循环切换显示
- JS图片循环播放
- jS循环图片
- JS 循环设置事件
- 深度学习笔记---梯度消失、梯度激增
- Python勇冠排行榜首,名企大咖教你免费学
- web测试和app测试重点
- TOJ 3516.Game of Stones
- docker入门教程
- js循环
- 菜鸟笔记--软件测试--百盒测试技术
- python3 GUI 开发 (1)环境配置
- POJ 1273 Drainage Ditches(最大流入门)
- HDU-4686 Arc of Dream(推公式+矩阵快速幂)
- 2017/7/30
- 九、Java中变量的使用规则
- pandas官方文档中cookbook(3)的selection&new column&multiindexing翻译
- uva 1225 Digit Counting