第一篇:語言講座
語言活動的小秘密
一、幼兒園語言教育活動的設計
要組織好語言教育活動,重要的是要設計語言教育活動方案。在設計方案時,教師要制定語言教育活動的目標,要選擇能實現(xiàn)目標的具體內(nèi)容,要選擇考慮與內(nèi)容相適應的活動方式等。因此,可以說,教師設計語言教育活動,就是將一定的目標、內(nèi)容和活動方式轉(zhuǎn)化成一個個具體方案的過程,也是對幼兒有計劃、有組織、有目的地施加教育影響的具體體現(xiàn)。它應遵循以下五個原則。
1、設計原則
(1)注重幼兒獲得經(jīng)驗的原則
設計任何一組或一個語言教育活動,教師都必須注重幼兒的語言經(jīng)驗。只有以兒童語言經(jīng)驗為出發(fā)點,才能保證設計出來的活動符合幼兒語言發(fā)展的需要,才能使設計的活動對兒童語言發(fā)展真正起到促進作用。
①考慮教育對象現(xiàn)有的發(fā)展水平,即他們已經(jīng)獲得的經(jīng)驗。如果不掌握本班幼兒已有的語言發(fā)展水平,設計的活動就可能成為無的放矢的活動。如組織小班幼兒進行情境談話“做客”,教師就需要觀察了解這個班幼兒已有的經(jīng)驗,是否已掌握了一般做客時所用的禮貌語言等。
②考慮根據(jù)幼兒原有經(jīng)驗再為幼兒提供一些什么新的經(jīng)驗,這些新的語言學習經(jīng)驗內(nèi)容應當建立在幼兒已經(jīng)獲得經(jīng)驗的基礎上。如當幼兒參與情境談話“做客”這個活動時,教師可引導他們進一步理解和掌握“做客”的交往方式和語言運用方式,原有經(jīng)驗和新的內(nèi)容會引發(fā)幼兒較強烈的學習興趣。因此,新的語言學習經(jīng)驗內(nèi)容對參與活動的幼兒來說,是“跳一跳,夠得著”的果實,有一定的挑戰(zhàn)意味。當幼兒積極參與活動時,他們可以通過學習,將這部分的經(jīng)驗內(nèi)容再次吸收轉(zhuǎn)化為已經(jīng)獲得的經(jīng)驗。
(2)教師與幼兒互相作用的原則
在設計語言教育活動時,教師要考慮幼兒主動活動與教師參與活動的比例關系。實際上,這也是幼兒在活動中的主體地位和教師在活動中主導作用的具體化問題。當然,幼兒和教師在活動中的主體和主導關系是相互作用的,會根據(jù)具體活動內(nèi)容、活動要求而發(fā)生變化。當需要的時候,教師在活動中參與主導作用發(fā)揮得多一些;不需要時,教師參與主導作用就發(fā)揮得少一些。如何才能做到教師與幼兒相互作用發(fā)生適度的影響呢?主要應注意以下幾點:
①了解幼兒的發(fā)展水平。由此,教師決定自己在活動中參與組織成份的多少。
②找出語言教育活動中出現(xiàn)的新的技能、新的語言要求。由此,教師策劃自己參與指導 1 的重點和難點。
(3)活動內(nèi)容與方式相適應的原則
在語言教育活動中,各種活動內(nèi)容和方式之間存在一定的關系。不同的活動內(nèi)容可以選擇相同的活動方式;同一個活動內(nèi)容也可以選擇不同的活動方式。因此,教師在設計語言教育活動時,應注意活動內(nèi)容和方式相適應的問題。
①根據(jù)具體的內(nèi)容決定采取適當?shù)幕顒臃绞健H鐚W習童話《金色的房子》,教師可以考慮采用表演游戲的方式來幫助4~5歲幼兒理解童話內(nèi)容,體會作品角色的情感心理。若是一首短小的兒歌或?qū)W習某個講述內(nèi)容,就不能用表演方式進行了。
②根據(jù)教育對象選擇活動方式。如有的故事內(nèi)容很適宜進行表演,但表演對參加活動的某個年齡班幼兒有較大難度,這時教師應考慮改用其他活動方式來進行。
(4)不同領域相互滲透的原則
在語言教育活動中,幼兒學習吸收的主要是語言信息材料,但也包括那些與語言有關的其他信息材料。如活動中除了有語言,還可能有音樂、美術、動作等不同發(fā)展領域活動因素并存。
作為語言活動的設計,應堅持從語言角度來設計活動。在設計活動時,應注意以下幾點。
①教育活動的要求、內(nèi)容和形式應從語言角度進行思考,為幼兒提供適宜其語言發(fā)展需要的學習機會。
②在語言教育活動中,其他領域活動因素的參與(如什么時候要輔之以音樂或美術的活動手段),要根據(jù)活動內(nèi)容的要求而定,要從如何幫助幼兒更好地理解學習內(nèi)容、主動積極地學習、完成學習任務來定。
③教師在設計活動時,從語言角度出發(fā),經(jīng)過其他方式、符號的共同參與,最后仍應回到語言上。既不要簡單盲目地把活動搞成語言、音樂、美術等的大拼盤,也不要忘記落實到語言教育的根本點上,不能喧賓奪主。(5)面向全體,重視個別差異的原則
在設計語言活動時,教師應具有正確的兒童觀和教育觀,要使設計的活動既面向全體兒童,又重視個別差異。
面向全體幼兒,是指教師要了解全體參加活動兒童的需求,教師要站在教育對象的角度去思考這個問題,把握活動設計的尺度,使活動設計能照顧到面。如組織談話活動,教師應注意本班幼兒已有的談話經(jīng)驗和他們可能共同感興趣的話題,以及他們的語音、語義、語法和語用水平。如讓本班幼兒談論去商店買東西,將主題定在“買玩具”、“買食品”上,就比較適合孩子的普遍需要,也能較好地引發(fā)兒童的興趣和運用他們自身的經(jīng)驗。
在面向全體的同時,教師要注意個別幼兒的差異。教師對那些有可能超越一般活動要求或有可能在活動中出現(xiàn)困難的幼兒都要予以幫助,既要為能力強的幼兒準備發(fā)揮他的能力的機會,又要為能力較弱的幼兒或不具備這方面經(jīng)驗的幼兒提供補償?shù)臋C會。
2、制定活動目標
幼兒語言教育活動目標制定,是語言教育活動設計中最重要的一環(huán)。訂得恰當與否,將對整個活動設計產(chǎn)生決定性的影響,包括影響活動設計的方向、范圍和程度。
(1)活動目標要著眼于幼兒的發(fā)展,包含兩層意思。其一是目標的制定要適應幼兒的需求、興趣與已有的發(fā)展水平,符合幼兒語言發(fā)展的規(guī)律。其二是目標的制定應將促進幼兒的語言發(fā)展作為落腳點,也就是要落實到幼兒對語言內(nèi)容、語言形式和語言技能的掌握上。(2)活動目標的內(nèi)容和要求,在方向上要與終期目標、階段目標相一致?;顒幽繕艘獮殡A段目標和終期目標服務,而終期目標和階段目標正是通過一個個具體的活動目標落實在每個幼兒身上。因此,在制定具體目標時,要根據(jù)幼兒的年齡特征和發(fā)展水平,注意由淺到深、循序漸進地提出目標,使幼兒能從具體到抽象、從直接到間接地獲得語言經(jīng)驗。(3)目標的內(nèi)容應包括認知、情感態(tài)度和能力三個方面。
(1)知識概念的學習,包括所獲知識的數(shù)量和種類,以及操作這些知識的技能和能力。如要幼兒掌握多少詞匯、句式,以及懂得在什么樣的語言情境上運用這些詞匯和句式。(2)情感態(tài)度的學習,包括興趣、態(tài)度和價值觀等方面的變化。如形成幼兒耐心而有禮貌地傾聽別人說話的態(tài)度,產(chǎn)生樂意在集體面前講述自己經(jīng)歷的事和圖片內(nèi)容的興趣,懂得并遵守語言交往中的一般規(guī)則。
(3)能力的學習,包括組詞成句的能力和在具體語言情境中運用語言的能力。如能根據(jù)不同的聽者和不同的情境,恰當?shù)剡\用有關的詞匯、語法和語調(diào);能用連貫的語句說清楚自己所要表達的意思,也能聽懂別人所表達的意思。
雖然教師們都掌握了相關的理論,但在實際制訂中特別是在表述中常常存在一些問題:(4)活動目標制訂中常見的幾個問題: ①目標陳述混亂、針對性不強
案例:中班語言活動“我喜歡的書” 活動目標:
1、在看看、講講的交流活動中,豐富與閱讀有關的經(jīng)驗;
2、體驗在閱讀中發(fā)現(xiàn)的快樂,激發(fā)閱讀的興趣。
分析目標第一條中所提到的“與閱讀有關的經(jīng)驗”過于寬泛,空洞無物。教師對幼兒在閱讀 3
方面的經(jīng)驗已有初步的了解,在本次活動中可以對哪些具體的閱讀經(jīng)驗進行歸納、梳理和提升,同時又可以豐富哪些新經(jīng)驗,都應該在目標中予以較清晰的表述。這樣才能幫助教師在設計活動過程時有針對性地圍繞目標層層展開。改進建議:
1、在看看、猜猜、講講的過程中,進一步了解書的結(jié)構(gòu)和特征,知道不同的人喜歡看不同的書;
2、提高閱讀的興趣,能積極地參與自主閱讀并有初步的理解。②目標關注知識技能,淡化能力 案例:小班兒歌《傘》
老:在感受、理解兒歌的基礎上,初步學念兒歌,并能大膽表現(xiàn)。
新:運用已有經(jīng)驗幫助小動物尋找合適的傘,嘗試用兒歌表現(xiàn),體驗幫助小動物的快樂。分析:老目標指向兒歌的學習,重在知識的獲得。新目標關注幼兒表現(xiàn)技能的提升。關注幼兒能否運用在主題中積累的已有經(jīng)驗。兒歌表現(xiàn)是一種載體,活動不特別強調(diào)學會具體的兒歌。應關注活動中幼兒的情感體驗,關注幼兒的和諧發(fā)展。
③目標超難度,以長效目標代替具體活動目標。如培養(yǎng)語言表達能力、發(fā)展想象力等。需要長時間培養(yǎng),不可能一次活動就能完成。
二、幼兒園語言教育活動的組織
活動設計的結(jié)果是一份完整的靜態(tài)計劃。而活動的組織實施,則由于幼兒的參與,成了一系列動態(tài)發(fā)展的進程。整個活動過程中,需要解決好不少問題,如怎樣把握重點,突破難點,也就是如何將一個高層次目標準確地轉(zhuǎn)化為多個低層次目標。在教學過程中如何由淺入深、由易到難,一步一步遞進。還有就是時間段的分配怎樣做到科學、合理。一般來說,每一個教學內(nèi)容可以是一節(jié)課完成,可以是兩節(jié)課完成,還可以是三節(jié)課完成,老師要根據(jù)課的內(nèi)容的深淺、小朋友接受能力來看。在教學中,課的引入部分要較精彩,能吸引孩子們很快進入學習的狀態(tài),所占時間很短。課的重點、難點的教學,老師的提問要到點,才能啟發(fā)和引導幼兒清晰明了了解課的重點、難點,語言太多,提問太雜、沒有主次、條理不清,會把孩子們弄糊涂了,自己的思路也不清晰。這部分所占時間較多,課的結(jié)束部分自然、合理,所占時間較短。如果時間段分配地不科學、不合理,銜接的不自然,那你事先備出那么優(yōu)秀的課也沒有用,教學效果肯定達不到預期效果。這也是為什么有的老師,備課備的很好,但上起課來總覺得哪里欠缺,孩子掌握的不好的原因。
提問是一種最直接、最常用的師幼交流的方式,是一種重要的教學組織手段。西方學者德加默提出這樣一個觀點“提問得好即教得好?!边@種看法不無道理,教師提問的成功與否,4
直接影響幼兒語言活動的興趣,巧妙設問可以調(diào)動幼兒的積極性??梢?,提問在語言教學中起著至關重要的作用。(1)面向全體,引發(fā)思考。
一個班級中幼兒的發(fā)展水平會有差異,個性也不同。教師設計問題時要以調(diào)動全班幼兒的興趣與積極主動性為目標。如在故事《小猴賣0圓》的教學中,可在故事前提問“小猴要賣0,誰會來買呢?”這樣的問題會讓每個幼兒都能主動地參與到活動中來,且都有話可說、有話想說。在這個故事的結(jié)尾有個問題“它們的o各是什么?”根據(jù)幼兒的發(fā)展水平,我們可以把它分解,如“小鴨買的o是什么?”“小貓買的o是什么?”在幼兒回答問題后,對能力強的幼兒要適時追問,引發(fā)進一步思考。如當幼兒回答出“小鴨要買的o是游泳圈”時,可追問“你是怎么知道的?”而對能力弱的幼兒要及時給予輔助提示,如當幼兒回答不出小老虎買的是足球時,可輔助提問:“什么球可以讓很多人在草地上踢來踢去?”這樣可以讓每個幼兒都能在自己的水平上得到發(fā)展又能體驗到成功。又如《鳥窩里的樹》第一個問題:封面上有什么?就是面向全體幼兒所提。(2)簡潔明了,目的明確。
教師要根據(jù)幼兒的年齡特點和思維特點來設計問題,盡量避免諸如“你是不是不能同意他不這樣做?”之類的拐彎抹角、深奧難懂的問題.另外,還要避免太長的陳述,有的教師怕幼兒聽不清楚問的是什么,先說一大堆的話再提問題,或提出問題后,又馬上加了很多說明,讓幼兒不能專注思考。好的問題應能為教學目標服務,能緊扣重點和難點,由淺入深逐層展開,幫助幼兒梳理經(jīng)驗,使其得到多方面的發(fā)展。如故事《小貓釣魚》中問題設計就比較簡練:小貓第一次釣到魚了嗎?為什么?后來釣到魚了嗎?為什么?貓媽媽是怎么說的?等等。又如:《鳥窩里的樹》,小動物想了什么辦法幫助鳥先生和鳥太太,它們同意嗎?為什么?
(3)一問多答,激發(fā)創(chuàng)造。
故事中的答案往往只有一個,但教師不能拿唯一的答案去束縛幼兒的想象、類比、推理等能力的發(fā)展,所以,教師應多設計一些能引發(fā)幼兒積極思考的開放性問題,使問題的答案多元化,盡量避免單一的選擇性問題,如:“是不是?”“對不對?”。以《小猴賣0》故事為例,教師不僅要讓幼兒知道小猴賣給小伙伴的是什么東西,還要問一問“如果你是小猴,會賣給小伙伴什么東西?”引導幼兒積極思考,想象出相應的物體,培養(yǎng)他們的發(fā)散性思維。又如《鳥窩里的樹》,書中雖然告訴了幼兒答案,但教師為了培養(yǎng)幼兒的發(fā)散思維,引導幼兒討論:你有什么好辦法,即保護鳥窩又保護小樹苗?(4)以問帶問,發(fā)展語言。
設計這種問題主要是引導幼兒根據(jù)自己的理解發(fā)表觀點,展開討論。如:“你還有什么地方?jīng)]有聽懂?”“你喜歡故事里的誰?喜歡他什么?為什么喜歡?”這些問題可促使不同發(fā)展水平的幼兒積極思考,使他們有問題可提,有話可說。
(5)適時提問,留有余地。
提問時要注意選擇適當?shù)臅r機,能在開始問的不留到后面,需要在最后問的也不能提到前面來問,也可以邊講邊問。但無論哪種問題都需要給幼兒預留充分思考和回答問題的空間、時間,盡可能地發(fā)揮幼兒的自主性。
(6)積極評價,提升經(jīng)驗問題問了并不是完事了,教師要認真傾聽幼兒的回答,并給予積極的評價。教師對幼兒的答案往往有一定的期待。對與自己期待一致的答案往往會充分肯定,對其他的答案則容易出現(xiàn)“請你再想想吧!”“噢”“恩”等模糊的評價,有的教師還喜歡重復幼兒的答案,還有的教師對幼兒的回答一律用不同程度的肯定給予回應,全是諸如“很好”、“真不錯”、“你真棒”之類的回答,這是教師對幼兒回答的不恰當?shù)姆答仯@都不利于培養(yǎng)幼兒的概括能力和表達能力。教師可根據(jù)幼兒的生活經(jīng)驗進行追問,應加強有指導性地評價,以幫助幼兒梳理和提升經(jīng)驗。
綜上所述,一個有效的“好問題”,可以使幼兒的學習高效,更好的促進幼兒的發(fā)展。而什么問題是“好問題”卻沒有固定答案和標準,教師要根據(jù)特定的課堂教學情境,從整體上去把握課堂教學,只有這樣,才能保證教學過程真正成為發(fā)現(xiàn)、分析、解決問題的過程,教師與幼兒才有可能真正對話。
第二篇:視頻教程:C語言講座全集視頻
視頻教程:C語言講座全集視頻
C語言講座01 C語言講座02 C語言講座03 C語言講座04 C語言講座05 C語言講座07 C語言講座08 C語言講座09 C語言講座10 C語言講座11 C語言講座12 C語言講座13 C語言講座14
C語言講座全集視頻內(nèi)容簡介:
C語言是一種面向過程的計算機程序設計語言,它是目前眾多計算機語言中舉世公認的優(yōu)秀的結(jié)構(gòu)程序設計語言之一。學習C語言始終要記住“曙光在前頭”和“千金難買回頭看”,“千金難買回頭看”是學習知識的重要方法,就是說,學習后面的知識,不要忘了回頭弄清遺留下的問題和加深理解前面的知識,這是我們學生最不易做到的,然而卻又是最重要的。
C語言是Combined Language(組合語言)的中英混合簡稱。是一種計算機程序設計語言。它既具有高級語言的特點,又具有匯編語言的特點。它可以作為工作系統(tǒng)設計語言,編寫系統(tǒng)應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬件的應用程序。因此,它的應用范圍廣泛,不僅僅是在軟件開發(fā)上,而且各類科研都需要用到C語言,具體應用比如單片機以及嵌入式系統(tǒng)開發(fā)。
C語言是由美國貝爾研究所的D.M.Ritchie于1972年推出。1978后,C語言已先后被移植到大、中、小及微型機上。
C語言發(fā)展如此迅速,而且成為最受歡迎的語言之一,主要因為它具有強大的功能。許多著名的系統(tǒng)軟件,如DBASE Ⅳ都是由C 語言編寫的。用C 語言加上一些匯編語言子程序,就更能顯示C 語言的優(yōu)勢了,像PC-DOS、WORDSTAR等就是用這種方法編寫的。
第三篇:如何學習C語言(講座稿)
如何學習C語言(講座稿)
今天,我能夠自稱是一個混IT的人,并能以此謀生,將來大家能一次謀生,都要感謝兩個人:克勞德.香農(nóng)和約翰.馮.諾依曼,是他們發(fā)現(xiàn)了所有的數(shù)字化信息,不論是一段程序,一封email,一部電影都是用一連串的1和0進行編碼的;是他們發(fā)現(xiàn)了我們可以利用一個預先編寫好的程序控制機器,并使之完成我們期望它完成的動作。建議大家在心里默念三遍他們的名字,以示仰慕。當然,如果讓你們帶著現(xiàn)在的知識回到他們的那個時代,那么就沒有什么圖靈獎了。
C語言程序設計是我們的專業(yè)基礎課,但是C語言本身卻是一個非常強大的工具,它是到目前為止最為廣泛使用的工具,并且在可以預見的將來,它仍然是皈依為程序員的人們心中的神器。這個工具作什么的呢?它在人和機器之間建立了一個交流的平臺。
某天,你需要完成一個求100的階乘的作業(yè),于是你搬來一個最新的電腦,為它安裝了最新的windows vista操作系統(tǒng),然后坐在它的身前,喊“喂電腦,給我計算100的階乘”,電腦說“ok, wait a moment”; 過了一會,一盤香菇小白菜端了上來!呵呵,電腦不是waiter, 你喂它它是不會有反應的,如果你真的wait a moment, 恐怕你就需要wait one more moment了!一萬年后,人們就把你命名成“望夫崖”。
既然電腦不是伺應生,聽不懂我們的話,那么我們要怎么控制它呢?如果你們給我裝聾作啞,我會告訴你期末掛了你,哦,你立馬老實了!對于電腦,我要怎么才能使喚它,讓它為我工作呢?不錯,我們有個強力工具,C語言!好,我們把上面的場景復習一下:你要我算100的階乘,于是我去機房上機,編寫了一個程序:
運行程序,哦,結(jié)果出來了!
有人認為,現(xiàn)在是java和.net的時代,有誰還需要C以及匯編呢?孰不知,java和.net是建立在軟件之上的,是為了壟斷市場而建立起來的體系,猶如挖好一個金壁輝煌的坑,請你往下跳,還自以為站在巨人的肩膀上,事實上成了坑底之蛙。要成為一個真正的程序員,并期望成為一個程序員高手,必須從機器出發(fā),從cpu到操作系統(tǒng),再到軟件體系,高手的境界就是悟道后的明鏡靈臺,軟件設計出神入化,我就是程序,程序就是我。
聽完我講高手的境界,于是乎你很受感動,說:我要努力學習,向高手學習!隔天就買了一堆MFC, VB, JAVA以及.NET的書回來,早上五點鐘起來背書!這樣是不行的,正確的入門方法只有一個,要證大道,唯有此法!同學們,從C語言入手,努力學好C語言!
旁觀者李四說:此人大笨也!我用鼠標隨便拖幾個控件,就是一個xxx管理系統(tǒng)了,你用C語言怕是一年也寫不出來吧!好吧,我要承認,講這話的都已經(jīng)是mS的奴才了,別的我不了解,MFC本身就是一個封閉的架構(gòu),從MFC入手學習,你只會形成一種封閉的思維模式,因為MS希望很多人只學會表面的東西,不致成為高手,所以它大力推薦所謂的可視化的程序開發(fā)工具,也真有很多人愿意上他的當,最后真正迷失方向。說他坐不了程序吧,他也可以作,但是如果程序復雜一點,出現(xiàn)問題時,問題出再哪里就搞不清楚了,反正是不清楚!
梁肇新,大牛啊,他說:“我就搞不懂了,用鼠標怎么寫程序呢?在我的公司里,高手的鍵盤響個不停,鼠標偶爾響一下,新手是鼠標響個不停,鍵盤偶爾響一下,他們的薪水相差的就不是一倍那么多了!”
C語言是各大操作系統(tǒng)的基礎,Unix、Linux、Windows其內(nèi)核都清一色是C語言開發(fā)的,(某些地方是和匯編語言混合開發(fā)的),君不見Windows API都是C語言函數(shù)的接口?Unix/Linux絕大多數(shù)應用都是C語言開發(fā)的;Windows應用程序用純API開發(fā)已然不多,大多都是依靠某種Application Framework,比如所謂的VC++,其實就是指VC IDE + C++語言 + MFC(現(xiàn)在重點已轉(zhuǎn)向ATL、WTL),但是Windows服務、網(wǎng)絡、驅(qū)動程序等底層軟件,還是C語言開發(fā)的。各種語言的編譯器,包括java虛擬機,都是用C語言開發(fā)的。各種嵌入式設備,如手機、PDA也都是C語言開發(fā)的。C語言歷史悠久,其內(nèi)容也絕非譚浩強老師的《C語言程序設計(第二版)》所描述的那么簡單——那本書只是針對中國國情的教學入門書而已。
學生總喜歡問:那種語言好?學那種語言有前途?這種問題天天在討論,永無休止。其實我覺得大家所關心的,無非是那種語言更有“錢途”,學習那種語言畢業(yè)后能夠輕松找到高薪的工作——當年我也是這么想。那么,我告訴你,如果你精通C語言,請你去華為,不要在小池塘里浪費青春了!
OK, 聽了我苦口婆心的勸告,你準備從C語言入手,開始攀登程序員高手這座山峰了,在你出發(fā)之前,你的行囊中需要準備什么呢?
第一個要裝進行囊和你一起前進是“規(guī)范的格式”,有很多教科書,參考書,不太注重程序的格式的問題,寫出的程序就象一堆堆的垃圾一樣,這也導致了現(xiàn)在很多人寫的程序中有很多的廢碼,垃圾代碼,這和那些入門的書有非常大的關系,要把那些作者都拿來打打PP。真正的商業(yè)程序絕對是規(guī)范的,張三寫的程序和李四的程序格式大致相同,各種標識符的命名規(guī)則一樣,否則誰也看不懂你寫的程序。如果寫出來的代碼誰也看不懂,那絕對是垃圾。如果要把那些垃圾翻半天,勉強才把金子找出來,那這樣的程序不如不要,還不如重新寫過,這樣,思路會更清楚一點。所以說,規(guī)范的格式是入門的基礎。那這個規(guī)范的格式包括什么呢?不少啊,要堅持才能做到!長標志符命名,代碼縮進,一對大括號范圍不超過一屏幕,等等。
第二個要裝進行囊的是耐心,所謂工欲善其事,必先利其器。要想成功,沒有一個相對平淡的過程是不可能的。這不僅僅指你在學習過程中要有耐心,要循序漸進,而起也說的是另一個重要的方面:調(diào)式程序。調(diào)試是寫程序過程中一個重要的方面,如果有人能一次寫成程序,牛啊,而且是大牛,不光是大牛,還是老子騎的那頭青牛,凡人是做不道的!調(diào)試是每個程序必定經(jīng)歷的歷程。經(jīng)常有同學問我:老師,我的程序完全沒錯誤啊,都是照書抄的?。≡趺淳瓦\行不出來呢?對于這個問題我也看不出來!你們有問題可以找我,找其他的老師,老師找誰啊?李師父?那是很荒謬的!我就只好坐下來調(diào)試,這個說實話,調(diào)試是很枯燥的,所以有同學抱怨說XXXXX作太快,不理解為什么要這樣,為什么要那樣,我的脾氣不太好,一煩躁就會罵人地,所以,這個就需要你們自己修煉內(nèi)功了!
有了這兩個就可以了,可以出發(fā)了,估計有人說了,英語和數(shù)學不要了?大家都說大學生了,這種問題就不要問了嘛!你已經(jīng)用早晨和傍晚的時光學習了英語了,我這個沒有要去,計算機專業(yè)英語超簡單,小學水平而已,記住一些專業(yè)詞匯就可以了!關于數(shù)學,說數(shù)學好,寫程序就好是沒有科學根據(jù)的!我就有個同學,數(shù)學回回100分,寫程序也就是hello world的程度,不過人家現(xiàn)在是數(shù)學博士了!慚愧?。∽鰹榈拇髮W生,而且是我們這個專業(yè)的大學生,已經(jīng)完全具備了寫程序所需要的數(shù)學素養(yǎng)了!所以這個不是我們要擔心的,Ready? Go!
第一招,學什么呢?打狗棍法!呵呵有一個偉人說過:“重復權(quán)威是成熟的必經(jīng)之路”,這是站在巨人的肩膀上的做法,習武之人首先要學的都是各種套路,比方說辟邪劍法,然后才能融會貫通,開宗流派;我們學習寫程序也要這樣來,這是一個捷徑,幫你走得更遠得捷徑。
看書,看好書!書中所寫,是前人數(shù)十年經(jīng)驗所寫,看十本書,就相當于汲取了前人數(shù)十年的功力,那么你的內(nèi)功也會迅速上升1甲子。:)書當然要看好書,只有好書才營養(yǎng)豐富。要做到讀書破萬卷,編程如有神;枯燥的看書是很郁悶的,很容易變成化石!現(xiàn)在很多是書都是用源碼說明問題的,源碼就像是動畫、就像是幻燈片,把書中的招式一一演練給你看??梢哉f高手的經(jīng)驗大都是源自代碼,最后也都化成源碼展現(xiàn)在大家面前,把書上的程序一個一個的輸入(用鍵盤,用你的手指)到電腦中,編譯運行。自己手工輸入這一步不能省略,現(xiàn)在很多書有配套源碼,很多同學或者成年人學習的時候都耍小聰明,直接把源碼復制過去編譯運行,hoho, 這是沒有效果的。
自然,我讓你輸入程序不是讓你練習盲打,你在輸入的過程就可以品出程序的好壞來了,如果發(fā)現(xiàn)自己輸入了很多重復代碼,那至少這個程序的結(jié)構(gòu)就不好了,窮則變,變則通嘛,你就想改進它啊,這不是很好嗎?
當然,程序輸?shù)枚嗔?,盲打功力也上了一個臺階,鍵盤敲得快了,薪水也跟著漲上去了!^_^
不過,鍵盤敲得快不代表你的程序就寫得好,否則學校只要每個學生發(fā)一份盲打聯(lián)系軟件,四年畢業(yè)后,個個都是程序高手了!
好了,你輸了一個程序進電腦了,鍛煉了手部肌肉,也運行出了結(jié)果,愉悅了身心,就此滿足了?那離高手還遠呢,要變成高手,你還要鍛煉一下你得腦部肌肉!拿起你得筆,拿起你得紙,用你得大腦,這號稱世界上最精密的機器來運行你輸入的程序,記錄下不同運行時刻變量的值,記錄下程序的運行分支,最后發(fā)現(xiàn),這個程序被你解剖到了紙上,我相信也解剖到了你的心里!這是捷徑的核心,一定要記住,輸入的程序不是說正確運行就完事了,要去閱讀一下代碼,利用筆和紙做輔助工具,做一下筆記,這就是重復權(quán)威,當然,如果你是天才,那請你塞上耳朵,你不在我們討論的范圍之內(nèi)!
為什么這一步很重要呢?
大家剛開始學習的時候,是不是有種感覺,如果讓你寫一個程序,你從哪里下手呢?前面?后面?上面?下面?為了解決這個問題,我的程序該如何寫呢?抓耳撓腮,好煩啊,于是乎干脆睡覺去,不寫了,你看,這種行為是要打PP的!練武功,總是先重復師父的動作,才能有自己的動作,所以也讓我們重重復別人寫的程序開始,然后再寫自己的程序吧!遵循這個方法,你們就跟著組織走上了通往羅馬的大路了!
接下來,你得走啊,不走怎么到羅馬呢? 把你學會的程序設計方法應用到你寫的程序中去啊!
某天,你看到這里有個問題,你有了想法,怎么辦?上機去,和鍵盤奮戰(zhàn)去!stop, stop!暫停一下,上機之前,不要忘記了你的筆和紙,勇敢地把你的想法寫下來,如果寫不出來,就不要去機房浪費爸爸媽媽的血汗錢了!
當然,你不能亂寫啊,寫出來的東西怎么樣才叫不是亂寫的呢?實踐是檢驗真理的唯一標準!用你的大腦去運行一邊啊,不是叫“人程序合一”嘛?,這就是了!學武功就要學絕世武功!雖然號稱最精密,實際效果上,人腦還是沒有電腦的準確度的,如果你的大腦能馬馬虎虎地運行出來之后,那么OK,帶上規(guī)范的格式和耐心,去上機吧!
自然,我們說一天到晚面對字符界面的TC是有些郁悶,大家都習慣了windows,微軟的客戶體念設計中心可不是吹出來的!windows多好,色彩斑斕的。當你修煉到我這個程度的時候,非要聽這京劇才文思泉涌的寫程序的時候,當然要用windows下的集成開發(fā)環(huán)境了。但是對大家來說,不是現(xiàn)在,windows是很危險地,程序員還是回到TC中去吧!TC至少有一個好處,可以鍛煉我們使用組合鍵的習慣,可以鍛煉我們使用鍵盤編程的習慣,回想我們剛剛說的梁某說的話“用鼠標怎么編程呢?”有同學不免要提出疑問了,我是80年代甚至是90年代生人,你還讓我面對那么枯燥的輸入輸出界面?我跟你有代溝!我期待有更豐富更吸引人的交互手段哦,這個問題問得好,C語言中也有圖形啊,完全可以滿足大家寓教于樂得心理!讓我們來看這個程序,很簡單,就是在屏幕上話一個周期得正弦波!
(參見ppt......)運行效果是不是很好?你學數(shù)據(jù)結(jié)構(gòu)的時候,樹啊,圖啊,你都可以這樣輸出啊,很多地方你都可以做的更好呢!
好了,到這里,我們基本解決了在學習C語言程序設計時的一些方法論的東西,關于具體的學習過程,如果你要我在這里給你們講指針要如何學習?函數(shù)要如何學習?那我講的內(nèi)容也不會多于任課老師的內(nèi)容,或者開個專題叫“如何學好指針”,當然,如果你愿意和我探討一下指針的本質(zhì)和高級應用的話,課后,課后?。?/p>
現(xiàn)在,我們要談最后一個問題!我們這個專業(yè)的女生的比例較其他的工科專業(yè)還是要高一些的,不知道為什么經(jīng)常到如下的說法:1,我是女生,我不適合寫程序啊;2,我的性格比較外向,不適合坐下來安靜的寫程序呢!
性格外向不適合寫程序?你們看我啊,覺得我是性格內(nèi)向的任嗎?程序員也非常需要發(fā)散的外向型思維,老比,地球上最富裕的人說,他招程序員更愿意招原來是學物理的人,因為學物理的人的思維可以從極大(宇宙)到極?。ㄔ樱K?,說性格外向不適合寫程序的話是懶惰的借口,是要掩蓋他不可告人的目的的接口!狂打PP!
女生又為什么不適合寫程序呢?我到知道一個理由,對皮膚不好啊!你們看我這滿臉滄桑的,就知道了!除此之外,還會又其他的理由嗎?英國科學家早就證明了男女的區(qū)別完全不是人們想象的那樣,很多方面女性是要超過男性的!想想以前的母系社會,現(xiàn)在的惠安女!我就見過一個上市公司的研發(fā)二部全是女性!,從軟件工程師到硬件工程師再到部門經(jīng)理都是女性,業(yè)績根本不輸其他的研發(fā)部門,這個公司在湖南,不是我瞎掰的!
同學們,問大家一個問題,“二十一世紀最貴是什么?”,不錯,是人才,所以,我可以負責任地告訴大家,“不學好C語言,老師很生氣”,老師很生氣,后果怎么樣啊?是很嚴重!That’s all, thank you!
第四篇:C語言高級程序設計講座1(轉(zhuǎn))
C語言高級程序設計講座1 C語言程序設計
2009-07-27 08:44
閱讀153
評論0
字號: 大大
中中
小小
第一講
C語言圖形方式下的編程 前言
一年前我剛剛接觸網(wǎng)站制作,正值我學C語言,便做了一個鵬程C語言教學網(wǎng)站,雖說取了這么一個大名,但是其實當時我也不會什么。
一年轉(zhuǎn)眼就過去了,對于C語言我倒沒什么深入的研究,但是我的網(wǎng)站卻是一而再的改版,算來現(xiàn)在已經(jīng)第六版了。
時代的飛速發(fā)展提醒我們,停滯不前就是退步!所以我們還要前進,目前我在學習ASP.net,下一個目標就是把鵬程C語言教學網(wǎng)站用ASP.net建成真正的學習樂園,走進千萬C語言愛好者的心中!
本次講座參考了一些教材以及網(wǎng)上的一些資料,如有侵權(quán),請立即給我發(fā)信通知我:pch1982cn@yahoo.com.cn 因種類繁多,在此不能一一列出,請見諒!
如果您對本教程感興趣,如要轉(zhuǎn)載,也請通知我!
現(xiàn)在我們就開始第一講:C圖形方式下的編程 學習目標
·了解PC顯示系統(tǒng)的結(jié)構(gòu)
·C語言圖形初始化的一般方法
·C語言常用的圖形處理函數(shù) 顯示系統(tǒng)簡介
PC機顯示系統(tǒng)一般是由顯示器和顯示卡組成。顯示器(Monitor)是獨立于主機的一種外部設備。顯示卡(Adapter)是插在Pc主機上的一塊電路板。PC機對顯示屏幕的所有操作都是通過顯示卡來實現(xiàn)的。
顯示系統(tǒng)的主要特性
1.顯示分辨率
顯示分辨率是指屏幕上所能顯示的像素點數(shù),通常用列數(shù)和行數(shù)的乘積宋表示。為了獲得良好的顯示效果,要求顯示器的分辨率與對應分辨率的顯示卡相匹配。通常,高分辨率的顯示效果比低分辨率的效果好。但是,顯示分辨率的提高對顯示器與顯示卡的硬、軟件要求更高。特別是分辨率的提高在很大程度上受到顯示器的顯示尺寸和掃描頻率的限制,也受到顯示卡的顯存的限制。
根據(jù)應用情況的不同,在不超過顯示器最高分辨率的條件下,可以通過對顯示卡的設置而使用不同的分辨率。
2.顯示速度
顯示速度是指在屏幕上顯示圖形和字符的速度。顯示速度與顯示分辨率和顯示器的掃描頻率密切相關。顯示分辨率越高,整個屏幕上的像素點數(shù)就越多,顯示速度就越慢。在這種情況下,為了提高顯示速度,就需要提高掃描頻率。
如果顯示器只有一種掃描頻率,則它只能與一種顯示卡相匹配使用。隨著顯示技術的發(fā)展,目前一般的顯示器可以適應具有多種分辨率與顯示速度的顯示卡。
顏色與灰度是衡量顯示系統(tǒng)的重要參數(shù)。單色顯示器只有亮和暗兩種灰度;彩色顯示器的顏色和灰度要受顯示內(nèi)存的限制,分辨率越高,顏色越豐富,所需要的顯示內(nèi)存就越多。
4.圖形顯示能力
圖形顯示能力是顯示系統(tǒng)對屏幕上的每一個像素點都可以設置成不同的值的能力。通常,圖形顯示對硬件的要求比字符顯示要求高得多,同時,圖形顯示對顯示緩沖區(qū)的要求也比字符顯示時高得多。顯示卡的種類
常用的顯示卡有以下幾種 1.MDA卡
MDA卡(Monochrome Display Adapter——單色字符顯示器適配卡)與單色字符顯示器配接,它只支持字符顯示功能,無圖形功能。
2.HGC卡
HGC卡(Hercules GraphicsCard——單色顯示圖形卡)不僅支持字符顯示,而且支持單色圖形功能。在圖形方式下,其圖形顯示分辨率最高可達720~348點陣。通過軟件的設置,還可以支持640~400單色圖形顯示以及模擬CGA卡圖形方式。
3.CGA卡
CGA卡(ColorGraphicsAdapter--彩色圖形顯示卡)支持字符/圖形兩種方式。
在字符方式下,它支持80列、25行及奶列、25行的方式,顏色可選16種。但是字符的質(zhì)量比較差,只有8X8點陣。在圖形方式下,它支持最大為640~200分辨率,但只有黑、白兩種顏色。此外,它還支持320~200的分辨率,每個像素點可以有四種顏色。CGA卡有16K的顯示緩沖區(qū),用于顯示字符及屬性或圖形方式下的圖形數(shù)據(jù)。
4.EGA卡
EGA卡(Enhanced GraphicsAdapter——增強型圖形顯示卡)的字符顯示能力和圖形顯示能力都比CGA卡有了較大的提高,顯示分辨率達到640~350,最高分辨率圖形方式的顏色達到了16種。EGA卡的顯示模式也比CGA卡豐富,并且兼容CGA卡及MDA卡的顯示模式。
5.VGA卡
VGA卡(Video GraphicsArray一一視頻圖形陣列)是一種功能十分強大、顏色豐富的顯示卡。VGA的標準分辨率可達到640~480,并且具有16種顏色。一些兼容的VGA卡(如TVGA卡、EVGA卡)的分辨率可達640~480(256種顏色)、800~600(16種顏色)或1024~768(16種顏色)。VGA卡兼容MDA卡、CGA卡、EGA卡的所有顯示模式。
隨著顯示技術的發(fā)展,目前的顯示卡的分辨率一般都可以達到1024X768,顯示32位真彩(232種顏色)。
視頻BIOS 視頻BIOS(BasicI/OSystem基本輸入/輸出系統(tǒng))是與顯示卡配套的一個重要組成部分。用戶通過調(diào)用它可以完成一些與顯示有關的控制功能。對于要用到顯示系統(tǒng)的一般程序設計都可以通過調(diào)用視頻BIOs或視頻函數(shù)庫來完成。但要想獲得更高性能的顯示程序,還需要對顯示卡的寄存器和顯示內(nèi)存直接進行編程。顯示模式
顯示模式按功能可以分為字符模式和圖形模式兩大類。
字符模式也稱為字母數(shù)字模式,即A/N模式(A1phaNumbermode)。在這種模式下,顯示緩沖區(qū)中存放的是顯示字符的代碼和屬性,而顯示屏幕被分為若干個字符顯示行和列。圖形模式(Graphics mode)也稱為APA模式(A1l Points Addressablemode)。在這種模式下,顯示緩沖區(qū)中存放的是顯示器屏幕上的每個像素點的顏色或灰度值,而顯示屏幕被劃分為像素行和像素列。
由于顯示卡的種類很多,其中有些顯示模式在不同類型的顯示卡及不同廠家的顯示卡之間是通用的,這類顯示模式稱為標準模式。還有些模式是專用的,稱為非標準模式。通常,顯示模式號小于14H的是標準模式;其他則為非標準模式。圖形模式的初始化
不同的顯示器適配器有不同的圖形分辨率。即使是同一顯示器適配器,在不同模式下也有不同分辨率。因此,在屏幕作圖之前,必須根據(jù)顯示器適配器的種類將顯示器設置成為某種圖形模式。在未設置圖形模式之前,微機系統(tǒng)默認屏幕為文本模式(80列,25行字符模式),此時所有圖形函數(shù)均不能工作。
設置屏幕為圖形模式,可用下列圖形初始化函數(shù):
void far initgraph(int far* gdriver,int far *gmode,char *path);
其中gdriver和gmode分別表示圖形驅(qū)動器和模式,path是指圖形驅(qū)動程序所在的目錄路徑。圖形驅(qū)動程序由TurboC出版商提供,文件擴展名為.BGI。根據(jù)不同的圖形適配器有不同的圖形驅(qū)動程序。例如對于EGA、VGA圖形適配器的圖形驅(qū)動程序為EGAVGA.BGI。
有時編程者并不知道所用的圖形顯示器適配器種類,而且我們?yōu)榱藢⒕帉懙某绦蚩梢杂糜诓煌瑘D形驅(qū)動器,增強程序的通用性,我們通常不指定圖形顯示器適配器種類,而使用Turbo C提供了一個自動檢測顯示器硬件的函數(shù),其調(diào)用格式為:
void far detectgraph(int *gdriver, *gmode);
其中gdriver和gmode意義同上。
例1:自動進行硬件測試后進行圖形初始化
#include “graphics.h”
main()
{
int gdriver, gmode;
detectgraph(&gdriver, &gmode);
/*自動測試硬件*/
printf(“driver is %d, mode is %dn”, gdriver,gmode);
/*輸出結(jié)果*/
getch();
initgraph(&gdriver, &gmode, “");
/* 根據(jù)測試結(jié)果初始化圖形*/
circle(320,240,50);
circle(320,240,80);
circle(320,240,110);
getch();
closegraph();
} 上例程序中先對圖形顯示器自動檢測,然后再用圖形初始化函數(shù)進行初始化設置。其中,closegraph()為退出圖形狀態(tài)的函數(shù),其調(diào)用格式為:voidfarclosegraph(void);調(diào)用該函數(shù)后可退出圖形狀態(tài)而進入文本方式,并釋放用于保存圖形驅(qū)動程序和字體的系統(tǒng)內(nèi)存。同時TurboC提供了一種更簡單的初始化圖形的方法,即用gdriver=DETECT語句后再跟initgraph()函數(shù)就行了。比如,上例可改為例2的樣子。例2:
#include ”graphics.h“
main()
{
int gdriver=DETECT, gmode;
initgraph(&gdriver, &gmode, ”“);
circle(320,240,50);
circle(320,240,80);
circle(320,240,110);
getch();
closegraph();
} 屏幕顏色的設置
對于圖形模式的屏幕顏色設置,同樣分為背景色的設置和前景色的設置。在Turbo c中分別使用以下兩個函數(shù):
void far setbkcolor(int color);設置背景色
void far setcolor(int color);設置作圖色
其中color為圖形方式下顏色的規(guī)定數(shù)值,符號常數(shù)及數(shù)值如下所示。符號常數(shù)
數(shù)值
含義
字符或背景 BLACK
0
黑
兩者均可 BLUE
蘭
兩者均可 GREEN
綠
兩者均可 CYAN
青
兩者均可 RED
紅
兩者均可
MAGENTA
洋紅
兩者均可 BROWN
棕
兩者均可
LIGHTGRAY
淡灰
兩者均可 DARKGRAY
深灰
只用于字符 LIGHTBLUE
淡蘭
只用于字符 LIGHTGREEN
淡綠
只用于字符 LIGHTCYAN
淡青
只用于字符 LIGHTRED
淡紅
只用于字符
LIGHTMAGENTA
淡洋紅
只用于字符 YELLOW
黃
只用于字符 WHITE
白
只用于字符 BLINK
128
閃爍
只用于字符
清除圖形屏幕內(nèi)容使用清屏函數(shù),其調(diào)用格式如下 void far cleardevice(void);有關顏色設置、清屏函數(shù)的使用請看例3。例3:
#include ”stdio.h“
#include ”graphics.h“
main()
{
int gdriver, gmode, i,j;
gdriver=DETECT;
initgraph(&gdriver, &gmode, ”“);/*圖形初始化*/
setbkcolor(0);
/*設置圖形背景*/
cleardevice();
for(i=0;i<=15;i++)
{
setcolor(i);
/*設置不同作圖色*/
circle(319, 239, 20+i*15);
/*畫半徑不同的圓*/
delay(3000);
/*延遲3000毫秒*/
}
for(i=0;i<=15;i++)
{
setbkcolor(i);
/*設置不同背景色*/
cleardevice();
for(j=0;j<=15;j++)
{
setcolor(j);
/*設置不同作圖色*/
circle(319, 239, 20+j*15);
/*畫半徑不同的圓*/
delay(3000);
}
}
getch();
closegraph();
}
另外,TURBO C也提供了幾個獲得現(xiàn)行顏色設置情況的函數(shù)。
int far getbkcolor(void);返回現(xiàn)行背景顏色值。
int far getcolor(void);返回現(xiàn)行作圖顏色值。
int far getmaxcolor(void);返回最高可用的顏色值?;緢D形函數(shù)
基本圖形函數(shù)包括畫點,線以及其它一些基本圖形的函數(shù)。本節(jié)對這些函數(shù)作一全面的介紹。
畫點
1.畫點函數(shù) void far putpixel(int x, int y, int color);該函數(shù)表示有指定的象元畫一個按color 所確定顏色的點。對于顏色color的值可從上表中獲得而對x,y是指圖形象元的坐標。在圖形模式下,是按象元來定義坐標的。對VGA適配器,它的最高分辨率為640x480,其中640為整個屏幕從左到右所有象元的個數(shù),480為整個屏幕從上到下所有象元的個數(shù)。屏幕的左上角坐標為(0,0),右下角坐標為(639, 479),水平方向從左到右為x軸正向,垂直方向從上到下為y軸正向。TURBO C的圖形函數(shù)都是相對于圖形屏幕坐標,即象元來說的。關于點的另外一個函數(shù)是: int fargetpixel(int x, int y);它獲得當前點(x, y)的顏色值。
2.有關坐標位置的函數(shù)
int far getmaxx(void);返回x軸的最大值。
int far getmaxy(void);返回y軸的最大值。
int far getx(void);返回游標在x軸的位置。
void far gety(void);返回游標有y軸的位置。
void far moveto(int x, int y);移動游標到(x, y)點,不是畫點,在移動過程中亦畫點。
void far moverel(int dx, int dy);移動游標從現(xiàn)行位置(x, y)移動到(x+dx, y+dy)的位置,移動過程中不畫點。
畫線與線型設定
1.畫線函數(shù)
TURBO C提供了一系列畫線函數(shù),下面分別敘述:
void far line(int x0, int y0, int x1, int y1);畫一條從點(x0, y0)到(x1, y1)的直線。
void far lineto(int x, int y);畫一作從現(xiàn)行游標到點(x, y)的直線。
void far linerel(int dx, int dy);畫一條從現(xiàn)行游標(x,y)到按相對增量確定的點(x+dx, y+dy)的直線。
void far circle(int x, int y, int radius);以(x, y)為圓心,radius為半徑,畫一個圓。
voidfar arc(int x, int y, int stangle, int endangle,int radius);以(x,y)為圓心,radius為半徑,從stangle開始到endangle結(jié)束(用度表示)畫一段圓弧線。在TURBO C中規(guī)定x軸正向為0度,逆時針方向旋轉(zhuǎn)一周,依次為90,180, 270和360度(其它有關函數(shù)也按此規(guī)定不再重述)。
voidellipse(int x, int y, int stangle, int endangle,int xradius,intyradius);以(x, y)為中心,xradius,yradius為x軸和y軸半徑,從角stangle開始到endangle結(jié)束畫一段橢圓線,當stangle=0,endangle=360時,畫出一個完整的橢圓。
void far rectangle(int x1, int y1, int x2, inty2);以(x1, y1)為左上角,(x2, y2)為右下角畫一個矩形框。
voidfar drawpoly(int numpoints, int far *polypoints);畫一個頂點數(shù)為numpoints,各頂點坐標由polypoints給出的多邊形。polypoints整型數(shù)組必須至少有2倍頂點數(shù)個無素。每一個頂點的坐標都定義為x,y,并且x在前。值得注意的是當畫一個封閉的多邊形時,numpoints的值取實際多邊形的頂點數(shù)加一,并且數(shù)組polypoints中第一個和最后一個點的坐標相同。
2.設定線型函數(shù)
在沒有對線的特性進行設定之前,TURBO C 用其默認值,即一點寬的實線,但TURBO C 也提供了可以改變線型的函數(shù)。線型包括:寬度和形狀。其中寬度只有兩種選擇:一點寬和三點寬。而線的形狀則有五種。下面介紹有關線型的設置函數(shù)。
void far setlinestyle(intlinestyle,unsigned upattern,int thickness);該函數(shù)用來設置線的有關信息,其中l(wèi)inestyle是線形狀的規(guī)定,見下表:
有關線的形狀(linestyle)━━━━━━━━━━━━━━━━━━━━━━━━━ 符號常數(shù) 數(shù)值 含義
─────────────────────────
SOLID_LINE 0 實線 DOTTED_LINE 1 點線 CENTER_LINE 2 中心線 DASHED_LINE 3 點畫線
USERBIT_LINE 4 用戶定義線
━━━━━━━━━━━━━━━━━━━━━━━━━ 有關線寬(thickness)thickness是線的寬度,見下表。
━━━━━━━━━━━━━━━━━━━━━━━━━ 符號常數(shù) 數(shù)值 含義
─────────────────────────
NORM_WIDTH 1 一點寬 THIC_WIDTH 3 三點寬
━━━━━━━━━━━━━━━━━━━━━━━━━
對于upattern,只有l(wèi)inestyle選USERBIT_LINE 時才有意義(選其它線型,uppattern取0即可)。此進uppattern的16位二進制數(shù)的每一位代表一個象元,如果那位為1,則該象元打開,否則該象元關閉。void far getlinesettings(struct linesettingstypefar *lineinfo);該函數(shù)將有關線的信息存放到由lineinfo 指向的結(jié)構(gòu)中,表中l(wèi)inesettingstype的結(jié)構(gòu)如下:
struct linesettingstype { int linestyle;unsigned upattern;int thickness;}
例如下面兩句程序可以讀出當前線的特性 struct linesettingstype *info;getlinesettings(info);void far setwritemode(int mode);該函數(shù)規(guī)定畫線的方式。如果mode=0,則表示畫線時將所畫位置的原來信息覆蓋了(這是TURBO C的默認方式)。如果mode=1,則表示畫線時用現(xiàn)在特性的線與所畫之處原有的線進行異或(XOR)操作,實際上畫出的線是原有線與現(xiàn)在規(guī)定的線進行異或后的結(jié)果。因此,當線的特性不變,進行兩次畫線操作相當于沒有畫線。
封閉圖形的填充
填充就是用規(guī)定的顏色和圖模填滿一個封閉圖形。
1.先畫輪廓再填充
TURBO C提供了一些先畫出基本圖形輪廓,再按規(guī)定圖模和顏色填充整個封閉圖形的函數(shù)。在沒有改變填充方式時,TURBO C 以默認方式填充。下面介紹這些函數(shù)。void far bar(int x1, int y1, int x2, int y2);確定一個以(x1, y1)為左上角,(x2, y2)為右下角的矩形窗口,再按規(guī)定圖模和顏色填充。說明:此函數(shù)不畫出邊框,所以填充色為邊框。void far bar3d(int x1, int y1, int x2, int y2,int depthint topflag);當topflag為非0時, 畫出一個三維的長方體。當topflag為0時,三維圖形不封頂,實際上很少這樣使用。說明: bar3d()函數(shù)中,長方體第三維的方向不隨任何參數(shù)而變,即始終為45度的方向。
void far pieslice(int x,int y,int stangle,int endangle,int radius);畫一個以(x, y)為圓心,radius為半徑,stangle為起始角度,endangle 為終止角度的扇形,再按規(guī)定方式填充。當stangle=0,endangle=360 時變成一個實心圓,并在圓內(nèi)從圓點沿X軸正向畫一條半徑。
void far sector(int x, int y,int stanle,intendangle,int xradius, int yradius);畫一個以(x, y)為圓心分別以xradius, yradius為x軸和y軸半徑,stangle 為起始角,endangle為終止角的橢圓扇形,再按規(guī)定方式填充。
2.設定填充方式
TURBO C有四個與填充方式有關的函數(shù)。下面分別介紹:
void far setfillstyle(int pattern, int color);color的值是當前屏幕圖形模式時顏色的有效值。pattern的值及與其等價的符號常數(shù)如下表所示。關于填充式樣pattern的規(guī)定: ━━━━━━━━━━━━━━━━━━━━━━━━━━━ 符號常數(shù) 數(shù)值 含義
─────────────────────────── EMPTY_FILL 0 以背景顏色填充 SOLID_FILL 1 以實填充 LINE_FILL 2 以直線填充
LTSLASH_FILL 3 以斜線填充(陰影線)SLASH_FILL 4 以粗斜線填充(粗陰影線)BKSLASH_FILL 5 以粗反斜線填充(粗陰影線)LTBKSLASH_FILL 6 以反斜線填充(陰影線)HATCH_FILL 7 以直方網(wǎng)格填充 XHATCH_FILL 8 以斜網(wǎng)格填充
INTTERLEAVE_FILL 9 以間隔點填充 WIDE_DOT_FILL 10 以稀疏點填充 CLOSE_DOS_FILL 11 以密集點填充 USER_FILL 12 以用戶定義式樣填充
━━━━━━━━━━━━━━━━━━━━━━━━━━━
除USER_FILL(用戶定義填充式樣)以外,其它填充式樣均可由setfillstyle()函數(shù)設置。當選用USER_FILL時,該函數(shù)對填充圖模和顏色不作任何改變。之所以定義USER_FILL主要因為在獲得有關填充信息時用到此項。
void far setfillpattern(char * upattern,int color);設置用戶定義的填充圖模的顏色以供對封閉圖形填充。其中upattern是一個指向8個字節(jié)的指針。這8個字節(jié)定義了8x8點陣的圖形。每個字節(jié)的8位二進制數(shù)表示水平8點,8個字節(jié)表示8行,然后以此為模型向個封閉區(qū)域填充。
void far getfillpattern(char * upattern);該函數(shù)將用戶定義的填充圖模存入upattern指針指向的內(nèi)存區(qū)域。
void far getfillsetings(struct fillsettingstypefar * fillinfo);獲得現(xiàn)行圖模的顏色并將存入結(jié)構(gòu)指針變量fillinfo中。其中fillsettingstype結(jié)構(gòu)定義如下: struct fillsettingstype { int pattern;/* 現(xiàn)行填充模式 * / int color;/* 現(xiàn)行填充模式 * / };
3.任意封閉圖形的填充
截止目前為止,我們只能對一些特定形狀的封閉圖形進行填充,但還不能對任意封閉圖形進行填充。為此,TURBO C 提供了一個可對任意封閉圖形填充的函數(shù),其調(diào)用格式如下: void far floodfill(int x, int y, int border);其中:x, y為封閉圖形內(nèi)的任意一點。border為邊界的顏色,也就是封閉圖形輪廓的顏色。調(diào)用了該函數(shù)后,將用規(guī)定的顏色和圖模填滿整個封閉圖形。注意:
1.如果x或y取在邊界上,則不進行填充。
2.如果不是封閉圖形則填充會從沒有封閉的地方溢出去,填滿 其它地方。
3.如果x或y在圖形外面,則填充封閉圖形外的屏幕區(qū)域。
4.由border指定的顏色值必須與圖形輪廓的顏色值相同,但填充色可選任意顏色。下例是有關floodfill()函數(shù)的用法,該程序填充了bar3d()所畫長方體中其它兩個未填充的面。
有關圖形窗口和圖形屏幕操作函數(shù)
1、圖形窗口操作
象文本方式下可以設定屏幕窗口一樣,圖形方式下也可以在屏幕上某一區(qū)域設定窗口,只是設定的為圖形窗口而已,其后的有關圖形操作都將以這個窗口的左上角(0, 0)作為坐標原點,而且可為通過設置使窗口之外的區(qū)域為不可接觸。這樣,所有的圖形操作就被限定在窗口內(nèi)進行。
void far setviewport(int xl,int yl,int x2, int y2,int clipflag);設定一個以(xl,yl)象元點為左上角,(x2,y2)象元為右下角的圖形窗口,其中x1,y1,x2,y2是相對于整個屏幕的坐標。若 clipflag為非0,則設定的圖形以外部分不可接觸,若clipflag為0,則圖形窗口以外可以接觸。
void far clearviewport(void);清除現(xiàn)行圖形窗口的內(nèi)容。
void far getviewsettings(struct viewporttypefar * viewport);獲得關于現(xiàn)行窗口的信息,并將其存于viewporttype定義的結(jié)構(gòu)變量viewport中,其中viewporttype的結(jié)構(gòu)說明如下: struct viewporttype { int left, top, right, bottom;int cliplag;};注明:
①窗口顏色的設置與前面講過的屏幕顏色設置相同,但屏幕背景色和窗口背景色只能是一種顏色,如果窗口背景色改變,整個屏幕的背景色也將改變這與文本窗口不同。
②可以在同一個屏幕上設置多個窗口,但只能有一個現(xiàn)行窗口工作,要對其它窗口操作,通過將定義那個窗口的setviewport()函數(shù)再用一次即可。
③前面講過圖形屏幕操作的函數(shù)均適合于對窗口的操作。
2、屏幕操作
除了清屏函數(shù)以外,關于屏幕操作還有以下函數(shù):
void far setactivepage(int pagenum);void far setvisualpage(int pagenum);這兩個函數(shù)只用于EGA,VGA 以及HERCULES圖形適配器。setctivepage()函數(shù)是為圖形輸出選擇激活頁。所謂激活頁是指后續(xù)圖形的輸出被寫到函數(shù)選定的 pagenum頁面,該頁面并不一定可見。setvisualpage()函數(shù)才使pagenum所指定的頁面變成可見頁。頁面從0開始(Turbo C默認頁)。如果先用setactivepage()函數(shù)在不同頁面上畫出一幅幅圖像,再用setvisualpage()函數(shù)交替顯示,就可以實現(xiàn)一些動畫的效果。
void far getimage(int xl,int yl, int x2,int y2,void far *mapbuf);void far putimge(int x,int,y,void * mapbuf, int op);unsined far imagesize(int xl,int yl,int x2,int y2);這三個函數(shù)用于將屏幕上的圖像復制到內(nèi)存,然后再將內(nèi)存中的圖像送回到屏幕上。首先通過函數(shù)imagesize()測試要保存左上角為(xl,yl),右上角為(x2,y2)的圖形屏幕區(qū)域內(nèi)的全部內(nèi)容需多少個字節(jié),然后再給mapbuf分配一個所測數(shù)字節(jié)內(nèi)存空間的指針。通過調(diào)用getimage()函數(shù)就可將該區(qū)域內(nèi)的圖像保存在內(nèi)存中,需要時可用putimage()函數(shù)將該圖像輸出到左上角為點(x, y)的位置上,其中getimage()函數(shù)中的參數(shù)op規(guī)定如何釋放內(nèi)存中圖像。關于這個參數(shù)的定義參見下表: putimage()函數(shù)中的op值
━━━━━━━━━━━━━━━━━━━━━━━━━━ 符號常數(shù) 數(shù)值 含 義
────────────────────────── COPY_PUT 0 復制
XOR_PUT 1 與屏幕圖像異或的復制 OR_PUT 2 與屏幕圖像或后復制 AND_PUT 3 與屏幕圖像與后復制 NOT_PUT 4 復制反像的圖形 ━━━━━━━━━━━━━━━━━━━━━━━━━━
對于imagesize()函數(shù),只能返回字節(jié)數(shù)小于64K字節(jié)的圖像區(qū)域,否則將會出錯,出錯時返回-1。這在圖像動畫處理、菜單設計技巧中非常有用。圖形模式下的文本輸出
在圖形模式下,只能用標準輸出函數(shù),如printf(),puts(),putchar()函數(shù)輸出文本到屏幕。除此之外,其它輸出函數(shù)(如窗口輸出函數(shù))不能使用,即是可以輸出的標準函數(shù),也只以前景色為白色,按80列,25行的文本方式輸出。
Turbo C2.0也提供了一些專門用于在圖形顯示模式下的文本輸出函數(shù)。下面將分別進行介紹。
1.文本輸出函數(shù) void far outtext(char far *textstring);該函數(shù)輸出字符串指針textstring所指的文本在現(xiàn)行位置。
void far outtextxy(int x, int y, char far *textstring);該函數(shù)輸出字符串指針textstring所指的文本在規(guī)定的(x, y)位置。其中x和y為象元坐標。說明:
這兩個函數(shù)都是輸出字符串,但經(jīng)常會遇到輸出數(shù)值或其它類型的數(shù)據(jù),此時就必須使用格式化輸出函數(shù)sprintf()。sprintf()函數(shù)的調(diào)用格式為: int sprintf(char *str, char *format, variable-list);它與printf()函數(shù)不同之處是將按格式化規(guī)定的內(nèi)容寫入str 指向的字符串中,返回值等于寫入的字符個數(shù)。
例如:
'C110F1sprintf(s, ”your TOEFL score is %d", mark);這里s應是字符串指針或數(shù)組,mark為整型變量。
2.有關文本字體、字型和輸出方式的設置
有關圖形方式下的文本輸出函數(shù),可以通過setcolor()函數(shù)設置輸出文本的顏色。另外,也可以改變文本字體大小以及選擇是水平方向輸出還是垂直方向輸出。
void far settexjustify(int horiz, int vert);該函數(shù)用于定位輸出字符串。
對使用outtextxy(int x, int y, char far *str textstring)函數(shù)所輸出的字符串,其中哪個點對應于定位坐標(x,y)在TurboC2.0中是有規(guī)定的。如果把一個字符串看成一個長方形的圖形,在水平方向顯示時,字符串長方形按垂直方向可分為頂部,中部和底部三個位置,水平方向可分為左,中,右三個位置,兩者結(jié)合就有9個位置。
settextjustify()函數(shù)的第一個參數(shù)horiz 指出水平方向三個位置中的一個,第二個參數(shù)vert指出垂直方向三個位置中的一個,二者就確定了其中一個位置。當規(guī)定了這個位置后,用outtextxy()函數(shù)輸出字符串時,字符串長方形的這個規(guī)定位置就對準函數(shù)中的(x,y)位置。而對用outtext()函數(shù)輸出字符串時,這個規(guī)定的位置就位于現(xiàn)行游標的位置。有關參數(shù) horiz和vert的取值參見下表: 參數(shù)horiz和vert的取值
━━━━━━━━━━━━━━━━━━━━━━━━ 符號常數(shù) 數(shù)值 用于
────────────────────────
LEFT_TEXT 0 水平RIGHT_TEXT 2 水平BOTTOM_TEXT 0 垂直 TOP_TEXT 2 垂直
CENTER_TEXT 1 水平或垂直
━━━━━━━━━━━━━━━━━━━━━━━━ void far settextstyle(int font, int direction,int charsize);該函數(shù)用來設置輸出字符的字形(由font確定)、輸出方向(由direction確定)和字符大小(由charsize確定)等特性。
Turbo C2.0對函數(shù)中各個參數(shù)的規(guī)定見下列各表所示: font的取值
━━━━━━━━━━━━━━━━━━━━━━━━ 符號常數(shù) 數(shù)值 含義
────────────────────────
DEFAULT_FONT 0 8*8點陣字(缺省值)TRIPLEX_FONT 1 三倍筆劃字體 SMALL_FONT 2 小號筆劃字體
SANSSERIF_FONT 3 無襯線筆劃字體 GOTHIC_FONT 4 黑體筆劃字
━━━━━━━━━━━━━━━━━━━━━━━━ direction的取值
━━━━━━━━━━━━━━━━━━━━━━━━ 符號常數(shù) 數(shù)值 含義
────────────────────────
HORIZ_DIR 0 從左到右 VERT_DIR 1 從底到頂
━━━━━━━━━━━━━━━━━━━━━━━━ charsize的取值
━━━━━━━━━━━━━━━━━━━━━━━━ 符號常數(shù)或數(shù)值 含義
──────────────────────── 8*8點陣 2 16*16點陣 3 24*24點陣 4 32*32點陣 5 40*40點陣 6 48*48點陣 7 56*56點陣 8 64*64點陣 9 72*72點陣 10 80*80點陣
USER_CHAR_SIZE=0 用戶定義的字符大小
━━━━━━━━━━━━━━━━━━━━━━━━
3.用戶對文本字符大小的設置
前面介紹的settextstyle()函數(shù),可以設定圖形方式下輸出文本字符這字體和大小但對于筆劃型字體(除8*8點陣字以個的字體),只能在水平和垂直方向以相同的放大倍數(shù)放大。為此Turbo C2.0又提供了另外一個setusercharsize()函數(shù),對筆劃字體可以分別設置水平和垂直方向的放大倍數(shù)。該函數(shù)的調(diào)用格式為:
void far setusercharsize(int mulx, int divx,int muly, int divy);該函數(shù)用來設置筆劃型字和放大系數(shù),它只有在settextstyle()函數(shù)中的charsize為0(或USER_CHAR_SIZE)時才起作用,并且字體為函數(shù)settextstyle()規(guī)定的字體。調(diào)用函數(shù)setusercharsize()后,每個顯示在屏幕上的字符都以其缺省大小乘以 mulx/divx為輸出字符寬,乘以muly/divy為輸出字符高。小結(jié)
這一講我們首先介紹了PC機的圖形顯示結(jié)構(gòu)和原理,然后介紹了圖形初始化,然后講了一些圖形處理函數(shù)。
這一講我們共舉了三個例子,對于圖形處理函數(shù)由于時間原因不能舉太多的例子了,希望大家自己實際操作一下,會有很大收獲的
第五篇:講座如何體會散文精妙的語言
如何體會散文精妙的語言
從本質(zhì)而言,閱讀過程其實就是一個多向的對話過程,其中主要的一個方面是閱讀者與文本、與作者的對話。鑒于此,在散文閱讀教學中,關鍵的一點就是“讀”。教師指導學生采取多種形式反復朗讀文本,在讀中挖掘作者運用語言的褒貶色彩,品味語言的格調(diào)、情調(diào),揣摩語言的內(nèi)涵、內(nèi)蘊,聯(lián)想語言的文外之意,想像語言的空白形象,從語言中吸取營養(yǎng),以提高語言的鑒賞力。而且,還要學會“披文入情”,善于從作者寄情的事物中捕捉詩意,以求與作者的思維碰撞,心靈交匯和感情溝通。在此基礎上,調(diào)動自己的生活體驗,形成個性化的自我感悟,促進情感、態(tài)度和價值觀的轉(zhuǎn)化、升華。可見,散文閱讀教學不同于其他文體。教師對此要有充分的認識和理解,要以新的教學理念作指導,針對文體特點和學生實際安排教學。
然而,由于種種因素影響,在實際的散文閱讀教學中,不少教師仍是以講析代替學生的閱讀。零亂肢解,架空分析,剝奪了學生走進文本、對話文本的機會,使充滿人文情趣的散文教學索然寡味。學生的感受都是教師的感受,更可悲者是教材編寫者的感受。能力來自于實踐,感情來自于體驗?!墩Z文課程標準》強調(diào)說:“閱讀是學生的個性化行為,不應以教師的分析來代替學生的閱讀實踐。應讓學生在主動積極的思維和情感活動中,加深理解和體驗?!本鸵恍┙處煹淖龇?,不用說學生難形成“獨特的感受、體驗、理解”,恐怕連基本的讀書能力和口頭表達能力也難培養(yǎng)。這不能不說是對現(xiàn)代文化的糟蹋,不能不說是散文教學的失敗。為此,我們在實際的散文閱讀教學中對其進行了較為細致地研究,將操作過程概括為“讀——感——品——悟”四個環(huán)節(jié)。
也是品味感受的過程;朗讀還是充滿詩意的文學活動。語文新課標要求“反復朗讀”,就是因為朗讀是一門藝術,朗讀是一種能力。
1.要讀得正確、流暢。這是朗讀文本的最基本要求。教師要訓練學生面對生疏文本就能準確把握語音、語流順暢的閱讀能力。
2.要讀出韻味。一篇優(yōu)美的散文在內(nèi)在的神韻上、意境上,以及外在的結(jié)構(gòu)組成上、語言形式上都有豐富的內(nèi)涵。學生朗讀,就要掌握好語調(diào)、語速、語氣、節(jié)奏、停頓等方面的技能。僅僅依靠標準的普通話是很難達到這一要求的。3.要讀出情致。散文是一種文學體裁,描繪的是作者的情感世界和思索過程,但重在冶情。面對這一感情物,學生就應帶著感情去讀,用聲音傳達出文本內(nèi)蘊的豐富細膩的情感。平淡無味無情趣,“新聞播音員式”的朗讀不是真正的散文朗讀,不是藝術性的朗讀,更不是創(chuàng)造性的朗讀?!案小?。這是對文本的深入,是對文本的總體認識。能“感”的人,視文本為一個整體;會“感”的人,能及時篩選出有關信息,捕捉到重要信息點。
1.感知文本內(nèi)容。這是整體閱讀的一個方面,即首先要知道文本“寫了什么”。在此基礎上,能流利地復述出內(nèi)容,能簡練地概括出內(nèi)容。同時,能準確定位文本內(nèi)容的重點所在。
2.感受作者思路。思路是作者結(jié)構(gòu)文章的思維程序。感受思路、理清思路是閱讀理解的前提。其實,感受思路的過程,是學生與作者心靈對話的過程,是對文本解讀的過程。在閱讀教學中,教師要通過具體的例子教會學生善于探尋作者的思維方向,達到與作者思維的契合?!捌贰薄_@是揣摩、品味,是對重點內(nèi)容的琢磨、感受、體驗。
1.品味文本語言。散文屬于文藝語體,具有形象性與生動性的特點。作者在行文時,往往會采用各式各樣的修辭方法,采用一些富有表現(xiàn)力的詞語和頗具特色的句式。而這些語言一般除具有表層的具象外,常常還隱藏著深刻的含義,內(nèi)在的意蘊。學生在閱讀中就要抓住重要的語段和關鍵的詞句,把握字里行間蘊含著的意義,品析其巧處,體會其妙處,從而達到“悟意審美”的目的。
2.品悟作者感情。散文無不蘊含著作者的感情。在閱讀教學中,教師就要側(cè)重引導學生以審美的視覺深入挖掘文本的內(nèi)涵,品悟、感受文本的情感美。同時,這反過來又能加深對文本的理解,達到“以情解文”之目的?!拔颉薄N蚣搭I悟、覺悟。這是在對文本內(nèi)容理解之上的閱讀聯(lián)系、閱讀發(fā)現(xiàn),更是一種創(chuàng)造性閱讀形式。
1.悟人生。“文以載道?!睂W生在閱讀中要認真學“文”,把握“文”的意義、內(nèi)涵;同時,還要從字里行間發(fā)掘出更深的東西,悟道明理,并運用這些道理去思考人生。
2.悟社會。文本在反映作者思維、情感的同時,自然會折射出社會。學生要在閱讀活動中通過對文本的解讀,跨越與社會的距離,間接認知古今中外的社會,貼近廣遠的世界,挖掘出文本的歷史意義和現(xiàn)實意義。
3.悟自我。即學生通過閱讀文本跨越“舊我”與“新我”的距離。具體來說,就是使自身的知識經(jīng)驗得以擴充,觀點得以改變,思想感情得以升華,方法技術得以遷移,實現(xiàn)自我在量度上的增加,在本質(zhì)上的提高,在價值上的飛躍,在能力上的練達。同時,還要學會將自我放進文本,與作者以及文中人物心靈溝通,確定自己的思維方向和認識價值。
總之,上述“四環(huán)節(jié)”散文閱讀教學方式,注重了學生閱讀能力的培養(yǎng),也注重了人文精神的弘揚,遵循了學生認知規(guī)律,突出了學生的主體性,是行之有效的。當然,散文閱讀教學的方法不止一種,教師們可根據(jù)文本特點和學生實際采取不同的方法。但無論怎樣,教師們都要切實領會《語文課程標準》的精神,轉(zhuǎn)換教學新理念,靈活處理教材,并將朗讀作為貫穿始終的主線,引導學生品味賞析。在誦讀實踐中增加積累,發(fā)展語感,加深體驗和領悟。指導學生在字里行間揣摩體會出強烈的情感和獨到的見解。如此,才能真正全面提升學生的語文素養(yǎng)。
(四)植入,讓作者站立在學生心頭
“散文閱讀與小說閱讀有一個很大的不同:小說一般可以就文本來讀文本。正如文學界流行的說法,作品完成了,作家就死了。散文是抒發(fā)作者獨特感受的,散文的閱讀往往需要與作者這個人聯(lián)系起來:我們通過作品來了解、感受作家這個人,通過作家這個人來分享、領會他所寫的散文這個作品?!彼陨⑽慕虒W必須適時適當?shù)刂踩肱c作者、作品相關聯(lián)的資料,如作者其他的文學作品、寫作背景、作者的身世經(jīng)歷及創(chuàng)作風格、其他人的賞析、評論,豐厚和充盈作品內(nèi)涵,引導學生透過含蓄蘊藉的文字,直視作品的內(nèi)核,透過作者微妙的內(nèi)心世界,審視作者,讓作者在學生腦海里直立起來。
2.分享不是“占有”、“具有”。
作者與讀者的經(jīng)驗不同,我們不能占有作者的人生經(jīng)驗。我們也不可能“具有”與作者等同的經(jīng)驗。所謂“分享”,是體察、認識和理解,在閱讀中,我們突破自身直接生活經(jīng)驗的囿限,通過閱讀,我們擴展、豐富對世界和他人的認識、理解,以此關照自我,觸發(fā)或啟迪對自己的生活和人生的思考。
3.體味精準的語言。
唯有通過對言語的體味,我們才能把握作者的獨特經(jīng)驗,才能感受、體認、分享散文所傳達的豐富而細膩的人生經(jīng)驗。
(1)體味必須細讀。
(2)體味是仔細領會。一是品味作者言語表達的功力,閱讀散文,不顧作者的言語表達,不能見識作者言語表達的功力,無異于買櫝還珠。二是精準語言表達蘊含意味,發(fā)掘文學作品字里行間所蘊含的意思、意味。三是體味是體會、尋味,指語言的滋味,指作者的情調(diào)。
散文是閱讀教學的主導文類。閱讀散文,就是要體悟作者的所見所聞,分享作者的所感所悟。散文教學中,可以通過知人論世、還原情境、朗讀品味,幫助學生深入體味散文精準的言語表達,分享作者獨特的人生體驗。
王榮生教授說:“散文閱讀教學,要引導學生細讀,體味作者言語表達的功力,體味精準的言語表達所蘊涵的意味,體味語言的滋味和作者的情調(diào)。”那么,我們在散文教學中如何深入文字的骨髓去敲打文字的內(nèi)核,從而走進作者的心靈世界呢?下面筆者就結(jié)合自身教學實踐來談談如何咂摸散文語言。