Scratch 再帰処理課題12

Scratch 再さい帰き処しょ理り課か題だい12

課か題だい内ない容よう

ヒひルるベべルるトと曲きょく線せんを描びょう画が

※描びょう画がに時じ間かんがかかるためタたーーボぼモもーードどの利り用よう推すい奨しょう

解かい答とう

解かい答とうを表ひょう示じする

スすプぷラらイいトと1

追つい加か①追つい加か②追つい加か③
@greenFlagが押されたとき
x座標を(0)、y座標を(0)にする
(90)度に向ける
全部消す
[再帰回数を入力してください。]と聞いて待つ
[回数 v]を(答え)にする
[長さ v]を((330)/((((再起回数)*((2)の[log v]::operators))の[10 ^ v]::operators)-(1)))にする
[描画開始x座標 v]を(-165)にする
[描画開始y座標 v]を(-165)にする
x座標を(描画開始x座標)、y座標を(描画開始y座標)にする
ヒルベルト曲線(回数)(長さ)(1)::custom
定義 ヒルベルト曲線(回数)(長さ)(符号)
もし<(回数::custom)>(0)>なら
↻((90)*(符号))度回す
ヒルベルト曲線((回数)-(1))(長さ)((符号)*(-1))
直線描画(長さ)::custom
↺((90)*(符号))度回す
ヒルベルト曲線((回数)-(1))(長さ)(符号)
直線描画(長さ)::custom
ヒルベルト曲線((回数)-(1))(長さ)(符号)
↺((90)*(符号))度回す
直線描画(長さ)::custom
ヒルベルト曲線((回数)-(1))(長さ)((符号)*(-1))
↻((90)*(符号))度回す
end
定義 直線描画(長さ)
ペンを下ろす
(長さ::custom)歩動かす
ペンを上げる

解かい説せつ

解かい説せつを表ひょう示じする

スすプぷラらイいトと1

追つい加か①追つい加か②追つい加か③
@greenFlagが押されたとき

緑みどりの旗はたが押おされたとき、スすクくリりプぷトとを開かい始しする

x座標を(0)、y座標を(0)にする
(90)度に向ける

スすプぷラらイいトとを、原げん点てんに移い動どうして、右みぎに向むける

全部消す

白はく紙し状じょう態たいにする

[再帰回数を入力してください。]と聞いて待つ
[回数 v]を(答え)にする

キきーーボぼーードどから入にゅう力りょくした数すう値ちを変へん数すう「回かい数すう」に格かく納のうする

[長さ v]を((330)/((((再起回数)*((2)の[log v]::operators))の[10 ^ v]::operators)-(1)))にする
[描画開始x座標 v]を(-165)にする
[描画開始y座標 v]を(-165)にする

変へん数すうの初しょ期き設せっ定てい

x座標を(描画開始x座標)、y座標を(描画開始y座標)にする
ヒルベルト曲線(回数)(長さ)(1)::custom

描びょう画がを開かい始し位い置ちに移い動どうして定てい義ぎ「ヒひルるベべルるトと曲きょく線せん」を実じっ行こうする

定義 ヒルベルト曲線(回数)(長さ)(符号)

定てい義ぎ「ヒひルるベべルるトと曲きょく線せん」が呼よび出だされたとき、スすクくリりプぷトとを開かい始しする

もし<(回数::custom)>(0)>なら
end

引ひき数すう「回かい数すう」が0になるまで再さい帰きを実じっ行こうする

↻((90)*(符号))度回す
ヒルベルト曲線((回数)-(1))(長さ)((符号)*(-1))::custom
直線描画(長さ)::custom
↺((90)*(符号))度回す
ヒルベルト曲線((回数)-(1))(長さ)(符号)::custom
直線描画(長さ)::custom
ヒルベルト曲線((回数)-(1))(長さ)(符号)::custom
↺((90)*(符号))度回す
直線描画(長さ)::custom
ヒルベルト曲線((回数)-(1))(長さ)((符号)*(-1))::custom
↻((90)*(符号))度回す

方ほう向こう転てん換かん、直ちょく線せん描びょう画がを凵の字じになるように配はい置ちし、引ひき数すう「回かい数すう」を減へらして定てい義ぎ「ヒひルるベべルるトと曲きょく線せん」を実じっ行こうさせる

定義 直線描画(長さ)

定てい義ぎ「直ちょく線せん描びょう画が」が呼よび出だされたとき、スすクくリりプぷトとを開かい始しする

ペンを下ろす
(長さ::custom)歩動かす
ペンを上げる

直ちょく線せんを描びょう画が

サさンんプぷルる

sb3ダだウうンんロろーードど