【YYeTs人人影视】《斯坦福大学开放课程:编程方法》讲义#_第1页
【YYeTs人人影视】《斯坦福大学开放课程:编程方法》讲义#_第2页
【YYeTs人人影视】《斯坦福大学开放课程:编程方法》讲义#_第3页
【YYeTs人人影视】《斯坦福大学开放课程:编程方法》讲义#_第4页
【YYeTs人人影视】《斯坦福大学开放课程:编程方法》讲义#_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、MehranSahamiCS106A斯坦福大学开放课程:编程方法讲义#6使用Eclipse编写卡雷尔程序人人影视斯坦福大学开放课程:编程方法专译组奶昔译如果你已经按照讲义#5的步骤下载了Eclipse开发环境,接下来你需要知道的就是如何利用Eclipse编写卡雷尔程序。虽然用Eclipse建立新工程并不困难,但为了简化过程,我们提供了工程框架。因此,你无需了解建立新工程的选项细节,只需专注于完成作业习题。如何下载工程框架在着手完成卡雷尔作业之前,你需要先下载工程框架。访问CS106A的Assignment页面(登录CS106A课程网站,点击Assignment链接)。你会看到如下表格。点击As

2、signment1.zip链接,浏览器会下载本习题的工程框架。请确保计算机上装有可以解压ZIP文件的解压软件。解压后,你会得到一个名为Assignment1的工程文件夹。将工程导入工作区至此,你需要启动Eclipse软件(具体方法讲义#5中已详述)。在工具栏上找到这个图标:这是ImportProject(导入工程)按钮,会自动将工程目录复制到工作区内以便使用。点|斯坦福大学开放课程:编程方法专译组1击这个按钮,并选择Browse(浏览),找到之前解压的Assignment1文件夹。Eclipse会自动载入工程框架,并在PackageExplorer中显示工程名,如下:点击文件夹名前的小三角可以

3、展开第一层目录:JRESystemLibrary这项(或者后面的版本不是1.4.2)。庆幸的是,我们终于看到了卡雷尔的影子。defaultpackage中存放着你需要编写的代码文件。点击前面的小三角显示如下:展开的是每道习题的代码文件。双击即可打开。如双击CollectNewspaperKarel,你会看到右上方的编辑区显示如下:|斯坦福大学开放课程:编程方法专译组2注:刚开始,文件开头的注释部分可能不会显示。可以点击注释行旁边的"+"展开。如你所料,我们提供的工程框架并不是完整的程序,只有每个类的开头部分。具体的程序段需由你自己完成。如果你看过作业讲义,应该知道这道习题要

4、求让卡雷尔机器人到门外拿报纸,界面如下:假设你开始编程,创建了一个名为run的方法:右侧的小虫是为了告诉大家这段代码并不能正确运行,但看看效果也无妨。每保存一次,Eclipse都会自行编译,并报告代码存在的错误。在这里,保存之后右侧两个窗口会显示如下信息:|斯坦福大学开放课程:编程方法专译组3Problem窗口中显示了错误信息,并在编辑框中用做了标注。这里错误信息一目了然,在标注行的最后少加一个分号(;)。此类错误叫syntaxerror(语法错误),因为你的代码不符合Java的语法规范。语法错误很容易发现,因为Eclipse会自动检查。现在我们在错误行后补上分号,并再次保存。这次Proble

5、m窗口显示如下:虽然错误的描述信息并没有显示完整,但是错误的原因显而易见。卡雷尔类只能识别turnLeft指令,无法识别turnRight指令。解决这个问题的办法有两个,你可以创建一个turnRight指令,或者把类第一行改为CollectNewspaperKarelextendsSuperKarel。这个问题解决之后,程序即能通过编译。然而这段程序并未完成,虽然程序可以运行,卡雷尔也能捡起报纸,但他不能回到初始位置,代码也没有体现题中要求的分解思想。在Eclipse中运行卡雷尔程序在Eclipse中运行程序需要使用工具栏上这两个按钮:点击左边的小人,Eclipse会在工作区内搜索所有可运行的

6、程序,并询问想要运行哪个。由于习题1中的4个程序在同一个工作区内,点击这个按钮会生成一个列表,显示四个由卡雷尔类名命名的按钮。点击右边"更快"的小人,Eclipse会直接运行你上次运行的程序。选择CollectNewspaperKarel,Eclipse会运行卡雷尔模拟器,几秒钟后会出现这个窗口:(启动程序)按钮,卡雷尔就会按照run方法中你编写的指令逐条运点击StartProgramProgram(启动程序)行。|斯坦福大学开放课程:编程方法专译组4在这里,运行出错了。卡雷尔走出窗户,试图离开房间拣报纸,可最后差了一步,没走到报纸所在的位置。当它试图执行pickBeepe

7、r指令的时候,没有报纸可捡。于是,卡雷尔停止运行并弹出错误对话框:此类错误叫做逻辑错误,虽然语法正确,符合标准,但程序并不能解决问题。与语法错误不同的是,编译器一般不会提示程序中的逻辑错误。你写的程序完全合法,却不能实现预期目标。调试程序“开始编程之后,我们惊讶的发现,让程序正确运行并非想象中那么简单。因此有了调试。我很清楚的记得,生活很大部分时间都花在找自己程序的错误上。”莫里斯·威尔克斯写于1979年大多数情况下,你写的程序并不会按照预期运行,相反的,你可能会得到一些奇怪的结果。一般来说,程序会完全按照你设计的步骤运行。因此,错误的原因在于你设计的步骤不正确。程序不能得到正确结果

8、是因为设计存在逻辑错误,我们称之为BUG(错误),而改正错误的过程叫做DEBUG(调试)调试是一种技巧,熟能生巧。首先需要知道调试程序的重要法则:在调试的过程中,理解程序运行过程比寻找错误本身重要的多。很多人遇到程序问题之后,会再看一遍题目,并试图找出程序不能正确运行的原因。这种方法可能会帮你顺利解决问题,但却会让你忽视真正的问题所在。永远都不会发现错误出在哪。调试程序的时候,尝试不同的方法往往更加有效。先别管程序应该如何运行,先考虑到底哪里存在问题。这个过程其实很简单,因为Eclipse中提供了很多工具帮助你跟踪程序运行的过程。因此,你很容易找出问题所在,我们会在几周后讲授这些内容。|斯坦福

9、大学开放课程:编程方法专译组5创建新世界你可能很想知道如何创建新的世界。这是卡雷尔控制面板上的三个按钮:点击LoadWorld(载入世界)按钮会弹出选择世界对话框。点击NewWorld(新建世界)按钮可以创建新世界,还可以自定义世界大小。点击EditWorld(编辑世界)按钮可以改变当前世界的相关设置。点击EditWorld按钮之后,控制面板上会出现如下工具菜单:这个菜单提供了创建新世界所需的所有工具。这个工具:可以用来增减墙壁,黑框表示当前已选中DrawWall(增加墙壁)工具。此时,点击任意"空地"即可创建墙壁。如果想移除墙壁,选中EraseWall(清除墙壁)工具,再点击需要移除的墙壁即可。五个方块工具:可以用来改变任何地方的方块放置。选中相应工具,点击"空地"就可以改变其方块个数。如果选择一个工具并点击背包图案,即可改变卡雷尔背包里的方块数。如果想改变

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论