Scratch 奇偶転置ソート課題3

Scratch ぐうてんだい

だいないよう

ぐうてんもちいてしょうじゅんなら

かいとう

かいとうひょうする

はいけい

へんこうへんこうへんこう
定義 変数初期化

↓↓↓↓↓

定義 変数初期化
[状態 v]を[未整列]にする
[天秤左場所 v]を(0)にする
[天秤右場所 v]を(0)にする
定義 奇偶転置ソート

↓↓↓↓↓

定義 奇偶転置ソート
ずっと
[交換回数 v]を(0)にする
バブルソート([リスト v]の長さ::list)[奇偶]::custom
バブルソート(([リスト v]の長さ::list)-(1))[偶奇]::custom
もし<(交換回数)=(0)>なら
[このスクリプトを止める v]
end
end
定義 バブルソート(開始場所)(組)

↓↓↓↓↓

定義 バブルソート(開始場所)(組)
[選択場所 v]を(開始場所)にする
[組 v]を(組::custom)にする
<(選択場所)<(2)>まで繰り返す
[天秤左場所 v]を((選択場所)-(1))にする
[天秤左値 v]を([リスト v]の(天秤左場所)番目)にする
[天秤右場所 v]を(選択場所)にする
[天秤右値 v]を([リスト v]の(天秤右場所)番目)にする
もし<(天秤左値)>(天秤右値)>なら
[リスト v]の(天秤左場所)番目を(天秤右値)で置き換える
[リスト v]の(天秤右場所)番目を(天秤左値)で置き換える
[交換回数 v]を(1)ずつ変える
end
[選択場所 v]を(-2)ずつ変える
end

かいせつ

かいせつひょうする

はいけい

へんこうへんこうへんこう
定義 変数初期化

ていへんすうしょ」がされたとき、かいする

[状態 v]を[未整列]にする
[天秤左場所 v]を(0)にする
[天秤右場所 v]を(0)にする

へんすうしょせってい

定義 奇偶転置ソート

ていぐうてん」がされたとき、かいする

[交換回数 v]を(0)にする
バブルソート([リスト v]の長さ::list)[奇偶]::custom
バブルソート(([リスト v]の長さ::list)-(1))[偶奇]::custom

こうかんかいすうして、ようぐうぐうする

ずっと
もし<(交換回数)=(0)>なら
[このスクリプトを止める v]
end
end

こうかんかいすうが0になるまでかえ

定義 バブルソート(開始場所)(組)

てい」がされたとき、かいする

[選択場所 v]を(開始場所::custom)にする
[組 v]を(組::custom)にする

へんすうせんたくしょ」・「くみ」をかくのうする

<(選択場所)<(2)>まで繰り返す
end

へんすうせんたくしょ」がじょうたんまでかえ

[天秤左場所 v]を((選択場所)-(1))にする
[天秤左値 v]を([リスト v]の(天秤左場所)番目)にする
[天秤右場所 v]を(選択場所)にする
[天秤右値 v]を([リスト v]の(天秤右場所)番目)にする

てんびんはかしょあたいへんすうてんびんひだりしょ」・「てんびんひだりあたい」・「てんびんみぎしょ」・「てんびんみぎあたい」にかくのうする

もし<(天秤左値)>(天秤右値)>なら
[リスト v]の(天秤左場所)番目を(天秤右値)で置き換える
[リスト v]の(天秤右場所)番目を(天秤左値)で置き換える
[交換回数 v]を(1)ずつ変える
end

てんびんひだりほうおおきいあいの「てんびんひだりしょばんと「てんびんみぎしょばんあたいえ、こうかんかいすうする

[選択場所 v]を(-2)ずつ変える

へんすうせんたくしょ」をつぎにする

sb3