陳汀蘭 嘉興市第一中學
循環結構是三種基本結構化程序設計結構的一種,也是程序設計的基礎,為了更加直觀的學習循環結構的特點,我們利用不同的軟件來實現循環結構的案例,從不同的角度來學習循環結構的特征、應用范圍和實現方式。
關于“Visual Basic”,VB作為一款使用便捷的編程軟件,其自身自然也是支持循環語句的代碼的。
每當程序中有重復的工作要做時,就需要用到“循環結構”,用特定的循環語句來代替原本復雜而麻煩的順序結構的代碼。
VB編寫代碼中常見的結構有“For…Next”和“Do…Loop”循環語句。“For…Next”適用于可以確定循環次數的工程代碼,而“Do…Loop”則更加側重于邏輯性。例如:
用循環體語句計算1+2+3+…+50的值,則:
使用“For…Next”
Private Sub Form_Click ()
Dim i%, mySum%, v%
For i = 1 TO 50
v = i
mySum = v + mySum
Next i
Print mySun
End Sub
使用“Do…Loop”語句也可實現該循環功能。
當然,兩者也可以相互結合,形成“嵌套循環”,也就是在一個循環體內又包含了循環的多重循環或者循環嵌套。
如若是有效地將循環語句結構使用到工程當中去,那么必然會大大減少工程中的代碼的復雜程度,使得程序更加簡潔清晰富有條理。
在日常的信息交流的過程中,發送一些動態的有趣幽默的圖片已經是大部分人都很習慣的了。雖說只是圖片,但是動態的GIF圖片中,也蘊含了關于“循環”的思想。
它看起來像是被設定為一直在循環播放著同樣的畫面,但實際上在制作這樣的動態GIF的圖片的時候,只是制作了“一遍過”,也就是只有一段內容的圖片。
然而,當我們看到成品的時候,由于GIF動態圖播放完了最原始的那一段內容之后,自動跳轉到了最開始,繼續重新加載并播放,從而變成了看起來像設定了無數次循環播放一般的感覺。
會聲會影作為一款功能強大的線性視頻編輯軟件,許多視頻編輯者都選擇用它來處理視頻,大家有時候也會不可避免的遇到需要制作一些重復播放一段畫面的情況。
會聲會影又不能用代碼來進行操作,那么又能怎么辦呢?
其實,只需要將你需要的那一部分視頻不斷地進行一個堆疊的操作,就可以形成“循環播放”的效果了。
首先,使用會聲會影中自帶的剪輯工具,將你所需要的那一段視頻剪出來。接著,只需要右鍵選中視頻軌道上你截取下來的片段,點擊復制。
這時鼠標所在處會出現如圖中所示的白色方塊,將鼠標放在截取視頻的后面,點擊一下就成功的將復制了需要重復的片段,播放起來就會有片段重復的效果。根據自己所需要的重復次數,復制不同數量的片段,然后導出視頻即可。
即使用不斷地“復制”的方法,便可以使視頻進入一個你所期望的循環之中。
當然,這與GIF動態圖片的“循環”的思想也有異曲同工之處。
Adobe公司所推出的有強大而復雜的諸多功能的后期視頻處理軟件AE,自然也是將“循環”這一功能包括在內的。
最常用的AE中的循環語句表達式是:
“loopOut(type="cycle",numkeyframes=0)”
這是針對于對象的一個關鍵幀所使用的表達式,即在使用關鍵幀確定完對象的一段時間內的變化之后,將這一表達式附上這一關鍵幀的屬性,再進行調試,就可以得到想要的不斷循環著的對象了。
如果是需要無限循環的話,則還需要一個特效插件:Enable Time Remapping,不過這也是AE軟件自帶的插件,將兩者組合起來一起使用,可以做出不錯的無限循環效果。
舉個例子,比如公司的宣傳視頻中,左上角需要有公司的LOGO不斷地旋轉著,一直從開始到視頻結束。
這時候,只需要將公司LOGO導入,確定幾個關鍵幀讓LOGO進行一次旋轉,接下來便可以使用Enable Time Remapping插件和“LoopOut”的循環語句表達式,讓LOGO不斷地重復旋轉了。再將對象與其它的各種特效插件相結合,做出來的效果就能讓人感到震撼不已了。
例如:用Particular粒子插件和無限循環,制作出一個不斷循環外散的粒子群體。
那抹光澤從不斷進行“循環”的世界中躍出……
“哇哦你看,那排燈一直在重復著一系列有規律的變化誒!”
“怎么總覺得這條路沒有盡頭啊……”
幾乎是在每一瞬間,如若我們的思維還沒有枯竭而消失殆盡,那么必然會在我們所見、所聞、所感的事物之中,看到聽到這樣的場景或有這類的想法。其實,稍加總結,則這些感受中最核心的一點,便是可以用“沒有盡頭”、“無窮”、“重復”這類詞語來概括的。
——這也就是在日常生活中的,“循環”的直觀表現。
循環結構讓我們大量減少了重復的工作量,充分發揮計算機的特長,提高了效率,但是在具體應用中,也需要根據不同的應用場景來選擇循環的方式。
[1]韓智明.理解算法思想突破“循環結構”[J].中學生數理化(高一).2016(01)
[2]梁洪琛.小黃人的奇妙之旅——程序的循環結構[J].中國多媒體與網絡教學學報(電子版).2017(04)