- 2
- 0
- 约1.02万字
- 约 15页
- 2023-09-25 发布于上海
- 举报
《超级画板》 第八篇 算法编程
在新课程标准中,算法已被列为高中数学的必修内容。学习算法,最好能有编程的实践。
动手编写程序,在计算机上运行自己的程序,你对算法的理解就会更深刻. 看到计算机执行你的计划,快速准确地给出问题的解答,你会有一种成就感. 编程和运行程序,需要一个环境。计算机和适当的软件,能提供这中环境。在本书第一篇中说过,《超级画板》的免费下载版就提供了这种环境.
如第一篇第五节中第(四)小节所述,打开超级画板,在左方工作区下部单击“程序” 按钮,进入程序工作区.
在程序工作区可以作数值计算、符号计算,并能实现课程标准中要求的算法语句和有关的程序实例。在前面的章节中,已经有一些简略的介绍,这里将提供更详细的说明和更多的实例。
— 赋值语句和定义函数
在第三篇《代数运算》中,已经对“赋值语句和定义函数”作了简略的介绍。接下来我们将进行更详细,更深入的学习。
在第三篇《代数运算》中,已经对“赋值语句和定义函数”作了简略的介绍。接下来我们将进行更详细,更深入的学习。
《超级画板》允许把文本命令函数的运行结果赋值给变量。这时,变量的值就是该命令所创造的对象的编号。例如,下列语句作出一个初始位置为(3,2)的自由点 Z:
x=Point(3,2,Z);
执行后返回
6 #
这表明点Z 的编号为 6,并且变量x 被赋值为 6。键入x 执行看看:
x;
6 #
说明确有x=6。执行下面的语句把点Z 和原点O 连成线段,并把线段的编号赋值给变量a:
a=Segment(x,1,);
7 #
执行下面的命令测量OZ 的斜率:
MeasureSlope(a);
m000 #
执行下面的命令,以Z 为心过O 作圆,并把圆的编号赋值给变量b:
b=Circle(x, 1, );
9 #
测量圆面积时就可以用变量b 代表圆了:
MeasureAreaOfCircle(b);
m001 #
上面几个语句的执行情形保存为文件“8-1 把对象编号赋值给变量.zjz”,如图 8-1。
图 8-1
在使用文本函数生成对象时,同时用赋值语句把对象的编号赋于变量,可以方便后续语句中的使用,比直接用编号的数字要好。一方面因为,对象的编号依赖于当前已有的对象的数目,执行程序时要一个一个检验,否则会出错。另一方面,读程序的时候很难判断一个数字代表哪个对象。用变量代表对象,不但程序容易看明白,执行时与当前已有的对象数目无关,不会因对象编号的出入而搞错。
为了程序看来更明白,可以把对象的名字作为被赋于编号的变量名,如下例。
例 1 已知平面上两个点A、B, 其距离小于 2,用一个只能画半径为 1 的圆的圆规,画出第三个点C,使得三角形ABC 为正三角形.编写程序实现此作图。
解 作图步骤为
分别以A、B 为圆心作圆,在两圆交点中取一点P;
以P 为圆心作圆,与两圆分别交于不同于A、B 的点D、E; (3)分别以D、E 为圆心作圆,,交于不同于P 的点C.
(4) 连接线段AB、BC、CA。则三角形ABC 为正三角形.
调用超级画板的作图函数,写出程序如下:
A=Point(1,0,A);
B=Point(2.6,0,B);
c1=CircleOfRadius(A,1,c1); c2=CircleOfRadius(B,1,c2); P=IntersectionOfCircle(c1,c2 , 1, P); c3=CircleOfRadius(P,1,c3); D=IntersectionOfCircle(c1,c3 , 1, D); E=IntersectionOfCircle(c2,c3 , 2,E ); c4=CircleOfRadius(D,1,c4); c5=CircleOfRadius(E,1,c5); C=IntersectionOfCircle(c4,c5, 1, C); Segment(A,B,);
Segment(A,C,);
Segment(C,B,);
作圆时圆的名字常被放在圆心附近。如果希望把圆的名字放在圆周附近,可先执行菜单
命令“查看|显示选中对象的把手”,再用鼠标把名子拖到所要的位置。
上述命令运行的情形保存为文件“8-2 用单位圆规作正三角形.zjz”,如图 8-2。
图 8-2
[习题 8-1] 写出计算圆台表面积的函数程序并运行实例。
[习题 8-2] 写出画三角形的外接圆和内切圆的程序并运行。
二 条件语句
在超级画板提供的编程环境中,条件语句的一般格式是:
if (A) {B} else {C}
这里A 是条件,B 是A 成立时要执行的一些语句,C 是A 不成立时要执行的一些语句. 在花括弧内的 B 和 C,也可以是条件语句.
比起一般的伪代码,超级画板提供的编程环境省略了(A) 和 {B} 之间的“the
原创力文档

文档评论(0)