質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

3回答

1610閲覧

これの処理の順番を番号で書いて教えてください

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2015/06/05 18:51

lang

1from turtle import * 2 3def branch(length): # 1 4 if length < 10: # 2 5 return # 2' 6 forward(length) # 3 7 left(30) # 4 8 branch(length/2) # 5 9 right(60) # 6 10 branch(length/2) # 7 11 left(30) # 8 12 forward(-length) # 9 13 14branch(100) 15input()

これの処理の順番を最後まで番号で書いて教えてください
またその際にbranchの引数lengthには何の数値が入っているのかも書いてくれるとありがたいです

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

こんなんでいかがでしょうか。
各行、後ろの値が length の値です。

lang

1#1 100 2#2 100 3#3 100 4#4 100 5#5 100 6#1 50 7#2 50 8#3 50 9#4 50 10#5 50 11#1 25 12#2 25 13#3 25 14#4 25 15#5 25 16#1 12 17#2 12 18#3 12 19#4 12 20#5 12 21#1 6 22#2 6 23#2' 6 24#6 12 25#7 12 26#1 6 27#2 6 28#2' 6 29#8 12 30#9 12 31#6 25 32#7 25 33#1 12 34#2 12 35#3 12 36#4 12 37#5 12 38#1 6 39#2 6 40#2' 6 41#6 12 42#7 12 43#1 6 44#2 6 45#2' 6 46#8 12 47#9 12 48#8 25 49#9 25 50#6 50 51#7 50 52#1 25 53#2 25 54#3 25 55#4 25 56#5 25 57#1 12 58#2 12 59#3 12 60#4 12 61#5 12 62#1 6 63#2 6 64#2' 6 65#6 12 66#7 12 67#1 6 68#2 6 69#2' 6 70#8 12 71#9 12 72#6 25 73#7 25 74#1 12 75#2 12 76#3 12 77#4 12 78#5 12 79#1 6 80#2 6 81#2' 6 82#6 12 83#7 12 84#1 6 85#2 6 86#2' 6 87#8 12 88#9 12 89#8 25 90#9 25 91#8 50 92#9 50 93#6 100 94#7 100 95#1 50 96#2 50 97#3 50 98#4 50 99#5 50 100#1 25 101#2 25 102#3 25 103#4 25 104#5 25 105#1 12 106#2 12 107#3 12 108#4 12 109#5 12 110#1 6 111#2 6 112#2' 6 113#6 12 114#7 12 115#1 6 116#2 6 117#2' 6 118#8 12 119#9 12 120#6 25 121#7 25 122#1 12 123#2 12 124#3 12 125#4 12 126#5 12 127#1 6 128#2 6 129#2' 6 130#6 12 131#7 12 132#1 6 133#2 6 134#2' 6 135#8 12 136#9 12 137#8 25 138#9 25 139#6 50 140#7 50 141#1 25 142#2 25 143#3 25 144#4 25 145#5 25 146#1 12 147#2 12 148#3 12 149#4 12 150#5 12 151#1 6 152#2 6 153#2' 6 154#6 12 155#7 12 156#1 6 157#2 6 158#2' 6 159#8 12 160#9 12 161#6 25 162#7 25 163#1 12 164#2 12 165#3 12 166#4 12 167#5 12 168#1 6 169#2 6 170#2' 6 171#6 12 172#7 12 173#1 6 174#2 6 175#2' 6 176#8 12 177#9 12 178#8 25 179#9 25 180#8 50 181#9 50 182#8 100 183#9 100

投稿2015/06/05 20:11

IchigoTaruto

総合スコア159

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

わかりやすいよう再帰に合わせてインデントしてみました

lang

1# 最初の呼び出し 2branch(100) 3 4#1 branch(length=100) 5#2 100 < 10 は False 処理継続 6#3 forward(100) 7#4 left(30) 8#5 branch(100/2) 9 #1 branch(length=50) 10 #2 50 < 10 は False 処理継続 11 #3 forward(50) 12 #4 left(30) 13 #5 branch(50/2) 14 #1 branch(length=25) 15 #2 25 < 10 は False 処理継続 16 #3 forward(25) 17 #4 left(30) 18 #5 branch(25/2) 19 #1 branch(length=12.5) 20 #2 12.5 < 10 は False 処理継続 21 #3 forward(12.5) 22 #4 left(30) 23 #5 branch(12.5/2) 24 #1 branch(length=6.25) 25 #2 6.25 < 10 は True なので return (呼び出し元へ戻る) 26 #6 right(60) 27 #7 branch(12.5/2) 28 #1 branch(length=6.25) 29 #2 6.25 < 10 は True なので return (呼び出し元へ戻る) 30 #8 left(30) 31 #9 forward(-12.5) 32 #6 right(60) 33 #7 branch(25/2) 34 #1 branch(length=12.5) 35 #2 12.5 < 10 は False 処理継続 36 #3 forward(12.5) 37 #4 left(30) 38 #5 branch(12.5/2) 39 #1 branch(length=6.25) 40 #2 6.25 < 10 は True なので return (呼び出し元へ戻る) 41 #6 right(60) 42 #7 branch(12.5/2) 43 #1 branch(length=6.25) 44 #2 6.25 < 10 は True なので return (呼び出し元へ戻る) 45 #8 left(30) 46 #9 forward(-12.5) 47 #8 left(30) 48 #9 forward(-25) 49 #6 right(60) 50 #7 branch(50/2) 51 #1 branch(length=25) 52 #2 25 < 10 は False 処理継続 53 #3 forward(25) 54 #4 left(30) 55 #5 branch(25/2) 56 #1 branch(length=12.5) 57 #2 12.5 < 10 は False 処理継続 58 #3 forward(12.5) 59 #4 left(30) 60 #5 branch(12.5/2) 61 #1 branch(length=6.25) 62 #2 6.25 < 10 は True なので return (呼び出し元へ戻る) 63 #6 right(60) 64 #7 branch(12.5/2) 65 #1 branch(length=6.25) 66 #2 6.25 < 10 は True なので return (呼び出し元へ戻る) 67 #8 left(30) 68 #9 forward(-12.5) 69 #6 right(60) 70 #7 branch(25/2) 71 #1 branch(length=12.5) 72 #2 12.5 < 10 は False 処理継続 73 #3 forward(12.5) 74 #4 left(30) 75 #5 branch(12.5/2) 76 #1 branch(length=6.25) 77 #2 6.25 < 10 は True なので return (呼び出し元へ戻る) 78 #6 right(60) 79 #7 branch(12.5/2) 80 #1 branch(length=6.25) 81 #2 6.25 < 10 は True なので return (呼び出し元へ戻る) 82 #8 left(30) 83 #9 forward(-12.5) 84 #8 left(30) 85 #9 forward(-25) 86 #8 left(30) 87 #9 forward(-50) 88#6 right(60) 89#7 branch(100/2) 90 #-上にある「#1 branch(length=50)」から「#9 forward(-50)」までと全く同じなので割愛- 91#8 left(30) 92#9 forward(-100) 93 94input()

投稿2015/06/06 08:25

編集2015/06/06 08:28
MAGP

総合スコア153

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ruby の trace という機能を使ってみました。

コードをすこし変更します。

lang

1def forward(length) end 2def left(length) end 3def right(length) end 4 5def branch(length) # 1 TRACE 6 puts " # branch(#{length}) TRACE" 7 if length < 10 # 2 TRACE 8 return # 2' TRACE 9 end 10 forward(length) # 3 TRACE 11 left(30) # 4 TRACE 12 branch(length/2) # 5 TRACE 13 right(60) # 6 TRACE 14 branch(length/2) # 7 TRACE 15 left(30) # 8 TRACE 16 forward(-length) # 9 TRACE 17end 18 19branch(100)

こままま ruby -rtracer でじっこうすると余計なものがたくさんでるので
出力結果をパイプでつないで加工しました。

$ ruby -rtracer 1.rb | grep TRACE | grep -v puts | cut -b40- RACE # 1 TRACE # branch(100) TRACE # 2 TRACE # 3 TRACE # 4 TRACE # 5 TRACE # 1 TRACE # branch(50) TRACE # 2 TRACE # 3 TRACE # 4 TRACE # 5 TRACE # 1 TRACE # branch(25) TRACE # 2 TRACE # 3 TRACE # 4 TRACE # 5 TRACE # 1 TRACE # branch(12) TRACE # 2 TRACE # 3 TRACE # 4 TRACE # 5 TRACE # 1 TRACE # branch(6) TRACE # 2 TRACE # 2' TRACE # 2' TRACE # 6 TRACE # 7 TRACE # 1 TRACE # branch(6) TRACE # 2 TRACE # 2' TRACE # 2' TRACE # 8 TRACE # 9 TRACE # 6 TRACE # 7 TRACE # 1 TRACE # branch(12) TRACE # 2 TRACE # 3 TRACE # 4 TRACE # 5 TRACE # 1 TRACE # branch(6) TRACE # 2 TRACE # 2' TRACE # 2' TRACE # 6 TRACE # 7 TRACE # 1 TRACE # branch(6) TRACE # 2 TRACE # 2' TRACE # 2' TRACE # 8 TRACE # 9 TRACE # 8 TRACE # 9 TRACE # 6 TRACE # 7 TRACE # 1 TRACE # branch(25) TRACE # 2 TRACE # 3 TRACE # 4 TRACE # 5 TRACE # 1 TRACE # branch(12) TRACE # 2 TRACE # 3 TRACE # 4 TRACE # 5 TRACE # 1 TRACE # branch(6) TRACE # 2 TRACE # 2' TRACE # 2' TRACE # 6 TRACE # 7 TRACE # 1 TRACE # branch(6) TRACE # 2 TRACE # 2' TRACE # 2' TRACE # 8 TRACE # 9 TRACE # 6 TRACE # 7 TRACE # 1 TRACE # branch(12) TRACE # 2 TRACE # 3 TRACE # 4 TRACE # 5 TRACE # 1 TRACE # branch(6) TRACE # 2 TRACE # 2' TRACE # 2' TRACE # 6 TRACE # 7 TRACE # 1 TRACE # branch(6) TRACE # 2 TRACE # 2' TRACE # 2' TRACE # 8 TRACE # 9 TRACE # 8 TRACE # 9 TRACE # 8 TRACE # 9 TRACE # 6 TRACE # 7 TRACE # 1 TRACE # branch(50) TRACE # 2 TRACE # 3 TRACE # 4 TRACE # 5 TRACE # 1 TRACE # branch(25) TRACE # 2 TRACE # 3 TRACE # 4 TRACE # 5 TRACE # 1 TRACE # branch(12) TRACE # 2 TRACE # 3 TRACE # 4 TRACE # 5 TRACE # 1 TRACE # branch(6) TRACE # 2 TRACE # 2' TRACE # 2' TRACE # 6 TRACE # 7 TRACE # 1 TRACE # branch(6) TRACE # 2 TRACE # 2' TRACE # 2' TRACE # 8 TRACE # 9 TRACE # 6 TRACE # 7 TRACE # 1 TRACE # branch(12) TRACE # 2 TRACE # 3 TRACE # 4 TRACE # 5 TRACE # 1 TRACE # branch(6) TRACE # 2 TRACE # 2' TRACE # 2' TRACE # 6 TRACE # 7 TRACE # 1 TRACE # branch(6) TRACE # 2 TRACE # 2' TRACE # 2' TRACE # 8 TRACE # 9 TRACE # 8 TRACE # 9 TRACE # 6 TRACE # 7 TRACE # 1 TRACE # branch(25) TRACE # 2 TRACE # 3 TRACE # 4 TRACE # 5 TRACE # 1 TRACE # branch(12) TRACE # 2 TRACE # 3 TRACE # 4 TRACE # 5 TRACE # 1 TRACE # branch(6) TRACE # 2 TRACE # 2' TRACE # 2' TRACE # 6 TRACE # 7 TRACE # 1 TRACE # branch(6) TRACE # 2 TRACE # 2' TRACE # 2' TRACE # 8 TRACE # 9 TRACE # 6 TRACE # 7 TRACE # 1 TRACE # branch(12) TRACE # 2 TRACE # 3 TRACE # 4 TRACE # 5 TRACE # 1 TRACE # branch(6) TRACE # 2 TRACE # 2' TRACE # 2' TRACE # 6 TRACE # 7 TRACE # 1 TRACE # branch(6) TRACE # 2 TRACE # 2' TRACE # 2' TRACE # 8 TRACE # 9 TRACE # 8 TRACE # 9 TRACE # 8 TRACE # 9 TRACE # 8 TRACE # 9 TRACE

投稿2015/06/06 01:49

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問