循环结构

例1:判断GDP总值

2009年时 CHN  49089.82

                USA 142562.75

中国的增长率是0.08,美国的增长率是0.02

假设增长率不变,什么时候中国超越美国?

 设计步骤:

1、输入09年数据

2、输入增长率

3、判断中国和美国GDP




var year = 2009;
var CHN =49089.82;
var USA =142562.75;
var rate1 =0.08;
var rate2 =0.02;
while(CHN< USA) {
       CHN*= 1+rate1;
       USA*=  1+rate2;
       year++;

}
alert(year+ "年中国超越美国");


套路 

水仙花数

GDP总值

确定初始状态

Num = 100

Year = 2009

USA = 142562.75

CHN  49089.82

循环的条件

Num < 1000

USA > CHN

循环体

判断Num是不是水仙花数

USA *= 1.02

CHN *=1.08

为下次循环做准备

Num++

Year++



例2:计算圆周率

Pi = (1- )*4

精确度最后一项的绝对值小于10^-6

 

初始状态:pi = 0

          Fenzi = 1

          Fenmu = 1

重复的条件:分数的绝对值大于10^-6

重复做:将这个分数加到pi里面

如何过渡到下次循环:

Fenzi = fenzi *(-1)

Fenmu = fenmu +2

 

循环结束之后,圆周率=pi * 4


var pi = 0;
var fenzi =1;
var fenmu =1;
while(Math.abs(fenzi/fenmu)>Math.pow(10,-6)){
    pi +=fenzi/fenmu;
    fenzi *=(-1);
    fenmu +=2;
}
pi *= 4;
alert("圆周率为:"+pi);



例3:求圆周率,(随机数法)面积为1的正方形中随机扔一豆子

获得 0-1 的随机数 Math.random()

1、初始状态

Sum = 0;

Num = 0

2、重复的条件

Num<10000

3、重复做的事情

随机生成两个数,判断这个点是否在圆内,如果是则sum++

4、为循环做准备

Num++

  落在圆内的豆子数/总的豆子数

 

var sum = 0;
var num =10000;
for(var i = 0;i < num;i++){
    var x = Math.random();
    var y = Math.random();
    if(Math.sqrt(x*x +y*y) <= 1){
        sum++;
    }
}
var pi =4 * (sum /num);
alert("圆周率:" + pi);


以上是循环结构的一些例题,明日继续更博!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值