循环结构
来源:互联网 发布:淘宝京东商城 编辑:程序博客网 时间:2024/06/17 03:22
While循环
是表示“当.....则......”,也就是当某个条件成立时,则一直重复做。
(调试工具查看程序运行轨迹以及变量的变化情况):
do while 和while的区别:dowhile 是先做一次然后再循环,while是先循环然后再做。
案例:在100到999的范围内找出哪些数是水仙花数
var num = 100;
while (num <=999) {
var num100 = Math.floor((num %100) / 10);
var num10 = Math.floor((num %100) / 10);
var num1 = Math.floor((num %10));
var sum = Math.pow(num100,3) + Math.pow(num10,3) + Math.pow(num1,3);
if(sum ==num ) {
alert(num+"是水仙花数");
}
num++;
}
var year = 2009;
var usa = 142562.75;
var china = 49089.82;
do{
usa = ((usa*0.02)+usa);
china = ((china* 0.08)+china);
year++;
} while (china < usa);
alert(year+"年,中国("+china+")将超过美国("+usa+"");
循环的套路:
(1) 初始状态
(2) 循环条件
(3) 循环体(要重复做的事情)
(4) 为下次循环作准备()
写程序之前回答四个问题:
(1) 初始状态是怎样的?
(2) 重复做的条件是什么?
(3) 重复做的事情是什么?
(4) 怎么过度到下一次循环?
水仙花数问题
GDP预测问题
初始状态
var num = 100;
var year =2009;
var usa = 142562.75;
var china = 49089.82;
循环条件
num <= 999
usa>china
循环体
var num100 = Math.floor((num % 100) / 10); var num10 = Math.floor((num % 100) / 10); var num1 = Math.floor((num % 10)); var sum = Math.pow(num100, 3) + Math.pow(num10, 3) + Math.pow(num1, 3); if(sum == num ) { alert(num+"是水仙花数")
usa = ((usa*0.02)+usa); china=((china*0.08)+china);
为下次循环作准备
num++
year++
案例3:计算圆周率 π=(1-1/3+1/5-1/7+.....)*4
最后一项的绝对值小于10-6。
分析:将公式稍微变化一下:(+1/1)+(-1/3)+(+1/7)
我们可以将每一项拆分为:
t=符号*1/分母
1初始状态是怎样的?
sum=0;
t=1;
sign=1
deno:1
2重复做的条件是什么?
|t|>=10-6
3重复做的事情是什么?
sum +=t
4怎么过度到下一次循环?
sign= -sign
deno +=2
t = sign*1/deno
<script>
var sum= 0;//累加和
var t= 1;//每一项分数
var sign= 1;//运算符号
var deno= 1;//分母
while(Math.abs(t) >=1e-6){
sum+=t;
sign=-sign;
deno+=2;
t= sign* 1/deno;
}
var π=sum*4;
alert(π);
</script>
- 循环结构
- 循环结构
- 循环结构
- 循环结构
- 循环结构
- 循环结构
- 循环结构
- 循环结构
- 循环结构
- 循环结构
- 循环结构
- 循环结构
- 循环结构
- 循环结构
- 循环结构
- 循环结构
- 循环结构
- 循环结构
- 图---存储方式二
- 汉诺塔问题
- Android判断软键盘弹出并隐藏的简单完美解决方法(推荐)
- Linux中用户与口令的管理
- 流:简单的压缩和解压流程
- 循环结构
- csu D(1973): 给自己出题的小X
- my eclipse 连接数据库(详细步骤)
- poj 2155(二维树状数组)
- CodeFroces 827B. High Load(构造法)
- ios-偏好设置浅析
- 机器学习和 数据分析的区别
- c语言单向链表的基本功能的实现
- (C++模板类)顺序表、双向链表