Discuss Scratch

hirayuu1414
Scratcher
500+ posts

Scratchスクリプトクイズ

#1932
おっ。正解です。想定解3に近いですね。
また、改めて考えましたが、円周率の式を知っていて、それをプログラミングで再現する(Inokingさんの言っている「世にある円周率の式をスクリプトに直す」こと)ことはいいことではないのかと思います。(最初の2人のライプニッツ級数がそのいい例です。)
Inokingさんはどう思いますか。
inoking
Scratcher
1000+ posts

Scratchスクリプトクイズ

「円周率の式を知っていて、それをプログラミングで再現する」は
アルゴリズムが分かっていてそれをプログラミングするだけの話なので
出題の #1918 で紹介されているスタジオならしっくりきますが
「スクリプトクイズ」となるとちょっと違う気がします。
私の感覚では「スクリプトクイズ」というと、「お題を独自のアイデアで解決する」といったイメージです。
abee
Scratcher
1000+ posts

Scratchスクリプトクイズ

「円周率の定義」ならわかります。
hirayuu1414
Scratcher
500+ posts

Scratchスクリプトクイズ

#1934
スプリクトクイズの意図は、inokingさんが「私の感覚では」と言っているように、個人によって思っていることが違います。
私は、「お題を自分の知識や想像力、プログラムの再現力を駆使して解決する」というイメージです。
スプリクトクイズの本当の意図はトピ主のabeeさんしか知りえませんし、2人がスプリクトクイズに対して思っていることが違うとこの話は進まなさそうです。
結局、トピ主のabeeさんに聞くのが手っ取り早そうです。
abee
Scratcher
1000+ posts

Scratchスクリプトクイズ

そうですね。今回のケースはかまわないような気がします。
私が過去に指摘したのは、想定解を用意していなかった(解けるどうか分からない)、クイズと言うより作品作りだった、自分が分からない問題を他の人に解いてもらおうとしていたくらいでしょうか。
基本的には、#1に書いてある通りです。
hirayuu1414
Scratcher
500+ posts

Scratchスクリプトクイズ

なるほど。問題文戻してきます。ついでにこの話で問題が埋まってしまったので再掲します。

hirayuu1414 wrote:

問題
どんな方法でもいいので円周率を求めるプログラムを作ってください。答えは、
(円周率)
という変数に入れてください。
誤差は許容しますが、
[円周率 v] を [3.141592653589793] にする
のような数字を入力するだけの方法は禁止です。
それ以外はなんでもありです。
ブロックの制限はなく、ブロック数の大小は関係ありません。
想定解は2つだけど絶対もっと方法あると思う

追記 dannkuruさんのこのスタジオに入っている作品が参考になると思います。
TOMO1260
Scratcher
100+ posts

Scratchスクリプトクイズ

hirayuu1414 wrote:

問題
どんな方法でもいいので円周率を求めるプログラムを作ってください。答えは、
(円周率)
という変数に入れてください。
誤差は許容しますが、
[円周率 v] を [3.141592653589793] にする
のような数字を入力するだけの方法は禁止です。
それ以外はなんでもありです。
ブロックの制限はなく、ブロック数の大小は関係ありません。
想定解は2つだけど絶対もっと方法あると思う

追記 dannkuruさんのこのスタジオに入っている作品が参考になると思います。
https://scratch.mit.edu/projects/534433467/ (自作品) のようなことを言っていると思いますが、この条件だと↓がOKになってしまいます。
[円周率 v] を ((1) + (2.141592653589793)) にする
micotomica
Scratcher
72 posts

Scratchスクリプトクイズ

TOMO1260 wrote:

hirayuu1414 wrote:

問題
どんな方法でもいいので円周率を求めるプログラムを作ってください。答えは、
(円周率)
という変数に入れてください。
誤差は許容しますが、
[円周率 v] を [3.141592653589793] にする
のような数字を入力するだけの方法は禁止です。
それ以外はなんでもありです。
ブロックの制限はなく、ブロック数の大小は関係ありません。
想定解は2つだけど絶対もっと方法あると思う

追記 dannkuruさんのこのスタジオに入っている作品が参考になると思います。
https://scratch.mit.edu/projects/534433467/ (自作品) のようなことを言っていると思いますが、この条件だと↓がOKになってしまいます。
[円周率 v] を ((1) + (2.141592653589793)) にする
#1925 を見ましたか?
Ke0
Scratcher
1000+ posts

Scratchスクリプトクイズ

#1939「数字を入力するだけ」とあるので、広義ではそれも条件外だと思いますよ。
sousi02
Scratcher
100+ posts

Scratchスクリプトクイズ

SkySoft
Scratcher
64 posts

Scratchスクリプトクイズ

#1918

定義 execute pi
[円周率 v] を [0] にする
[counter v] を [0] にする
[minus v] を [-1] にする
ずっと
[counter v] を (1) ずつ変える
[minus v] を ((minus) * (-1)) にする
[円周率 v] を ((円周率) + ((minus) * ((4) / (((counter) * (2)) - (1))))) にする
end
SkySoft
Scratcher
64 posts

Scratchスクリプトクイズ

せっかくなので私からも一つ、、、
問題(難易度★★★)
太郎さんはScratchで3Dエンジンを制作しています。
3DCGの勉強を進めるうちに、三つの点 P1(x1,y1) P2(x2,y2) P3(x3,y3) で結ばれた三角形の最も長い辺を求める式が必要になりました。
定義  (x1)(y1) - (x2)(y2) - (x3)(y3)
P2とP3で結ばれた辺 L1、P1とP3で結ばれた辺 L2、P1とP2で結ばれた辺 L3 とするとき、
最も長い辺を
(result)
に定義ブロックの演算を通して反映させなさい。
なお、
もし <> なら
end
等の制御ブロックは使用できません。

Last edited by SkySoft (Nov. 27, 2021 14:49:53)

hirayuu1414
Scratcher
500+ posts

Scratchスクリプトクイズ

#1942
正解です。何言ってるか分からんw
#1943
正解です。ライプニッツ級数がよく出ますが、どれもやり方が違って面白いです。
hirayuu1414
Scratcher
500+ posts

Scratchスクリプトクイズ

#1944
難しいので、小分けに考えていきます。まだこれは答えではありません。
定義 (x1)(y1)-(x2)(y2)-(x3)(y3)
[L1 v] を ([平方根 v] \( ((((x2) - (x3)) * ((x2) - (x3))) + (((y2) - (y3)) * ((y2) - (y3)))) \)) にする
[L2 v] を ([平方根 v] \( ((((x1) - (x3)) * ((x1) - (x3))) + (((y1) - (y3)) * ((y1) - (y3)))) \)) にする
[L3 v] を ([平方根 v] \( ((((x2) - (x1)) * ((x2) - (x1))) + (((y2) - (y1)) * ((y2) - (y1)))) \)) にする
コピペしたってバレちゃうなこれ
これで辺の長さが求まる…はず
ところで、
(result)
に入れるのは、長い辺の長さですか?それとも、長い辺の名前(L1とか)ですか?
SkySoft
Scratcher
64 posts

Scratchスクリプトクイズ

#1946
長い辺の名前を出してみて下さい!
abee
Scratcher
1000+ posts

Scratchスクリプトクイズ

#1944
これは、直角三角形とは限らないわけですよね。
hirayuu1414
Scratcher
500+ posts

Scratchスクリプトクイズ

#1946の続き
...://#1946の内容
[result v] を [1] にする
[result v] を <(L1) < (L2)> ずつ変える
[result v] を (((3) - (result)) * <((<(result) = [2]> * (L2)) + (<(result) = [1]> * (L1))) < (L3)>) ずつ変える
[result v] を ([L] と (result)) にする
なんか違う希ガス

#1948
直角三角形の場合、3Dエンジンで使えないのでそういうことだと思います。
00giri
Scratcher
1000+ posts

Scratchスクリプトクイズ

#1944
定義 (x1)(y1)-(x2)(y2)-(x3)(y3)
[L1 v] を ([平方根 v] \( ((((x2) - (x3)) * ((x2) - (x3))) + (((y2) - (y3)) * ((y2) - (y3)))) \)) にする
[L2 v] を ([平方根 v] \( ((((x1) - (x3)) * ((x1) - (x3))) + (((y1) - (y3)) * ((y1) - (y3)))) \)) にする
[L3 v] を ([平方根 v] \( ((((x2) - (x1)) * ((x2) - (x1))) + (((y2) - (y1)) * ((y2) - (y1)))) \)) にする
[result v] を ([L] と (((a) + (b)) + (1))) にする
<(L1) < (L2)> + <<(L2) < (L3)> かつ <(L1) < (L3)>>//a
<<(L1) < (L3)> かつ <(L2) < (L3)>>//b
でどうでしょうか?
(プログラムの一部は#1946の物を使用させていただきました。また、長いので分割しました。)

Last edited by 00giri (Nov. 28, 2021 10:17:42)

hirayuu1414
Scratcher
500+ posts

Scratchスクリプトクイズ

#1952
定義 (x)!
[A1 v] を [1] にする
[y v] を (x) にする
<[1] = (y)> まで繰り返す
[A1 v] を ((A1) * (y)) にする
[y v] を (-1) ずつ変える
end
takasyu
Scratcher
500+ posts

Scratchスクリプトクイズ

定義 (X)!
[count v] を [0] にする
[変数A1 v] を [1] にする
(X) 回繰り返す
[count v] を (1) ずつ変える
[変数A1 v] を ((変数A1) * (count)) にする
end
1953よりブロック数減らした

Last edited by takasyu (Nov. 28, 2021 10:43:41)

Powered by DjangoBB