请编写 Java 程序,运用西门子802c循环程序知识(使用 for 语句),在屏幕上打印出如下图形?

此系统是一个简单的图书馆管理系统,上面有图书馆管理相关的一些操作,比如增删该查,图书借阅证办理等操作

古往今来,人们对于星空有着独特的喜爱。遥看那漫天的星斗,像黑夜里眨动的眼睛,又像一颗颗光闪闪、亮晶晶的夜明珠,更像在无边海洋上闪动着的点点银光,无不令人神往。

在这节课上,我们将自己动手,绘制一颗颗小星星,并使其在行空板屏幕上随机飘动,模拟一个动态的浩瀚星空。

在屏幕上绘制一颗颗小星星并使其飘动。

2、学习使用turtle库绘制星星的方法

3、学习使用turtle库使星星随机出现并飘动的方法

软件使用:Mind+编程软件x1

turtle库,又称海龟绘图库,它是Python语言中一个很流行的绘制图像的函数库。它的原理是利用画笔移动的路径来生成图形。我们可以借助turtle库来实现在屏幕上绘制图形,如矩形、圆、五角星等。

以屏幕中间为原点(0,0),形成四象限的坐标体系。

是以海龟的视角的坐标体系,分为四个方向。

画布(Canvas),我们可以理解为一张白纸,在上面能画出不同形状、颜色、粗细的图形。海龟每次绘制的图形都是显示在一张自动生成的画布上的。画布的默认大小为(400,300),其中400是指长度的像素值,300是指宽度的像素值。对于画布,我们可以设置它的大小和初始位置,也可以把画布看成一个坐标系,小海龟每次移动都是从坐标原点(0,0)出发的。

海龟绘图有三个关键要素,即方向、位置和画笔。在进行海龟绘图时,主要就是控制这些要素来绘出我们想要的图形。

其中,方向主要用于控制海龟的移动方向。位置主要用于控制海龟移动的距离。而画笔主要承担画图工具的作用。在海龟绘图中,通过画笔可以控制线条的粗细、颜色和运动的速度等。

3、turtle库屏幕控制的常见函数

turtle库中关于屏幕控制的函数有很多,我们只使用其中的一部分,编程时,通过“import turtle”导入库后可采用“turtle.函数名()”的形式来实现功能。Tips :这里的函数都来自于TurtleScreen类中的方法。

(1)setup()函数设置绘图窗口(画布)的大小和位置

通过setup()函数我们可为当前的窗口屏幕设置大小和位置,设定的参数为整数时,单位为像素,不输入参数则表示默认。

其中,240和320分别指的是窗口的宽度和高度,与行空板的屏幕分辨率相同。

(2)bgpic()函数设置屏幕的背景图片

通过bgpic()函数我们可为当前的窗口屏幕设置背景图片。

其中,“123.png”指的是具体的背景图,为了使显示效果更加,我们可调整其尺寸大小与屏幕一致。

(3)tracer()函数设置动画的打开或关闭

通过tracer()函数我们可自行设定绘图动画的打开或关闭。当我们想将图形一次性绘好,而不显示绘制过程,则可选择关闭动画。

其中,“True”和“False”分别指的是绘图轨迹动画的打开和关闭。

(4)delay()函数设置绘图延迟

通过delay()函数我们可为当前的窗口屏幕设置绘图延迟,单位为毫秒。绘制延迟越长,绘图动画越慢,设为0可以避免卡顿。

其中,“0”指的是画布上绘图延迟的具体时间。

4、turtle库画笔运动的常见函数

turtle库中关于画笔运动的函数有很多,我们只使用其中的一部分,在编程时,可采用“turtle.函数名()”的形式来实现功能。Tips :这里的函数都来自于Turtle类中的方法。

(1)forward()函数控制画笔向前移动指定距离

通过forward()函数我们可使画笔向前移动,继而绘制出线条。

其中,“100”指的是具体的像素值,可通过改变像素值来改变线条的长度。同样地,我们也可以通过“backward()”函数来使画笔向后移动来绘制线条。

(2)left()函数控制画笔向左转动指定角度

画笔的初始朝向为向右,我们可通过left()函数来改变画笔的朝向。

其中,“90”指的是具体的角度值,可通过改变角度值来改变朝向方位。同样地,我们也可以通过“right()”函数来使画笔向右转动。

(3)goto()函数控制画笔移动到指定坐标位

其中,“110”指的是所要移动到的位置的横坐标,“120”指的是相应的纵坐标,可通过改变横纵坐标来改变移动到的位置。同样地,我们也可以通过“set(x)”和“set(y)”两个函数来单独设置海龟画笔的横纵坐标。

(4)speed()函数设置画笔移动的速度

画笔的移动速度,可通过0-10范围内的整数值来进行设定。

从 1 到 10 的速度使线条绘制和转弯的动画速度越来越快。速度 = 0 表示不发生动画。前进/后退时呈现跳跃的效果,左右转时呈现立即转身的效果。

(5)clone()函数克隆画笔对象

在生成一个画笔对象后,我们可通过clone()函数实现对该对象的克隆。

这里,我们手动创建了一个形状为海龟的画笔对象,之后通过clone()函数对其进行克隆操作,并存储到变量star中。

Tips:turtle库中的画笔对象默认是存在的,且为海龟形状,当我们需要额外生成一些画笔并设定其形状时,可通过实例化Turtle类的方式实现,如上。

5、turtle库画笔控制的常见函数

turtle库中关于画笔控制的函数有很多,我们只使用其中的一部分,在编程时,可采用“turtle.函数名()”的形式来实现功能。

通过shape()函数我们可使画笔显示成各种不同的形状,如海龟状(turtle)、圆形(circle)、箭头状(arrow)等,这些是turtle库形状列表中自带的,当然,我们也可通过自己手动绘制的方式将图形存入形状列表继而显示出来。

其中,“turtle”指的是具体的海龟形状,可通过改变引号内的参数来改变实际的形状。

Tips:我们可通过“getshape()”函数来获取turtle库形状列表中所有的形状。

通过register_shape()函数我们可注册形状,将非自带的图形添加到形状列表中。

其中,“tt”指的是要添加到列表中形状的名称,“shape”指的是具体要添加的形状。

要想将绘制的图形作为一个形状存储到形状列表中,我们需要记录所绘制图形的顶点。编程时,我们需在开始绘制图形前通过“begin_poly()”函数来启动顶点的记录,之后在绘制完成后通过“end_poly()”来结束记录,最后,再通过“get_poly()”函数来返回获取记录的图形。

这里,我们通过“begin_poly()”、“end_poly()”、“get_poly()”三个函数实现了对于所绘制的五角星的顶点的记录,并将这个五角星保存为基础形状,存储到了形状列表中。

shape()函数可使画笔显示各种不同的形状,而当我们不想见到它时,我们可通过“hideturtle()”函数使其隐藏。

同样地,我们也可通过“showturtle()”函数使画笔再显现出来。

penup()函数可使画笔抬起,从而在移动时不绘制图形。

同样地,如果我们需要在画笔移动时绘制图形,可通过“pendown()”来使画笔落下。

移动画笔绘图时默认的颜色为黑,pencolor()函数可设置画笔的颜色,继而改变所绘制图形的颜色。

其中,“red”指的是具体的颜色,这里的颜色同样可以通过RGB值、十六进制值、固定值三种不同的方式来表示。

pencolor()函数只能设置画笔的颜色,而要想对于所绘制图形增加填充色,我们需要先通过“fillcolor()”函数设置好要填充的颜色,之后再在开始绘制图形前通过“begin_fill()”函数来启动填充,最后在绘制完成后通过“end_fill()”函数来结束填充。

这里,我们通过“fillcolor()”、“begin_fill()”、“end_fill()”三个函数实现了对绘制的五角星进行红色的填充。

(8)xcor()、ycor()函数检测获取画笔的横纵坐标

对于画笔当前的坐标位置,我们可通过“xcor()”、“ycor()”函数来进行检测。

其中,“x”和“y”分别是两个变量,用来存储检测到的画笔当前的横纵坐标位。

(9)done()函数结束绘图并保持窗口

在图形绘制完成后,我们可通过done()函数来结束绘图,并且保持绘图窗口。

这里,done()函数的使用必须是海龟图形程序的最后一句。

将通过turtle库绘制的一颗星星显示在屏幕上。

通过USB连接线将行空板连接到计算机

STEP1:创建与保存项目文件

启动Mind+,另存项目并命名为“004、模拟星空”。

创建一个Python程序文件“main1.py”,双击打开。

在项目文件夹中导入背景图。(图片与程序文件同在项目文件夹中)(图片下载链接见附录1)

(1) 导入所需功能库

在这个任务中,我们需要使用turtle库来绘制星星,因此,我们须先导入它。

为了能使行空板的屏幕与绘图时的画布保持大小一致,我们需要手动创建一块固定尺寸的画布作为绘图窗口,并在其中导入一张背景图,再设置好绘画延迟。

turtle.delay(8) # 设置绘画延迟(以毫秒为单位),绘制延迟越长,动画越慢

(3) 创建画笔并设置绘图参数

之后,我们创建一个海龟画笔,并将它隐藏,使其在绘图时不显示,再设置好它的移动速度、画笔颜色、填充颜色等几个绘图相关参数。

接下来,我们就可以随心所欲得绘制星星了,具体步骤如下。

Tips:完整示例程序如下:

turtle.delay(8) # 设置绘画延迟(以毫秒为单位),绘制延迟越长,动画越慢,设为0避免卡顿

STEP1:远程连接行空板

STEP2:点击右上方的运行按钮

观察行空板,首先可以看到一幅浩渺无边的银河背景图,之后,一颗白色的五角星渐渐显示在屏幕中间。

在成功绘制出一颗星星后,我们将借助这种方法,快速地在屏幕任意位置上重复绘制多颗星星。

STEP1:创建与保存项目文件

新建一个Python程序文件“main2.py”,双击打开。

这里,由于将使星星随机出现,因此,我们需要额外导入random随机数库。

这里,我们通过创建星星类再实例化的方式来在随机位置上先后绘制多颗星星以呈现星星随机出现的效果。整理上,我们先设定画笔的基本属性,之后绘制单颗星星,最后重复同样的过程10次实现星空的绘制。因此,在构造方法中,我们先设定海龟画笔,使其处于隐藏状态,并且移动速度最快,之后调用后续绘制星空的实例方法来实现需求。

之后,我们创建一个实例方法,来绘制单颗星星,具体过程如下。

接着,我们再通过创建实例方法来绘制十颗星星并使其随机出现在屏幕上,具体过程如下。

(6)实例化Star类,并结束绘图

最后,我们通过实例化Star类,来创建一个完整的星空。

Tips:完整示例程序如下:

STEP1:远程连接行空板

STEP2:运行程序并观察效果

点击运行后,观察行空板,可以看到一颗颗小星星随机出现在屏幕上。

任务描述3:模拟动态星空

接下来,我们将使星星随机出现在屏幕的上方,之后缓缓飘落下来,模拟一个动态的星空。

STEP1:创建与保存项目文件

新建一个Python程序文件“main3.py”,双击打开。

(3)绘制星星并记录其轮廓

在上个任务中,我们在屏幕上快速绘制了10颗星星,而在这里,我们要想使星星们随机飘动起来,就必须将他们视作一个个独立的对象,因此我们需要将绘制完成的星星轮廓记录下来,以便之后再将其作为星星形状添加到turtle库默认的形状列表中,继而使星星以画笔对象的形式呈现出来。

(4)获取记录的星星轮廓并将其添加到形状列表中

接下来,我们就可以随心所欲得绘制星星了,具体步骤如下。

之后,我们就可以将星星形状作为一个画笔对象调用出来。

(6)克隆星星并使其随机出现在屏幕上方

紧接着,我们克隆50颗星星画笔对象,并使其随机出现在屏幕上方。

(7)模拟星空,使星星随机飘落

最后,我们使其缓缓飘落。

Tips:完整示例程序如下:

STEP1:远程连接行空板

STEP2:运行程序并观察效果

点击运行后,观察行空板,可以发现在等待几秒后,一颗颗白色的小星星就从屏幕上方随机落下,与银河交相辉映。

尝试改变星星的形状、大小、数量与颜色,看一看变化后的3D星空效果如何吧!
想学习更多行空板Python系列入门教程请关注“蘑菇云创造”。


推荐于 · TA获得超过1825个赞

呵呵,你知道阶乘的,他其实就是这样的,比如1/24就可以写成(1/2)*(1/12)这样吧,a=a*(1/i)就可以理解成这样子,第一个是1,第二个就是1*(1/2)结果就是0.5下来呢,就是0.5*(1/3)这个呢就等于是(1/2)*(1/3)也就等于是1/3的阶剩了呀,你说对不,一直循坏到结果,这样理解了吧. 在不理解可以问我,我在线.


· 说的都是干货,快来关注

  • a用于存储前n个阶乘分之一 

  • //递归做法:效率不高,判断影响性能  


· 各种简单家常小菜儿,简单方便又美味

下载百度知道APP,抢鲜体验

使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。

我要回帖

更多关于 西门子802c循环程序 的文章

 

随机推荐