Discuss Scratch
- Discussion Forums
 - » 日本語
 - » Scratchスクリプトクイズ
        
         
- 23hayabusa
 - 
                            
						
						
                            Scratcher
                        
						
						 
34 posts
Scratchスクリプトクイズ
 問題を出させて頂きます。任意の定数
ただし、
                        
                            (x)にある数が入っているとします。その変数xが正の数の時は
(正の数?)がtrue、xが負の数の時はfalseになるスクリプトを最小ブロック数で実現してください。
ただし、
<[] contains []?>の3つのブロックは使ってはいけません。ここでは、0も正の数に含めるとします。
if <> then
end
if <> then
else
end
Last edited by 23hayabusa (July 18, 2025 06:57:05)
- dragon_sub
 - 
                            
						
						
                            Scratcher
                        
						
						 
11 posts
Scratchスクリプトクイズ
#3507
                        
                            set [正の数? v] to <<(x) > [0]> or <(x) = [0]>>
Last edited by dragon_sub (July 18, 2025 07:11:02)
- dragon_sub
 - 
                            
						
						
                            Scratcher
                        
						
						 
11 posts
Scratchスクリプトクイズ
#3507
x=0のときInfinityになり、それが0より大きいことを利用しました。
                        
                            set [正の数? v] to <((1) / (x)) > [0]>
x=0のときInfinityになり、それが0より大きいことを利用しました。
Last edited by dragon_sub (July 18, 2025 07:46:20)
- 23hayabusa
 - 
                            
						
						
                            Scratcher
                        
						
						 
34 posts
Scratchスクリプトクイズ
これが私が用意していた正解です。[正の数? v] を <(x) = ((x)の[絶対値 v] ::operators)>にする
ですが、
#3507set [正の数? v] to <[.*] < (x)>
set [正の数?] to <((1) / (x)) > [0]>
も正しいことがわかったので、正解はこの3つにしておきます。
dragon_subさん、掲載遅れてすみません。
Last edited by 23hayabusa (July 20, 2025 10:03:47)
- tuneninemuihito
 - 
                            
						
						
                            Scratcher
                        
						
						 
56 posts
Scratchスクリプトクイズ
色々と間違ってました、本当にすみません。修正しました…
任意のデータが複数個入ったリストを、逆順に並び替えるプログラムを1スクリプト完結で作成して下さい。
但し使用可能なブロックは、
尚、の()番目等にlast等の文字を使用してはいけません。(必要であれば(リストの(リストの長さ)番目)などを使用して下さい)
何かしらの区切り文字等を使用する場合は_を使用して下さい。
                        
                            任意のデータが複数個入ったリストを、逆順に並び替えるプログラムを1スクリプト完結で作成して下さい。
但し使用可能なブロックは、
()回繰り返すと
end
[list v]の( )番目に[]を挿入する
[list v]の( )番目を削除する
([list v]中の[]の場所)
([list v]の長さ::list)
([list v]の( )番目 :: list)が一回のみ使用できます。
尚、の()番目等にlast等の文字を使用してはいけません。(必要であれば(リストの(リストの長さ)番目)などを使用して下さい)
何かしらの区切り文字等を使用する場合は_を使用して下さい。
Last edited by tuneninemuihito (July 22, 2025 14:45:52)
- U-Y-Scratch
 - 
                            
						
						
                            Scratcher
                        
						
						 
500+ posts
Scratchスクリプトクイズ
#3515
質問です。
リクエストの入ったリスト以外のリストで回答したり処理用のリストを作成してもいいですか?
                        
                        
                    質問です。
リクエストの入ったリスト以外のリストで回答したり処理用のリストを作成してもいいですか?
- tuneninemuihito
 - 
                            
						
						
                            Scratcher
                        
						
						 
56 posts
Scratchスクリプトクイズ
#3515いいえ、データの入っているリストをそのまま使用して下さい
質問です。
リクエストの入ったリスト以外のリストで回答したり処理用のリストを作成してもいいですか?
- U-Y-Scratch
 - 
                            
						
						
                            Scratcher
                        
						
						 
500+ posts
Scratchスクリプトクイズ
分かりました。#3515いいえ、データの入っているリストをそのまま使用して下さい
質問です。
リクエストの入ったリスト以外のリストで回答したり処理用のリストを作成してもいいですか?
- ef_cudaran
 - 
                            
						
						
                            Scratcher
                        
						
						 
92 posts
Scratchスクリプトクイズ
もしも「番目」を使ってもいいという条件なら
対応するのは恐らく99999項目までです。
                        
                            ([list v]の長さ::list)を[list v]に追加するこんな感じになりますね…(19blocks)
([list v]の([list v]の長さ::list)番目)回繰り返す
[list v]の([list v]の長さ::list)番目に([list v]の([list v]の([list v]の長さ::list)番目)番目)を挿入する
[list v]の([list v]の([list v]の長さ::list)番目)番目を削除する
[list v]の(1)番目に()を挿入する
end
([list v]の([list v]の長さ::list)番目)回繰り返す
[list v]の(1)番目を削除する
end
[list v]の([list v]の長さ::list)番目を削除する//忘れてました。
対応するのは恐らく99999項目までです。
Last edited by ef_cudaran (July 22, 2025 14:46:19)
- tuneninemuihito
 - 
                            
						
						
                            Scratcher
                        
						
						 
56 posts
Scratchスクリプトクイズ
本当にごめんなさい、解答案にミスがあって色々おかしくなってました。
修正しましたのでご確認お願いします。
                        
                        
                    修正しましたのでご確認お願いします。
- ito-noizi
 - 
                            
						
						
                            Scratcher
                        
						
						 
100+ posts
Scratchスクリプトクイズ
色々と間違ってました、本当にすみません。修正しました…
任意のデータが複数個入ったリストを、逆順に並び替えるプログラムを1スクリプト完結で作成して下さい。
但し使用可能なブロックは、()回繰り返すと
end
[list v]の( )番目に[]を挿入する
[list v]の( )番目を削除する
([list v]中の[]の場所)
([list v]の長さ::list)([list v]の( )番目 :: list)が一回のみ使用できます。
尚、の()番目等にlast等の文字を使用してはいけません。(必要であれば(リストの(リストの長さ)番目)などを使用して下さい)
何かしらの区切り文字等を使用する場合は_を使用して下さい。
https://scratch.mit.edu/projects/1157625312/
条件に沿わないので今回は答えにならないと思いますが
こういう方法があるようです。トリッキーで面白い。
- finalbacon
 - 
                            
						
						
                            Scratcher
                        
						
						 
100+ posts
Scratchスクリプトクイズ
出題します。
2つの点の座標(x1,y1),(x2,y2)があるとき、この2つの点を線でつなげるプログラムを作ってください。
↑この表現がわからない人は、「スプライトが2つあるとき、こいつらをつなげるプログラム」と思ってしまってOKです。
【くわしい説明】
・「線でつながっている」というのは、なんとなくでOKです。見た人が「まぁ、線でつながっているな」と思えるようなものならセーフです。
↳とは言っても、「画面全体を覆い尽くして線でつながっていると言い張る」のはNGとします。
・「線」は、どんなものでもOKです。曲線でも、折れ線でもOKです。(ただし模範解答は直線です。)
・有限時間内に終わるものでないといけません。逆に言えば、有限時間内に終わるならいくら時間がかかってもOK。
・-240≦x1≦240、-240≦x2≦240、-180≦y1≦180、-180≦y2≦180です。大雑把に言えば、「点は画面内に収まる」です。
・スプライト数、ブロック数の指定はありません。自由です。
【使用禁止ブロック】
そんなのカンタンだよ!と思った人は、「1スプライトだけ」「ペン不使用」「コスチューム不使用」などの縛りにチャレンジしてみてください。
(コスチューム不使用は私にはできません…)
                        
                            2つの点の座標(x1,y1),(x2,y2)があるとき、この2つの点を線でつなげるプログラムを作ってください。
↑この表現がわからない人は、「スプライトが2つあるとき、こいつらをつなげるプログラム」と思ってしまってOKです。
【くわしい説明】
・「線でつながっている」というのは、なんとなくでOKです。見た人が「まぁ、線でつながっているな」と思えるようなものならセーフです。
↳とは言っても、「画面全体を覆い尽くして線でつながっていると言い張る」のはNGとします。
・「線」は、どんなものでもOKです。曲線でも、折れ線でもOKです。(ただし模範解答は直線です。)
・有限時間内に終わるものでないといけません。逆に言えば、有限時間内に終わるならいくら時間がかかってもOK。
・-240≦x1≦240、-240≦x2≦240、-180≦y1≦180、-180≦y2≦180です。大雑把に言えば、「点は画面内に収まる」です。
・スプライト数、ブロック数の指定はありません。自由です。
【使用禁止ブロック】
ペンを下ろす//これだけです。頑張ってください。多分解答はいくつもあります。
そんなのカンタンだよ!と思った人は、「1スプライトだけ」「ペン不使用」「コスチューム不使用」などの縛りにチャレンジしてみてください。
(コスチューム不使用は私にはできません…)
Last edited by finalbacon (July 23, 2025 00:42:59)
- rrrrrrrrrrhhhhht
 - 
                            
						
						
                            Scratcher
                        
						
						 
100+ posts
Scratchスクリプトクイズ
まず、1と2とペンの3つのスプライトを作って、「ペン」に
                        
                            when green flag clickedと
go to [1 v]
broadcast [メッセージ1 v]
go to [2 v]
when I receive [メッセージ1 v]の両方を作ればできると思います。
repeat until <touching [2 v] ?>
create clone of [自分自身 v]
end
Last edited by rrrrrrrrrrhhhhht (July 23, 2025 00:48:41)
            













