斯坦福大学开放课程:编程方法.03/第三课练习:karel 算数(将未知数量beeper变为X倍)
2011-01-28 02:20
274 查看
/*本代码是 斯坦福大学公开课《编程方法》第三课视频第18分钟, 讲解的karel将beeper变为双倍的联系。 本代码和老师的代码略有不同。 不同点在于,将双倍的beeper放在自己原来的位置, 然后在把所有beeper放回beeper原来的位置 */ import stanford.karel.*; public class OurDoubleBeepers extends SuperKarel { public void run (){ move(); let_beeper_double_side(); moveBack(); move_beeper_back(); } // 树根:走到beeper上——把beeper变成双倍并放在旁边——回到双倍beeper上 // 把双倍的beeper放回原来的地方 private void let_beeper_double_side(){ while (beepersPresent()){ pickBeeper(); moveBack(); putBeeper(); putBeeper(); move(); } } // 让karel去把beeper变双倍并放在旁边 private void move_beeper_back(){ while(beepersPresent()){ pickBeeper(); move(); putBeeper(); moveBack(); } } // 让karel把已经是双倍了的beeper放回原处 private void moveBack(){ turnAround(); move(); turnAround(); } // 退一步 }
既然可以通过这个方法机型乘数关系的运作,那么除数应该也可以,进而推倒出其他log、次方、tan/sin/cosin等。只是。。。太晚了,有些累,看看梦里会不会想出来这些运算方法的Code。从底层来说,这样运算效率好像低的可怜,稍微大一点的乘数,让karel要做N久才能完成。
相关文章推荐
- 斯坦福大学开放课程:编程方法.02/第二课练习:karel 跳墙
- 斯坦福大学开放课程——编程方法 作业1-4 (只解决奇数宽度的算法)【在中心点放置Beeper】
- 斯坦福大学开放课程——编程方法 作业1-4 (完美解决任何地图都能找到中点)【在中心点放置Beeper】
- [斯坦福开放课程.编程方法].作业.1-4.Karel将Beeper放在中间
- 斯坦福大学开放课程——编程方法 作业1-4 (附作业中文翻译及源码)【在中心点放置Beeper】
- 斯坦福大学开放课程——编程方法 作业1-2,个人实现方法。
- 2010年《斯坦福大学开放课程: 编程方法》(Open Stanford Course : Programming Methodology)[中英双语字幕][RMVB]更新中
- 斯坦福大学开放课程——编程方法 作业1-2
- 斯坦福大学开放课程——编程方法 作业2 - 6
- 斯坦福大学开放课程——编程方法 作业1-3,个人实现方法。
- 斯坦福大学开放课程——编程方法 作业1-2(附作业中文翻译及源码)【修复支撑拱门】
- 斯坦福大学开放课程《编程方法02》
- 斯坦福大学开放课程——编程方法 作业5
- 斯坦福大学开放课程——编程方法 作业7
- 斯坦福大学开放课程——编程方法 作业1-1
- 斯坦福大学开放课程——编程方法 作业1-3 (附作业中文翻译及源码)【放置黑白棋盘】
- 斯坦福大学开放课程——编程方法 1-4
- 斯坦福大学开放课程——编程方法 作业1-3
- 斯坦福大学开放课程——编程方法 作业2 - 1
- 斯坦福大学开放课程——编程方法 作业4 Part I