中文一二三区_九九在线中文字幕无码_国产一二区av_38激情网_欧美一区=区三区_亚洲高清免费观看在线视频

首頁 > 教案下載 > 數學教案 > 高中數學教案 > 高二數學教案 > 算法與程序設計——選擇排序

算法與程序設計——選擇排序

算法與程序設計——選擇排序

[小組討論]選擇排序的實質是每次把一堆數據中的最小數移到某個位置,那么這樣的操作在規模為n的數組中會做多少次?

——n-1次,因為經過n-1次操作已經確定了第1到n-1個位置的次序,第n個位置也自然可以確定。

[小組討論]找出數組中的最小數用什么策略?

[復習鞏固]可以借助一個自定義的integer型變量min,用它記錄最小的一個數據的下標。

首先,不管實際情況如何,我們先假設數組中第1個元素為最小,于是有min=1,再把這個元素與從第2個元素開始的所有元素作比較,一旦有比d(min)更小的元素存在,則修改min變量值為新的較小元素下標。這樣,在d(min)經過了從第2個元素到最后一個元素的一一比較后,所得到min應該就是第1到n個元素中的選舉出來的最小元素下標了。

然后用類似的方法,把第2到n個元素中最小數選舉出來;把第3到n個元素中最小數選舉出來……

i←1:min←1:j←2

 

開始

j<n ?

 

d(j)<d(min) ?

min←j

 

y

y

n

………………

j=j+1

最后把每次選舉出來的結果依次輸出即可實現升序排列。

[學生完成第1遍處理過程的流程圖片斷]

[依據流程圖寫出代碼]

dim min as integer

dim j as integer

min=1

for j=2 to n

   if d(j)<d(min) then  min=j

next j

[小組討論]

在遍歷了一遍后如果發現第1-n個數中的最小數d(min),根據選擇排序的思想,需要把它與第1個數字進行交換。如何進行?

[請同學發言]打個比方,在廚房里有一瓶醬油、一瓶醋和一個空瓶,如何利用這個空瓶實現醬油與醋?

——可先把醬油倒到空瓶中,再把醋倒到原來裝醬油的瓶中,然后從原來的空瓶中把醬油倒到原來裝醋現在已經空的瓶中,即可實現換位。

[教師]大家動動腦筋,用這種思想,試試把d(1)與d(min)換位,并寫出相應的代碼。

dim temp as integer

temp = d(i):d(i)=d(min):d(min)=temp    ’關鍵在于引入“空瓶”變量temp

[思考]是不是每遍歷一遍后必須做這樣的一次交換?

——不是必須的,只有當確實發現有比d(1)小的數后才交換

[教師]那怎么知道有沒有發現比d(1)更小的數呢?

i←1:min←1:j←2

開始

j<n ?

d(j)<d(min) ?

min←j

y

n

n

………………

min<>1 ?

temp = d(1)

d(1)=d(min)

d(min)=temp

 

y

j=j+1

——其實在遍歷之前我們已經假設第1個元素最小,即min=1,所以在遍歷一遍后我們只需要驗證一下min=1是否還成立。成立則表明沒有比第1個元素小的數,不成立則表明有比第1個元素小的數,且它的下標為min,此時要交換d(1)與d(min)。

[學生完善流程圖及代碼]

if min <> 1 then

  temp = d(1):d(1)=d(min):d(min)=temp

end if

[教師]我們先前說過,對于規模為n的數組,需要遍歷處理次數為n-1次,以上的流程就是這n-1次中需要重復做的事,對于重復處理的事,可以用什么結構?

——循環,以上的比較、交換即為循環體

[教師]大家試著把這個循環結構流程圖畫出來

[學生完善流程圖及代碼]

 

開始

j<n ?

d(j)<d(min) ?

min←j

y

n

輸出排序結果

n

min<>i ?

temp = d(i)

d(i)=d(min)

d(min)=temp

 

y

i<=n-1

i←1

y

n

結束

i=i+1

j=j+1

min=i:j=i+1

for i = 1 to n-1

   min = i

   for j = i + 1 to n

3頁,當前第2123
算法與程序設計——選擇排序 相關內容:
  • 程序設計的基本方法

    一、課題: 二、教學目標:⑴ 理解算法的概念,了解描述算法的兩種方法——自然語言和流程圖,知道各自的優缺點。⑵ 初步掌握用流程圖描述算法。三、教學的重點和難點:⑴ 算法的概念。⑵ 用流程圖描述算法。...

  • 第1節 《程序與程序設計》教學設計

    第1節 《程序與程序設計》教學設計一、學習者分析對于初二的學生,經過第一冊第一章的學習,對信息技術課程的學習已經形成了習慣,熟悉常見的應用軟件和常規的教學環境,為進一步學習計算機程序設計打下了一定的基礎。...

  • 評課--《VB程序設計的基本結構》

    今天,在9中聽了張老師的課后,現在我對此次課發表一下自己的一些看法。一、我個人的觀點認為本節課是以教師講授、學生練習、以任務驅動為主的一種較為傳統的教學模式。...

  • 程序設計初步

    第三部分 QBASIC程序設計基礎第一章 軟件設計基礎知識【教學目的】【教學重點、難點】【教學過程】第一節 計算機語言語言是人類進行思想交流的工具,人與計算機之間進行交流同樣也需要“語言”——一種能被計算機識別的專用語言稱為計算機...

  • 選擇結構程序設計

    [1]教學目的:1、讓學生了解選擇結構程序2、掌握邏輯量的概念3、掌握關系表達式和邏輯表達式4、了解IF 語句[2]教學重點:選擇結構程序和關系表達及邏輯表達式[3]教學難點:選擇結構程序的掌握[4]教學方法:引入法[5]教學工具:[6]教學內容...

  • 語文教案-題目:如何提高小學生對程序設計的興趣

    本人是一名即將畢業的師范生 。在本學期初有上學期的實習學校找到我請我幫他們去培訓NOIP(全國信息技術奧林匹克競賽)培訓班。小學組培訓的是 QB(Qbasic),參加學習的(3~5年級)學生,他們對QB都一無所知, 同時思維也有所差異。...

  • 信息技術 - 選擇結構程序設計(精選2篇)

    [1]教學目的:1、讓學生了解選擇結構程序2、掌握邏輯量的概念3、掌握關系表達式和邏輯表達式4、了解IF 語句[2]教學重點:選擇結構程序和關系表達及邏輯表達式[3]教學難點:選擇結構程序的掌握[4]教學方法:引入法[5]教學工具:[6]教學內容...

  • 一信息技術第六章“第一節程序設計的基本方法”教案設計

    一、教學目標1.理解算法的概念;2.知道兩種算法的描述方法—語言描述法和流程圖的區別3.能初步利用算法解決簡單的問題。4.培養學生的理論聯系實際能力和動手操作能力。...

  • 信息技術 - 選擇結構程序設計(一課時)

    [1]教學目的:1、讓學生了解選擇結構程序2、掌握邏輯量的概念3、掌握關系表達式和邏輯表達式4、了解IF 語句[2]教學重點:選擇結構程序和關系表達及邏輯表達式[3]教學難點:選擇結構程序的掌握[4]教學方法:引入法[5]教學工具:[6]教學內容...

  • 程序設計基礎

    教學目標:1. 了解計算機解決問題的四個階段。2. 理解“算法”的概念和算法的三種基本結構。3. 能讀懂流程圖,并能初步進行簡單的流程圖設計。...

  • 高二數學教案
主站蜘蛛池模板: 国产欧美日韩一区二区搜索 | 天天摸天天操天天舔 | 四虎WWW永久在线精品 | 国产毛茸茸毛毛多水水多 | 特级丰满少妇一级aaaa爱毛片 | 精品h视频 | 天天玩天天操天天干 | 九九视频这里有精品 | 久久久久女人精品毛片九一 | 被公牛日到了高潮 | xxxxx欧美丰满大屁股大屁股 | 私人家庭影院5777 | 亚洲av日韩av永久无码不卡 | 欧洲免费在线观看视频 | 领导边摸边吃奶边做爽在线观看 | 国产精品久久久久久久浪潮网站 | 国产精品丝袜 | 亚洲一区无码中文字幕 | 亚洲精品视频二区 | 日本孕妇高潮孕交视频 | 九色porny丨首页入口在线 | 久久亚洲精品大全 | 中国xxxx自慰xxxx | 精品婷婷色一区二区三区蜜桃 | 日本免费看片 | 无码少妇精品一区二区免费 | 曰韩无码无遮挡A级毛片 | 中国特级黄色毛片 | 夏目友人帐第7季高清免费观看 | 97日日碰曰曰摸日日澡 | 亚洲第一大网站 | 欧美在线日韩在线 | 2018毛片 | 嫩草影院www. | 一级片国产精品三级一区二区三区 | 国产精品久久久久免费视频 | 朝鲜女人大白屁股ass | 亚洲一级无毛 | 欧美中文字幕一区二区三区亚洲 | brazzershd肉感大屁股 | 国产网站在线 |