Saya pikir apa yang Anda cari di sini adalah Diagram Urutan . Ini memungkinkan Anda untuk memvisualisasikan urutan berbagai modul memanggil satu sama lain melalui penggunaan panah.
Membangunnya sederhana:
- Gambarlah kelas awal Anda dengan garis putus-putus di bawahnya.
- Gambarlah kelas / metode berikutnya dalam jejak panggilan dengan garis putus-putus di bawahnya
- Hubungkan garis dengan panah, diposisikan secara vertikal di bawah panah terakhir yang Anda gambar
- Ulangi langkah 2-3 untuk semua panggilan dalam penelusuran Anda
Contoh
Mari kita asumsikan kita memiliki kode berikut yang ingin kita buat diagram urutan:
def long_division(quotient, divisor):
solution = ""
remainder = quotient
working = ""
while len(remainder) > 0:
working += remainder[0]
remainder = remainder[1:]
multiplier = find_largest_fit(working, divisor)
solution += multiplier
working = calculate_remainder(working, multiplier, divisor)
print solution
def calculate_remainder(working, multiplier, divisor):
cur_len = len(working)
int_rem = int(working) - (int(multiplier) * int (divisor))
return "%*d" % (cur_len, int_rem)
def find_largest_fit(quotient, divisor):
if int(divisor) == 0:
return "0"
i = 0
while i <= 10:
if (int(divisor) * i) > int(quotient):
return str(i - 1)
else:
i += 1
if __name__ == "__main__":
long_division("645", "5")
Hal pertama yang akan kita gambar adalah titik masuk ( main
) yang terhubung ke metode long_division
. Perhatikan bahwa ini membuat kotak di long_division, menandakan ruang lingkup metode panggilan. Untuk contoh sederhana ini, kotak akan menjadi seluruh ketinggian diagram urutan kami karena fakta bahwa ini adalah satu-satunya yang berjalan.
Sekarang kami menelepon find_largest_fit
untuk menemukan kelipatan terbesar yang sesuai dengan nomor kerja kami, dan mengembalikannya kepada kami. Kami menarik garis dari long_division
ke find_largest_fit
dengan kotak lain untuk menandakan ruang lingkup untuk panggilan fungsi. Perhatikan bagaimana kotak berakhir ketika pengganda dikembalikan; ini adalah akhir dari lingkup fungsi!
Ulangi beberapa kali untuk jumlah yang lebih besar dan bagan Anda akan terlihat seperti ini:
Catatan
Anda dapat memilih apakah Anda ingin memberi label panggilan dengan nama variabel yang disahkan, atau nilainya jika Anda hanya ingin mendokumentasikan satu kasus tertentu. Anda juga dapat menampilkan rekursi dengan fungsi yang memanggil dirinya sendiri.
Selain itu, Anda dapat menampilkan pengguna di sini dan meminta mereka dan menunjukkan input mereka ke dalam sistem dengan cukup mudah. Ini adalah sistem yang cukup fleksibel yang saya pikir Anda akan menemukan sedikit berguna!