少儿编程150讲轻松学Scratch(十二)-Scratch编程算法练习-选择排序
前言
利用Scratch編程,我們可以輕松解決許多數(shù)學(xué)問(wèn)題,還能省去繁雜的步驟,即使是沒(méi)有學(xué)到這部分知識(shí)的孩子,只要理解了Scratch的算法和核心,就能對(duì)后面要學(xué)到的數(shù)學(xué)知識(shí)有個(gè)提早的認(rèn)知。
題目
使用Scratch編寫程序,對(duì)列表中的10個(gè)數(shù)利用選擇排序法排序。
簡(jiǎn)單選擇排序的基本思想:第1趟,在待排序記錄r[1]r[n]中選出更小的記錄,將它與r[1]交換;第2趟,在待排序記錄r[2]r[n]中選出更小的記錄,將它與r[2]交換;以此類推,第i趟在待排序記錄r[i]~r[n]中選出更小的記錄,將它與r[i]交換,使有序序列不斷增長(zhǎng)直到全部排序完畢。
以下為簡(jiǎn)單選擇排序的存儲(chǔ)狀態(tài),其中大括號(hào)內(nèi)為無(wú)序區(qū),大括號(hào)外為有序序列:
初始序列舉例:{49 27 65 97 76 12 38}
第1趟:12與49交換:12{27 65 97 76 49 38}
第2趟:27不動(dòng) :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 完成
數(shù)據(jù)交換位置的一般方法:假設(shè)我們要交換A\B兩個(gè)瓶子中的水,首先要把A瓶子里的水倒出來(lái)放入其它容器里C里,然后再把B瓶子里的水倒入到A瓶里,然后把其它容器C里的水倒回B瓶子里,這樣就完成了交換,程序也是如此。例如:替換第1項(xiàng)與第3項(xiàng),將第1項(xiàng)存入臨時(shí)變量,然后把第1項(xiàng)替換為第3項(xiàng),再將第3項(xiàng)替換為臨時(shí)變量。
Scratch程序如圖:
總結(jié)
以上是生活随笔為你收集整理的少儿编程150讲轻松学Scratch(十二)-Scratch编程算法练习-选择排序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 少儿编程150讲轻松学Scratch(十
- 下一篇: 少儿编程100讲轻松学python(一)