黑马程序员技术交流社区

标题: 【分享】从这个故事中你悟到了什么 [打印本页]

作者: fhy1969038887    时间: 2015-5-10 13:25
标题: 【分享】从这个故事中你悟到了什么
  从你身边随便找一个理科生,一棍把他打晕,然后把他送到一个陌生的地方。当他苏醒以后,你猜会发生什么故事?
  
  首先他会确定自己是不是还在地球上。
  他会爬起来,深呼吸,活动筋骨,东跑西颠,仰望苍穹,俯察厚土,感觉到氧气充足,重力正常,天上有太阳,而且只有一个,地上有走兽,而且没有异形。于是他果断地做出判断:自己并没有进入外太空。
  然后他会确定自己究竟在南半球还是在北半球。


  他找到一些水,缓缓灌进一个小孔,观察水流的旋转方向——如果旋涡是顺时针的,那就证明在南半球;如果旋涡是逆时针的,说明在北半球。
  假如周边没有小溪、没有河流、没有湖泊、没有海洋,找不到水怎么办?别急,他会很耐心地憋一大泡尿,然后边尿边观察尿的旋涡。理科生就是这样有办法。
  确定了自己所在的半球以后,理科生还必须知道所在地点的经纬度,不然他将永远摆脱不了迷路的恐慌。
  他爬到树上,折下一根树枝,量过树枝的长度,垂直固定到地面上。太阳出来了,理科生不眠不动,静心观测树枝的影子。当影子缩到最短,说明已到正午时分,他赶紧记下此时影子的长度。
  有了树枝的长度,也有了影子的长度,理科生会运用勾股定理计算出从树枝顶端到影子末端的长度,拿这个长度除以树枝的长度,就能得到太阳高度角的正弦值。然后理科生会用树枝在地上写写画画,做一场异常烦琐却非常精确的运算,通过正弦值来反推太阳高度角。最后再用90度去减这个太阳高度角,那个得数就是纬度(虽然这样计算很不精确)。比方说,太阳高度角是60度,那么纬度就是30度。如果此前他观测的旋涡是顺时针的,那么他就在南纬30度;反之,则是在北纬30度。
  仅仅算出了纬度,理科生并不满意,他还要算出他所在地点的经度。为了简化计算,他走进最近的钟表店,买了一块可以同时显示格林尼治时间和当地时间的钟表,然后他用当地时间减去格林尼治时间,得出时差。理科生知道地球从西向东自转,每小时经过15度,每分钟经过0.25度,每秒钟经过0.004度,所以有了时差就能算出经度。比方说他看到当地时间是8点,格林尼治时间是11点,时差为180分钟,拿180分钟除以4,就是当地的经度:东经45度。
  从经济成本上讲,上述方法并不可取,因为一块可以精确显示格林尼治时间的钟表是很贵的,所以精明的理科生又想到了一个替代方案:他用每小时两元的价格租了一台装有Linux系统的电脑,用相应的时间函数分别调出格林尼治时间和当地时间,一样算出了经度值。事实上理科生是个编程高手,即使没有Linux系统,他也能用C语言或者别的语言调出格林尼治时间,而且费时很短,才两分钟就搞定了。鉴于他租电脑时交了两块钱,可用一小时,所以还剩下58分钟可以用。他不想让这些时间白白浪费掉,所以又编写了一个堪称完美的小程序,该程序的功能就是自动调取时间、自动计算时差,进而自动计算经度值。
  在最后一分钟,理科生把这个小程序用自己的账户传到了网上,试图让大家有偿下载,这时候他忽然看到了Google Earth,忍不住仰天长叹:“早知道直接上网查一下就能知道精确方位,我还费什么事啊!”
  其实去查Google Earth也是理科生的思维,如果换成文科生,直接找个人问问路就行啦。


作者: 蓝色太阳    时间: 2015-5-10 14:06
处在不同的位置,思考方式不同
作者: tream    时间: 2015-5-10 14:29
固化思维啊
作者: 横看成岭侧成锋    时间: 2015-5-10 15:00
直接看结果,可怕




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2