【中圖分類號】G623.58【文獻標識碼】A 【文章編號】2095-3089(2012)12-0142-02
初中信息技術選修部分主要介紹VB程序設計,學生剛接觸到它會感到陌生,并帶有一種神秘感,認為程序設計一定很難,只有高手才能學會編寫程序。有了這樣的想法,就為教師的教學帶來一定的困難。那么,程序設計這部分內容怎樣教,才能讓學生順利地掌握這些內容,為升入高一級學校繼續學習程序設計打下堅實的基礎呢?經過幾年的程序設計教學,要讓學生掌握以下幾個方面,就會很輕松地完成教學目標。
一、什么是程序和程序設計
首先要讓學生理解什么是程序。程序是為實現特定目標或解決特定問題而用計算機語言編寫的命令序列的集合。要讓學生理解它,必須從學生熟悉的實例入手。教材中舉了一個“獵人過河”的趣味問題,獵人怎樣順利一把一只狼、一頭羊和一些白菜帶過河,只要按照如下的指令做,就能順利過河:
第1條:把羊帶到對岸;
第2條:返回;
第3條:把狼帶到對岸;
第4條:返回時把羊帶回原岸;
第5條:把菜帶到對岸;
第6條:返回;
第7條:把羊帶到對岸。
通過執行這些有序的指令完成了“獵人過河”這一具體的工作,這些指令的集合就是程序。這個程序是用人類語言描述的,計算機不能識別,如果用計算機能識別的語言來描述這些指令,這就是計算機程序。
其次要知道什么是程序設計。程序設計是給出解決特定問題程序的過程,可以用一個公式來說明:程序設計=數據結構+算法。
按照百度百科的定義:數據結構求助編輯百科名片數據結構是計算機存儲、組織數據的方式;數據結構是指相互之間存在一種或多種特定關系的數據元素的集合。算法是指解題方案的準確而完整的描述,是一系列解決問題的清晰指令,算法代表著用系統的方法描述解決問題的策略機制。
如果把程序設計當成蓋房子,那么數據結構就像磚、瓦,而算法就是設計圖紙。你若想蓋房子首先必須有原料(數據結構),但是這些原料不能自動地蓋起了你想要的房子;你必須按照設計圖紙(算法)上的說明一磚一瓦地去砌。這樣你才能擁有你想要的房子。程序設計也一樣,你使用的編譯工具中有各種功能語句或基本結構,它們不會自動排列成你要的程序代碼。你得按照程序規定的功能去編寫,而程序的功能是實現算法的具體體現。所以通俗地說:你必須按照特定的規則,把特定的功能語句和基本結構按照特定的順序排列起來,形成一個有特定功能的程序,這就是:程序設計=數據結構+算法。
二、學好數據結構是學好程序設計的第一步,也是關鍵的一步。
三、學好算法,這個是程序設計的重點,也是難點。
四、要讓學生養成一個良好的程序設計風格和習慣。
首先,要讓學生養成自上向下逐步求精的程序設計思想和方法。怎樣才是自上向下逐步求精的程序設計呢。舉個例子,有這樣一個問題:求1+2+3+…+N。
現在,當你看到這個問題時,你不要立即下手去編寫,而是要思考一下怎樣才能求解(算法),然后把它寫下來以免忘記。于是就寫了一級算法:
1.輸入N;
2.計算S=1+2+3+…+N;
3.輸出S。
當你寫完之后,你若覺得第2步不太清晰,還不能寫出代碼,那就繼續求精,二級求精:
2-1.S初始為0;i初始為1;
2-2.第i次循環將i累加到S;
2-3.i每循環一次增加1,直到i等于N后結束。
這樣問題就得到了解決,接著就可以輕松的編代碼了。再仔細看看上面的步驟:先寫出一級算法,如果覺得由此還是得不到源代碼,或者是其中有一步還有很多步驟要寫,那么就繼續求精,直到你認為可以很清晰的寫出代碼為止。但是求精可以因人而異,像上面的題目,若是一個編過很多程序的人來說,可能不用什么求精,代碼就可以直接寫出來了;但要是一個初學者來說就可能要寫到二級求精。
這樣說來,有人可能認為這個求精是不是太慢,抑或根本就是在浪費時間。這可是眾多的編程先驅推薦的基本方法。你知道編程中,主要時間用在了哪里嗎?不是編寫代碼,而是用在了求解算法和調試程序上了!而算法的求精就是縮短這些時間的最好的方法。它可以使你不用再很費力的苦思冥想到底該怎樣構造算法,使這個過程更條理、更簡明;它也很可能使你不用再為了一個小小BUG而調試半天,因為,它給出的算法已經趨于完美。其實,列一個小提綱(算法)就可以解決很多的問題,生活中不也是如此嗎?所以,求精算法這個最重要的習慣一定要養成的。
其次,要讓學生養成一個良好的習慣就是要做到程序源代碼的清晰度與可讀性一定要高。
第三,要少用goto語句跳來跳去,雖然增加了編寫代碼的靈活性,可是卻嚴重破壞了程序的結構化,容易造成程序運行和大腦思維的邏輯混亂,很可能導致一些很不容易發現的錯誤。而且所有的goto都可以用其他的語句來代替。
五、要編好程序,一個順手的工具是必不可少的。初中信息技術選用的是Visual Basic語言,它是在Basic語言基礎上發展起來的。Basic是Beginner’s All purpose Symbolic Instruction Code的縮寫,意思是初學者通用符號指令代碼,一直都是程序設計入門的首選語言。VB一方面繼承了Basic易學特點,使得初學者很容易從入門到精通;另一方面,VB編程系統十分巧妙地將Windows編程的復雜性“封閉”起來,用戶只需應用其提供的豐富的控件,就能組成豐富的界面。所以一開始要用簡單易用的工具,等掌握到一定程度時,再用功能強大的IDE(Integrated Development Environment集成開發環境)。
通過以上的分析,你會發現,要掌握程序設計,你必須掌握上面所提到的內容。只不過對于初中學生來說,我們首先要讓學生對這一方面的知識要有所了解,逐步培養他們的興趣;同時也要他們了解,這就是程序設計,就這么簡單、有趣,而又充滿的艱辛與苦澀。無論是新手還是老手,要的就是勤學苦練,只有這樣,你才能走上通向程序設計金殿的成功之路。同時你會發現程序設計這項偉大的工程,教予你的不僅僅是一種技術,更是對生命的熱愛,對人生的執著,對完美夢想的追求!