Discuss Scratch

sakura_neko
Scratcher
90 posts

Scratchスクリプトクイズ

#2880 なるほど…そうするとさらに1ブロック削れるのは目から鱗でした、正解です!!!
(追記:#2883による指摘で、一部の入力に対し正しい値を返さないようです)

一応想定解答はこれです、99で割ったあまりを使うところまでは同じですね!
こういうコードゴルフっぽいのはまた出題したいと思います。

Last edited by sakura_neko (April 13, 2024 10:56:57)

abee
Scratcher
1000+ posts

Scratchスクリプトクイズ

#2880
たとえば、aが1のとき、returnが-8になります。
attoma-ku
Scratcher
50 posts

Scratchスクリプトクイズ

#2878
「移動スピードは固定」の意味がわからないですが、このプロジェクトの「半径」というスプライトに入っているものでよいでしょうか? n の値を極端に大きくすれば円を描画できるはずです。
また、このプロジェクトにおいて
x座標を () 、y座標を () にする
は図形の座標を決めるためだけに使っているので、なくても座標以外の部分は正常に機能します。
taNup0n
Scratcher
500+ posts

Scratchスクリプトクイズ

#2878
はいみなさんせいかいです!
#2881
その誤差はこんかいは許容するモノとします。

私の最初期にやってみたかったことが今できるようになったので問題にしてみました!
honnkon
Scratcher
62 posts

Scratchスクリプトクイズ

横から失礼します。
問題
変数xが、変数yとの差がa以下であるかを返すプログラムを作ってください。
例:
<<(x)<((y)-(a))>または<(x)>((y)+(a))>>ではない
ただし、使用可能なものは演算ブロックのみ(変数のx,y,aは除く)とし、上のプログラム以下のブロック数で作ってください。

ブロック数の数え方は、変数x,y,aを除いて考えます。
上の例では6ブロックとします。

想定解は4ブロックです。

Last edited by honnkon (April 13, 2024 10:50:16)

jjhs3213
Scratcher
29 posts

Scratchスクリプトクイズ

#2865をちょっと変えた問題を出題します。

変数 a があり、0または1のみからなる14文字以下の文字列が入っています。aに含まれる1の個数を変数 return に入れるプログラムを作ってください。
ただし、変数または演算ブロックのみを使用可能とします。繰り返しブロックや定義、リストなどを使用することはできません。

「旗が押された」ブロックのような実行開始ブロックをカウントしない場合、想定解答は4ブロックです。
taNup0n
Scratcher
500+ posts

Scratchスクリプトクイズ

#2886
<([絶対値 v] \( ((x) - (y)) \)) < (a)>
でしょうか、、?
honnkon
Scratcher
62 posts

Scratchスクリプトクイズ

#2888
「例」から分かるように、差がちょうどaとなる場合も含める必要があります。

想定解を間違えていたので修正します。
sakura_neko
Scratcher
90 posts

Scratchスクリプトクイズ

#2883 あ….プログラムの1行目でreturnに入る値が1桁になる場合を見落としてました、僕の確認不足ですね。

#2887 これで4ブロックでどうでしょう。
jjhs3213
Scratcher
29 posts

Scratchスクリプトクイズ

#2890
正解です!
tsmcoder
Scratcher
500+ posts

Scratchスクリプトクイズ

問題です。

↓下のブロックは実在しません
((10) の階乗::operators) // 3628800
上のような、自然数nの階乗を求めるプログラムを作成してください。

想定回答は10ブロックです。(このぐらいならブロックプラグインでもいいと思います。)

Last edited by tsmcoder (April 14, 2024 06:52:44)

tsmcoder
Scratcher
500+ posts

Scratchスクリプトクイズ

#2886
まだ問題が1問出ていた…
(変数を除いて)4ブロックです。これでどうでしょうか。
<<(a) < (((x) - (y))の[絶対値 v]::operators)> ではない>
abee
Scratcher
1000+ posts

Scratchスクリプトクイズ

#2885
想定解をお願いします。
honnkon
Scratcher
62 posts

Scratchスクリプトクイズ

#2893
想定解通りです。

#2892
[return v] を (1)にする
[i v]を(1)にする
(n) 回繰り返す
[return v] を ((return)*(i))にする
[i v]を(1)ずつ変える
end
9ブロックです

あと、#2866を繰り返します。

abee wrote:

一般論として、出題の仕様を満たしていればクイズとしては正解だと思います。
正解かつブロック数が最も少ない回答をどう呼ぶかについて、ベストあたりがよいかもしれません。
今回の場合、自分(@tsmcoderさん)の想定解が間違いとなるかもしれません。
ちゃんと確認して間違えるのはごめんなさい

Last edited by honnkon (April 14, 2024 08:22:38)

tsmcoder
Scratcher
500+ posts

Scratchスクリプトクイズ

#2895
正解です。
(指摘をうけて問題文を修正しました)

私の想定解は、「5!」を「5*4*3*2*1」と計算した覚えがあったので、nから1ずつ引きながら計算している以下のプログラムです。
[return v] を (1)にする
[index v]を(n)にする
(n) 回繰り返す
[return v] を ((return)*(index))にする
[index v]を(-1)ずつ変える
end
あと、「tmscoder」ではなく、「tsmcoder」です。。
abee
Scratcher
1000+ posts

Scratchスクリプトクイズ

#2892
ブロック数はさておき、階乗は再帰を使ったプログラムの例としてよく取り上げられます。
今回は引数が自然数ということなので、0の場合は考慮していません。

クイズでは測りにくいですが、プログラムには「わかりやすさ(可読性)」、「美しさ」という要素もあります。
taNup0n
Scratcher
500+ posts

Scratchスクリプトクイズ

#2873
一応、以下想定解です
https://scratch.mit.edu/projects/999989989/
abee
Scratcher
1000+ posts

Scratchスクリプトクイズ

お願いしたいのは、それではなく、#2878の想定解です。
taNup0n
Scratcher
500+ posts

Scratchスクリプトクイズ

#2899
https://scratch.mit.edu/projects/1000392484/
がそっくりそのまま想定解です。
abee
Scratcher
1000+ posts

Scratchスクリプトクイズ

#2900
式や小数の位、変数名なども含めて全く同じですか。もし、そうでないなら、示してもらうようにお願いします。

Last edited by abee (April 17, 2024 00:22:36)

Powered by DjangoBB