Scratcherなら誰でも10分で習得できる説 ↓一応読んでください↓ 使用可能: ⚑︎が押されたとき(ただの飾り) ()と聞いて待つ・答え クローン・待機を除く制御ブロック 演算ブロック 表示・隠すを除く変数・リスト 定義ブロック 括弧: ⚠すべて省略不可です ()→数・文字列等の引数 {}→真偽値の引数 []→ドロップダウンメニュー 形式: 半角スペースor改行→行の区切り 分岐・ループ処理は全角スペースによるインデントで範囲が決まります エスケープ: \(直後の1字。括弧、エスケープ、半角スペース用) "(挟んだ字。変数、リスト、定義、処理名を文字列として扱う用) 変数・リスト: 宣言不要、代入等の操作によって自動作成されます (「出力」「答え」「タイマー」のみ初期から存在) リストの長さ+変数の個数の合計は20万です (リスト20万制限のせい) 名称のところに他のブロック等は入れられません 定義: プログラムの一番下に行を開けず書く #定義名(引数){引数} 引数は複数・省略可、引数名と変数名は重複不可、 呼び出しは記号無しでok 定義を複数作ったり、再帰呼び出ししたりも可能 バグが起きた時: 構文が正しくないときはエラーが出たり、プログラムが正常に動かないことがあります まずはこの「使い方」を再確認してください バグ報告はコード自体もコメントしてください その他: 「リストの値ブロック」は半角スペースで結合したものを返します(実際のScratchでは、リストの要素がすべて文字列型1桁の場合、半角スペースが無くなる) リストの「〇番目」のところに"last","random","all"を入れることはできません
サンプルコード ①hello, World! (Hello,\ World!)を[出力]に追加する ②Fizz Buzz [作業1]を(1)にする (100)回繰り返す [作業2]を()にする もし{((作業1)を(3)で割った余り)=(0)}なら [作業2]を((作業2)と(Fizz))にする もし{((作業1)を(5)で割った余り)=(0)}なら [作業2]を((作業2)と(Buzz))にする もし{(作業2)=()}なら [作業2]を(作業1)にする (作業2)を[出力]に追加する [作業1]を(1)ずつ変える ③素数生成 (2)を[出力]に追加する [n]を(3)にする ずっと [k]を(1)にする {{([出力]の(k)番目)>((n)の[平方根])}または{((n)を([出力]の(k)番目)で割った余り)=(0)}}まで繰り返す [k]を(1)ずつ変える もし{([出力]の(k)番目)>((n)の[平方根])}なら (n)を[出力]に追加する [n]を(2)ずつ変える ④クワイン (答え)を[出力]に追加する ⑤クワイン2(答えブロック禁止) [a]を(\ \[\]を\(\)にする\ \[b\]を\(1\)にする\ \(178\)回繰り返す\ もし\{\(\\\(\\\)\\\{\\\}\\\[\\\]\\\\\\\ \)に\(\(a\)の\(b\)番目の文字\)が含まれる\}なら\ \[\]を\(\(\)と\(\\\\\)\)にする\ \[\]を\(\(\)と\(\(a\)の\(b\)番目の文字\)\)にする\ \[b\]を\(1\)ずつ変える\ \(\(\\\[a\\\]を\\\(\)と\(\(\)と\(\(\\\)にする\)と\(a\)\)\)\)を\[出力\]に追加する)にする []を()にする [b]を(1)にする (178)回繰り返す もし{(\(\)\{\}\[\]\\\ )に((a)の(b)番目の文字)が含まれる}なら []を(()と(\\))にする []を(()と((a)の(b)番目の文字))にする [b]を(1)ずつ変える ((\[a\]を\()と(()と((\)にする)と(a))))を[出力]に追加する ⑥円周率計算(ガウス=ルジャンドル) [a]を(1)にする [b]を((1)/((2)の[平方根]))にする [t]を(0.25)にする [p]を(1)にする [error]を(1)にする {(error)=(0)}まで繰り返す [a']を(((a)+(b))/(2))にする [b']を(((a)*(b))の[平方根])にする [t']を((t)-((p)*(((a)-(a'))*((a)-(a')))))にする [p']を((2)*(p))にする [error]を((a)-(a'))にする [a]を(a')にする [b]を(b')にする [t]を(t')にする [p]を(p')にする ((((a)+(b))*((a)+(b)))/((4)*(t)))を[出力]に追加する ⑦scratchの同表記異義語 (123)を[list]に追加する (a)を[list]に追加する ([list]の長さ)を[出力]に追加する ((list)の長さ)を[出力]に追加する (("list")の長さ)を[出力]に追加する {[list]に(a)が含まれる}を[出力]に追加する {(list)に(a)が含まれる}を[出力]に追加する {("list")に(a)が含まれる}を[出力]に追加する ⑧階乗 (n)と聞いて待つ Factorial(答え) (a)を[出力]に追加する #Factorial(n) もし{(n)>(0)}なら Factorial((n)-(1)) [a]を((n)*(a))にする でなければ [a]を(1)にする