2018第一期 Unit7

网友投稿 2018-04-26 16:14

此次课程,我们着重针对已学习的内容,进行实战练习,并进一步让学员了解流程图,了解scratch的程序与Python程序的对应,从而对编程有一个更深刻的认识。

一.概念理解


1.流程图

   流程图的符号参考如下:

https://cdn.china-scratch.com/timg/180428/1614393122-0.jpg

以斐波那契数列数列的程序流程图和scratch程序对应如下:

https://cdn.china-scratch.com/timg/180428/1614394N9-1.jpg

程序与流程图完全对应起来了。

2.scratch程序与对应的Python程序

高斯定理:1+2+3+4+5+.....+100。

Python程序                                          Scratch程序

https://cdn.china-scratch.com/timg/180428/16143961J-2.jpg            https://cdn.china-scratch.com/timg/180428/1614391506-3.jpg

从比对可以看出,在编程的时候,无论使用何种编程工具,表达的都是你的思想和方法。所以,在拿到一个编程题目时,首先需要去思考,把你的思想和方法想清楚,然后再通过程序来表达出来并实现。

二、课堂练习

1.1000以内被7整除的数的个数输出

常规程序如下:

https://cdn.china-scratch.com/timg/180428/1614393127-4.jpg

以上程序可以准确的输出正确的结果,但是仔细研究之后发现,这里执行循环共1000次,那么有没有更快的方法呢?计算次数直接决定了程序的效率,有没有效率更高的算法呢?

通过观察,会发现,被7整除的一定都是7的倍数,那么我们只需找出1000以内7的倍数不就好了吗?我们也不需要从1开始算,直接从7开始计算。

来看看我们优化的程序:

https://cdn.china-scratch.com/timg/180428/161440MI-5.jpg

通过计算可知,这个程序只需142次循环即可,是不是运算效率更高?

大家可以想想有没有更优化的方法?

2.蜘蛛网的其他画法

课堂上并未讲解,这里以小余同学的方法来给大家分享一下:

(先画六边形,然后,画三条线)

https://cdn.china-scratch.com/timg/180428/161440M38-6.jpg

这个程序有点复杂,小朋友下去可以自己实现一下,看看为什么要这样。

三.课后思考


思考一下:给一组10大小不等的自然数排序,要怎么排?编程的思路是什么?

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com