少儿编程150讲轻松学Scratch(十二)-Scratch编程算法练习-选择排序
前言
利用Scratch编程,我们可以轻松解决许多数学问题,还能省去繁杂的步骤,即使是没有学到这部分知识的孩子,只要理解了Scratch的算法和核心,就能对后面要学到的数学知识有个提早的认知。
题目
使用Scratch编写程序,对列表中的10个数利用选择排序法排序。
简单选择排序的基本思想:第1趟,在待排序记录r[1]r[n]中选出更小的记录,将它与r[1]交换;第2趟,在待排序记录r[2]r[n]中选出更小的记录,将它与r[2]交换;以此类推,第i趟在待排序记录r[i]~r[n]中选出更小的记录,将它与r[i]交换,使有序序列不断增长直到全部排序完毕。
以下为简单选择排序的存储状态,其中大括号内为无序区,大括号外为有序序列:
初始序列举例:{49 27 65 97 76 12 38}
第1趟:12与49交换:12{27 65 97 76 49 38}
第2趟:27不动 :12 27{65 97 76 49 38}
第3趟:65与38交换:12 27 38{97 76 49 65}
第4趟:97与49交换:12 27 38 49{76 97 65}
第5趟:76与65交换:12 27 38 49 65{97 76}
第6趟:97与76交换:12 27 38 49 65 76 97 完成
数据交换位置的一般方法:假设我们要交换A\B两个瓶子中的水,首先要把A瓶子里的水倒出来放入其它容器里C里,然后再把B瓶子里的水倒入到A瓶里,然后把其它容器C里的水倒回B瓶子里,这样就完成了交换,程序也是如此。例如:替换第1项与第3项,将第1项存入临时变量,然后把第1项替换为第3项,再将第3项替换为临时变量。
Scratch程序如图:
少儿编程150讲轻松学Scratch(十二)-Scratch编程算法练习-选择排序相关推荐
- 少儿编程150讲轻松学Scratch(十二)-用Scratch制作石头剪子布游戏
前言 Scratch融合卡通.动画.音效等多媒体的运用和直观拖拽式的编程方式,生动有趣,可以编写各种类型程序,游戏.动画.互动美术.实物模拟.数学模拟等,想象无限.同时蕴含丰富知识,体现现代编程思想, ...
- 少儿编程150讲轻松学Scratch(十)-用scratch编程实现寻找素数
前言 Scratch中包含了很多有趣的数学知识,有些孩子可能一开始对数学没兴趣,但看到Scratch中有趣的界面和设置之后,反而对于数学知识能有进一步认识.今天要给大家讲解的是判断素数. 题目:找出1 ...
- 少儿编程150讲轻松学Scratch(八)-如何设计经典游戏打砖块
前言 打砖块游戏很多人都玩过,没玩过的孩子可以自己设计一个这样的游戏来动手尝试一下.打砖块游戏其实比较简单,用Scratch就能来实现,这也是少儿编程课程中的经典游戏案例之一.具体该如何使用Scrat ...
- 少儿编程150讲轻松学Scratch(十一)-用Scratch巧解数学题——判定质数
前言 质数和合数是数学中的两个基本概念,两位数以内的质数和合数还比较好区分,位数一多,很多人就不太好判断了,但如果借用工具的话,这个问题就比较容易得到解答了.通过Scratch编程,短短几行代码,我们 ...
- 少儿编程150讲轻松学Scratch(六)-少儿编程命名规则
前言 少儿编程命名也是很重要的哦,小朋友们代码里面的命名有没有做好呢?有的宝宝可能要会有疑问,老师老师,我给里面的东西怎么命名又不影响程序功能,为什么起个名字也要在意呢? 无论是代码前期搭建的工作,还 ...
- 少儿编程150讲轻松学Scratch(七)-Scratch学习中需要注意的地方
前言 通常Scratch学习流程是,先掌握程序相关模块,并且了解各个模块的功能使用,然后通过项目的编写和练习,不断精进孩子的Scratch技术.那么Scratch学习中有那些需要注意的地方呢? 在所有 ...
- 少儿编程150讲轻松学Scratch(三)-关卡类游戏《鱼塘》
前言 今天用Scratch实现一个多关卡类的小游戏<鱼塘>.这个游戏很简单(游戏场景见下图),但是需要使用大量的变量.定义函数.发布接受消息等内容.对于初学者来说还是有一定的挑战性的.好, ...
- 少儿编程150讲轻松学Scratch(二)-制作过马路小游戏
前言 今天为大家带来一款小游戏的制作教程,只要跟着步骤做,就能轻松地制作出属于自己的过马路小游戏. 家长们可以用此教程指导孩子逐步完成,然后一起测试和游玩,再一起探究每处代码的逻辑意义. 教程 教程如 ...
- 少儿编程150讲轻松学Scratch(十一)-用Scratch算法给矩形工具填充颜色
如何利用Scratch算法给矩形工具填充颜色? 题目描述:已知矩形的大小为n×m,现用a×a的正方形填充该矩形.输入三个正整数n,m,a(n,m,a≤10^3),计算至多能填入多少正方形?(正方形可以 ...
最新文章
- ksql中定义的本体在dataModel中不存在
- 复制本地文件完整路径
- Android系统中的进程管理:进程的优先级
- mkyaffs2image编译
- 清除element残留表单校验
- apachemod_wsgidjango部署多个项目
- CISCO发现协议(CDP)理论与实验
- MySQL特有的SQL语句 第一弹
- Face3D学习笔记(3)3DMM示例源码解析【上】准备工作
- html 日期区间选择器,element日期范围选择器
- 【python】80行代码实现压缩包密码破解软件,支持zip和rar
- 数领科技|做工业设计可能会用到哪些软件?
- directadmin php.ini 修改,DirectAdmin 更改服务器IP
- 日本显示屏公司的尴尬:夏普被收购 JDI也岌岌可危
- OMPL官方教程学习State Validity Checking
- C语言生成n个随机坐标,c语言如何生成随机数 怎样用c语言生成n个随机数?
- 计算机计算性能,计算机计算能力的关键特点
- 一日一技:用Python绘画有多好玩
- 计算机原理形考3,计算机组成原理A形考作业3参考解答
- 【图解】九张图带你读懂大数据医疗
热门文章
- 光端机使用与日常保养
- 光端机怎样使用?光端机怎么和交换机连接?
- a类网络被谁用了_谁说学考没有用?浙江三位一体报名要求,需要几A几B都在这里...
- 计算机网络发展第二阶段 兴起于,计算机辅助开始于计算机发展第几阶段
- mysql 深胡_Mysql胡说八道
- 信号扫描_科研必备“武器”之扫描电子显微镜
- 前端开始学java_[Java教程]开启前端学习之路
- linux抓包提示没有权限,linux下wireshark不用sudo权限抓包包
- 输入法问题_「图」KB4515384再爆新问题:OOBE时中文输入法阻止创建本地账户
- 无载波幅度和相位调制(CAP)与QAM调制的详细解析(可见光通信应用场景),以及CAP matlab程序下载链接