Discuss Scratch

dj-YakoChite
Scratcher
100+ posts

Scratchスクリプトクイズ

こういうことですかね.
@greenflag がクリックされたとき
ずっと
もし <<[240] < ([絶対値 v] \( (x座標) \))::operators> または <[180] < ([絶対値 v] \( (y座標) \))::operators>> なら
隠す
でなければ
表示する
end
end

newmomizi_txtさんからのご指摘から数字を変えました.

Last edited by dj-YakoChite (Dec. 4, 2023 15:22:28)

Leonhard01
Scratcher
100+ posts

Scratchスクリプトクイズ

少し難しめの問題を出します。
パスカルの三角形の右からn番目、上からm番目を抽出するプログラムを作ってください。

パスカルの三角形とは、隣り合う数字を互いに足していくことによってできる三角形です。


例えば図の赤丸の場合、中心線を基準としてnが3、mが8の時7が出力されます。橙丸の場合は真ん中の赤線が通っている部分を0としてnが-1、mが7の時に15が出力されます。

・条件について
使っていけないブロックはありません
定義 パスカルの三角形:右から(n)番目 上から(m)番目を出力する
というような(nとmの値を入力できる形にある)定義ブロックに続けてプログラムを作ってください。
n、mによって出力される値が存在しない場合は適当なエラーメッセージ ex)false,0等 を出力してください。
完成したプログラムのブロック数が多い場合は動作確認のためプロジェクトにして下さると有難いです。

考え方によって沢山の解法があると思います。
ユニークな解答お待ちしております。
暫くしたら自分の解答も投稿します。
newmomizi_txt
Scratcher
1000+ posts

Scratchスクリプトクイズ

#2743
一応解けたと思います。
https://scratch.mit.edu/projects/934924637/
問題文中の入力例に対し、出力例と同じ出力をすることは確認済みです。
(エラー処理はないため、異常値を入力されると答えがおかしくなります)

Last edited by newmomizi_txt (Dec. 4, 2023 14:57:39)

MA4756wx
Scratcher
100+ posts

Scratchスクリプトクイズ

ずっと

もし <<((x座標) - <[端 v] に触れた>) > [193]> または < <((x座標) - <[端 v] に触れた>) > [-193]>>> なら
隠す


でなければ
表示する
end
ですか?

Last edited by MA4756wx (Dec. 5, 2023 05:46:51)

rakko-samezuki
Scratcher
56 posts

Scratchスクリプトクイズ

#2742
正解です。
#2745
そっちの方が楽なんですけどね..
inoking
Scratcher
1000+ posts

Scratchスクリプトクイズ

rakko-samezuki wrote:

#2742
正解です。
#2745
そっちの方が楽なんですけどね..
以下の話が解決していないのに正解が出せるはずがありません。

abee wrote:

#2740
「スプライトが画面の端についた」の定義がないと解けないと思います。
「端に少しでもかすったら」ではないということですよね。
dj-YakoChite
Scratcher
100+ posts

Scratchスクリプトクイズ

rakko-samezuki wrote:

<[端 v] に触れた>
はスプライトが大きいとき、端に少しでもかすったら隠されてしまいます。
コスチュームエディタで大きな透明の円を置いたら解決しますね。
これで十分推測できると思うのですが...

Last edited by dj-YakoChite (Dec. 5, 2023 03:34:17)

inoking
Scratcher
1000+ posts

Scratchスクリプトクイズ

dj-YakoChite wrote:

rakko-samezuki wrote:

<[端 v] に触れた>
はスプライトが大きいとき、端に少しでもかすったら隠されてしまいます。
コスチュームエディタで大きな透明の円を置いたら解決しますね。
これで十分推測できると思うのですが...
推測できません。

#2742 では座標値がキャンバス内にあるかを見ていますが、それはスプライトの位置を見ていることになります。
「スプライトが画面の端についた」の定義が「スプライトの座標が画面の端についた」であったらならそれで正しいですが
座標値で判断する場合、例えばコスチュームの中心が見た目上の中心から大きくずれている場合、直感とは異なる動きとなります。

「端につく」とは、一般的には見た目上端につくこと、つまり「端に触れた」を意味します。
そうでない以上、ここでの意味を定義する必要があります。
00giri
Scratcher
1000+ posts

Scratchスクリプトクイズ

>> #2743
再帰で実装してみました。
定義 パスカルの三角形:右から(n)番目 上から(m)番目を出力する
[memo v] の全てを削除する::list
再帰 ((((m) / (2)) の [切り上げ v]::operators) + (n)) (m) (1)::custom
定義 再帰 (n) (m) (cnt)
もし <<<(n) = [1]> または <(m) = [1]>> または <(n) = (m)>> なら
[return v] を [1] にする
でなければ
[] を [memo v] に追加する
再帰 (n) ((m) - [1]) ((cnt) + [1])::custom
[memo v] の (cnt) 番目を (return) で置き換える::list
再帰 ((n) - [1]) ((m) - [1]) ((cnt) + [1])::custom
[return v] を ([memo v] の (cnt) 番目::list) ずつ変える
[memo v] の [last] 番目を削除する::list
end
MA4756wx
Scratcher
100+ posts

Scratchスクリプトクイズ

次の問題出して下さい!
abee
Scratcher
1000+ posts

Scratchスクリプトクイズ

#2739に自分で書いたことを思い出してください。
このトピックは2カ月以上新しい投稿がないこともあります。

Last edited by abee (Dec. 6, 2023 06:23:02)

kouhei-1
Scratcher
1000+ posts

Scratchスクリプトクイズ

#2722 (投稿者: @ito-noizi) をリミックス:

@greenflag がクリックされたとき
[nをplz] と聞いて待つ
[ゼロパディングした値] と言う

inputした数の小数第三位までをゼロパディングしてください。やべ… した/された を間違えた。

example:

2567 → 2567.000

402.78 → 402.780

3.14 → 3.140

#2722 と同じように「ゼロパディングした値」の中のみに追加したブロックを置いてください。また、小数点以上の桁はゼロパディングしないでください。小数第三位より下の桁に数字がある場合は丸めてください。






実用性:

(2000年からの日数)
による擬似タイマーのゼロパディングに使える。多分。

Last edited by kouhei-1 (Dec. 6, 2023 07:19:16)

xiangyeng
Scratcher
100+ posts

Scratchスクリプトクイズ

問題です。
(() + ())
を使わずに、以下の続きにスクリプトをつけたして、足し算が出来るようなスクリプトにしてください。
定義 (足される数)+(足す数)を求める
(想定解は何個もありますので、もうこの問題が答えられていても、頭をひねって考えてみてください!)

Last edited by xiangyeng (Dec. 6, 2023 07:06:08)

tomato-0809
Scratcher
100+ posts

Scratchスクリプトクイズ

xiangyeng wrote:

問題です。
(() + ())
を使わずに、以下の続きにスクリプトをつけたして、足し算が出来るようなスクリプトにしてください。
定義 (足される数)+(足す数)を求める
(想定解は何個もありますので、もうこの問題が答えられていても、頭をひねって考えてみてください!)
定義 (足される数)+(足す数)を求める
[return v] を ((足される数) - ((0) - (足す数))) にする
でしょうか。
newmomizi_txt
Scratcher
1000+ posts

Scratchスクリプトクイズ

#2754
定義 (足される数)+(足す数)を求める
[答え v] を ((足される数) - ((-1) * (足す数))) にする
MA4756wx
Scratcher
100+ posts

Scratchスクリプトクイズ

xiangyeng wrote:

問題です。
(() + ())
を使わずに、以下の続きにスクリプトをつけたして、足し算が出来るようなスクリプトにしてください。
定義 (足される数)+(足す数)を求める
(想定解は何個もありますので、もうこの問題が答えられていても、頭をひねって考えてみてください!)
定義 (足される数)+(足す数)を求める
[return v] を (足される数) にする
[return v] を (足す数) ずつ変える
xiangyeng
Scratcher
100+ posts

Scratchスクリプトクイズ

tomato-0809さんの解答(#2755)への返信:
正解です!が、想定外でした…。でも、それでも出来ますね!
newmomizi_txtさんの解答(#2756)への返信:
正解です!が、想定外でした…。最初見た時「-1*足す数」が分かりませんでしたが、よく考えてみれば分かりました…。
Ma4756wxさんの解答(#2757)への返信:
正解です!想定解がそれでした!
まだ想定解はあります!解答を考えてみてください!
kouryou118103
Scratcher
1000+ posts

Scratchスクリプトクイズ


定義 (足される数)+(足す数)を求める
タイマーをリセット
(足される数) 秒待つ
(足す数) 秒待つ
[答え v] を ((タイマー) を四捨五入) にする
自然数と0しか計算できないし、誤差がありそう。
まあユニークな発想として…

Last edited by kouryou118103 (Dec. 6, 2023 08:50:40)

xiangyeng
Scratcher
100+ posts

Scratchスクリプトクイズ

#2759
正解です!が、想定外でした…。でも、確かに誤差がありそうですね…。
まだ想定解はあります!解答を考えてみてください!

Last edited by xiangyeng (Dec. 6, 2023 09:52:56)

sasami19
Scratcher
58 posts

Scratchスクリプトクイズ

#2754
スプライトを用意して、無限個のコスチュームを用意します()
定義 (足される数)+(足す数)を求める
コスチュームを (足される数)にする
(足す数) 回繰り返す
次のコスチュームにする
end
[答え v] を (コスチューム #) にする
まあ無限個のコスチュームは作れませんし、負の数・少数はできません。現実的にはせいぜい二桁の計算が関の山です。 12/7 指摘を受け修正

Last edited by sasami19 (Dec. 7, 2023 06:02:26)

Powered by DjangoBB