請問一下到底程式會如何執行

上次上課時,學弟們問我的一個問題。到底放在for迴圈的delay是否會影響到while迴圈的執行。

![](upload://726cw631cYu2gQuKFvYaEV1Fzoy.jpeg)

我想應該是可以
1.將等待時間拉長
2.在timer後面加indicator觀察
3.使用Highlight Execution燈泡來觀察
這樣應該就可以看到你學弟想看到的結果吧。。。

我個人觀察放在for loop的東西,如果沒有與while迴圈有關聯的話;
不管是時間延遲元件,或是其他運算式,似乎都是會先執行;
完畢之後才回進入到裡面的迴圈,然侯才會再跑出來,繼續回圈。

正確來說是不一定
有兩種可能:

1. (start) 先進入 while loop -> while loop stop -> for loop wait 200ms -> (start)

2. (start) 先run for loop wait 200ms -> 進入 while loop -> while loop stop -> (start)

一般狀況是第 1 個case, 因為while loop寫在上面
至於有沒有"影響", 應該要看這兩種case是不是在規劃的流程中

yao39070.9558449074

大家好! 我也蠻好奇這個答案的
因為上次我有問過有關Timing VIs的問題 (http://stdb.org/forum/forum_posts.asp?TID=6720&PN=2)

我試著想了一下答案,不知道這樣對不對,請大家指教。

我覺得While Loop的執行時間會影響For Loop的執行時間;
For Loop的Time Delay是不會影響到While Loop的執行。

針對原po的問題,

(1)假設While loop執行一次 (將While loop裡的loop condition wire到一個Ture)
依照wait until next multiplei的定義,
run一次For loop(包含While loop)應該只需要花200ms,
因為While loop也算是For loop裡的Code。
除非跑一次While loop的時間超過200ms,否則跑一次For loop的時間就是200ms。

(2)假設While loop執行很多次(總執行時間超過200ms)
跑一次For loop的時間=While loop總執行時間

請問這樣的說法合理嗎?

NicolasCage39071.0045023148