《信息的編程加工》是對前一部分教學內(nèi)容《信息加工概述》的承接,主要描述一個編程過程。通過對整個過程的體驗,讓學生知道利用計算機解決問題的基本思想和方法,從而了解計算機加工信息的內(nèi)在機制。難點是讓學生理解用算法描述實際問題,理解人的思維在計算機工作中發(fā)揮的作用。
一、教學目標
知識與技能:知道利用計算機解決問題的步驟,了解計算機加工信息的內(nèi)在機制。
過程與方法:要求學生體驗一個完整的程序設計過程,并從幾種算法的比較中學會做事情之前先考慮最優(yōu)的方法。
情感、態(tài)度與價值觀:擠養(yǎng)學生對程序設計的興趣,養(yǎng)成利用計算機解決實際問題的思維習慣。
二、教學過程
1.情境引入,激發(fā)興趣
師:同學們下過象棋吧,水平如何?這里給大家講一個“象棋與麥子”的故事。傳說古代印度有個國王非常迷戀棋類,宰相達依爾是個聰明的大臣,他投其所好發(fā)明廠國際象棋。國王愛不釋手,決定獎賞過宰相。達依爾說:陛下,我別無他求,請您在這張棋盤的第一個格千里賞我1粒麥子,在第二個格子里賞我2粒麥子,在第二個格子里賞我4粒麥子,在第四個格—廣里賞我8粒麥子……依此類推,直到第64個格子(國際象棋是8× 8=64格)。把按這張棋盤上各格對應的麥子傘賞給我就可以了。同學們箅一下,國王應獎賞給他多少麥子?
生:1+2+4+8+16+……+204,老師,太人了,算不出來。
師:我們口算是很難算出來的,怎樣才能算出結果呢?
生:用計算器。
師:那也要箅很長時間。老師用計算機設計了一個小軟件,試試看它的效率如何。
教師演示設計好的軟件及其源碼,并得出結果。
生:哇,這么快呀!
師:只需兒秒鐘,汁算機就可以告訴我們結果——共1,8446 7×1019粒麥子,國王大約應賞賜達依爾140萬億升麥子,這下國王可虧大了。
師:看到計算機的好處了吧?只需編個小的程序,再大的數(shù)也能很快算出來。
通過這個小故事,激發(fā)學生學習編程加工的積極性,活躍課常氣氛。
2.提出問題,分析問題
師:計算機不僅能算數(shù),還可以做很多半情,如給數(shù)據(jù)排序。
教師給出任務:體驗一個對校運會100米決賽項目成績進行輸入和排序的程序設計。如果讓我們對這些數(shù)據(jù)排序,該怎么辦?
學生分組時淪排序的方法,教師隨后提問并根據(jù)學生的回答歸納出冒泡排序,插入排序和選擇排序等多種方法。
師:哪種方法最好呢?這些方法都能完成排序的任務,為什么還要分好壞呢,它們有何區(qū)別?(引出算法的概念。)看個例子,著名數(shù)學家華羅庚“燒水泡茶”的兩個算法。算法一:燒水—水燒開后,洗刷茶具→沏茶。算法二:燒水→燒水過程中,洗刷茶具→水燒開后沏茶。如果讓你來選擇,人家會選擇哪種算法呢?
生:算法二。
師:這兩個算法都能完成“燒水泡茶”的任務,為彳十么要選擇第二種算法?
生:因為它節(jié)約時間啊,能讓
師:對,這就是我們設計算法的原因。大家都有過這樣的經(jīng)歷——在機房上課時,如果你打廾的窗口過多,或同寸運行多個人的程序,計算機就會反應遲鈍甚至“此機”。試想一下,如果我們打開的程序都能在很短的時間就運行完,還公出現(xiàn)這種問題嗎……這就足我們設計算法的原因,算法才是程序設汁的靈魂。
使學生對設汁算法的原因產(chǎn)生形象的認識和理解。
師:通過華羅庚“燒水泡茶”的兩個算法例子,我們知道,仟何程序我們都要尋求一個比較優(yōu)的算法。對于給數(shù)據(jù)排序這個程序,我們選擇其中一種比較好的排序算法“冒泡排序”來講解。
演示“冒泡排序”課件(見教材附帶光盤),詳細講解冒泡排序算法的設計思想井分析其程序。
由于學生以后還可以選修“算法與程序設計”模塊進一步學習、因此這里對學生編程的要求不高,只要能大體上了解每一段程序的作用即可。
任務:給學生一個數(shù)組(不超過6個元素),讓學生動手操作,利用冒泡法從小到人排序,使他們真正理解冒泡排序算法,學習解決問題的方法。
3.由點及面,歸納問題
師:大家都習慣于把計算機稱為電腦,那么電腦是不是也跟咱們的人腦一樣能夠獨立思考?
生1:它不會思考,我們讓它干什么,它才會干什么。
生2:不對,我讓它幫我考試,它怎么就不行呢?
生1:那你也得給它輸入指令才行呀。
師:同學們剛才的討論非常好,下面讓我歸納一下。計算機并不能代替人做所有的事情,只會根據(jù)我們事先設計好的程序,也就是輸入的指令來工作。所以說,我們在遇到問題時,先要分析要解決的問題,然后一步一步設計好怎樣做,也就是編寫程序,它才知道應該怎么去做。下面讓我們分析一下程序設計的一般步驟。
教師講解需求分析、算法設計、程序編寫、上機調(diào)試與維護。
4.學生操作,體驗過程
師:剛才我們分析了程序設計的一般步驟,下面我們再回過頭來把對校運會成績進行排序的過程完整地操作一下。
在教師的幫助下,將光盤中的程序拷貝進編程環(huán)境,如VB程序界面,借助代碼中的注釋文寧了解代碼的作用,調(diào)試、運行程序,檢查程序運行結果,體驗編程解決問題的樂趣,體驗利用計箅機進行信息加工的思想和方法。
5.系統(tǒng)回顧,本節(jié)總結
學生操作完畢后,請兒位編程水平較高的學生完整地演示一下操作的全過程,開介紹學習心得。
師:計算機不是無所不能的,它需要按程序所規(guī)定的內(nèi)容和步驟來進行工作。程序設計的世界很精彩,如果我們能夠真正掌握程序設計的原理和方法,它將有利于我們更好地掌握計算機,并利用計算機為我們服務。
(作者單位:山東鄒城市第二中