编程十年 (4):步入编程殿堂
編程十年 (4):步入編程殿堂
本文地址:http://www.cnblogs.com/AndersLiu/archive/2011/04/22/programming10years-04.html
作者:Anders Liu
1998年,上高中。因為迷戀電子制作而“玩物喪志”,從市重點降入區重點高中。按說這個結局會讓我老爸對我玩電子制作這件事深惡痛絕,但沒想到的是,假期開始的時候,我老爸甩手就給了我200塊錢,讓我隨便買零件,隨便折騰。這原是欲擒故縱之計——200塊錢還沒花掉一半,我就知道了自己原來不是玩硬件的料。于是放棄。
就這樣,高中的第一個學期基本上沒有接觸過任何計算機或是電子方面的東西,主要的業余活動就是打籃球。不過到了1999年,高一的下半學期,我驚喜地發現竟然有計算機課程,而且每周2節——一節理論、一節上機實驗。但是這門課是沒有教材的——就靠老師講。
結果沒想到的是,這門課并不只是淺淺地講解計算機的入門知識和使用方法,而是講解編程的。更牛逼的是,第一節理論課里老師就講完了所有基礎知識并且開始介紹編程——QBasic編程。不過第一次實驗課并沒有學習寫程序,只是熟悉鍵位,順便練習一下上次課講的一些基本DOS命令。
因為在初中的時候已經記熟了鍵位,而且摸過計算機,所以當別的同學還趴在鍵盤上從浩瀚的按鍵中尋找A、B、C時,我已經搞明白老師講過的所有DOS命令了。這讓我的虛榮心和成就感得到了極大的滿足,也鼓勵著我之后的計算機學習。當然,“幸運”的是,高中同學竟然沒有人家里有計算機,初中時也沒接觸過計算機,這也許就是塞翁失馬的道理吧,雖然從市重點“掉到”區重點,但自己的相對水平卻提高了。
雖然到了90年代末期,圖形界面已經成為主流,但學校配備的計算機還是很老舊的486電腦,安裝的是DOS操作系統。記得實驗室里電腦的機箱上還有個“Turbo”按鈕,旁邊還有LED數碼管顯示著CPU的主頻,平時是75MHz,按下Turbo按鈕后則會顯示90MHz。
不過應該感謝這些老舊的電腦,如果一開始就給我個花花綠綠的Windows,我真不知道自己是不是還能坐下來踏踏實實地寫程序。
由于在第一個學期期末的時候已經知道下學期的課程,所以在假期里我打算做些準備。恰好快到春節,媽媽帶我去大姨姥爺家串親戚,回來的路上我拉著媽媽去逛附近的花市新華書店——以買教參為由,她當然無法拒絕。結果,卻只抱了一本QBasic的書回來,搞得媽媽很是詫異,小心翼翼地問我“這個書上課有用么”。而我則理直氣壯地回答“當然有用,下學期要開這門課了”。
回來之后,自然就是抱著這本書啃了。這本書真的是不錯,雖然裝幀很簡陋,不像什么經典著作,但是內容很充實。這本書并不是只介紹QBasic的關鍵字和語法,而是花了不少篇幅介紹了結構化程序設計,我就是通過這本書前面的幾章知道并且理解了順序結構、選擇(分支)結構和循環結構。而且,這本書還介紹了流程圖的畫法,而我在一開始學習寫程序時,還真的一本正經地在紙上畫流程圖呢。
當時家里并沒有計算機,于是我專門找了一個小橫格本,拿鉛筆在上面畫流程圖、抄寫程序。然后,等到上機的時候,我就會帶著這個小本,照著敲進去測試。這種特殊的情況對我來說利弊參半,不好的一方面是,我必須忍耐一周的時間才能檢驗這些程序的正確性;不過,好的一方面是,這給我留下了充足的時間去改進程序,而且打下了比較堅實的手寫程序的功底,能夠熟練掌握語法而不依賴編譯器的檢查。
就這樣,一個學期過去剛一半,我就基本上掌握了QBasic的語法和結構化程序設計的思路。而我買的那本書,內容還不是一般的充實,在最后幾章,還介紹了QBasic的圖形編程。而我說什么也不相信,在DOS這種字符界面下,竟然能繪制圖形——雖然當時Windows已經流行起來,但我還沒有見過呢。于是我抄了幾個書上的例子,等到實驗課時帶到機房試了一下,果然可以!
于是在接下來的一周里,我開始專門研究QBasic里的繪圖函數,然后編寫了我人生中第一個程序——繪制機器人。之前學習基本的語法,都是要么抄例子,要么做習題,并沒有自己的想法。而這一次,例子和習題已經不能滿足我的興致了,我腿兒硬了,要自己走了。我在前面提到過,我認為能夠把自己的想法寫成程序就叫“編程”了,所以我認為從這時起,我已經會編程了。
其實這個程序非常簡陋,就是用矩形和橢圓形拼湊成一個劣質的機器人形狀,整個程序就是一個順序結構,依次畫出各個形狀就是了。不過,編這個程序的過程還是很麻煩的,首先得在紙上按比例畫出屏幕邊界和機器人,然后就是計算每個關鍵點的坐標。由于沒有機器做實驗,所以圖不能畫得太潦草,大致比例還是要準確一些的。
當然,這樣簡單的程序是不足為奇的,所以我很快又寫出了改進版本——動態繪制機器人。就是,先從屏幕上方落下兩只腳,然后落下兩條腿,然后是身體、胳膊和頭。這次終于不完全是順序結構了,循環也用上了。
后來還寫過一個無聊的程序,隨機循環在屏幕上畫圈,而且是死循環。然后把程序發給同學,搞惡作劇。
不過,不管是粗糙的機器人,還是無聊的惡作劇,都足夠我在班里吸引眾多眼球了,虛榮心再次膨脹。但很快這種爽歪歪的日子就結束了——快到期末了,計算機課結課了。
- 回到《老劉連載:編程十年》
- 上一篇《初識計算機》
- 下一篇《站在網絡邊緣,卻陷入信息孤島》
轉載于:https://www.cnblogs.com/AndersLiu/archive/2011/04/22/programming10years-04.html
總結
以上是生活随笔為你收集整理的编程十年 (4):步入编程殿堂的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓 通过intent调用系统文件管理器
- 下一篇: 国内开源项目无法形成气候且难以持续性的问