第一篇:for循環語句教學反思1
For循環語句教學發思
發表人:陸京鵬
我在程序設計教學中的幾點嘗試與反思
如何解決程序設計本身枯燥、難懂,學生普遍不感興趣這個問題,如何找到一種比較新穎的教學方式。我搜集了大量的資料,結合學生的實際情況,在組織有關循環程序設計的課堂教學時,做了以下幾點積極的嘗試,運用體悟教學法、問題教學法和條件遷移教學法在程序設計教學過程中進行了一些具體的運用,并對在程序設計過程中如何培養同學們的邏輯思維能力和抽象思維能力給予了適當的關注。
一、課本原有以知識的邏輯結構體系為順序組織課堂教學的方式,以學生的已有知識為基礎,按照學生的認知規律,遵循先易后難、先具體后抽象的原則,通過觀看、模仿、理解、總結、提高五個階段進行教學。從知識的邏輯結構體系考察,這樣安排無可非議,但從學生的認知規律考量,我認為把對學生開始不講基本概念,而是和我一起做,在做中由同學們自己在直觀上先去體悟這些概念,然后在時機成熟時再和同學們一起歸納總結。所以在組織本章課堂教學時,我采用了自然過渡、類比等方法,與前面所學習到的語句的運用簡單的相比較,提出一些有趣的問題,讓同學們去操作。
二、注意通過一系列問題的引動,來激發學生的學習主動性和加深對一些概念的理解。有一些概念之間的差別和程序的設計步驟如果只通過教師講述,同學們在字面上可以接受,但在理解深度上往往難以達到令人滿意的效果,如果能設計出一系列問題,讓同學們在實踐和解決問題的過程中自己去體驗,情況將完全是另一個樣子。
三、在教學過程中,注意通過在書本原有程序的基礎上逐漸改變和增加條件的方法來提高同學的綜合編程能力。例如,同學們在學習FOR循環時,書本內給出了一段求前100項自然數和的程序。這段程序在同學們弄懂FOR循環之后,理解起來是并不困難的,為了提高同學們的編程能力,我要求同學們對原程序做如下幾種變化:
(1)求1~100中所有偶數的和
(2)計算并輸出1-3+5-7+……-99+101的值
(3)在程序運行過程中任意輸入一個自然數n,計算n的階乘n!(n!= 1 × 2 × 3 …… × n),并將結果輸出。
這里第一小題和書本原程序相比難度不大,只要將循環的跳數改為2即可,在模仿的前提下同學們就可以完成。第二小題難度相同,在編程過程中,需要做的變換是奇數變偶數。循環變量相似。第2小題在前面的基礎上又增加了一點要求,即循環變量的終止值需用變量n來表示,二需要在程序的前面增加一條定義變量n的語句。這兩點要求同學們能夠把以前所學的知識綜合起來運用,對剛剛學習編程的同學來說這還是有一定難度的,但通過練習同學們的綜合編程能力可以得到訓練提高。
四、程序設計教學中可以有意識的在以下幾個方面給予比較多的關注:(1)對于一些比較簡單的程序要求同學們直接寫出結果;(2)對于有循環或判斷結構的程序,要求同學們根據條件一步步向前走,把循環過程寫下來;(3)故意給出一些錯誤的程序,給同學們設計一些陷阱,讓同學們自己去發現;(4)讓同學們把書本中程序編寫錯了的地方改正過來。
程序設計教學的主要目標是為了使同學們了解現代程序設計理論中的面向對象編程和結構化程序設計等基本思想,培養現代程序設計過程中所需要的一些基本能力。圍繞著這個目標,在保護同學學習積極性的前提下,按照同學們的認知規律組織教學,一切可行的教學方法都可以在我們的教學過程中加以運用。
第二篇:循環語句教學反思 15
循環語句教學反思
本節在教材中的作用及地位:本節在教材中起著承上啟下的作用。一方面把框圖轉化為語言,將循環結構在計算機上實現,另一方面為以后學習較復雜的流程圖打下基礎。
學生知識現狀分析: 1.學生掌握了三種基本結構的框圖; 2.學習了輸入語句、輸出語句、賦值語句和IF語句; 3.學生有一定的上機操作經驗。教學目標分析:
知識目標:掌握循環語句的功能和格式,能由循環結構寫出循環語句,并學會用計算機解決簡單的實際問題。
能力目標:通過觀察、轉化、類比、聯想等思想方法的運用,培養探索能力和邏輯思維能力,增強表達能力。
情感目標:在合作學習中形成團體精神,在觀察發現中樹立探索精神,在上機操作中增強實踐意識,在編程成功后體驗學習樂趣。循環語句是在學習完三種程序框圖以后,又學習了輸入輸出語句、條件語句之后本節課主要學習對應于程序框圖中的兩種循環結構的兩種循環語句(WHILE語句和DO語句),理解兩種循環語句的格式及運行方式,清楚知道它們的區別與聯系。回想著這節課的得失:
這節課由創設情境,設置一系列問題,引導學生思考、歸納、總結。學生根據教師提供的情境,主動探索知識,歸納知識。我認為我這點把我較好。這節課從學生已有的知識引入寫出1+2+3?100的程序框圖和語句,復習舊知識同時引入新課將對應的循環結構改寫成循環語句,辨析兩種循環結構的異同點,之后以當型循環為重點,分別從以下幾個方面展開新課:改寫當型循環的程序框圖為對應的程序語言;對照特殊的循環語句與一般的循環語句,講解循環語句的執行順序;師生共同分析當型循環語句的特點;重點分析循環體追蹤計數變量和累加變量的變化;對照直到型程序框圖與直到型循環語句;最后比較直到型循環語句和當型循環語句的區別;第三個環節是練習鞏固,第一個層次是辨析循環語句中初始值、條件、循環體對程序功能的影響,給出三組對照讓學生辨析各自的功能,之后給出三組練習:分別是添加完整程序,看程序計算輸出結果,看程序寫出對應的程序框圖。最后一個環節是作業,分別布置了以下幾個層次的作業:給出兩個程序辨認是否功能一樣,對應練習給出每種一個作業題,布置了有點難度的思考題。我認為我的課堂程序把握得當,重點突出,學生該掌握的落實了。
循環結構是三種基本結構中最為復雜的一種,學生第一次接觸循環結構的程序設計,程序的分析和設計都有一定難度。通過這節課的教學,發現了一些比較適用的方法,也看到了很多在教學過程中需要改進的方面。
一、應把講臺“讓”給學生
不管怎樣說,在這節課中我還是講得太多了,并沒有給充分的時間讓學生站起來發表自己的看法,學生在教學中的主體地位還有待提高。應該盡可能多地讓學生提出自己的想法,讓他們相互探討,教師在課堂上只需要做一個“主持人”,為其創造一種氣氛,并維持一種高效的秩序。
二、啟發式教學法在我們的學生中也是可行的
使用啟發式教學最大的好處就是能調動學生的主觀能動性,讓學生通過自己的努力來探求新的知識,不光有知識的積累,還有學習能力的提高,也讓學生在這個過程中體會到成功的樂趣,增強信心,培養興趣。
總懷疑我們學生的能力,以為不管怎樣“啟”,他們也“發”不出來,但這次教學的實踐證明,學生表現得非常活躍,教學效果也不錯。
三、教學方法要靈活多樣
啟發式教學雖好,但在教學過程中用得太多了,整個教學過程顯得有些單調。盡管也用了一點討論法,但問題難度小了一些,學生沒有充分地討論起來。
如果在教學中能夠根據教學內容和學生情況靈活地采用多種教學方法,肯定能讓整個課堂活躍起來,使學生能完全融入到教學內容中,這還需要在今后的教學中去不斷地嘗試和研究。
第三篇:FOR循環語句教學設計
FOR循環語句教學設計
一、教材分析:使用教材:教育科學出版社出版的《算法與程序設計》(選修)。循環結構是程序設計的三種基本結構之一,是程序設計的基礎。這節課是循環語句的第一部分內容,教材只是通過一個應用題引出了循環結構,并應用for循環結構實現了程序和編寫,沒有給出其語句格式和執行過程。我認為這樣會導致一些學生進行簡單模仿,而不是真正的掌握和理解。學生只有熟練掌握了FOR循環語句的語句格式,理解循環執行過程,才能在實際應用中游刃有余。因此本部分內容分二節課完成,這節課主要講for循環語句的語句格式及其執行過程,下節課再講實際應用。
二、學生分析:教學對象為高二的學生,在高一下學期數學課上學過程序設計三種方法及流程圖的畫法,但沒有上機實踐。通過前面的學習對VB程序設計已有了一定的認知并且剛學習了順序結構和分支結構。
三、教學目標及確立依據:根據本節課教學內容以及學生的特點,結合學生現有知識水平,確定本節課教學目標如下:
1、知識目標::
1)掌握FOR循環語句的基本格式; 2)理解FOR循環語句的執行過程;
3)能根據實際問題確定程序中的循環變量、循環條件和循環體; 4)能用for循環結構編寫簡單的程序。
2、能力目標:培養學生分析問題,解決問題的能力。
3、情感目標:使學生積極參與,發揮他們的主動性,激發他們的求知欲。
四、教學重點、難點及確立依據: 學生只有掌握了for循環語句的語句格式,理解了其執行過程,才能在實際應用中得心應手。
教學重點:
1、掌握FOR循環語句的基本格式;
2、理解FOR循環語句的執行過程;
教學難點:根據實際問題,確定程序中的循環變量、循環條件和循環體。教材處理:教材上沒有講for循環語句格式,也沒講它的執行過程,直接講了它的應用。若直接按教材上的來講,學生不容易接受。很容易造成學生的簡單模仿,而不是真正的掌握。所以先用一節課的時間講for循環語句的語句格式,執行過程。下一節再講其實際應用。
五、教學環境:多媒體教室(無網絡)
六、教學過程:
自我評析:這是我評教學能手時設計的案例。在整個教學過程中,充分體現了學生的主體地位、以及對學生各種能力的培養。無論是引入課題還是對本節課的重點、難點,我都沒有直接講解,而是通過啟發引導、提出問題、鞏固練習等形式,充分調動學生的學習積極性,使他們參與到教學的整個過程,讓學生在積極思考,積極探索中掌握新知識、消化本節課的重點、難點。從反饋情況來看,這是一節比較成功的課。當然也有不足之處,希望同行們批評指出。
第四篇:FORNEXT循環語句教學設計
FOR/NEXT循環語句教學設計
----建構主義指導下的教學設計案例
一、課前分析
教學內容:FOR/NEXT循環語句。
1、教材分析
1)教學內容和地位:程序設計是教學中的重點也是難點,循環結構是其中的一種設計結構,其作用是使一段程序反復執行。FOR/NEXT語句是循環運算的專家,在程序設計中頻繁出現。本節課的學習,會使學生對算法有一個更深刻的理解,為實現獨立編程起到了關鍵性作用。
2)教學重點與難點:本節課重點是掌握FOR/NEXT循環語句的格式,并能運用其來編制簡單的小程序。難點是解決問題的方法和思路,要繪制好流程圖,確定循環變量和循環體。因為用流程圖描述算法,能夠把解決問題的步驟清晰、直觀地表示出來。
2、教學目標分析:
1)認知目標:通過FOR/NEXT語句的學習,寫出簡單的循環程序。2)能力目標:培養學生分析問題,解決問題的能力。3)情感目標:激發學生學習熱情,培養學生學習的積極性。
二、教學過程
1、創設問題情境
師:同學們,請先看這個圖形(畫5個豎行排列的“*”),想想看用以前學過的程序設計語言怎樣來編寫它的程序呢?(本節程序均設置為單擊命令按鈕cmdstart運行即代碼加在private sub cmdstart_click())
生(稍做思考,然后回答):使用PRINT語句 PRINT“*” PRINT“*” PRINT“*” PRINT“*” PRINT“*” 師:同學們做得很好,那么,我想畫10行,100行,1000行“*”呢?難道就這樣順序寫下去嗎?這樣編寫是不是太繁瑣了。如果能讓計算機去完成這部分重復的內容,而我們只要告訴計算機重復操作的次數就可以了,這個愿望能否實現呢?能!通過我們今天學習的FOR/NEXT循環語句,就可以很容易的實現這個愿望。
[疑問是建構教學的起點。新課伊始,就提出一個真實的問題,力求創設一種教學情境,它可以激起學生的未知欲,有利于建立新的認識結構。]
2、給出程序,并通過流程圖加以理解
師出示上題程序代碼并通過流程圖和卡通圖片分析 程序代碼: cls
forI=1to5step1 print”*” next
師:循環結構也稱重復結構,它的作用是使一段程序能重復執行,被重復執行的部分稱為循環體。但重復一般都是有條件的,即在滿足FOR語句中的條件下才執行循環體,否則退出循環體。下面我們就來看一下FOR/NEXT語句的語句格式:
格式:FOR〈數值變量名〉=〈數學表達式1〉TO〈數學表達式2〉STEP〈數學表達式3〉 〈語句序列(循環體)〉 NEXT
說明:1)當步長為1時,STEP 1可省略不寫;
2)語句序列中可以含有任意多條語句,也可無任何語句,稱為空循環; 3)語句序列中可以含有循環結構;
4)有時需中途退出循環,這時用EXIT FOR命令。
3、設置“陷阱”,強調語句格式。
[師出示下列有錯誤的程序段。學生分成六組討論,發現錯誤并糾正,然后每組完成一題。在討論中,學生扮演了一個積極的參與者的角色自覺思考、積極發言,講出自己的思考和結論,并與他人展開爭辯,在自主探索中掌握知識要點,同時也可學習到他人的好的思維方式和學習方法。]
1)打印1~5這5個數clsfor n=1 to 5 step?1print n next[步長應為1]2)打印5~1這5個數clsfor n=5 to 1 print n next[步長為-1,不能省,應for n=5 to 1 step?1] 3)打印1~5這5個數clsfor 1 to 5 print “n” next[n加上引號,就變成了字符串,應把引號去掉]4)s=0 for x=1 to 10s=s+xif s>20 then exitend if print x next[退出FOR循環語句為EXITFOR]
5)打印1~5這5個數clsfor n=1 to 5 print n[FOR與NEXT必須成對出現,不能缺省] 6)打印1~5這5個數clsfor 1 to 5 print n next[循環變量n要賦值,for n=1 to 5]
4、閱讀程序,為程序設計打基礎
[教學中通過分析已有程序,慢慢滲透程序設計的思想方法,引導學生從模仿開始,由易到難、循序漸進,逐步過渡到獨立進行程序設計。]
師:請同學們分析下列程序,繪制出流程圖,說出程序功能。示題。
s=0 for x=1 to 100 s=s+x next prints功能:求1到100的和clsfor I=20 to 10 step?2 print Inext功能:輸入出20,18,16,14,12,10六個數
(流程圖略)
5、突破難點,嘗試獨立編程。
[嘗試是開始某種新事物所必需的。任何事情的第一次都需要勇氣,教師要鼓勵學生大膽嘗試編程,在一次次嘗試中獲取分析、解決問題的經驗。注意選題的難度要適當]
師:剛才我們通過分析閱讀已有程序,對循環結構又有了進一步理解,但我們不能僅局限在看懂、讀懂程序上,我們的目的是要自己完成程序設計。首先要進行審題,認真分析題目需要解決什么問題,達到什么目的,然后從已知條件出發,分析經過哪些處理才能解決問題。再把分析出來的處理步驟用流程圖表示出來,最后用VB語言描述出各個解題步驟,程序設計就不會讓你束手無策。下面我們就參照例題,按照老師介紹的程序設計步驟,試著來自己來編制2個小程序。
[這兩道題在循環體這一部分稍有難度,采取分組討論,共同寫流程圖的方法,最后由學生獨立寫出程序代碼,并上機調試]
1)編寫程序,求100以內的奇數和clss=0 for n=1 to 100 step2 s=s+n print s next2)編寫程序,y=x+2,當x=1,2,3,4,5時,y的值分別是多少。Clsfor x=1 to 5 y=x+2 print y next
5、歸納小結,反思提高
[學生總結本節課的FOR/NEXT語句的格式和功能,運用語句進行程序設計的步驟。唯有反思,才能控制思維操作,才能促進理解,提高自己的元認識水平,從而促進程序設計的算法形成和發展,實現良好的循環。]
總結略。
師:各門學科之間,各學科的內容之間都是有聯系的,都不是孤立的,同學們要把知識動態化,多角度、多方式地去思考,掌握知識的內在聯系,提高解題能力,開闊自己的視野。課后請同學們完成這樣一個程序設計作業:(作業與數學知識聯系密切)
作業:試編寫程序,求10!。總評
本節課教師采用分析法、演示法、實驗法、討論法等多種教學方法,充分體現了學生是教學活動中的主體;而教師通過對學生參與學習的啟發、調整、激勵來體現自己的主導作用。學生在合作學習中目標明確、態度積極、氣氛活躍,有效地培養了學生的分析問題、解決問題能力,體現了學習的主動性。不足之處是練習題略多了一點,時間有些緊張。
第五篇:DO循環語句教學設計
DO循環語句教學設計
【教材內容分析】
注重實例分析,將程序設計語言作為解決問題的工具,充分利用VB的特點,從實際需要出發,圍繞實例進行DO循環語句教學并上機實踐程序代碼的編寫。本節內容屬于程序設計基礎部分中循環結構內容的教學,循環結構是程序設計中的重點也是難點,僅靠教材上的一個例題是不能讓學生真正掌握和理解的。實現循環結構的語句除了FOR循環語句之外,還應該給學生介紹DO循環語句,它可以實現未知循環次數的循環結構。【學生情況分析】
本模塊教學對象為高一的學生,在學習本課之前,學生已經學習了FOR循環語句,理解了循環的含義,并且能夠運用FOR循環語句實現累加計算。本階段的學生求知欲望強烈,喜歡自己思考問題,但缺乏互相討論的意識。由于“算法與程序設計”模塊的特點,內容抽象難懂,表現形式枯燥,很容易造成書寫程序的畏難心理,因此教師需要幫助學生克服這種心理障礙。【教學方法】
教法:實例分析、任務驅動 學法:自主探究、協作學習【教學資源】
教師用資源:教學演示文稿(PPT)學生用資源:“折紙游戲”源程序 【教學目標】 知識與技能:(1)能夠按照格式要求正確書寫DO循環語句。
(2)結合實際問題,能夠理解Do While……Loop格式的執行過程。(3)能夠說出FOR循環語句與DO循環語句的區別。過程與方法:
(1)通過實際問題分析,能夠正確選擇所應用的循環語句。
(2)根據問題需求,能夠確定循環控制條件及循環內容,積累程序設計經驗。情感態度與價值觀:
(1)在“折紙超身高”和“植樹問題”的實例分析中積極思考,形成主動探究新知的意識。
(2)增強DO語句在實際生活中的應用價值,提升主動學習程序設計的欲望。【教學重點】
DO循環語句的執行過程及適用條件。【教學難點】
結合實際問題,確定控制循環的條件及循環內容。【教學過程】
環節1:創設情景,趣味引出
(設計意圖:在游戲中激發學生興趣,找出紙的厚度的變化規律。)
教師:一張普通的辦公用紙,它的厚度大約有0.05毫米,現在要將此紙對折5此,紙的厚度是多少?你有哪些計算方法? 學生:(1)0.05*25(2)對折一次,計算一次。這樣每次對折的厚度是上一次對折厚度的2倍。教師:很好!用賦值語句來實現就是S=2*S。環節2:循序漸進,發現問題
(設計意圖:鞏固FOR循環語句的應用,在問題分析中引導學生發現FOR循環語句的不足,引出本課的主題。)
教師:經科學實驗證明,由于紙的厚度和柔韌度的影響,一張紙最多只能對折7次。(來源于中央電視臺的“走進科學”欄目)
因此,下面將要研究的問題是在理想的狀態下。(提問)將此紙對折10次,紙的厚度是多少?
學生:(打開練習源程序,完善教師給出的不完整程序。)
教師:(再次提問)如果有一張無限大的紙,對折多少次后紙的厚度能夠超過你的身高呢?
學生:(學生上機嘗試修改程序)
教師:(提問完成的學生)你的計算結果是什么?你是如何修改程序的? 學生:我的身高是1.62米,需要對折15次。(展示其修改的程序)
For N=1 To 15
S=2*S
If S>1620 Then Print N,S
Next N 我在循環中加入了判斷,如果紙的厚度超過了1.62米,則輸出折紙次數和紙的厚度。
教師:(進一步提問)你是如何確定循環次數的呢?
學生:(邊講解邊演示)先把終值稍微改大一些,比如12,運行程序發現沒有輸出結果,我覺得可能是估算次數太小了,于是我又把終值設為20,運行程序發現輸出了多組數據,從這些數中我發現應該是折15次。
教師:從這位同學的嘗試中可以看出,要想得到正確結果,需要不斷測試終值。終值小了,沒有輸出結果;終值大了,就會有多余的數據輸出。因此要實現次數未知的循環,FOR語句是比較困難的。為了解決這個問題,今天同學們將學習一種新的語句——DO循環語句。(教師板書課題)環節3:講解新知,初試身手
(設計意圖:講授DO循環語句的相關知識,利用“折紙計算”初步體會DO循環語句的實際應用。)
教師:首先我們來了解DO語句的格式。(教師板書)(結合流程圖講解DO語句的執行過程)
按照程序自頂向下執行的原則,當程序遇到DO語句時,首先判斷WHILE后面的條件,如果條件滿足,將執行循環體語句,之后再判斷條件是否滿足,從而形成重復的過程,直到條件不滿足時結束循環。
學習了DO語句的基本知識,該語句在“折紙計算”問題中如何實現呢?(課件展示計算過程,如右圖。)請同學們嘗試將流程圖用程序 語言實現。
學生:(學生上機實踐)
教師:(巡視學生,對個別人進行指導)
已經有同學完成了程序代碼的書寫,他發現有多組數據輸出,我們來幫他看看問題出在哪里?
(利用電子教室軟件轉播一位學生的程序代碼)Do While S<=1600
N=N+1
S=2*S
Print N,S Loop 學生:(互相討論)
輸出語句應該放在Loop的后面。教師:(進一步追問)為什么呢?
學生:因為輸出語句不屬于重復執行的部分。
教師:很好!請大家注意這個問題。下面,程序仍有問題的同學繼續調試;已完成任務的同學,請嘗試一下計算至少對折多少次后紙的厚度能夠超過珠穆朗瑪峰的高度(8844米)。
學生:(結合自己完成任務的進度有選擇的上機實踐)
教師:(階段小結)通過實踐發現,FOR語句實現次數未知的循環時需要估算循環次數,并且在循環體中需要加入條件語句進行判斷;而用DO語句時則不必考慮循環次數的限制。因此,在實現次數未知的循環時,利用DO語句是比較理想的。
環節4:再接再厲,融會貫通
(設計意圖:通過閱讀兩段相近的程序,體會DO語句的執行過程,并強調避免死循環的重要性。)
教師:(課件展示練習內容,如右圖。)閱讀程序1,思考其執行結果是什么?
學生:(思考后回答)a和b的初值分別是50和15,此時a的值大于10,執行一次循環,即a=35;此時a的值依然大于10,再執行一次循環,a=20;此時a的值依然大于10,再執行一次循環,a=5;此時a的值小于10,循環結束。因此結果是:35、20、5。
教師:閱讀程序2,思考其執行結果是什么?
學生:(思考后回答)結果是35、15、35、15、……。因為此時a的值是50,程序中沒有修改a的值,因此a>10永遠成立,循環將會永遠執行下去。教師:(演示程序)我們上機運行一下這個程序。這種現象我們稱為“死循環”,即程序會無休止的運行,此時可以利用“Ctrl+Break”組合鍵終止程序運行。由此可以看出用DO語句實現循環時,為了保證循環能夠正常退出,循環體中必須有改變條件變量值的語句,避免出現“死循環”。環節 5:鞏固知識,拓展提高
(設計意圖:鞏固DO循環語句的使用,提高分析問題、書寫程序代碼的能力。)教師:(問題描述)
陳婷今年17歲,為了支持環保,她在今年生日的這一天種了1棵樹。她有一個美好的愿望,那就是從明年開始她每年比前一年多種一棵樹。這樣下去,到多少歲時才能累計種到活超過100棵? 請同學們分組討論可以有哪些實現方案。學生:(分組討論,上機實踐。)(成果展示交流)
學生甲:(展示其實現的程序)
Dim tree As Integer
Dim n As Integer
Dim t As Integer
tree = 1
n = 17
t = 1
Do While tree < 100
n = n + 1
t = t + 1
tree = tree + t
Loop Print “到”;n;”歲時累計種到”;tree;”棵” 學生甲講解:
我用tree表示種樹總和、n表示年齡、t表示每年種的樹,在總和不超過100的條件下,年齡要+1,計算當前這一年要種的樹,還要計算出當前的種樹總和。
學生乙:(展示其實現的程序)Dim tree As Integer Dim n As Integer tree = 0 n = 0 Do While tree < 100
n = n + 1
tree = tree + n Loop Print “到”;n+17;”歲時累計種到”;tree;”棵” 學生乙講解:
在循環中我沒有計算年齡的變化,因為n既可以表示每年種樹,也可以表示種了多少年,因此最終的年齡應該是n+17。學生丙:(展示其實現的程序)
Dim a As Integer Dim t As Integer a = 17 t = 1 Do While t < 100 a = a + 1
t = t + a-16 Loop Print “到”;a;”歲時累計種到”;t;”棵” 學生丙講解:
我用a表示年齡,用t表示總棵數。我發現每年所種樹木=年齡-16,因此計算總棵數就可以用t=t+a-16。
教師:看到同學們用多種方法完成了問題求解,老師很高興。同學們的方法都有自己獨到的見解,這說明大家在程序設計的道路上又邁進了一大步。環節6:自我考察,課堂反饋
(設計意圖:通過完成教師給定的練習題,重點考察學生對DO循環語句執行過程及“死循環”的理解,)
學生:(完成教師指定的練習題目,并將答案反饋給老師。)
1.以下程序的運行結果()
Dim a As Integer
a=1
Do While a<=10 a=a+2 Loop Print a;
A、10
B、11
2.以下哪種情況會出現“死循環”(A、x=0 s=0
Do While s<=20
s=s+x
Loop Print x B、a=5
b=10
Do While a
a=a+1)
b=b-1
Loop
Print a,b 教師:(根據學生的反饋總結)
通過同學們給老師反饋回來的答案看,大家對DO循環語句的執行過程基本上沒有太大問題,正確答案是B。第二個練習中的A選項中雖然循環體中的s=s+x貌似對循環條件變量s的值進行了修改,但x的值始終是0,因此s的值并沒有變化。
環節7:總結提升,結束本課
(設計意圖:總結在實際問題中循環結構的實現過程,強調DO語句在實際生活中的應用。)
教師:到目前為止,同學們已經學習了兩種循環語句FOR和DO,以后在遇到循環問題時,該如何運用這兩個語句呢?我們需要分析以下幾點(課件展示內容)1.
循環次數:
次數已知——一般采用FOR語句實現 次數未知——一般采用DO語句實現 2.
進行循環的條件: FOR語句——由循環終值控制
DO語句——循環體中必須有改變循環條件的語句
3.循環內容:需要重復執行的語句。
在日常生活中,次數未知的循環問題還有很多,比如:現在的音樂播放器都有循環播放的功能,當點擊“停止”時,循環結束;為保證信息安全,現在的手機卡密碼都有輸入次數的限制,當連續輸入3次錯誤的密碼時,SIM卡將被鎖。這些都可以用今天學習的知識解決。
(強調)程序為生活服務,希望同學們嘗試將更多的程序應用到日常生活中。【板書設計】 DO循環語句 格式:
Do While 條件 循環體 Loop 【教學反思】 1.以問題為主線。
本課充分體現了新課程的理念,在問題解決中學習新知,在問題中提升能力。為引起學生興趣,本課中所選實例均來自于生活,使學生能夠意識到所學知識的實用價值。
2.情景引入,恰到好處。
本課從折紙游戲出發,調動了學生學習的積極性。通過“折紙游戲”復習鞏固了FOR循環語句的知識,通過學生自己嘗試“折紙超身高”的計算,發現FOR語句在實現次數未知循環上的局限性,由此引出了學習DO循環語句的必要性。3.恰當引導,發散學生思維。
“算法與程序設計”涉及的知識范圍非常廣泛,其中尤其與數學知識聯系緊密。本課抓住了這一學科特點,在講授DO語句的相關知識后,引導學生完成“折紙超身高”的計算,教給學生應用DO語句解決問題的思想。鞏固知識之后,由學生自主完成“植樹問題”的求解,通過實際上課發現學生想到了多種解決問題的方法。由此可見,發散學生思維,可以收到意想不到的效果。4.不足之處
在學生進行折紙計算的過程中,我主要采用的是“半成品”教學法,即給出部分程序代碼,由學生來填空。這雖然降低了難度,但對于優秀生來講無疑出現了“吃不飽”的想象,因此要考慮到對學生的分層教學。