(共20张PPT)
第一课:小海龟画正三角形
(八年级下册)
一、认识small basic
mall Basic 与编程
计算机编程被定义为使用编程语言创建计算机软件的过程。就像我们可以说并且理解英语,西班牙语或者法语,计算机能理解用特定语言写成的程序。这些特定语言被称为编程语言。最初,只有很少几种编程语言,并且它们都非常容易学习和理解。但是随着计算机和软件变得越来越精深,编程语言发展很快,并且随之汇集了更复杂的概念。从而造成现代大部分编程语言以及相关的概念对于初学者掌握起来而言颇具挑战性。这一事实已经开始阻碍人们学习或尝试计算机编程。
Small Basic 是一门针对初学者设计的使编程变得非常容易,亲切,有趣的编程语言。Small Basic 的目的 在于消除障碍,充当通往令人惊奇的计算机编程世界的踏脚石。
让我们从对 Small Basic 环境的一个快速介绍开始。当你第一次运行 SmallBasic.exe(补充:带后缀名为exe的为可执行文件),你会看到一个如下图所示的窗口。
图 1 - Small Basic 环境
编辑器
工具栏
表面
这就是 Small Basic 环境,我们将在这里编写和执行我们的 Small Basic 程序。这个环境有几个截然不同的部分。图中已经用数字标出。
编辑器,即标记为[1]的部分,我们将用来写我们的 Small Basic 程序。当你打开一个示例程序或者一个先前保存过的程序,它将显示在这个编辑器里。这样你就可以对其进行更改并且保存以备后用。
你也可以同时打开和工作在多个程序上。每个打开的程序将被显示在单独的编辑器里。包含你当前正工作在上面的程序的编辑器被称为活动编辑器。
工具栏,即标记为[2]的部分,是被用来向活动编辑器或环境发布命令的。随着我们的进展,我们将学到工具栏中各种各样的命令。
表面,即标记为[3]的部分,用来放置所有编辑器窗口。
二、对象和它的操作
我们编写第一个程序:
既然你已经熟悉了 Small Basic 环境,我们将进而在里面开始编程。正如我们刚刚在上面提到的,编辑器是我们写程序的地方。所以,让我们先在编辑器里输入下面这行。
Turtle.Move(100)
这是我们的第一个 Small Basic 程序。如果你输入正确,你应该看到与下图相似的结果。
图 2 – 第一个程序
既然我们已经输入了我们的新程序,让我们来运行它看看会发生什么。我们可以通过点击工具栏上的运行按钮或者使用键盘上的F5快捷键来运行我们的程序。如果一切顺利,我们的程序将运行并得到如下图所示的结果。
图3:“Graphics window”窗口画图
输出结果
我们编写第二个程序:
通过执行上面的第一个小程序,发生了什么变化?也就是跟电脑对了话,让电脑完成小海龟向前移动100步的操作任务。那么接下来继续跟电脑对话,要求小海龟画完一个正三角形,那么应该编写什么程序呢?
1.正三角形的外角是120度,三个内角每个都是60度;所以小海龟要转弯120。
龟
图4:小海龟操作方向图
2.所以小海龟画正三角形的程序如下:
Turtle.move(100) 表示:__________________
Turtle.turn(120) 表示: __________________
Turtle.move(100) 表示:___________________
Turtle.turn(120) 表示:___________________
Turtle.move(100) 表示:__________________
Turtle.turn(120) 表示:___________________
接下来运行一下此命令,看看是结果是否画了一个正三角形?
3. 在small basic里正确输入如下程序:
4. 单击“运行”按键执行命令,结果显示如下:
显示结果,表明小海龟就在“Graphies Window”窗口画了一个正三角形,于是我们完成了第二个非常 简单的small basic程序。
图 5 – 第二个程序
图 6 –输出结果
恭喜!你已经编写并运行了两个 Small Basic 程序。都 是非常简单的小程序,然而却是通向成为一个真正计算机程序员的一大步!现在,在继续创建更大的程序之前,还有一个细节需要了解。我们必须要了解刚刚发生了什么——我们到底告诉了计算机什么并且计算机是如何知道要做什么的?接下来,我们将分析我们刚刚写的程序,从而对其进行理解。
5. 解读我们的两个程序
什么是真正的计算机程序
一个程序是一组计算机指令。这些指令准确地告诉计算机做什么,并且计算机总是遵循这些指令。就像人们一样,计算机只能遵循用它们能明白的语言指定的指令。这些语言被称为编程语言。有非常多的语言计算机能明白,Small Basic 是其中之一。
假象你和你的朋友之间有个会话。你和你的朋友用词语组成句子来彼此传递信息。相似地,编程语言包含词语的集合用来组成句子来将信息传递给计算机。程序基本上是多组语句(有时很少,有时多达数千)一起用同样的方式 让程序员和计算机彼此明白。
Small Basic 程序
一个典型的 Small Basic 程序由一组语句组成。 程序的每一行代表一条语句。每条语句是给计算机的一条指令。当我们让计算机执行一个 Small Basic 程序时,它取过程序并从第一个语句读起。它明白我们说的是什么,并且执行我们的指令。一旦执行完第一条语句,它回到程序继续读取并执行第二行。如此继续下去直到程序的结尾。至此,我们的程序执行完毕。
回到我们的第一个程序
这是我们写的第一个程序:
Turtle.Move(100)
这是一个非常简单的只包含一条语句的程序。这条语句告诉计算机让小第龟向前移动100步。
回到我们的第二个程序:
Turtle.move(100) 表示:向前移动100步
Turtle.turn(120) 表示: 向右转弯120度
Turtle.move(100) 表示 向前移动100步
Turtle.turn(120) 表示:向右转弯120度
Turtle.move(100) 表示:向前移动100步
Turtle.turn(120) 表示:向右转弯120度
你可能已经注意到这些语句可以依次分解成更小的片断,就像句子可以分解成词语一样。在第一条语句中,我们有三个清楚的片段:
a) Turtle
b) Move
c) 100
点号,圆括号和引号都是必须被放到语句中恰当位置的标点符号,从而使计算机能够明白我们的意图。
从上面可以看出turtle是一个小物体,是一个被动的对象,在small basickh ,我们要编程控制或操作的东西都是“对象”;如小海龟“turtle”就是一个对象。每个对象都有自己的“操作”,上面的move就是turtle的一个操作,每个操作后面都带 一个圆括号“()”,括号中间写上该操作所带的参数. (P3)
6. 书写命令格式:“对象”与它的“操作”之间用实心圆点“.”连接 P3
对象 . 操作(参数)
对象
操作
对数
当我们画完了第一个三角形后自然会提出新的要求:
能不能在窗口的任意位置画三角形?
小海龟能不能“爬”快点?
第一个问题,要求任意位置,就是小海龟所在的坐标不同,那怎么改变海龟的坐标?
第二个问题,实际上是改变小海龟的“爬”行的速度,那怎么改变“爬”的速度?
之前说小海龟是一个对象,那么它的“向前移动” “向右转弯”等动作就是小海龟的操作,那么“坐标” “速度”就是小海龟的属性。
●打比方:“人”看作是一个对象,则“站立” “坐下”等动作就是“人”操 作,而“姓名” “性别” “身高”等就是“人”的属性。
那么,操作表示为“人.站立()” “人.坐下()” 属性表示为“人.性别” “人.身高”
三、对象的属性
对象操作表示:“对象.操作()”
对象属性表示:“对象.属性”
比较
在small basic中用下面的方法来表示对象的属性:
属性 含义
turtle.speed 小海龟的速度
turtle.x 小海龟的x速度
turtle.y 小海龟的y坐标
对象的属性表示方式如下:
Turtle.x=150 含义:将小海龟的X坐标设置为150
Turtle.y=100 含义:将小海龟的Y坐标设置为100
Turtle.Angle=90 含义:将小海龟的方向设置为与垂直方向成90度
Turtle.Speed=10 含义: 将小海龟的速度设置为10
3. 接下来现在编写一个设定某个坐标,设定某个方向起步画的正三角形的程序:
Turtle.x=100
Turtle.y=100
Turtle.Angle=90
Turtle.Speed=10
Turtle.Move(100)
Turtle.Turn(120)
Turtle.Move(100)
Turtle.Turn(120)
Turtle.Move(100)
Turtle.Turn(120)
●运行上面的程序看看小海龟移动的速度、方向有什么改变?
图 7–输出结果
●运行程序结果,你发现了什么
小海龟的速度明显加快
小海龟的起步位置也改变
小海龟的起步方向也改变
●观察画图窗口“Graphics window”的坐标标记方法与我们数学中通常所用的方法有什么不同?
对比
图 8–坐标记法对比
★小技巧:P6
1. small basic的对象名和属性、操作的名称都是用英文来表示的,根据英文的意思就可以猜出该属性或操作的含义。
2. Intellisense (智能感知):small basic会智能感知我们要书写的对象、属性或操作,并在窗口的右边显示相应的说明,按回车键确认就可以完成输入。
图 9–输出结果
四、练习与作业:
1)编写一个让小海龟向前移动150步,再转右走 50步的小程序。
2)编写一个让小海龟画完一个正四边形的小程序。
3)编写一个让小海龟画完一个正六边形的小程序。
五、小结:
1)什么是对象?什么是对象的操作?
什么是对象的参数?什么是对象的属性?
2)书写方法:
对象的操作表示:“对象.操作(参数)”
对象的属性表示:“对象.属性”