Discuss Scratch

lpv_vql
Scratcher
44 posts

Scratchスクリプトクイズ

#3179
⚑ がクリックされたとき
[〈答え〉 v] を [] にする
[i v] を [0] にする
((文字列) の長さ) 回繰り返す
[i v] を (1) ずつ変える
もし <(i) = (入力1)> なら
[〈答え〉 v] を ((〈答え〉) と ((文字列)の(入力2)番目の文字) )にする
でなければ
もし <(i) = (入力2)> なら
[〈答え〉 v] を ((〈答え〉) と ((文字列)の(入力1)番目の文字) )にする
でなければ
[〈答え〉 v] を ((〈答え〉) と ((文字列)の(i)番目の文字) )にする
end
end
end
これでいけるかな、

Last edited by lpv_vql (Aug. 31, 2024 20:29:54)

kaki-kui
Scratcher
53 posts

Scratchスクリプトクイズ

少し遅れましたが#3136の回答です。ちょいごり押しです…
@greenFlag が押されたとき::events hat
[あ v] を送る
[あ v] を受け取ったとき
ペンの色を [#b14c86] にする
ペンを下ろす
[どこかの場所 v] へ行く
[あ v] を送る
これはありですかね……
''追記''
ごり押してこういう風にしていくと結構マシになります
[あ v] を受け取ったとき
ペンの色を [#b14c86] にする
ペンを下ろす
[どこかの場所 v] へ行く
[どこかの場所 v] へ行く
[どこかの場所 v] へ行く
[どこかの場所 v] へ行く
[どこかの場所 v] へ行く
[どこかの場所 v] へ行く
[あ v] を送る
''さらに追記''
すみません被ってたようです、

Last edited by kaki-kui (Sept. 1, 2024 08:13:59)

01234qwert56789yuiop
Scratcher
49 posts

Scratchスクリプトクイズ

#3181正解です
他にも解き方はあるので探してみてください
pura314
Scratcher
100+ posts

Scratchスクリプトクイズ

#3172
リスト「リスト」、変数「return」があるとして
@greenFlag がクリックされたとき
[リスト v]のすべてを削除する::list
(指定)回繰り返す
((入力)の(([リスト v] の長さ :: list)+(1))番目の文字::operators) を [リスト v] に追加する
end
[return v] を (リスト :: list) にする
で行けますかね?

Last edited by pura314 (Sept. 1, 2024 05:06:36)

01234qwert56789yuiop
Scratcher
49 posts

Scratchスクリプトクイズ

#3184
? すみません よくわかりません
なんかSiriみたいになってしまった…

Last edited by 01234qwert56789yuiop (Sept. 1, 2024 05:00:57)

pura314
Scratcher
100+ posts

Scratchスクリプトクイズ

#3184どこがわかりにくかったですか
投稿を間違えていました

Last edited by pura314 (Sept. 1, 2024 05:07:00)

sakura_neko
Scratcher
90 posts

Scratchスクリプトクイズ

#3182 既出の#3142とおなじ感じですね。正解です。
#3178でも出しましたが、想定解も見てみてください。
piro8
Scratcher
11 posts

Scratchスクリプトクイズ

遅くなってしまいました。答えてくれた皆様、正解です。

kouryou118103 wrote:

((1)-(変数))
こう書くこともできますね。
これは思いつきませんでした!2ブロックなので一番いいと思います!
ちなみに3ブロックの他の方法だと
(((変数) + (1)) を (2) で割った余り)
などを考えていました。
Leonhard01
Scratcher
100+ posts

Scratchスクリプトクイズ

与えられた3点の座標を結んで作ることのできる三角形の面積を求めるプログラムを作ってください。
座標は6つの変数にx1,y1,x2,y2,x3,y3の形で与えられているものとします。ブロック数が少ない方が望ましいです。
kntnkmr
Scratcher
100+ posts

Scratchスクリプトクイズ

三点目が原点限定でよければこちらでできると思います。
三点目ができるかも調べてみます
ブロック数の削減に励みます
ヘロンの公式

Last edited by kntnkmr (Oct. 6, 2024 07:04:57)

kaki-kui
Scratcher
53 posts

Scratchスクリプトクイズ

#3189これでどうでしょうか。少し分かりづらいのですが、「辺」というリストの5番目が面積です。
''追記''
これ内接円を描くために作った物(使い回し)なので「どこで面積を求めているのか」とかは自分で探してください

Last edited by kaki-kui (Oct. 6, 2024 06:49:08)

tsmcoder
Scratcher
500+ posts

Scratchスクリプトクイズ

#3189
こちらでどうでしょうか。
62ブロックです。
Leonhard01
Scratcher
100+ posts

Scratchスクリプトクイズ

お三方解答有り難うございます。早く解かれると思ってはいましたが早すぎますね。
#3190
ベクトルの概念を用いた三角形の面積の求め方ですね。
想定解も仕組みはこれと同じですが3点目を原点に合わすために1つめと2つめの座標3つめの座標で引いています。
#3191,#3192
ヘロンの公式を用いた導出方法ですね。計算が複雑化するのでベクトの公式と比べるとブロック数は多くなりますが良いと思います。

想定解です(17ブロック)
https://scratch.mit.edu/projects/1077422859/
kaki-kui
Scratcher
53 posts

Scratchスクリプトクイズ

Leonhard01 wrote:

お三方解答有り難うございます。早く解かれると思ってはいましたが早すぎますね。
#3190
ベクトルの概念を用いた三角形の面積の求め方ですね。
想定解も仕組みはこれと同じですが3点目を原点に合わすために1つめと2つめの座標3つめの座標で引いています。
#3191,#3192
ヘロンの公式を用いた導出方法ですね。計算が複雑化するのでベクトの公式と比べるとブロック数は多くなりますが良いと思います。

想定解です(17ブロック)
https://scratch.mit.edu/projects/1077422859/
※中を見てもらうとわかると思いますが、jjhs3213様のコメントを参考に作ったのもあります。

Last edited by kaki-kui (Oct. 6, 2024 06:53:04)

Leonhard01
Scratcher
100+ posts

Scratchスクリプトクイズ

少々難解な問題をご用意いたしました。じっくりと取り組んでいただければ幸いです。
【問題】
(与式)
には、整数係数で降べきの順に並べられたx多項式が格納されています。
この多項式を有理数の範囲で因数分解するプログラムを作成してください。

【条件】
・因数分解は、できるところまで行ってください。
・同じ因数をまとめる必要はありません。例(x+1)(x+1)を(x+1)^2とする必要はありません。
・因数分解後の式も降べきの順 に並べてください。

入力例と出力例 wrote:

2x^2+4x→2x(x+4)

x^2+x+1→x^2+x+1

x^3+x^2-4x-4→(x+1)(x+2)(x-2)

12x^5+84x^4+237x^3+400x^2+84x+217→(4x^2+12x+31)(3x^3+12x^2+7)

動作確認とプログラムが長くなることが期待されることから作品の状態で共有していただけるとありがたいです。
是非ブロック数を少なくしたものと高速化を意識したもの両方作ってみてください。
今回は想定解発表まで暫く待とうと思います。
jjhs3213
Scratcher
29 posts

Scratchスクリプトクイズ

有理数ではなく整数の範囲ではないでしょうか。
Leonhard01
Scratcher
100+ posts

Scratchスクリプトクイズ

「整数の範囲」として扱うことも可能ですが、通常は「有理数の範囲」「実数の範囲」「複素数の範囲」のいずれかに分類するのが一般的なので、ここでは「有理数の範囲」とさせていただきました。整数係数の多項式であるため、ご指摘の通り「整数の範囲で因数分解」とするのがより適切だったかもしれません。

itonosu
New Scratcher
1 post

Scratchスクリプトクイズ

https://scratch.mit.edu/projects/1078448075
できたのだ〜
たま〜に完全に塗れなかったりするので
何回も試してください
制限時間を作ったので一部制御と変数と演算を使っています
そこのところよろしくおねがいしまそ
AI_HABU_A_PENN_sub
Scratcher
80 posts

Scratchスクリプトクイズ

#3136
僕も作ってみました、遅いですが恐らく確実に塗れるはずです。 https://scratch.mit.edu/projects/1078486135/
⚑ がクリックされたとき
x座標を (-240) 、y座標を (-180) にする
(89.99999994270424 v) 度に向ける
ペンを下ろす
[メッセージ v] を送る

[メッセージ v] を受け取ったとき
(1000000000) 歩動かす
x座標を (-240) にする
[メッセージ v] を送る

9ブロックです。

(大きめの追記)
投稿後思い出したのですが、先ほどのプログラムでは裏技的な手法で予め大きさをinfinityにしなくてはいけないことに気が付きました。何というか、セーブ時点の大きさを使うのはすっきりしなかったため、改良して360回の繰り返しを作り再提出します。(邪魔だった場合どちらかを削除します。)
ステージ外に出ない事を利用するため条件はスプライト、コスチュームがデフォルトの「スプライト1」「コスチューム1」、大きさは100の場合動きます。 https://scratch.mit.edu/projects/1078513076/
⚑ がクリックされたとき
y座標を (-180) にする
(90.008 v) 度に向ける
ペンを下ろす
[272 v] を送る

[272 v] を受け取ったとき
x座標を (-240) にする
x座標を (273) にする
y座標を (1) ずつ変える
↻ (0.001) 度回す
(x座標) を送る

12ブロックです。

Last edited by AI_HABU_A_PENN_sub (Oct. 8, 2024 15:34:33)

hasehono
Scratcher
1 post

Scratchスクリプトクイズ

sakura_neko wrote:

出題します。
旗が押されたときに画面全体をペンで塗りつぶすプログラムを作ってください。
ただしペンの太さは1で変えられないものとし、スタンプを使用してはいけません。
さらに「動き」「イベント」「ペン」カテゴリのブロックのみを使用可能とします。

https://scratch.mit.edu/projects/1095822483/
とりあえず作りました。ブロック数は9です。結構少ないのでは無いでしょうか?
ずっとにしたのは回数がわからなかったからなので、まあ( )回繰り返すでも
ブロック数は変わらないのでいいですね。

Powered by DjangoBB