挖空演算法
1. 如何解決演算法多樣化帶來的問題
提倡演算法多樣化是新課標倡導的重要思想,是指尊重學生的獨立思考,鼓勵學生探索解題的不同方法。我在教學中也進行了演算法多樣化的嘗試。
在教學時,我創設了一個情景:出示鉛筆,「這是一盒鉛筆,裡面裝了10支鉛筆,這里還有5支鉛筆,老師這里一共有多少支鉛筆?」學生很快算出來是15支,我又問:「我有15支鉛筆,要送給小朋友9支,還剩多少支?」並寫出算式:15-9= 我讓學生通過從15支鉛筆中拿走9支鉛筆的辦法來解這個算式,問學生「誰願意來拿走9支?並說說你是怎麼拿的?」
生1:我是先拿走5支,再從10里拿4支。15-5=10 10-4=6
生2:我是從10里拿走9支。10-9=1 1+5=6
生3:我是先從10里拿走4支,再拿走外面的5支。10-4=6
生4:我還有不同的方法。我從外面拿走4支,再從10裡面拿走5支。
5-4=1 10-5=5 1+5=6
生5:我從外面拿走1支,再從10里拿走8支。5-1=4 10-8=2 4+2=6
生6:我從10裡面拿走7支,從5里拿走2支。10-7=3 5-2=3 3+3=6
生7:因為9+6=15 所以15-9=6
學生熱鬧的發言給出了多種不同的方法,確實可以說是做到演算法多樣化了,可是面對這許多種演算法,我心裡有點著急。一急:這每一種方法都要給學生一一介紹嗎?光是第一種方法,如果要學生掌握,大概需要半節課。每一種方法都介紹,課怎麼上得完呢?二急:要不要從這眾多的演算法中選出優演算法?如何選?三急:如果要選優演算法,應重點選擇哪種方法?四急:還有一部分學生連一種方法都不清楚,我要不要講解?五急:如果不把每一種演算法都講清楚,學生怎麼會知道這種方法是否適合他?也許沒講到的那種方法剛好就是最適合他的呢?六急:對一部分學生,如果不把一些思維方式強加於他,他可能一直會用數手指頭的方法,難道就讓他一直這樣嗎?……
但是,課堂教學的緊迫容不得我的茫然,我選擇了介紹了生1和生2的方法,並著重讓學生通過擺小棒的辦法領悟第2種方法。
這個處理過程可以說是我把我個人的看法和思想強加給了學生,這不是我希望看到的情形。學習是為了什麼?要不要學到一定的知識?答案是肯定的。可是當不是所有的學生都能主動建構知識的時候,教師該如何做呢?
演算法多樣化的教學思考及其策略把握
「鼓勵演算法的多樣化」是新課程標準的一個重要理念。當前,根據新課程標准編制的各種版本的教材,都將這個重要理念擺在突出的位置。演算法多樣化已得到廣大教師的極大關注和積極實踐,但在算化多樣化的理解和把握上則各不相同:有的教師要求學生對各種方法都要理解掌握,有的教師認為應該從中選取一種最好的方法,還有的教師認為應尊重學生的「原創演算法」,讓學生「你想怎麼算就怎麼算」。可見,在演算法多樣化的教學中確實存在著急需解決的實踐問題。
以「20以內退位減法」為例,敘述了自己在教學中進行演算法多樣化的嘗試,並提出了自己的教學困惑(即文中的「六急」)。回顧我鎮實施新課程的起步階段,我鎮基層教師在進行演算法多樣化教學時也曾經歷過,因此她的困惑具有一定的普遍意義。下面就結合我鎮在演算法多樣化上的研究和實踐,談談我們對演算法多樣化的教學認識以及策略把握。
一、為什麼要提倡演算法多樣化
1.這是計算教學的價值所在
隨著計算機(器)的普及,計算教學的要求正在逐步降低,計算教學的目的正在發生轉變,不僅是原先要求學生熟練、正確的計算技能(實際上新課程標准已降低了計算要求);更重要的是,計算教學的價值是突出演算法思維,在倡導演算法多樣化的過程中,培養學生的創新精神、探索意識和解決問題的能力。我國著名數學家吳文俊院士在數學機械化領域的開創性工作,引發了國際數學界對中國古代數學的傳統(即演算法化思想)的重新審視。當前我們的中小學數學教學應當繼承和挖掘我國古代數學傳統之精華。因而有學者提出,身處信息社會的學生必須掌握兩種重要的思維方法,即批判性思維和演算法思維。長期以來,我國的小學數學教學把培養學生的計算能力作為小學數學基礎的核心,但面對計算機信息技術的迅猛發展以及國際數學教育的改革潮流,小學數學的基礎不能僅僅停留在「熟練的計算能力上」。對於計算教學,應當從傳統的「方法統一和過分強調計算技能」轉變為「尊重學生的個性特點、關注學生思維能力的培養」。所以,計算教學不僅僅是培養學生的計算技能,還要培養學生推理計算的能力,強調演算法思維的多樣性。演算法多樣化的本質是讓學生從自己已有的知識與經驗出發學習新知識,鼓勵學生通過獨立思考而探尋解題的方法。對於「15 -9」的演算法探索,體現了「知識再發現」的要求,這對培養學生的創新精神和探索意識是極其有利的。
2.這是尊重學生不同認知方式的體現
以往的數學教學中,過分地強調解題方法的唯一性或計算方法的最優化,而忽視了學生解決問題過程中不同的思維方式和不同解決策略的探索。實際上,在計算教學中,由於學生認知方式的不同,在探索過程中必然會引發計算方法的多樣性。認知方式是個體在知覺、思維、記憶和解決問題等認知活動中加工和組織信息時所顯示出來的獨特而穩定的風格。認知方式沒有優劣之分,只是表現為學生對信息加工方式的某種偏愛。教學中,特別是在新知識的探索階段,理應尊重每一個學生的個性特徵,允許不同的學生從不同的角度認識問題,採用不同的方式表達自己的想法,用不同的知識與方法解決問題。面對新知識,學生用自己過去的經驗與本領來加以解決,教師給予適當的鼓勵和評價,這是尊重學生不同認知方式的體現。
二、如何把握演算法多樣化
1.注意演算法的簡約化和優化
一方面,學生認知水平各有高低,這決定了其解決問題的方法必然存在優劣之分。有時學生的方法會顯得過於繁瑣,如生4、生5和生6的方法;有時學生的方法缺乏思維的共性,無法作為基本方法而供學生選用等。另一方面,推動數學發展的內在動力之一,就是數學家探索方法的簡單化和最優化。因此,教師在教學中倡導演算法多樣化的同時,還要引導學生對多樣化的方法進行一定的簡化與優化(不是指最優化),把簡化與優化的過程作為學生反思以及進一步探索的過程。如果在教學中對學生良莠並存的各種思維方式以及演算法視而不見,對影響學生後繼學習的核心基礎知識和基本方法放任不管,那麼就會失去教師「教」的真正意義,學生也就失去了自我反思、比較、交流和提升的機會。
2.明確每個教學階段的目的
(1)探索階段,重在倡導演算法的多樣化。教學中,讓學生通過自主探索、獨立思考,提出自己解決問題的方法。如果有的學生有困難,允許學生之間進行一定的討論與交流;對於認知水平較高的學生,還要鼓勵他們提出不同的解決方法。這一階段,教師教學的重要策略就是啟發、引導、鼓勵學生,讓學生「你想怎麼算就怎麼算」。學生主要通過自主探索,提出解決問題的方法,培養學生的探索意識和解決問題的能力。需指出的是:其一,演算法多樣化不等同於「一題多解」。在教學中,有的老師往往把演算法多樣化等同於「一題多解」,要求所有學生盡可能地探索出幾種方法,結果使一部分認知水平較低的學生產生畏懼情緒,也增加了學生不必要的負擔。對此,北京師范大學周玉仁教授指出兩者是有區別的。她認為,「一題多解」是面向學生個體,尤其是中等以上水平的學生,遇到同一道題可有多種思路多種解法,目的是為了發展學生思維的靈活性。而「多樣化」是面向學生群體的,學生可以用自己喜歡或能理解的演算法,對學生個體來說,不要求每人都想出或掌握兩種或更多種演算法;同時在群體多樣化時,通過交流、評價可以吸收或改變自己原有的演算法。這對我們廣大教師來說,具有很強的實踐指導意義。其二,演算法多樣化應防止陷入形式化的誤區。我們強調自主探究,倡導演算法多樣化是以關注學生的獨立思考,尊重學生的個性為重要目標的。教學中,教師不必煞費苦心「索要」多樣化的演算法,片面追求演算法多樣化的探究,那隻能是造成學生低層次思維的重復,或者「依他人之樣畫瓢」而已。生4、生5和生6的計算方法,反映出教師在演算法多樣化的處理上有這樣的影子,教師還沒有準確把握操作和思維的關系。
(2)總結階段,重在對演算法進行歸納與優化。在學生自主探索的基礎上,把自己解決問題的方法進行交流與匯總。這里要強調的是,教師一定要引導學生在交流與匯總的基礎上對學生提出的各種解題方法給予分析、歸納與優化。不然,演算法的多樣化有時往往會讓一些中、差生感到眼花繚亂,無所適從,以致方法越多越糊塗,達不到演算法多樣化的教學目的。事件中學生通過自己的探索,全班交流得出的計算方法有7種之多,但很可惜,教師沒有引導學生對各種方法進行一定的分析與歸納、簡化與優化。
其實在這一階段,教師要引導學生對各種方法進行一定的考察,分析各種方法的特點,並對各種方法進行一定的歸類。事件中生1的計算方法是「平十法」(又稱「連減法」);生2的計算方法是「破十法」;生3、生4、生5和生6的計算方法都是通過把15和9進行分拆,再利用原有的不退位減法和加法知識加以解決的,屬於同一類;生7的計算方法是利用加減法之間的關系,即「做減法,想加法」而加以解決的。在此基礎上,對於各類方法可以作進一步分析,讓學生感悟、理解探索和解決問題的數學思想方法,即把要解決的新知轉化為學過的舊知而加以順利解決。對於生3、生4、生5和生6的計算方法,引導學生去分析這些方法的缺點和弱點而加以舍棄,以突出基本原理和通用方法,切實加強數學課程的基礎性。通過上述的教學處理,即在倡導演算法多樣化的基礎上,引導學生對多樣化的演算法進行分析與歸納、簡化與優化。
(3)應用階段,則應當鼓勵演算法的個性化。即尊重學生的不同認知風格,允許學生「你喜歡用什麼方法就用什麼方法計算」。我們倡導演算法的多樣化,決不是簡單地讓學生「你想怎麼算就怎麼算」,而是在對多樣化演算法的分析與總結的基礎上,倡導科學、合理的方法,舍棄不科學、不合理的方法,再讓學生「你想怎麼算就怎麼算」,真正體現出演算法多樣化的本質要求。在應用階段,教師鼓勵學生演算法個性化,自主選擇經過大家歸納、優化後自己所理解、認可和喜歡的一種方法;但同時不排斥一部分認知水平較高的學生,用自己喜歡的多種計算方法計算;同樣,也允許個別學習困難的學生暫時保留經過優化已遭淘汰的方法。當然,這里允許個別特殊學生保留已遭淘汰的方法,並不是說教師可以遷就學生的現有發展水平,放棄教師的主導作用,而是必須因勢利導,不失時機地啟發學生超越自我,真正體現教學是為了促進學生發展的宗旨。
視角2
對演算法多樣化的幾點思考與建議
思考一:
到底什麼是演算法多樣化?為什麼要鼓勵演算法多樣化?演算法多樣化不是對學生個體的要求,而是面向學生群體的。學習是學生在已有知識經驗基礎上的自主建構活動,而學生之間的差異是客觀存在的,對於同一道計算題,解題思路往往不盡相同。面對全班學生,教師只講解一種演算法的教學,容易忽視學生的個別差異,遏制學生的創造性。鼓勵演算法多樣化,是讓每個學生用自己最能理解的方法進行計算,通過交流評價從中得到啟發,在各自的基礎上得到發展。
思考二:
演算法多樣化,是不是演算法越多越好?在學生回答完一種方法後,教師常會不停地追問「還有嗎?」,於是,學生有時會為演算法的多樣而挖空心思。案例中的學生,有從10里拿走9支的,也從10里拿走8支、拿走7支、拿走4支的。我想,在老師的「還有嗎」下,可能有學生會從10里拿走6支、拿走5支的。上述每一種拿法應該是有區別的,但不是我們所要鼓勵的演算法多樣化。其實,教師在這里應該適時引導:」小朋友們這幾種拿法是不同的,但是,我們的想法其實是一樣的,都是——「,引導學生歸類,讓他們體會到這些想法屬於同一類,並進一步比較發現,從10里拿走9的方法,計算最簡單方便。注意,演算法多樣化,關注的不是形式的多樣,而是想法的多樣。對於學生形式的多樣,教師要作引導。演算法多樣化,絕不是演算法越多越好。
思考三:
多樣的演算法要不要優化?在學生出現了多種演算法後,教師常會說「你們可以用自己喜歡的方法進行計算」,看似非常尊重學生的選擇,其實是一種簡單化的處理。如若學生喜歡扳手指計算,教師也任其喜歡?數學是講「優化」的,教師應該引導學生對多種演算法進行比較,讓學生體會到哪種演算法是最簡捷、最容易的方法。當然,有些演算法很難說出孰優孰劣,就讓學生憑經驗自己做選擇。
建議:
對本節課的教學,有三點建議:(1)「誰願意來拿走9支?並說說你是怎麼拿的?」這一提問會妨礙學生自己的思考,學生在拿的過程中不太會有「用加算減」的想法,然而,這也是應該讓學生學會的一種演算法;(2)問題出示後,教師要給出一定的時間讓學生獨立思考、嘗試計算,最好能讓學生在小組內交流自己的想法,而不是要求學生迅速做出反應,因為那樣往往是少部分學優生積極參與,其餘學生被動旁聽,很難真正做到演算法多樣化;(3)教師要適時介入(特別是當學生中出現從10中拿幾的想法一致、拿法不同的時侯),及時地引導,讓學生在交流、比較中獲得新的認識,思維得到發展。
2. 公交車上有35人,到站之後下去男生8人,女生11人公交車上還有多少人
公交車有35人,到站之後下去男生8人,女生11人。
第1種演算法。
35-8-11=16(人)。
第2種演算法。
35-(8+11)=16(人)。
加減乘除,四則運算的掌握。
加減乘除,四則運算,對提前學、系統學數學有很大的意義。而乘除就是接下去廣大小學生們必過的一關,在這里我把多年的教學經驗加以總結。
首先說說乘除和加減的銜接。在教加減的時候就要適當輸入一些必要的概念,比如說加法的交換律和逆運算的概念,這些基本的概念會類比幫助理解乘除法。具體來說3+2=5也可以寫成2+3=5;3+2=5和3=5-2是一個事情的正反兩種說法。甚至在教加減的時候就適當地引入從加法到乘法的等價轉換。比如:3+3+3=3*3。而加減法要一路教到大數加減,不要間斷。並且加強進退位的加減練習。當加減會了就應該開始教乘法和除法,而不應該當中間隔很多年,間隔時間長會影響概念的理解,而習慣性思維會讓學習新的運算更困難。如果可以在引入乘法的啟蒙時段,平時閑暇或吃飯的時候放一些乘法口訣的音頻,對將來背乘法口訣有非常明顯的提速作用。
說到乘法,必不可少的就是要掌握乘法口訣表。那麼乘法口訣怎樣學呢?首先,乘法口訣表應該由家長或老師和小朋友一起推導一遍,用加法推乘法,這樣小朋友才能更好地理解相鄰的乘法口訣中的相互關系。小朋友如果可以自己親自動手製作一張乘法口訣表,那麼對學習數學的興趣一定會大大提高。當然,此間家長需要有耐心,此時的陪伴對將來是事半功倍。推導過程中要解釋好乘法交換律,這點關繫到乘法口訣是背45條(小九九)還是81條。乘法口訣的背法也有常見的豎著背(推導乘法口訣的次序),橫著背和拐彎背三種。但是,這樣的後果往往是含有小的數(2,3,4,5)的口訣熟悉,含有大一些的數(6,7,8,9)的乘法口訣不熟。為此有些家長採用從九九八十一開始的倒背方法,但我個人更建議用卡片背的形式。練習方法是打亂抽背,背不出的或反應速度慢的留下到一堆下次再抽背,直到全過關。
並不是背出乘法口訣就萬事大吉了,更重要的是乘法口訣的運用能力。怎樣提高乘法口訣的運用熟練程度?挖空填空的方法是我推薦的練習方法。比如()*8=72,()*()=32等。而檢驗乘法口訣是不是熟練掌握的另外一種方法是用另外一種次序重新構建一遍乘法口訣表。比如按照末位數不同來分類重新構建乘法口訣表。乘法口訣中「倍數對」的條件反射更是提高數感的關鍵,比如2的倍數對有1和2, 2和4,3和6等。「倍數對」熟練對將來學習除法也很有幫助。
3. 跪求生成數獨的演算法
這里講的話字數有限制,還是給樓主你網站吧
數獨計算器