A. 什麼叫中介語
中介語,Interlanguage,也有人譯為"過渡語"或"語際語",是指在第二語言習得過程中,學習者通過一定的學習策略,在目的語輸入的基礎上所形成的一種既不同於其第一語言也不同於目的語,隨著學習的進展向目的語逐漸過渡的動態的語言系統。
Selinker中介語理論
美國語言學家Selinker於1969年提出中介語假說(interlanguage)的概念。1972年在其著名論文《中介語》中提出的中介語假說,是試圖探索第二語言習得者在檔陪習得過程中的語言系統和習得規律的假說,在第二語言習得的研究史上有重大意義。
中介語理論(Interlanguage Theory)是由Selinker等人行哪蠢最先提出來的。所謂中介語是指第二語言學習者建構起來的介於母語和目的語之間的過渡性語言,它處於不斷的發展變化過程中,並逐漸向目的緩神語靠近。
B. 從教育心理學到英語教學
意識決定認知,認知決定觀念,觀念決定行為,行為決定成果。教師的眼界決定著課程的邊界。
在英語教學中教師會運用非常多的教學方法,有些教學法,如「自然法」(Natural Approach)就是建立在某一改塵學習理論(克拉申的監察模式)的基礎上的。有些教學法是以某一學習理論和某一語言理論作依據而創立起來的(如聽說法)。因此,我們的英語的教研中對二外學習的理論學習非常的必要,對語言學習理論的掌握,能幫助我們了解已創立起來的教學方法,也能促使我們以這些學習理論為依據去進行英語教學法的研究。學習理論是人類學習本質以及形成機制的心理學理論,主要有行為主義學習理論,認知學習理論、建構主義學習理論,人本主義學習理論,以及一些二外教學理論,如克拉申的第二語言習得理論、溫斯納的語言輸出假設、第二語言的錯誤分析、第二語言的閱讀過程模式、第二語言的聆聽模式等。
一、行為主義的學習理論
行為主義產生於20世紀20年代,華生(J.B.Watson)是它早期的代表人物。華生研究動物和人的心理。華生認為人和動物的行為有一個共同的因素,即刺激和反應。心理學只關心外部刺激怎樣決定某種反應。在華生看來,動物和人的一切復雜行為都是在環境的影響下由學習而獲得的。他提出了行為主義心理學的公式:刺激——反應(S-R,Stimulus-Response)。
結構主義大師布洛姆菲爾德(L.Bloomfield)以行為主義的「刺激——反應」模式作為其理論依據。Jack讓Jill摘蘋果說明S-R語言行為模式:
Jill』s hunger (S)
「I』m hungry」(r)
Jack』s hearing (s)
Jack』s action (R)
布洛姆菲爾德重視作為聲音r….s言語行為的研究, 他認為r…s是物理的聲波, 從而得出語言教學過程的理論,即在語言教學中教師對學生進行聲音刺激,學生對聲音刺激進行反應 。
斯金納(B.F.Skinner)繼承和發展了華生的行為主義。斯金納認為人們的言語、言語的每一部分都是由於某種刺激的存在而產生的。這里講的「某種刺激」可能是言語的刺激,也可能是外部的刺激或是內部的刺激。一個人在口渴時會講出「I would like a glass of water.」。
斯金納認為,人的言語行為通過各種強化手段而獲得。在某一語言環境中,別人的聲音、手勢、表情和動作等都可以成為強化的手段。由於言語行為不斷得到強化,孩子們就能逐漸地養成語言習慣,學會使用與其語言社區相適應的語言形式。如果沒有強化,語言習慣就不能形成,語言是不能學習到的。
行為主義習慣形成的學習模式:(Stimulus)→ (Organism) →(Response Behavior),在英語教學法中常見的PPP教學法背後的理論基礎也是行為主義理論的產物。
行為主義的學習理論有其明顯的局限性。行為主義把研究動物所獲得的結論,無保留地運用到復雜的人類行為的研究,作出粗略和膚淺的見解,它強調環境因素和外部因素是決定有機體行為的最重要因素,必然要忽視人在言語行為中的主動作弊含用和獨立作用。它不能解釋為什麼一個四五歲的孩子就能掌握某一種結構復雜的語言。
二、認知主義的習得理論
喬姆斯基(Norm Chomsky)是認知主義習得理論的代表人物之一。喬氏認為任何發育正常的兒童能在短短幾年內獲得母語使用能力,這個事實行為主義學習理論解釋不了。兒童是不可能根據他們聽到的數量有限的句子,通過歸納、推理和抽象概括而習得母語語法和學會母語使用的。喬氏認為,人類有一個與生俱來植於大腦里的所謂語言習得機制(Language Acquisition Device,簡稱LAD)或普遍語法(Universal Grammar,簡稱UG)。按喬氏理論,外部環境和語言輸入只有「激活」語言習得機制的作用。
母語心得過程:語言輸入→普遍語法→特定語言的語法
認知主義習得理論強調的是人腦中的內在因素,而不是習得的外部環境和語言輸入。對於普遍語法是否在第二語言習得過程中起作用的問題,學者們有不同的觀點。
(皮亞傑的認知發展階段論,小學生處於具體運算階段,思維守恆、可逆)
三租殲笑、建構主義學習理論
代表人物:皮亞傑和維果斯基
強調學習主動建構性、社會互動性和情境性。建構主義學生觀強調在教學中充分考慮學生已有的知識體系,尊重其個體差異,找到每個學生的最近發展區,更加有的放矢地進行精準教學。因為在教學實踐中,我們發現圍繞知識的教學不僅讓教師失去了耐心和信心,更是抹殺了兒童的天性。而當我們有了心理學和教育學上的建構主義理論,那我們的教學就會變得更加人性化,更加有創造性。
要想當一名優秀的教師,首先要成為一個真正懂孩子內心的教師。教師所掌握的教育學與心理學的內化與融合程度,決定了他在教育教學實踐中應對問題的態度和方法。
獨立思考、積極參與、樂於分享、善於反思,包括犯錯是每個孩子應該享有的權利,請給每個孩子創造學習的平台和機會。而不要過早過多的給每個孩子貼上標簽。
建構主義理論的教學啟示
1.探究學習 通過有意義的問題情境,讓學生不斷的發現問題解決問題,來學習與探究和問題有關的知識,形成解決問題的技能和自主學習的能力。
2.支架教學
3.情境教學 建立在有感染力的真實事件和真實問題的基礎上的教學,知識、學習是與情景化的活動聯系在一起的。
4.合作學習
四、人本主義學習理論
代表人物:羅傑斯和馬斯洛
從學習結果來看,人本主義認為學習的結果是讓學生成為一個完整的人,學生的整體人格得到發展。教育的目的是以學習者為中心,以使學生個性得到發展、潛能得到發展,從而使得他們能夠更加越快的創造性的學習和工作為目的的。
五、克拉申第二語言習得理論
克拉申博士(D.Krashen)的理論常稱為監察模式(Monitor Model)。
1、監察模式由五個假設組成,即習得和學得假設、自然順序假設、監察假設、輸入假設和情感過濾假設。
(1)習得——學得差異假設(The Acquisition-Learning Hypothesis)
成人是通過兩條截然不同的途徑逐步掌握第二語言能力的。第一條途徑是「語言悉得」,這一過程類似於兒童母語能力發展的過程,是一種無意識地、自然而然地學習第二語言的過程。第二條途徑是「語言學習」,即通過聽教師講解語言現象和語法規則,並輔之以有意識的練習、記憶等活動,達到對所學語言的了解和對其語法概念的「掌握」。悉得的結果是潛意識的語言能力;而學得的結果是對語言結構有意識的掌握。
該假設認為,成年人並未失去兒童學語言的能力。克拉申甚至認為,如果給予非常理想的條件,成人掌握語言的能力還要比兒童強些。他同時還認為,別人在旁幫你糾正錯誤,對你的語言掌握是沒有什麼幫助的。這一點中國同學值得注意。
(2)自然順序假設(The Natural Order Hypothesis)
這一假設認為,無論兒童或成人,語法結構的悉得實際上是按可以預測的一定順序進行的。也就是說,有些語法結構先悉得,另一些語法結構後悉得。克拉申指出,自然順序假設並不要求人們按這種順序來制定教學大綱。實際上,如果我們的目的是要悉得某種語言能力的話,那麼就有理由不按任何語法順序來教學。
初學時的語法錯誤是很難避免的,也是沒必要太介意的。
(3)監檢假設(The Monitor Hypothesis)
一般說來,下意識的語言悉得是使我們說話流利的原因 ;而理性的語言學習只起監檢或「編輯」的作用。換句話說,當我們開口說話時,話語由「習得」系統產生,經「學得」系統監檢後成為「真言」而吐露出口。語言學習的這種監檢功能可能在我們說話或寫作之前,也可能在其後。
在口頭交談中,人們往往沒有時間去考慮斟酌語法。語法規則如果不是悉得而是背出來的,也用不上。但在事先准備的正式發言和寫作中,語法的使用能提高語言的准確性,為演講或文章增添色彩。這一條可以說是克拉申對語法知識的用處做出的最大讓步。
(4)輸入假設(The Input Hypothesis)
輸入假設也是克拉申第二語言悉得理論的核心部分。只有當悉得者接觸到「可理解的語言輸入」(comprehensible input),即略高於他現有語言技能水平的第二語言輸入,而他又能把注意力集中於對意義的理解而不是對形式的理解時,才能產生悉得。如果你的現有水平為「i」,那麼就要給你提供「i+1」水平的輸入。這種「i+1」的輸入並不需要人們故意地去提供,只要悉得者能有足夠的理解輸入時,就自動地提供了。克拉申認為,理解輸入語言的編碼信息是語言悉得的必要條件,不可理解的(incomprehensible)輸入只是一種噪音。按照輸入假設,說話的流利程度是自然達到的,是不能直接教會的。
對輸入假設的理解關鍵點就是comprehensible input 「i+1」。+ 1 就是在自己現有水平上加了「一點點」難度。換句話說,我們正是因為有了這一點點難度才提高的。其實大家尋找的答案,最主要的出處就在這一條上。我們之前對一系列誤區的分析,很多都能從這一假設中找到依據。我們今後掌握的最重要的技術就是不斷自己創造這一條件。稍後我們詳細說明。
另外有一個非常重要的「沉默期」(Silent period)的概念,是在這假設里引入的。 克拉申認為,無論成人或兒童,在掌握說話能力前,都會有一個相當長的沉默期,直到聽懂的量達到一定程度而有足夠的自信時,才可能說話。這一沉默期是正常的同時也是必要的。所以大家不要急著上來就想說,說的能力要來得慢,同時它是自然到來的。
(5)情感過濾假設(The Affective Filter Hypothesis)
克拉申提出情感過濾假設來說明心理或情感因素對外語學習的影響。情感過濾假設認為,有了大量的適合的輸入的環境並不等於學生就可以學好目的語了,情感因素起著促進或阻礙的作用,心理上的因素影響著他悉得語言的速度和質量。這些因素是:1)動機(Motivation)學生的學習目的是否明確,直接影響他們的學習效果。2)信心(Self-confidence)比較自信,性格外向,樂於把自己置於不熟悉的學習環境,自我感覺良好的學生在學習中進步較快。3)憂慮程度(Anxiety)在第二語言或外語的學習中,焦慮較少的人容易得到更多的語言輸入。同樣,心情放鬆和感覺舒適的學生在較短的時間內顯然學得更好。
這一假設有點偏語言教學經驗談,它的重要性也常被忽視。 (後來人們通過實驗發現,人在試圖說外語而又說不出來時因焦慮而在腦部產生的電流,可以電死一隻老鼠,可見學外語時的焦慮程度之高。)
情感因素的作用:語言輸入→Filter→語言習得機制→習得到的能力
2、監察模式與外語教學
按照克拉申的外語教學理論,外語教學應盡量提供可理解的語言輸入,為學生習得語言創造一個有利的環境。
六、斯溫納(M. Swain)的語言「輸出假設」(Output Hypothesis)
1、斯溫納的輸出假設的內容克拉申認為可理解的輸入在第二語言習得中起著中心作用(Central Role),而斯溫納則認為輸出在第二語言習得中有著顯著的作用(A More Prominent Role)。 斯溫納假設的依據是「浸泡式」(Immersion)教學實驗。
浸泡實驗表明:盡管她的學生通過幾年浸泡,獲得的語言輸入不是有限的,但他們並沒獲得如本族語者那種語言的產生能力。她認為,造成這樣的原因不是學生獲得的語言輸入有限,而是他們的語言輸出活動不足。她認為她的學生沒有給予足夠的機會在課堂環境中使用語言。再者,他們沒有在輸出活動中受到「推動」(Being Pushed)。
斯溫納認為語言輸出有三個作用:(1)促進學習者對語言形式注意的功能;(2)提供學習者進行檢驗自己提出假設機會的功能;(3)提供學習者有意識反思機會的功能。
斯溫納的輸出假設對外語教學的啟示:
由於語言輸出活動能幫助學習者提高其使用語言的流利程度,使學習者意識到自己在使用語言時存在的問題,使學習者能有更多機會來驗證自己提出的假設,以語言對假設進行反思,因此,從認知的角度來看,語言輸出對外語習得都是必需的。在外語教學中恰當地安排適當的語言輸出活動能促進語言學習。不論在教學上還是在教材編寫方面,要設計多種交際性的語言輸出活動,以促進學生語言產生能力的培養。
七、第二語言的錯誤分析
1、一些學者對學習者的錯誤進行了較系統的分析,這就是「錯誤分析」(Error Analysis)。
語言學家科德(P. Corder)、理查茲(J. C. Richards)對學習者學習第二語言的錯誤進行研究和分析。他們發現雖然有些錯誤來自母語的干擾或負遷移,但很多錯誤是由於學習者在外語學習過程中對目的語的理解和消化不夠全面而造成的。他們認為外語學習過程是一個漫長的把目的語(Target Language)的規則內在化的過程。在學習過程中,學生會使用一種過渡性的語言進行交際,這種過渡性語言即不是母語的翻譯,又不是要掌握的目的語,它介乎於母語和目的語之間,可稱為中介語(Interlangauge)。中介語隨著學習者接收更多的第二語言輸入,隨著他們不斷改變他們對第二語言的假設而發展。由於學生使用中介語,犯錯誤是不足為怪的。
科德把錯誤總結為三類:
第一類稱為形成系統前的語言錯誤(Pre-systematic Errors)。
第二類稱為系統的語言錯誤(Systematic Errors)。
第三類稱為形成系統後的語法錯誤(Post-systematic Errors)。學習者所犯錯誤的原因:母語干擾過度概括、忽略規則的限制等。認清漢語的負遷移現象,減少英語教學中母語的干擾。
語言遷移一般有兩種,即正遷移和負遷移。正遷移有利於外語學習,負遷移則會阻礙外語學習。負遷移的主要表現:
(1)語音層面上的負遷移現象。英語屬「語調語言」,漢語屬「聲調語言」,book布克,bad拜德,增添音節:Work讀成worker, bet讀成better。
(2)詞彙層面義的負遷移現象
A詞的概念意義(或外延意義)不同或它所指的范圍大小不等而造成的負遷移。Intellectual ,「知識分子」。
B詞的內涵意義不同引起的負遷移: Every dog has his day. Love me, love
my dog.走狗、狗膽包天、狗仗人勢、狗屁不通。
C詞語搭配方面,將「公費醫療」 說成the public medical care, 將the man in the street說成「街上的人」。
(3)句法層面的負遷移現象
A混淆詞性造成句子用詞錯誤。
They study good. He speaks English good.
B語法功能詞誤用、漏用造成表達錯誤。
I not (或no)went to school yesterday.
There is a bird on the sky.
C語序錯誤造成表達不規范。
You must early get up.
D時態模糊,造成句子表達不規范,句意不明確。
What do you say to him, last night?
They go there with us yesterday.
八、第二語言(外語)閱讀過程模式
1、自下而上的模式(The Bottom-up Model)
閱讀是一個解碼(Decoding)的過程(Brown 1997)。作者用文字、符號,應用一定的語法規則把自己要表達的意思編成語碼。閱讀者必須把語碼進行解釋。解釋的過程是這樣的:閱讀者從最少的單位——字母和單詞(從底或下層)識別開始,逐步弄懂(在頂或上層)較大的語言單位——短語、分句、句子和語篇的意義。這就是閱讀理解自下而上的模式。
人們發現,在閱讀時,語言問題解決了,但對文章的理解並不一定能夠解決,對作者的意圖並不一定都理解清楚。這個模式低估了閱讀者的主動作用。
2、從上而下的模式(The Top-down Model)
哥德曼(K.S. Goodman)心理學閱讀模式,把閱讀描述為「一個心理的猜測游戲」,按這個模式,閱讀者不必使用全部文本中的提示(Textual Cues),他們在文章中挑選和選擇信息來作出預測,用他們自己的經驗和有關客觀世界的知識去驗證他們的預測。按這個模式,閱讀並不是逐字、逐句地去理解,而是結合自己的預測,在文章中找出有關的信息,來驗證自己的預測。這就是從上而下的模式。
從上而下的模式,強調了高層次的技能,即用某些背景知識或文中的提示來對意義進行預測,對較低層次的能力如快速、准確地對詞彙和語法結構識別的能力有所忽視。
3、相互作用的模式(The Interactive Model)相互作用模式也可稱為圖式理論模式(The Schema Theory Model)。
相互作用模式認為,在閱讀過程中,人們運用兩種方式進行信息處理,一種是自下而上的方式,另一種是從上而下的方式。兩種信息處理的方式總是同時進行的。自下而上的信息處理保證讀者能發現新的信息和發現與自己假設不同的信息,從上而下的信息處理幫助讀者消除歧義並在可能的意義方面作出選擇。閱讀的過程是讀者大腦已存在的知識和文章的信息相互作用的過程。人們大腦存在著的知識稱為背景知識,這種知識的結構又稱為圖式。一個人在大腦里的圖式越多、越完善,在閱讀理解時被調用的可能性就越大,就越有可能保證對文章意義的正確理解。
Mary heard the ice cream man coming down the street. She
remembered her birthday money and rushed into the house…「…and locked the door」.
按圖式理論模式,讀者的閱讀能力由三種圖式來決定,它們是語言圖式、內容圖式和形式圖式。語言圖式指的是讀者對閱讀材料的掌握程度,內容圖式指讀者對文章涉及的主題熟悉的程度,而形式圖式指的是讀者對文章體裁的了解程度。
相互作用模式對外語閱讀教學的意義:培養學生對語言圖式、內容圖式和形式圖式的掌握。
九、第二語言聆聽信息處理模式
第二語言聆聽和閱讀對信息處理有著相同的過程,即其理解都是自下而上和從上而下兩種方式對信息處理相互作用的結果。但由於聆聽接收到的信號是聲音,它不同於閱讀接觸到的文字元號,因此,我們首先要把聲音切分為章節和單詞,然後才能把聲音信號進行進一步的信息處理。
理查茲(Richards)把自下而上的聆聽過程總結為以下的四個步驟:
(1)查尋語言輸入,辨別熟悉的單詞;
(2)將語流切分為成分(Constituents);
(3)使用音位線索辨別語句中的信息重點;
(4)使用語法線索將語言輸入組織為成分。
要掌握連續、弱化、同化、停頓、節奏、重音、語調的特點。培養聆聽理解解碼的技巧。與閱讀理解一樣,在聆聽理解教學中要向學習者提供必要的背景知識,培養他們「激活」有關「圖式」來理解的能力。
《大學》首章:「物有本末,事有始終,知所先後,則近道矣。」在英語教學之路上,我們同樣要知所先後。 外語學習理論 是探討外語學習普遍性和規律性的研究,都能夠幫助我們更加深入的認識到二外教學的」道「。
C. 中介語石化現象探因與口語教學誤區 中介語石化
摘 要:中介語石化現象是在二語習得過程中難以避免的語言習得現象。許多語言學家針對這一語言現象提出了中介語石化理論。國內許多學者在石化現象方面做了許多實證研究,收集數據、分析石化現象成因,並根據石化理論,指出學習者在語言習得中存在的問題。本文綜述了這些實證研究,並嘗試性地總結出口語教學中存在的一些誤區。
關鍵詞:中介語 中介語石化 石化現象探因 口語教學誤區
一、引言
把She說成he,在動詞前加very,鼻音/n/和邊音/l/不分。這些都是中國英語學習者在學習過程中經常遇到的語言問題。這些問題會隨著年齡增長和學習量的增加而得到改善。其中有些錯誤卻仍會不斷出現在日常交際中。即使學習者能意識到他們這些錯誤,也會下意識地說出既不像漢語又不像英語的語言。Selinker稱之為中介語(interlanguage)。這時,年齡增長和學習量的增加對改變這種語言學習狀態不起任何作用,被稱之為語言石化現象。本文擬通過分析中介語石化現象空清產生的原因,結合英語口語教學實際,指出當前英語口語教學中的一些誤區。
二、中介語石化理論
中介語(interlanguage)一詞的提法出自Selinker(1972),用來描述外語學習者在語言學習過程中產生和使用的一種語言體系。它既不同於母語,也不同於目的語,是一種介於兩者之間的一種過渡性的語言。其它學者也有過類似的提法。如:Nemser(1971)曾用近似語言系統(approximate system)指代這一語言現象,Corder(1971)則稱之為過渡語言能力(transitional competence)。
中介語是學習者習得目的語的必經之路。隨著學習者學習時間的正確投入,這種語言系統會逐漸靠攏目的語的語言系統。學習者在學習過程中會不斷調整自己的語言行為,使這種語言行為逐漸適合目的語的表達習慣,由錯誤逐漸向正確方向轉化。理論上講,隨著學習者目的語知識量的增加,使用能力也會相拿答應得到提高,最終達到目的語的水平。而事實上,絕大部分學習者由於種種原因未能達到目的語這一理想水平。相反,學習者在他們的目的語水平提高到一定程度後,語言能力不是繼續向前發展,而是表現出一種停滯不前的徘徊狀態,即中介語石化現象(fossilization)。
中介語石化的概念最早由Selinker(1972)提出:無論學習者年齡的長幼,無論學習者得到多少有關目的語的指導和訓練,在其目的語的中介語中總會出現與其母語有關的一些表達方式、規則和次系統。當學習者目的語水平有所提高時,這些現象或許看似已消除,但還會常常出現在目的語的中介語中。這些詞語和表達結構長期重復使用,最後固定下來,形成語言石化。這一現象的出現阻止學習者的語言水平進一步提高。
三、中介語石化現象
以中國學生學習英語為例,中介語的發展基本上都遵循一定的模式(戴煒棟等,1999):中小學階段,學習者的英語知識積累迅速,英語水平持續穩步提高。進入大學後,英語專業低年級學生的英語水平,尤其是聽話水平進步明顯,隨後進入高原期(plateau);而非英語消虧慧專業的學生由於興趣時間等因素的影響,英語能力基本處於穩定甚至下降狀態。英語學習者經過努力可能會取得一些進步,卻避免不了重復犯一些錯誤。比如:有的中國學生雖能毫無障礙地和英語母語者進行深層次的交流,但在口頭交際中,仍會用錯過去完成時和將來進行時。最主要的原因就是漢語中沒有時態的概念。國內很多學者也在這方面做過實證研究,如:
丁容容,何福勝(2006)通過收集2000年至2005年清華大學非英語專業研究生的《高級英語交流》課程口語考試和課堂任務型口語測試50小時的語料,分析研究他們在英語口語中強勢語的用法。該項研究發現:和本族語者相比,中國學習者口語中所運用的強調詞較單一化,學習者超用和誤用了very一詞,將「very」和漢語的「很,非常」等同,誤將very修飾動詞和比較級。
李巧蘭(2004)抽樣調查了中國英語學習者話語標記語在口語中的使用情況。通過對比分析英語為母語者的語料,發現母語使用標記語的總次數明顯多於英語學習者,分別是中級和高級英語學習者的3.5倍和2.6倍,說明英語學習者的話語標記語語用次系統無法達到母語者標准,存在語用石化現象。
高翔、劉韶方(2006)以問卷調查形式獲取英語專業學生請求語用表達能力情況,將其與英語母語者的使用情況進行對比,發現半數以上的學生將不同情況下表達的請求統統等同於某種表達形式,並在多個回答中重復使用,存在語用石化。
語用石化的問題同樣引起了黃瑩、張新宇的興趣。他們選取了中國礦大英語專業四個年級的學生,通過問卷調查、課堂觀察、訪談相結合的形式,調查學生英語語用能力(2004)。結果表明學生的語用能力在大二達到最高,之後開始明顯下降,大三到大四有所回升,但基本沒有超過大二的語用水平,說明學生的英語語用能力在石化。
四、石化現象成因解釋
對中介語石化現象的解釋很大程度上取決於對石化現象的定義,觀察和描述。而石化現象的定義正像語言學其它術語的概念一樣,由於對石化現象本身缺乏統一的認識,尚不能確定石化現象究竟是一個發展過程,還是發展的結果;是語言能力層次的現象,還是屬於語用現象范疇。因此對於石化現象成因的解釋存在很大分歧。研究者們從不同角度各個層面對這一現象做了詳盡的解釋。一系列的因素已被確定為是導致學習者中介語石化的原因。這些因素在整體上被分為內因和外因兩大類。
1. 石化現象內因說
Ellis總結了兩點造成石化現象的內因:年齡因素和缺乏與目的語社會文化相融合的慾望。而以Lenneberg和Lamendella為代表的「生物論」者,把語言石化看作是人內在的生物和生理因素所造成的結果,從生物成長的角度來解釋語言問題和石化現象。他們認為孩子成長有個關鍵期(critical period),大約在兩歲左右,大腦的功能分工基本完成,語言功能定位在左腦,再學習其它語言會變得相對困難。
「生物論」常常用於解釋發音石化現象。絕大多數學習者無論花多少時間和精力都無法去掉本土口音。主要是因為大腦雙側分工已經固定永久化,發音器官已經習慣其本族語發音方式,口腔肌肉已失去彈性。「生物論」的主要問題是難以解釋學習者個體差異現象。
缺乏與目的語文化融合(acculturation)的慾望,即對目的語所持的社會心理距離,使學習者不願努力地採用目的語的文化模式。該觀點認為語言和文化不可分,石化的形成是多種社會心理因素作用的結果。簡單說即為學習者學習動機和文化遷移對石化形成的影響。這解釋了為什麼學習者使用有限的語言文化知識進行交際,最終形成語用石化的原因。
2. 石化現象外因說
外因說強調社會文化環境對學習者心理的影響。Ellis將外因歸納為(1)交際壓力;(2)缺乏學習機會;(3)反饋性質對學習者第二語使用的影響。反饋性質又被稱作交互說,以學習者得到的反饋形式來說明語言的發展或石化情況。如:學習者與教師和同學之間的不正確語言輸出有時被當作正確的語言輸入,導致一些錯誤沉澱石化。人際交流的過程傳遞著情感,對學習者產生肯定、中立或否定的心理作用。不同的反應對二語習得者有不同程度的如正面的、中立的或負面的加強作用,成為石化形成的一個重要原因。
另外根據Krashen的i+1理論,人們習得語言的唯一途徑就是通過獲得大量的i+1水平的可理解性輸入。因此目的語輸入數量不足,質量不適也同樣會引起學習者二語的石化。試想如果二語習得者能夠接觸大量自然語境下的語言輸入和二語環境,提高二語使用的熟練程度將不再高不可攀;在較短時間內較快接近母語者水平,將不再是天方夜譚。從這個意義上講,對教師和教學環境提出了更高的要求。
五、石化現象成因對口語教學的啟示
口語不像筆語,可以允許更多的思考和准備時間,二語習得者在口頭交際中會暴露出更多的中介語石化問題。因而,分析石化現象產生的原因會對口語教學有更大的啟示。
從以上對石化現象的種種解釋來看,在很大程度上,教學方式和教學內容會影響石化現象的產生。如果能及時糾正在培養二語學習者在習得二語過程中存在的一些片面觀點和做法,可以部分地防止和阻止二語習得者口語能力的石化。
1. 處理好教師話語與學生話語的關系
作為外語教師只是比學生在通往目的語的道路上走得遠了一些。提高教師隊伍的口語素質當然成了首要任務。這是其一。其二,過分強調交際能力的口語教學主張,在課堂上要盡量減少教師話語時間,增加學生交談時間。這一點忽視了學生作為學習者,仍處在語言學習過程中這個事實,忽視了母語學習與外語學習之間的差異。過多的學生話語不僅導致不正確的語匯、語法形式的輸入,還有受到母語影響的語音語調遷移也會使學生無法辨別地道的語音語調,加上學生缺乏對目的語國家文化背景的了解,容易產生語用方面的負遷移,從而產生石化。
因而,適當在學生練習任務結束之後,及時總結歸納學生犯的語法語用錯誤是非常有必要的。還有在分組安排配對練習的時候,盡量避免口語能力相對較弱的學生被分到一組或一對。考慮到學生口語水平的差別,在人員安排上要體現出層次性。
2. 盡量減少母語負遷移影響
母語遷移是討論石化現象繞不開的問題。母語干擾是石化的重要來源。第一語言和第二語言(外語)的相似性程度決定二語習得者掌握這門外語的難易程度,以及第一語言對第二語言習得和石化會產生多大的影響。
漢語和英語的差別較大,決定了中國英語學習者說一口中式英語的可能性也很大。教師在教學過程中一味向學生灌輸英語口語的正確表達形式未必能收到事半功倍的效果。因為處在學習階段的學習者仍在通過母語的語法語匯體系理解二語的語言現象。告知學生母語和目的語之間的區別和聯系,比起單單講授目的語的語用交際知識和規則,要省力得多。
3. 不適當的認知反饋和情感反饋
在如何對待語言學習者的錯誤問題上,一直存在著兩種對立的觀點。一類觀點是把學習者犯錯誤視為洪水猛獸,有錯必糾。另一類認為應該以學習者為中心,最大限度地吸引學生參與到課堂討論中來,從而有效地提高學生口頭交際能力,教師對錯誤的表達聽之任之。這兩種觀點顯然都走了極端。現代外語教學在經歷了語法――翻譯法、情景語言教學法、交際法、全身反應法、聽說法等階段後,教師在面對學生的語言錯誤時,反而變得不知所措。
由前文可知,反饋對交際者可以產生肯定、中立及否定的心理作用,不同的反饋會對學習者的語言使用有著不同程度的加強作用,或正面的,或中立的,或負面的。既如此,教師應當採取折衷的態度,既指出學生的錯誤,又要在不打擊學習積極性的前提下。唯此,教師才能盡可能地在教學過程中避免石化現象的發生。
六、結語
中介語石化理論是近些年二語習得領域討論的熱點。由於問題自身的復雜性,目前對此方面的研究還有待進一步探討。分析和闡釋中介語石化現象的成因,無疑對當前以培養交際能力為唯一目標的口語教學有著重要意義和啟發,能幫助教學工作者們意識到該教學法的誤區和實際操作中的缺陷,旨在促進口語教學既重視學生交際能力的培養,又注重學生語言能力的發展,雙管齊下。
參考文獻:
[1]Ellis,R. Understanding Second Language Acquisition[M]. 上海:上海外語教育出版社,1999.
[2] 戴煒棟,牛強.過渡語的石化現象及其教學啟示[J].外語研究,1999,(2).
[3]丁容容,何福勝.中國學習者英語口語中強勢語的用法研究[J].外語教學,2006,(9).
[4]李巧蘭.英語學習者話語標記語語用石化現象初探――基於真實口語語料的調查分析[J].解放軍外國語學院學報,2004,(5).
[5]高翔,劉韶方.英語專業學習者請求語用石化現象探究[J].中國礦業大學學報(社會科學版),2006,(12).
[6]黃瑩,張新宇.英語專業學生語用能力石化現象研究[J].河海大學學報(哲學社會科學版),2004,(3).
[7]陳慧媛.關於語言僵化現象起因的理論探討[J].外語教學與研究,1999,(3).
[8]張雪梅.語言石化現象的認知研究[J].外國語,2000,(4).
[9]李炯英.中介語石化現象研究30年綜觀[J].國外外語教學,2003,(4).
[10]楊文秀.中介語石化現象與口語教學[J].外語與外語教學,2000,(9).
[11]牛強.過渡語的石化現象及其教學啟示[J].外語與外語教學,2000,(5).
[12]文培紅.從中介語石化理論看當前外語教學的三大誤區[J].西南民族大學學報(人文社科版),2003,(10).
D. 房產中介廣告語設計
房產中介廣告語可以有如下寫法:
你們的舒心,我們的放心,我公司為您提供家的溫馨服務!
住過才知道這是最好的!
與您攜手,真情相約,讓家重生。
安居,我們做的更好。晌伏
想要有個家嗎?我們已為你准備了溫馨小巢。
新家舊家住的舒服,看著漂亮,經濟實用,就是好家!
二手房經紀公司,因為真心,所以省心!
每一座偉大的城市,野謹差都有一個偉大的房產公司!
愛的小屋,住的安心!
專業房產,精益求精。
為您的家居帶來安心的感覺。
買得放心,住得安心,一切更省心。
安天下居,居天下家。
愛(放/省)心房產,二手傳遞。
你的夢想,你的生活。
千家萬家,這有你溫頌皮馨的家!
放心到這里,安居我幫你。
珍重所託,如同已出。
美好生活,輕松擁有點綴你我,美好生活。
家,是放心的地方。
E. 中介語和偏誤分析的關系
回答:這兩個概念的關系在於,中介語的產生往往伴隨著學習者的偏誤,而偏誤分喊團析可以通過分析學習者的中介語來深入了解學習者在學習第二語言時所面臨的困難和問題,並為教學提供有針對性的指導。
解析:中介語是學習第二語言時的一種常見現象,學習者在使用目標語言時會受到母語的影響,導致語言結構上的混淆。例如,中文中的「我很喜歡吃面條」直譯成英文就是「I very like to eat noodles」,但這種表達方式是不符合英語語法規則的。正確讓亮的表達應該是「I like eating noodles very much」,其中,「like」和「eating」之間需要加上動詞-ing形式的連詞,而「very much」應該放在句子末尾。這種混淆語言結構的現象就是中介語。而偏誤分析則是研究學習者在學習第二語言時所犯的錯誤及其產生原因的過程。通過分析學習者的偏誤,可以了解學習者在語言學習過程中所面臨的困難和問題,為教學提鄭滑橘供有針對性的指導。而中介語的產生往往伴隨著學習者的偏誤,因此偏誤分析可以通過分析學習者的中介語來深入了解學習者的偏誤及其產生原因。
擴展:中介語和偏誤分析在第二語言習得研究領域中具有重要的意義。通過對中介語和偏誤的研究,可以深入了解第二語言學習的過程和規律,為教學提供科學的指導。此外,中介語和偏誤分析也具有跨學科的特點,涉及到語言學、心理學、教育學等多個學科領域。因此,對中介語和偏誤分析的研究不僅有助於促進語言學習和教學的發展,也有助於推動跨學科研究的發展。
F. 為什麼佛里德曼認為貨幣政策的最佳中介指標
弗里德曼應該是認為貨幣政策的最佳中介指標是貨幣供給量Ms吧,因為他是貨幣學派的代表
Ms會直接影響E從而影響I最後影響Y,Money supply增加(貨幣學派認為人們的貨幣需求Md是一個相對穩定的值),所以人們手中持有的貨幣的量會超過人們期望或者願意持有的量困臘鎮,就會拿這個汪粗錢消費,E增加,增加的一部分錢拿出去投資,因此I增加,I增加透過投局賣資乘數,調整資產結構,從而最終引起Y變化。
但是央行對於Ms的影響只能通過B或者H來影響,而貨幣乘數中的C/D取決於私人部門的行為,R/D取決於存款貨幣銀行的行為,因此控制比較難。
而Ms作為中介指標的優點主要是M0和M1的數據統計是常態,可測性比較好,而且直接影響到物價P,相關性也比較好。
G. 語言現象是什麼
語言現象就是指語言在語音、詞彙、語法等方面所表現出來的狀況。
語言現象就是一種特殊的人類活動的現象。新的語言現象就是隨著社會的發展變化,這種特殊的人類活動的現象也隨著發展變化的必然現象。
如多音字就是一種語言現象,比如「還」字,取義「依然、仍然 、更加、再、又、 尚」時讀 「 hái」,取義「回到原處或恢復原狀、回報別人對自己的行動、 償付」時讀「huán」。
再比如古代漢語中的倒裝句也是一種語言現象,如「孔子雲:何陋之有?」隨著社會的發展,尤其是網路的普及,又出現了很多新的語言現象,如「雷人」、「給力」、「斑竹」、「神馬都是浮雲」等。
(7)中介語言最佳數據是多少擴展閱讀
1、中介語現象:
在外語學習過程中首埋粗,一些學習者往往用母語的文字去記錄外者鎮語的語音,結果讀出的外語語音既不同於母語也不同於外語。例如:把英語的goodbye注為「古液顫的白」。這種既不同於母語又不同於外語而只屬於個人的語言系統,充分體現了語言學中的「中介語現象」。
2、語言遷移現象:
漢語方言較重的地區,一些人在英語的發音上總是帶著方言的尾調,這是語言學中「語言遷移現象」的體現。在外語學習的過程中,作為來源語的母語會對作為目標語的外語產生影響,這就是語言遷移現象,其中積極的影響叫正遷移,消極的影響叫負遷移。
H. 數據結構
何謂數據結構
?
數據結構是在整個計算機科學與技術領域上廣泛被使用的術語。它用來反映一個數據的內部構成,即一個數據由那些成分數據構成,以什麼方式構成,呈什麼結構。數據結構有邏輯上的數據結構和物理上的數據結構之分。邏輯上的數據結構反映成分數據之間的邏輯關系,而物理上的數據結構反映成分數據在計算機內部的存儲安排。數據結構是數據存在的形式。 數據結構是信息的一種組織方式,其目的是為了提高演算法的效率,它通常與一組演算法的集合相對應,通過這組演算法集合可以對數據結構中的數據進行某種操作。
?
數據結構主要研究什麼?
?
數據結構作為一門學科主要研究數據的各種邏輯結構和存儲結構,以及對數據的各種操作。因此,主要有三個方面的內容:數據的邏輯結構;數據的物理存儲結構;對數據的操作(或演算法)。通常,演算法的
?
設計取決於數據的邏輯結構,演算法的實現取決於數據的物理存儲結構。
?
什麼是數據結構?什麼是邏輯結構和物理結構?
?
數據是指由有限的符號(比如,"0"和"1",具有其自己的結構、操作、和相應的語義)組成的元素的集合。結構是元素之間的關系的集合。通常來說,一個數據結構DS 可以表示為一個二元組:
?
DS=(D,S), //i.e., data-structure=(data-part,logic-structure-part) 這里D是數據元素的集合(或者是「結點」,可能還含有「數據項」或「數據域」),S是定義在D(或其他集合)上的關系的集合,S = { R | R : D×D×...},稱之為元素的邏輯結構。 邏輯結構有四種基本類型:集合結構、線性結構、樹狀結構和網路結構。表和樹是最常用的兩種高效數據結構,許多高效的演算法可以用這兩種數據結構來設計實現。表是線性結構的(全序關系),樹(偏序或層次關系)和圖(局部有序(weak/local orders))是非線性結構。
?
數據結構的物理結構是指邏輯結構的存儲鏡像(image)。數據結構 DS 的物理結構 P對應於從 DS 的數據元素到存儲區M(維護著邏輯結構S)的一個映射:
?
(PD,S) -- > M 存儲器模型:一個存儲器 M 是一系列固定大小的存儲單元,每個單元 U 有一個唯一的地址 A(U),該地址被連續地編碼。每個單元 U 有一個唯一的後繼單元 U'=succ(U)。 P 的四種基本映射模型:順序(sequential)、鏈接(linked)、索引(indexed)和散列(hashing)映射。
?
因此,我們至少可以得到4×4種可能的物理數據結構:
?
sequential (sets)
linked lists
indexed trees
hash graphs
?
(並不是所有的可能組合都合理)
?
??? 數據結構DS上的操作:所有的定義在DS上的操作在改變數據元素(節點)或節點的域時必須保持DS的邏輯和物理結構。
?
DS上的基本操作:任何其他對DS的高級操作都可以用這些基本操作來實現。最好將DS和他的所有基本操作看作一個整體——稱之為模塊。我們可以進一步將該模塊抽象為數據類型(其中DS的存儲結構被表示為私有成員,基本操作被表示為公共方法),稱之為ADT。作為ADT,堆棧和隊列都是一種特殊的表,他們擁有表的操作的子集。 對於DATs的高級操作可以被設計為(不封裝的)演算法,利用基本操作對DS進行處理。
?
好的和壞的DS:如果一個DS可以通過某種「線性規則」被轉化為線性的DS(例如線性表),則稱它為好的DS。好的DS通常對應於好的(高效的)演算法。這是由計算機的計算能力決定的,因為計算機本質上只能存取邏輯連續的內存單元,因此如何沒有線性化的結構邏輯上是不可計算的。比如對一個圖進行操作,要訪問圖的所有結點,則必須按照某種順序來依次訪問所有節點(要形成一個偏序),必須通過某種方式將圖固有的非線性結構轉化為線性結構才能對圖進行操作。
?
樹是好的DS——它有非常簡單而高效的線性化規則,因此可以利用樹設計出許多非常高效的演算法。樹的實現和使用都很簡單,但可以解決大量特殊的復雜問題,因此樹是實際編程中最重要和最有用的一種數據結構。樹的結構本質上有遞歸的性質——每一個葉節點可以被一棵子樹所替代,反之亦然。實際上,每一種遞歸的結構都可以被轉化為(或等價於)樹形結構。
?
從機器語言到高級語言的抽象
?
我們知道,演算法被定義為一個運算序列。這個運算序列中的所有運算定義在一類特定的數據模型上,並以解決一類特定問題為目標。這個運算序列應該具備下列四個特徵。 有限性,即序列的項數有限,且每一運算項都可在有限的時間內完成;確定性,即序列的每一項運算都有明確的定義,無二義性;可以沒有輸入運算項,但一定要有輸出運算項;可行性,即對於任意給定的合法的輸入都能得到相應的正確的輸出。這些特徵可以用來判別一個確定的運算序列是否稱得上是一個演算法。 但是,我們現在的問題不是要判別一個確定的運算序列是否稱得上是一個演算法,而是要對一個己經稱得上是演算法的運算序列,回顧我們曾經如何用程序設計語言去表達它。
?
演算法的程序表達,歸根到底是演算法要素的程序表達,因為一旦演算法的每一項要素都用程序清楚地表達,整個演算法的程序表達也就不成問題。
?
作為運算序列的演算法,有三個要素。 作為運算序列中各種運算的運算對象和運算結果的數據;運算序列中的各種運算;運算序列中的控制轉移。這三種要素依序分別簡稱為數據、運算和控制。 由於演算法層出不窮,變化萬千,其中的運算所作用的對象數據和所得到的結果數據名目繁多,不勝枚舉。最簡單最基本的有布爾值數據、字元數據、整數和實數數據等;稍復雜的有向量、矩陣、記錄等數據;更復雜的有集合、樹和圖,還有聲音、圖形、圖像等數據。 同樣由於演算法層出不窮,變化萬千,其中運算的種類五花八門、多姿多彩。最基本最初等的有賦值運算、算術運算、邏輯運算和關系運算等;稍復雜的有算術表達式和邏輯表達式等;更復雜的有函數值計算、向量運算、矩陣運算、集合運算,以及表、棧、隊列、樹和圖上的運算等:此外,還可能有以上列舉的運算的復合和嵌套。 關於控制轉移,相對單純。在串列計算中,它只有順序、分支、循環、遞歸和無條件轉移等幾種。
?
我們來回顧一下,自從計算機問世以來,演算法的上述三要素的程序表達,經歷過一個怎樣的過程。
?
最早的程序設計語言是機器語言,即具體的計算機上的一個指令集。當時,要在計算機上運行的所有演算法都必須直接用機器語言來表達,計算機才能接受。演算法的運算序列包括運算對象和運算結果都必須轉換為指令序列。其中的每一條指令都以編碼(指令碼和地址碼)的形式出現。與演算法語言表達的演算法,相差十萬八千里。對於沒受過程序設計專門訓練的人來說,一份程序恰似一份"天書",讓人看了不知所雲,可讀性
?
極差。
?
用機器語言表達演算法的運算、數據和控制十分繁雜瑣碎,因為機器語言所提供的指令太初等、原始。機器語言只接受算術運算、按位邏輯運算和數的大小比較運算等。對於稍復雜的運算,都必須一一分解,直到到達最初等的運算才能用相應的指令替代之。機器語言能直接表達的數據只有最原始的位、位元組、和字三種。演算法中即使是最簡單的數據如布爾值、字元、整數、和實數,也必須一一地映射到位、位元組和字
中,還得一一分配它們的存儲單元。對於演算法中有結構的數據的表達則要麻煩得多。機器語言所提供的控制轉移指令也只有無條件轉移、條件轉移、進入子程序和從子程序返回等最基本的幾種。用它們來構造循環、形成分支、調用函數和過程得事先做許多的准備,還得靠許多的技巧。 直接用機器語言表達演算法有許多缺點。
?
大量繁雜瑣碎的細節牽制著程序員,使他們不可能有更多的時間和精力去從事創造性的勞動,執行對他們來說更為重要的任務。如確保程序的正確性、高效性。程序員既要駕馭程序設計的全局又要深入每一個局部直到實現的細節,即使智力超群的程序員也常常會顧此失彼,屢出差錯,因而所編出的程序可靠性差,且開發周期長。 由於用機器語言進行程序設計的思維和表達方式與人們的習慣大相徑庭,只有經過
較長時間職業訓練的程序員才能勝任,使得程序設計曲高和寡。因為它的書面形式全是"密"碼,所以可讀性差,不便於交流與合作。因為它嚴重地依賴於具體的計算機,所以可移植性差,重用性差。這些弊端造成當時的計算機應用未能迅速得到推廣。
?
克服上述缺點的出路在於程序設計語言的抽象,讓它盡可能地接近於演算法語言。 為此,人們首先注意到的是可讀性和可移植性,因為它們相對地容易通過抽象而得到改善。於是,很快就出現匯編語言。這種語言對機器語言的抽象,首先表現在將機器語言的每一條指令符號化:指令碼代之以記憶符號,地址碼代之以符號地址,使得其含義顯現在符號上而不再隱藏在編碼中,可讓人望"文"生義。其次表現在這種語言擺脫了具體計算機的限制,可在不同指令集的計算機上運行,只要該計算機配上匯編語言的一個匯編程序。這無疑是機器語言朝演算法語言靠攏邁出的一步。但是,它離演算法語言還太遠,以致程序員還不能從分解演算法的數據、運算和控制到匯編才能直接表達的指令等繁雜瑣碎的事務中解脫出來。 到了50年代中期,出現程序設計的高級語言如Fortran,Algol60,以及後來的PL/l, Pascal等,演算法的程序表達才產生一次大的飛躍。
?
誠然,演算法最終要表達為具體計算機上的機器語言才能在該計算機上運行,得到所需要的結果。但匯編語言的實踐啟發人們,表達成機器語言不必一步到位,可以分兩步走或者可以築橋過河。即先表達成一種中介語言,然後轉成機器語言。匯編語言作為一種中介語言,並沒有獲得很大成功,原因是它離演算法語
?
言還太遠。這便指引人們去設計一種盡量接近演算法語言的規范語言,即所謂的高級語言,讓程序員可以用它方便地表達演算法,然後藉助於規范的高級語言到規范的機器語言的"翻譯",最終將演算法表達為機器語言。而且,由於高級語言和機器語言都具有規范性,這里的"翻譯"完全可以機械化地由計算機來完成,就像匯編語言被翻譯成機器語言一樣,只要計算機配上一個編譯程序。 上述兩步,前一步由程序員去完成,後一步可以由編譯程序去完成。在規定清楚它們各自該做什麼之後,這兩步是完全獨立的。它們各自該如何做互不相干。前一步要做的只是用高級語言正確地表達給定的演算法,產生一個高級語言程序;後一步要做的只是將第一步得到的高級語言程序翻譯成機器語言程序。至於程序員如何用高級語言表達演算法和編譯程序如何將高級語言表達的演算法翻譯成機器語言表達的演算法,顯然毫不相干。
?
處理從演算法語言最終表達成機器語言這一復雜過程的上述思想方法就是一種抽象。匯編語言和高級語言的出現都是這種抽象的範例。 與匯編語言相比,高級語言的巨大成功在於它在數據、運算和控制三方
?
面的表達中引入許多接近演算法語言的概念和工具,大大地提高抽象地表達演算法的能力。 在運算方面,高級語言如Pascal,除允許原封不動地運用演算法語言的四則運算、邏輯運算、關系運算、算術表達式、邏輯表達式外,還引入強有力的函數與過程的工具,並讓用戶自定義。這一工具的重要性不僅在於它精簡了重復的程序文本段,而且在於它反映出程序的兩級抽象。
?
在函數與過程調用級,人們只關心它能做什麼,不必關心它如何做。只是到函數與過程的定義時,人們才給出如何做的細節。用過高級語言的讀者都知道,一旦函數與過程的名稱、參數和功能被規定清楚,那麼,在程序中調用它們便與在程序的頭部說明它們完全分開。你可以修改甚至更換函數體與過程體,而不影響它們的被調用。如果把函數與過程名看成是運算名,把參數看成是運算的對象或運算的結果,那麼
?
,函數與過程的調用和初等運算的引用沒有兩樣。利用函數和過程以及它們的復合或嵌套可以很自然地表達演算法語言中任何復雜的運算。
?
在數據方面,高級語言如Pascal引人了數據類型的概念,即把所有的數據加以分類。每一個數據(包括表達式)或每一個數據變數都屬於其中確定的一類。稱這一類數據為一個數據類型。 因此,數據類型是數據或數據變數類屬的說明,它指示該數據或數據變數可能取的值的全體。對於無結構的數據,高級語言如Pascal,除提供標準的基本數據類型--布爾型、字元型、整型和實型外,還提供用戶可自定義的枚舉類、子界類型和指針類型。這些類型(除指針外),其使用方式都順應人們在演算法語言中使用的習慣。對於有結構的數據,高級語言如Pascal,提供了數組、記錄、有限制的集合和文件等四種標準的結構數據類型。其中,數組是科學計算中的向量、矩陣的抽象;記錄是商業和管理中的記錄的抽象;有限制的集合是數學中足夠小的集合的勢集的抽象;文件是諸如磁碟等外存儲數據的抽象。
?
人們可以利用所提供的基本數據類型(包括標準的和自定義的),按數組、記錄、有限制的集合和文件的構造規則構造有結構的數據。 此外,還允許用戶利用標準的結構數據類型,通過復合或嵌套構造更復雜更高層的結構數據。這使得高級語言中的數據類型呈明顯的分層。 高級語言中數據類型的分層是沒有窮盡的,因而用它們可以表達演算法語言中任何復雜層次的數據。 在控制方面,高級語言如Pascal,提供了表達演算法控制轉移的六種方式。
?
(1)預設的順序控制";"。
?
(2)條件(分支)控制:"if表達式(為真)then S1 else S2;" 。
?
(3)選擇(情況)控制:
?
"Case 表達式 of
?
值1: S1
值2: S2
...
值n: Sn
end"
?
(4)循環控制:
?
"while 表達式(為真) do S;" 或
"repeat S until 表達式(為真);" 或
"for變數名:=初值 to/downto 終值do S;"
?
(5)函數和過程的調用,包括遞歸函數和遞歸過程的調用。
?
(6)無條件轉移goto。
這六種表達方式不僅覆蓋了演算法語言中所有控製表達的要求,而且不再像機器語言或匯編語言那樣原始、那樣繁瑣、那樣隱晦,而是如上面所看到的,與自然語言的表達相差無幾。 程序設計語言從機器語言到高級語言的抽象,帶來的主要好處是: 高級語言接近演算法語言,易學、易掌握,一般工程技術人員只要幾周時間的培訓就可以勝任程序員的工作;高級語言為程序員提供了結構化程序設計的環境和工具,使得設計出來的程序可讀性好,可維護性強,可靠性高;高級語言遠離機器語言,與具體的計算機硬體關系不大,因而所寫出來的程序可移植性好,重用率高; 由於把繁雜瑣碎的事務交給了編譯程序去做,所以自動化程度高,開發周期短,且程、序員得到解脫,可以集中時間和精力去從事對於他們來說更為重要的創造性勞動,以提高、程序的質量。
?
數據結構、數據類型和抽象數據類型
?
數據結構、數據類型和抽象數據類型,這三個術語在字面上既不同又相近,反映出它們在含義上既有區別又有聯系。
?
數據結構是在整個計算機科學與技術領域上廣泛被使用的術語。它用來反映一個數據的內部構成,即一個數據由哪些成分數據構成,以什麼方式構成,呈什麼結構。數據結構有邏輯上的數據結構和物理上的數據結構之分。邏輯上的數據結構反映成分數據之間的邏輯關系,物理上的數據結構反映成分數據在計算機內的存儲安排。數據結構是數據存在的形式。
?
數據是按照數據結構分類的,具有相同數據結構的數據屬同一類。同一類數據的全體稱為一個數據類型。在程序設計高級語言中,數據類型用來說明一個數據在數據分類中的歸屬。它是數據的一種屬性。這個屬性限定了該數據的變化范圍。為了解題的需要,根據數據結構的種類,高級語言定義了一系列的數據類型。不同的高級語言所定義的數據類型不盡相同。Pascal語言所定義的數據類型的種類。
?
其中,簡單數據類型對應於簡單的數據結構;構造數據類型對應於復雜的數據結構;在復雜的數據結構里,允許成分數據本身具有復雜的數據結構,因而,構造數據類型允許復合嵌套;指針類型對應於數據結構中成分數據之間的關系,表面上屬簡單數據類型,實際上都指向復雜的成分數據即構造數據類型中的數據,因此這里沒有把它劃入簡單數據類型,也沒有劃入構造數據類型,而單獨劃出一類。
?
數據結構反映數據內部的構成方式,它常常用一個結構圖來描述:數據中的每一項成分數據被看作一個結點,並用方框或圓圈表示,成分數據之間的關系用相應的結點之間帶箭號的連線表示。如果成分數據本身又有它自身的結構,則結構出現嵌套。這里嵌套還允許是遞歸的嵌套。
?
由於指針數據的引入,使構造各種復雜的數據結構成為可能。按數據結構中的成分數據之間的關系,數據結構有線性與非線性之分。在非線性數據結構中又有層次與網狀之分。 由於數據類型是按照數據結構劃分的,因此,一類數據結構對應著一種數據類型。數據類型按照該類型中的數據所呈現的結構也有線性與非線性之分,層次與網狀之分。一個數據變數,在高級語言中的類型說明必須是讀變數所具有的數據結構所對應的數據類型。最常用的數據結構是數組結構和記錄結構。數組結構的特點是:
?
成分數據的個數固定,它們之間的邏輯關系由成分數據的序號(或叫數組的下標)來體現。這些成分數據按照序號的先後順序一個挨一個地排列起來。每一個成分數據具有相同的結構(可以是簡單結構,也可以是復雜結構),因而屬於同一個數據類型(相應地是簡單數據類型或構造數據類型)。這種同一的數據類型稱為基類型。所有的成分數據被依序安排在一片連續的存儲單元中。 概括起來,數組結構是一個線性的、均勻的、其成分數據可隨機訪問的結構。
?
由於這、種結構有這些良好的特性,所以最常被人們所採用。在高級語言中,與數組結構相對應的、數據類型是數組類型,即數組結構的數據變數必須說明為array [i] of T0 ,其中i是數組、結構的下標類型,而T0是數組結構的基類型。 記錄結構是另一種常用的數據結構。它的特點是:與數組結構一樣,成分數據的個數固定。但成分數據之間沒有自然序,它們處於平等地位。每一個成分數據被稱為一個域並賦予域名。不同的域有不同的域名。不同的域允許有不同的結構,因而允許屬於不同的數據類型。與數組結構一樣,它們可以隨機訪問,但訪問的途徑靠的是域名。在高級語言中記錄結構對應的數據類型是記錄類型。記錄結構的數據的變數必須說明為記錄類型。
?
抽象數據類型的含義在上一段已作了專門敘述。它可理解為數據類型的進一步抽象。即把數據類型和數據類型上的運算捆在一起,進行封裝。引入抽象數據類型的目的是把數據類型的表示和數據類型上運算的實現與這些數據類型和運算在程序中的引用隔開,使它們相互獨立。對於抽象數據類型的描述,除了必須描述它的數據結構外,還必須描述定義在它上面的運算(過程或函數)。抽象數據類型上定義的過程和函
數以該抽象數據類型的數據所應具有的數據結構為基礎。
?
泛型設計和數據結構與演算法
?
下面我想再說說關於泛型程序設計模型對於數據結構和演算法方面的最新推動,泛型思想已經把數據結
?
構和演算法方面的基本思想抽象到了一個前所未有的高度,現在有多種程序設計語言支持泛型設計,比如
ADA,C++,而且據說在JAVA的下一版本和C#中也將對泛型設計進行全面的支持。
?
先說說泛型設計的基本思想:泛型編程(generic programming,以下直接以GP稱呼)是一種全新的程序設計思想,和OO,OB,PO這些為人所熟知的程序設計想法不同的是GP抽象度更高,基於GP設計的組件之間偶合度底,沒有繼承關系,所以其組件間的互交性和擴展性都非常高。我們都知道,任何演算法都是作用在一種特定的數據結構上的,最簡單的例子就是快速排序演算法最根本的實現條件就是所排序的對象是存
貯在數組裡面,因為快速排序就是因為要用到數組的隨機存儲特性,即可以在單位時間內交換遠距離的對象,而不只是相臨的兩個對象,而如果用聯表去存儲對象,由於在聯表中取得對象的時間是線性的既O[n],這樣將使快速排序失去其快速的特點。也就是說,我們在設計一種演算法的時候,我們總是先要考慮其應用的數據結構,比如數組查找,聯表查找,樹查找,圖查找其核心都是查找,但因為作用的數據結構不同
?
將有多種不同的表現形式。數據結構和演算法之間這樣密切的關系一直是我們以前的認識。泛型設計的根本思想就是想把演算法和其作用的數據結構分離,也就是說,我們設計演算法的時候並不去考慮我們設計的演算法將作用於何種數據結構之上。泛型設計的理想狀態是一個查找演算法將可以作用於數組,聯表,樹,圖等各種數據結構之上,變成一個通用的,泛型的演算法。這樣的理想是不是很誘惑人?
?
泛型編程帶來的是前所未有的彈性以及不會損失效率的抽象性,GP和OO不同,它不要求你通過額外的間接層來調用函數:它讓你撰寫完全一般化並可重復使用的演算法,其效率與針對特定數據結構而設計的演算法旗鼓相當。我們大家都知道數據結構在C++中可以用用戶定義類型來表示,而C++中的模板技術就是以類型作為參數,那麼我可以想像利用模板技術可以實現我們開始的GP思想,即一個模板函數可以對於各種傳遞進來的類型起作用,而這些類型就可以是我們定義的各種數據結構。
?
泛型演算法抽離於特定類型和特定數據結構之外,使得其適應與盡可能的一般化類型,演算法本身只是為了實現演算法其需要表達的邏輯本質而不去被為各種數據結構的實現細節所干擾。這意味著一個泛型演算法實際具有兩部分。1,用來描敘演算法本質邏輯的實際指令;2,正確指定其參數類型必須滿足的性質的一組需求條件。到此,相信有不少人已經開始糊塗了,呵呵,不要緊。畢竟GP是一種抽象度非常高的程序設計思想,裡面的核心就是抽象條件成為成為程序設計過程中的核心,從而取代了類型這在OO裡面的核心地位,正是因為類型不在是我們考慮的重點,類型成為了抽象條件的外衣,所以我們稱這樣的程序思想為泛型思想------把類型泛化。
這樣可以么?