Scratch 再帰処理課題1
2023.05.17
Scratch 再帰処理課題1
課題内容
入力した自然数から、階乗を計算して出力
階乗の公式
$$ n! = n \times (n-1) \times (n-2) \times \cdots \times 2 \times 1 $$
解答
解答を表示する
スプライト1
追加①追加②
@greenFlagが押されたとき
[自然数を入力してください。]と聞いて待つ
[x v]を(答え)にする
[階乗 v]を(1)にする
階乗(x)::custom
([階乗:]と(階乗))と(2)秒言う
定義 階乗(x)
もし<(x)>(0)>なら
[階乗 v]を((階乗)*(x))にする
階乗((x)-(1))
end
解説
解説を表示する
スプライト1
追加①追加②
@greenFlagが押されたとき
緑の旗が押されたとき、スクリプトを開始する
[自然数を入力してください。]と聞いて待つ
[x v]を(答え)にする
キーボードから入力した数値を変数「x」に格納する
[階乗 v]を(1)にする
変数の初期設定
階乗(x)::custom
定義「階乗」を実行する
([階乗:]と(階乗))と(2)秒言う
スプライトの上に変数「階乗」のふきだしを表示する
定義 階乗(x)
定義「階乗」が呼び出されたとき、スクリプトを開始する
もし<(x::custom)>(0)>なら
end
引数「x」が0になるまで再帰を実行する
[階乗 v]を((階乗)*(x::custom))にする
引数「x」掛けて、変数「階乗」に格納する
階乗((x::custom)-(1))::custom
引数「x」を減らして定義「階乗」を実行する
サンプル
sb3ダウンロード