Discuss Scratch

inoking
Scratcher
1000+ posts

Scratchスクリプトクイズ

dj-YakoChite wrote:

#2776の指摘を受けて#2775のプログラムを試行してみた結果,
0 ~ 100 の乱数を生成しようとしたところ,一の位がすべて0になっていました.
こういう場合は、まず起こっている事象の原因を考えるべきです。
タイマーはミリ秒単位なので
#2774 のように100倍して小数点以下を拾っても小数点第一位しか残らないのは当然です。
そうならないのは浮動小数点計算による誤差だと思われます。
#2777 も13桁ずらすことでその誤差を場当たり的に対処しているだけです。

#2774 の意図からすると、単に小数点以下を拾えばよいように思います。
ただ、タイマーは約 1/30 秒周期でしか更新されないことが分かっています。

このため、実際に検証してみないと何とも言えません。

なお、更新タイミングの話から、タイマーよりは 2000年からの日数 を使ったほうが良いと思います。
inoking
Scratcher
1000+ posts

Scratchスクリプトクイズ

dj-YakoChite wrote:

私 wrote:

3000回実行して(3000回キーボードを連打しました.疲れた)
連打しました.
手動での連打はプログラムで実行するのとは比較になりません。
ポン、ポンと打っているのと変わりません。
kouryou118103
Scratcher
1000+ posts

Scratchスクリプトクイズ

登校中に思いついた問題です。

変数として(a)と(b)が与えられています。
割り算(a/b)をして、変数nに代入するプログラムを書いてください。
計算できない時は、I(大文字のi )またはNを出力してください。
条件(このようなa,bが入力されるということです。)
a/b に小数点(.)が含まれない
0 < a/b < 10 または a/bが計算できない
a=0 かつ b=0 ではない(下の投稿も参考に)

想定回は5ブロックです。

Last edited by kouryou118103 (Dec. 16, 2023 11:40:35)

dj-YakoChite
Scratcher
100+ posts

Scratchスクリプトクイズ

一応確認.
a=0 かつ b=0 ではない

<<<(a) = (0)> かつ <(b) = (0)>> ではない>
ですよね.

Last edited by dj-YakoChite (Dec. 16, 2023 11:44:25)

kouryou118103
Scratcher
1000+ posts

Scratchスクリプトクイズ

#2785
そうです。
分かりづらくてすみません。
dj-YakoChite
Scratcher
100+ posts

Scratchスクリプトクイズ

NaNとInfinityの1文字目がNとIですね.
@greenflag がクリックされたとき
[n v] を (((a) ÷ (b)) の (1) 番目の文字) にする

Last edited by dj-YakoChite (Dec. 16, 2023 12:11:19)

kouryou118103
Scratcher
1000+ posts

Scratchスクリプトクイズ

想定解通りです!(あれ?さっき漢字まちがえてた)
結構難しいと思ったんですけど…
kouhei-1
Scratcher
1000+ posts

Scratchスクリプトクイズ

出題です。

ジュールとマグニチュードを相互に変換できるプログラムを作成せよ。
出力されたものの末尾がMであればその値をジュールに変換し、Jであればマグニチュードに変換せよ。
また、変換された値を出力せよ。

@greenflag がクリックされたとき
[何ジュール?] と聞いて待つ

これの続きを作ってください。

ジュールとマグニチュードの関係式:
log E=4.8+1.5M

簡単かも…。


盛大に間違えてました。。

Last edited by kouhei-1 (Dec. 17, 2023 02:42:57)

xiangyeng
Scratcher
100+ posts

Scratchスクリプトクイズ

#2771

rinasama_tabasi wrote:

できましたが長いので
プロジェクトにおいておきます。
(全加算器です)
https://scratch.mit.edu/projects/936480039/
あっ….マイナスの数無理やん
(あと少数)
直してきます
正解です!スクリプト数すごいんですが…、仕組みがよくわかりませんでした…。すみません!
sasami19
Scratcher
58 posts

Scratchスクリプトクイズ

#2789
ニュートン(N)はニュートン・メートル(N・m)
ということですか?ジュールではだめですか?
kouhei-1
Scratcher
1000+ posts

Scratchスクリプトクイズ

あ。 書き間違えてました。
MA4756wx
Scratcher
100+ posts

Scratchスクリプトクイズ

Post申し訳ありません、こちら無視してください。このアカウントの親より
申し訳ありません、僕です

Last edited by MA4756wx (Aug. 29, 2024 05:25:04)

inoking
Scratcher
1000+ posts

Scratchスクリプトクイズ

#2752 を再び引用します。

abee wrote:

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

Scratchスクリプトクイズ

#2789
こんな感じでどうでしょう?
プログラムとしては
[J v] を (((4.8) + ((1.5) * (M)))の [10^ v]::operators) にする
がMからJで、
[M v] を ((((J)の[log v]::operators) / (1.5)) - (3.2)) にする
がJからMです。
logとか初めて使った・・・・・・
明らかに無駄だった部分(2/3をかける=1.5でわる)を修正

Last edited by sasami19 (Dec. 25, 2023 09:20:48)

Jinenjo_000
Scratcher
100+ posts

Scratchスクリプトクイズ

カードシャッフル
トランプのスペード、ハート、ダイヤ、クラブのマークをそれぞれ S, H, D, C、数字を A23456789TJQK とし、マークと数字の組でカードを表すものとします。例えばスペードのAは「SA」のように表されます。
整列された52枚(ジョーカーを除く)のトランプがリストとして与えられます。すなわち、リストの初期状態は { SA, … SK, HA, … HK, DA, … DK, CA, … CK } です。
このリストを、どんなカードの並び順でも現れるように、ランダムにシャッフルするプログラムを作ってください。
必要ならば、2^226 > 52! > 2^225 であることを使ってもよいです。

Last edited by Jinenjo_000 (Dec. 26, 2023 03:17:17)

kouryou118103
Scratcher
1000+ posts

Scratchスクリプトクイズ

(入力 :: list)//入力されたリスト
(出力 :: list)//出力するリスト

[出力 v]のすべてを削除する::list
(52) 回繰り返す
[ランダム v] を ((1) から ([入力 v] の長さ :: list) までの乱数) にする
([入力 v] の(ランダム)番目 :: list) を [出力 v] に追加する
[入力 v]の(ランダム)番目を削除する::list
end
こんな感じですかね
多分もっときれいな書き方(元のリストを書き換えないとか)があると思います。
Jinenjo_000
Scratcher
100+ posts

Scratchスクリプトクイズ

実は #2797 の回答だと「どんなカードの並び順でも現れる」という条件を満たしません。
(() から () までの乱数)
は、ChromeとEdgeでは Xorshift128+ で乱数を生成している(pick random" Is Predictable by @watashida)ようですので、2^128 - 1 通りより多くの並び順を出力することはできません。
kouryou118103
Scratcher
1000+ posts

Scratchスクリプトクイズ

同様に確からしいかは検証できていませんが、どんなカードの並び順でも現れることが確認できました。
https://scratch.mit.edu/projects/946160281/
yucca42
Scratcher
100+ posts

Scratchスクリプトクイズ

2796 の条件は
- どんなカードの並び順でも現れる
- 同様に確からしい
の2つですか?

2797 は少なくともどんなカードの並び順でも現れると思います。
(リスト入力の長さは最大で52)
((1) から (52) までの乱数)

同様に確からしいかをちゃんと証明するのは難易度が高いです…(数弱)

Last edited by yucca42 (Jan. 3, 2024 04:09:29)

Catapult-
Scratcher
100+ posts

Scratchスクリプトクイズ

#2800(キリ番^^)
いえ、出ない並び順があります。
一つ乱数を出すと、その次の乱数も確定します。
つまり、最初の乱数(の中身の128ビット)の通りしか出ず、52!にとどきません。

Powered by DjangoBB