十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
D
創(chuàng)新互聯(lián)專注于企業(yè)網(wǎng)絡營銷推廣、網(wǎng)站重做改版、霍城網(wǎng)站定制設計、自適應品牌網(wǎng)站建設、H5頁面制作、商城網(wǎng)站建設、集團公司官網(wǎng)建設、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應式網(wǎng)頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為霍城等各大城市提供網(wǎng)站開發(fā)制作服務。
試題分析:考查時態(tài)。句意:—我想知道你是否可以和我去購物中心?—不要打擾我。今天早晨我一直在寫實驗報告,到現(xiàn)在還沒有寫好。指從過去開始一直到現(xiàn)在都在做某事,故使用現(xiàn)在完成進行時。故D正確。
點評:時態(tài)的考查要根據(jù)上下文的語境進行,同時要注意一些關鍵的時間狀語。
大家都知道,生活在21世紀的年輕人掌握一門外語是十分重要的,尤其是英語。如何學好英語,提高英語水平,是當前很多中學生困惑的問題。其實,學好英語并不是一件難事,關鍵在于要掌握好的學習方法。學習方法自然是因人而異、因時而異的。其實方法本身無所謂好與壞,關鍵就看它能否完美地與 個人相結合,提高學習效率,如果一套方法能夠激發(fā)你的學習興趣,提高學習效率的話,以后要做的就是堅持下去??赡芪覀兌家娺^類似的情況:有的人整日埋頭書案,學得很辛苦,但成績?nèi)圆焕硐耄河械娜藙t懂得“有張有弛”,學得很輕松,而且名列前茅。如果你是后者,相信你已經(jīng)找到了良好的學習方法與你個人的最佳結合點了,只要持之以恒即可;而前者已經(jīng)具備了一定的毅力,關鍵就在于提高自己的學習效率了。
學好英語的另一個關鍵是提高英語學習的興趣。愛因斯坦說過“興趣是
最好的老師”。興趣是產(chǎn)生學習的動力。那如何產(chǎn)生學習的興趣呢?當然你必須要學會英語、懂得英語、會在生活實踐中運用你所學習的英語知識。你懂得越多你的興趣就會越濃。首先,你必須有足夠的詞匯量,有堅實的語法知識。
一、詞匯
詞匯是學好英語的關鍵,沒有足夠的詞匯就無從談起聽、說、讀、寫。
詞匯量的大小決定一個學生英語水平的高低。因此在初中階段除要掌握《大綱》要求的800多詞匯外,還要擴充500個左右的詞匯。在學習詞匯的過程中,要掌握詞的拼讀規(guī)則,根據(jù)規(guī)則記憶單詞;同時還要根據(jù)構詞法知識記憶和擴充單詞,通過語境理解和記憶單詞也是一個最佳學習單詞的好方法。目前詞匯在中考試題中漢譯英的試題越來越少,取而代之的是詞匯在語境中的運用考查比重越來越大。在進入學習英語的初級階段時,掌握語音知識是學好英語單詞的基礎,讀準英語音素是拼讀音標的前提。因此一定要熟練掌握48個音素,要做到會拼讀、拼寫。有些同學認為中考試題的筆試部分取消了對語音的考查,于是就其次,要注意訓練自己聽音、辨音和模仿的能力。課堂上,專心聽老師的發(fā)音和磁帶上的錄音,爭取當堂學會。對于那些比較拗口的單詞、短語或句子,課下一定要擠時間反復模仿,直到讀準、讀熟為止。再次,熟練掌握讀音規(guī)則,培養(yǎng)自己根據(jù)讀音規(guī)則把字母(或字母組合)與讀音建立起聯(lián)系的能力。因為掌握拼讀規(guī)則對單詞的記憶很有好處。為此要經(jīng)常復習鞏固每單元最后一課的“Listen,read and say”和課本附錄中的"Pronunciation and spelling”,如果不重視這些內(nèi)容。我覺得這可是很大的缺撼。如果誰能夠熟練掌握它,它可就成為你記憶單詞的好幫手了。
說到記憶單詞,這可是同學們普遍感到頭疼的事。尤其是現(xiàn)行的新教材詞匯量擴大了不少,記憶的難度就更大了。記不住單詞,學好英語就無從談起。所以突破單詞這一難關非常關鍵。記憶單詞的方法很多。
1.按讀音記憶單詞。實際上在你看單詞時就要順便看一眼音標,掌握字母及字母組合的讀音規(guī)律。將所有符合規(guī)則的單詞歸類記憶。如:①按開、閉音節(jié)記憶,掌握元音字母的讀音。Bag: cat, map, sad;cake: name, plane, date; desk: next, set, step, let; these: Chinese, Japanese; hit: big, ship, this, kill; like: side, nice, kite,mine ; not: dog, hot, stop, got; nose: note, those, close, hole ; bus: nut, cup, rubber, dust; use: huge等。②按字母組合記憶,掌握元音字母組合和輔音字母組合的讀音,如:
bee, meet, see, keep等等,ee字母組合讀/i:/;chair,
ch字母組合讀/tS / 。
2.分音節(jié)記憶。單詞不論長短,如果從第一個字母背到最后一個字母,是
很難記憶的。如:information,共11個字母組成,可以把它“大卸八
塊”,分音節(jié)記憶就會很容易。in-for-ma-tion
3.音、形、義結合法
背單詞將它的音、形、義結合起來,記憶牢固,速度也快。讀準它的
音,看好它的形,明白它的義,尤其是一詞多義,記憶時要提高分辨率。
如:orange是個兼類詞,作可數(shù)名詞意思是“桔子”;作形容詞意思是
“桔色的”;作不可數(shù)名詞意思是“桔汁”??勺x音只有一
個/'orindJ/,詞形一樣。這樣有意識地去分辨記憶就容易多了。
4.聯(lián)想記憶來記單詞。它主要包括以下幾種形式:
① 對比聯(lián)想記憶:
將同義詞: study/learn(學習),big/large/great(大的),look/
see/watch(看),hear/listen(聽),good/fine/well/
nice(好的), door/gate(門),like/love/enjoy(喜歡)等。
反義詞: 如:big(大) →small(小),dear(昂貴) →cheap(便宜),hot
(熱) →cold(冷),slow(慢) →quick/fast(快),thin(瘦)
→(胖),in front of(在……前面) →behind(在……后面),
south(南) →north(北)等。
同音詞: too(也) →two(二),for(為) →four(四),right(正確) →
write(寫),by(乘) →buy(買),blue(藍色的) →blew(blow
的過去式),sea(海洋) →see(看見),son(兒子) →sun(太
陽), whether(是否)→weather(天氣)
詞形相近比較:want(想要)→wait(等待),read(讀)→ready(準備好
的),wall(墻) →walk(走),quite(很)→quiet(安靜的),
present(禮物)→parent(父母)等放到一起對比記憶。
同時還可以聯(lián)想到一些義同形不同的詞。如:由cost聯(lián)想到pay,take和spend,并將這些意義相對、相同或讀音相同的詞的用法進行比較。
②歸類聯(lián)想記憶:把所學的單詞按照不同的范疇分門別類, 將所學單詞合理歸類。
A.按詞性歸類。如:名詞driver, name…,動詞be, have, drive…,
形容詞careful, happy…,副詞carefully, happily…,介詞in,
on at…,代詞he, she, him, her…等。
B.按用途歸類。如:服裝類coat, shirt, skirt, sweater,
shoes…,食品類cake, rice, dumpling, noodle…,運動類
football, basketball, race, sport…,交通類traffic, bus,
car, taxi, train, plane, ship…,月份January, February,
March, April…,星期Monday, Tuesday, Wednesday,
Thursday, Friday, Saturday, Sunday和節(jié)日等。比如學習
Christmas一詞時, 就聯(lián)想到Children's Day,Women's Day,
Teachers’Day,Tree—Planting Day,Mid—autumn
Festival,National Day, New Year’s Day, Spring
Festival等一系列的節(jié)日名詞。
③構詞聯(lián)想記憶:利用同根詞(詞形轉換)聯(lián)想記憶,注意詞性。英語單
詞中有許多詞具有一詞多性的特點,如open既可作動詞用,又可作
形容詞用。另一些詞具有同一個詞根,如單詞care既具備名詞性質
又具備動詞性質,它的同根詞有careful,carefully,careless,
carelessly,對于這些詞,我們應重點記憶。再如:north→
northern,noise→noisy→noisily等。利用合成詞聯(lián)想記憶,如
學到moonlight這個詞就想到它是由moon和light這兩個詞合成
的;classroom是由class與room合成的。
④搭配聯(lián)想記憶:以一個單詞為中心搭配不同的詞而構成新的短語。這種語言現(xiàn)象非常多,如能經(jīng)常使用此法則會牢固地記住所學的短語。如:
1)含有get的短語有:get ready for 為…… 做準備,get up 起 床,get on, with 與人相處,get down下來, get dressed穿衣服,get back取回;回來,got on 上車,get off下車,get to 到達,get out of從……出來, get lost迷路。
2)含go的短語有:go swimming去游泳, goes on繼續(xù);持續(xù), go to school去上學, go to bed上床睡覺, goes home回家, go out for a walk出去散步, go away走開, goes down降落,go back回去, go on with繼續(xù)做某事
3) 含look的短語有:look at 看, 1ook after照看;照顧, look the same 看起來很像, 1ook like看起來像, 1ook for尋找, 1ook up(在詞典、參考書中)查找, 1ook over (醫(yī)生)檢查, 1ook around (round)環(huán)顧四周
4)含make的短語有:make room for 為……. 讓地方, make sentences with 用……造句, made a face or made faces 做鬼臉, be made in在…制造 , be made of由…制成, make tea沏茶, make friends with 與……交朋友, make up編出, made a mistake出差錯, make sure確保,確信, make a noise吵鬧
5)含take的短語有:take your time 不急;慢慢來, take, medicine 吃藥;服藥, take a walk 散步,take, exercise 運動, take turns 輪流;替換, take care of 照料;照顧, take, out of 帶走;拿出, taking off 脫掉, take a message for 給……捎個信
6)含come的短語有:came into 進來, come down 下來, come in 進來, come over 過來,come from 來自, come back 回來, come round 前來(過來)/ comes over, come on 快,加油, come out (花)開;出來, come along 趕快,快一點
7)含turn的短語有:turn off 關上, turn, up (把收音機等)開大一些, turn on 打開(燈等), turn down (把收音機等)開小一些, turned white 變白, turn left 向左拐。
8)含have的短語有: have to 不得不, have an idea 有了主意, have a rest 休息, have breakfast吃早飯, have a look 看一看, have a good time玩得愉快, had better 最好,have a drink of 喝一點兒
只要你多留心,有意識地注意歸納總結,記憶單詞和短語不是一件難事。
此外,老師課堂上播放朗讀帶,不只是單純地聽,而是一邊聽一邊迅速地將
其寫下來,做到耳、心、手、眼并用??傊瑢τ谀切┬陆鼘W的單詞,要不厭其
煩地靠讀、寫、背等各種途徑反復記憶。重復到一定的次數(shù),就會成為長時間的
記憶,也就不會遺忘了。
(5)記憶單詞還要靠勤奮,抓住零散時間進行記憶。記憶單詞時,除了
以上方法外還要做到“五到①腦到—背單詞時肯定要想著,不能開小差。
②眼到—仔細觀察單詞的寫法。③口到—口里要念著單詞。④耳到—聽著
自己的讀音。⑤手到—用手在書桌上或紙上寫幾遍這個單詞。不要偷懶,
一定要邊記邊壁劃。把各個器官動用起來,相信自己一定能記住更多的單
詞。
有的同學認為單詞的識記真很麻煩。其實并不麻煩。如果你能經(jīng)常有意識
地這樣做,時間久了,就會養(yǎng)成習慣。以后每遇到一個詞就會不知不覺地去聯(lián)
想。
一位外語專家曾經(jīng)說過這樣一句話:“千個單詞至少在你眼前出現(xiàn)二十次
才能牢記?!蓖瑢W們想想看,你所學的單詞總共在眼前出現(xiàn)過多少次?這下你
也許找到記不住單詞的原因了吧?
(6)學好英語做好課前預習和課后復習也是十分重要的。
你應該在每學習一課之前,先進行預習。預習可以提前掃清聽課中的障礙。
通過預習,就像“火力偵察”,可以發(fā)現(xiàn)自己知識上的薄弱環(huán)節(jié)。在上課前迅速
補上這部分知識,這樣,在理解新知識時就會很順利。有的學生聽講效果不好,
其中一條主要原因,就是沒有搞好預習。課前預習是學生學好新課,取得高效率
的學習成果的基礎。如果搞不好課前預習,上新課時就會心里沒底,聽課就會變
得被動、難以消化,以致對全部接受新課喪失信心。反之如果做好了課前預習,
不僅可以提前掃清聽課中的障礙,培養(yǎng)自學的能力,而且可以提高學習新課的興
趣,掌握學習的主動權。
首先,熟悉并能記住大部分生詞。校正單詞讀音。在了解了生詞的基本
意思和詞性用法后,應及時聽課文錄音磁帶,一般情況下,要連續(xù)聽2—3
遍,并跟著大聲讀,目的是校正生詞讀音,并且模仿朗讀課文的語音語調,
提高說的能力。用這種方法校正單詞讀音,還可增強語感。
在自學時,你會經(jīng)常遇到疑難問題?你是如何處理的?
當然。每遇到這種情況,首先是自己要認真地去思考,多角度地分析、推
敲。要知道,若是自己費盡了一番周折將某個難題弄個水落石出,那心里可真是
一種說不出的痛快。如果實在搞不清,你可以向老師或同學請教,絕不輕易放過
任何一個疑難問題。
二、語法
語法是學好英語的基礎,它是掌握英語的工具。在你掌握了一定的詞匯量
后,了解一些語法知識是非常必要的。選擇填空是考查語法的一個重要題型。
它可以通過選擇的方式考查名詞、動詞、代詞、形容詞、副詞、連詞、介詞和
數(shù)詞等等。覆蓋面較廣。
初中階段所學的語法知識就是那么屈指可數(shù)的幾個,反復練習過多遍,為什
么到頭來還是出錯呢?
這種一錯再錯的現(xiàn)象在學生中是普遍存在的,即某個題目在以前曾做錯過,
以后再次見到這個題,還是做不對甚至犯同樣的錯誤。我覺得問題的關鍵在于沒
有徹底弄懂錯誤的原因或沒有引起足夠的重視。你應該把做錯的每一道題,都要
進行認真、仔細的分析和思考:錯在哪里?是對該知識點不了解還是粗心大意所
致?如何改正?怎樣才能避免類似錯誤的發(fā)生?是否還有其它的解法?經(jīng)過這一番反
思之后,再把它們記錄到“錯題庫”中去。以后再碰到類似題目就基本上可以杜
絕錯誤的發(fā)生。尤其是那些易受思維定勢影響的題目更應當這樣去處理,否則就
很容易重蹈覆轍。
時態(tài)學習是中國學生最為頭疼是一項語法項目。因為中國人在語言的表達中
只有時間的變化,而沒有時態(tài)的概念,但英語中語言所表述的事情處在不同的時
間,要用不同的時態(tài),而且時態(tài)的關鍵表述在句子的謂語動詞上。有時背起規(guī)則
來很容易,但在句子的使用中卻常常出現(xiàn)錯誤。
要準確地掌握初中階段的五個基本時態(tài),重要的還是要在句子中多運用。
1.掌握連系動詞be,feel,look,get,turn等與表語連用的一般用法。
2.掌握延續(xù)性動詞與瞬間動詞在用法上的區(qū)別。
這類動詞主要體現(xiàn)在過去時和完成時態(tài)中。
一、在現(xiàn)在完成時中延續(xù)性動詞可與表示一段時間的介詞短語for或since連用,而終止性動詞的現(xiàn)在完成時則不能與一段時間連用。如:
I have bought this dictionary for three years.
這本字典我已買三年了。(誤)
上句中的bought(buy的過去分詞)是終止性動詞,它不能與表示時間段
的短語連用,若要連用,就必須改變結構,可變?yōu)椋篒 have had this
dictionary for three years.因此在學習中要注意歸納終止性動詞變?yōu)?/p>
延續(xù)性動詞。常見的終止性動詞與延續(xù)性動詞的轉換有come→be here,
begin/start→be on,borrow→keep, buy→have,die→be dead,
end/finish→be over,get up→be up,go(get)out→be out, fall
asleep→be asleep, leave→be away from, join→be in/be a
member of,put on→wear,catch a cold→have a cold等。
3.掌?罩??蔰o,will,shall,have,be在句中的作用。歸納時態(tài),記住其結構。
4.掌握行為動詞speak, write, read…在句子中時態(tài)變化的形式。
《大綱》中要求掌握的五個基本時態(tài)。理解各種時態(tài)的概念,掌握在句中的
結構和提示時態(tài)的時間狀語。同時還要理解其他的三種時態(tài)“過去進行時、過去
將來時、過去完成時”。
下面將五個基本時態(tài)列表如下:
時態(tài)
時間
結構
一般
現(xiàn)在時
often, usually, always, sometimes, every day (week…),
on Sunday
He/She/It+動詞s
I/We/You/They+動詞原形
一般
過去時
yesterday, … ago, last week,
in 2001
主語+動詞的過去式
現(xiàn)在
進行時
now
主語+be+ 現(xiàn)在分詞
現(xiàn)在
將來時
tomorrow, next week
主語+will/be going to+動詞原形
現(xiàn)在
完成時
already, yet, ever, never, for+一段時間, since+時間起點
He/She/It has+過去分詞
I/We/ You/They have +過去分詞
動詞在語言交流中是十分重要的,語法只是學好英語的工具,利用這個工具可以提高自己的自學能力。在理解時態(tài)的過程中要注意上下句或前后語境的提示。要注意動詞的基本變化。
①例1:(2003 北京市)
②---What are Mr and Mrs Black doing?
③---They _______ tea in the garden.
④A. are drinking B. drank C. have drunk D. drink
⑤【解析】
⑥此題考查現(xiàn)在進行時。
⑦從上句語境分析得知動作就發(fā)生在此時此刻,找準動詞部分的結構,排
除干擾,得出正確答案。該句的問句在問“布萊克夫婦正在干什
么?”,回答應是“現(xiàn)在正在……”,現(xiàn)在進行時的結構是“be(am,is,
are)+現(xiàn)在分詞”。
⑧例2(2003 重慶市)
⑨---I don’t know if his uncle___________.
⑩---I think he _________if it doesn’t rain.
A.comes;comes B.will come;will come
C.comes; comes D.comes; will come
【解析】
本題考查了兩種時態(tài)在語境中的應用。先分清if引導的是個什么從
句,再根據(jù)語境確定各自的時態(tài)。第1空if在及物動詞之后引導賓語從
句,意思是“是否”,該句的主句是一般現(xiàn)在時,賓語從句的動作還沒有
發(fā)生,用將來時;第二個空if引導是條件狀語從句,條件從句用一般現(xiàn)在
時,主句的謂語動詞用將來時。
三、交際
《大綱》指出“使學生掌握一定的語言基本知識和基本
技能,建立初步的語感,獲得初步運用英語的能力,為真實交際
打下基礎”。學習語言的關鍵在于運用。同學們是否注重自己英
語,口語的練習呢?我們沒有說外語的環(huán)境,但要盡量創(chuàng)造。每天
早上起床后,應該是先讀上至少5分鐘英語。大聲朗讀不僅可以練
習發(fā)音,形成良好的語感,而且對聽力的提高也有著不可低估的
作用。另外,我們還要利用一切可能的機會用英語和同學、老師
或者其它懂英語的人打招呼或談論事情。碰到生詞,就漢英夾雜
著說。一開始,可能不太習慣,但沒有關系,只要堅持就會有結
果。前蘇聯(lián)語言學家巴烏利?阿里斯德教授能流利地講十五種外
語。他說:“我只要學會了100個單詞,就立即用這種語言講話。
一個怕出錯的人永遠也講不了地道的外語?!笨磥?,要想練好口
語,真要有“厚著臉皮,磨破嘴皮”的精神才行。
四、閱讀
1.你是如何培養(yǎng)閱讀能力的呢?
閱讀理解難度較高,必須在有了充足的詞匯的基礎上才能進行閱讀訓練。它
是檢查你英語學習水平的高低的重要標志。你是否在閱讀上花了不少的力氣呢?
要想提高閱讀水平,除了學習課本外,必須在課外有意識地擴大閱讀量,提高閱
讀速度,掌握閱讀技巧。養(yǎng)成課余閱讀英文讀物的習慣。剛開始時,由于詞匯量
的限制,你可以閱讀一些較淺顯的文章,盡量讀那些沒有生詞的簡易讀物。隨著
詞匯量的擴大,你的胃口也會越來越大。要多讀原汁原味的文章,這樣不僅開闊
了眼界,還學到了不少知識。一段時間下來,你的詞匯量會豐富不少,理解能力
也有長足的進步。開始要有意地讀一些諸如科普、歷史、地理、環(huán)保、醫(yī)學保健
方面的小品文。
有的同學還會經(jīng)常碰到這樣的問題:是文章本身對我來講沒有生詞,但做閱
讀理解題時經(jīng)常會出現(xiàn)偏差。當然這種情況更多地是設計到閱讀理解的考試。說
明你在閱讀過程中遇到了理解上的障礙,因此在閱讀理解中掌握一些答題技巧也
是十分重要的。
例如:
閱讀理解(一)
about the weather, but nobody does anything about it."
people begin their talks by saying, "Isn't it a nice day?
""Do you think it will rain?" "I think it's going to
snow."
Many people think they can tell what the weather is
going to be like. But sometimes they don' t agree with
each other. One man may say, "Do you see how cloudy it is
in the east? It' s going to rain tomorrow. "Another man
will say, "Yes, it' s going to be fine tomorrow."
People often look for the weather they want. When a
farmer needs water,he looks for something to tell him it' s going to rain, and he doesn' t look for anything else. When
friends have a picnic, they hope the weather is going to
be fine and they can sit eating their lunch under the blue
sky.
Almost everyone listens to what the weatherman says. But
he doesn ' t always tell us what we want, and sometimes he
makes a mistake. Still, he is right most of the time.
1.What's the best title for the passage?
A. How to Begin a Talk . B. Story about a Weatherman
C. Weather Report D. About Weather
1.通讀全文,了解短文整體框架、大意及作者意向,并抓住主要信息及各段的中
心內(nèi)容. (如各段有無共同的談論對象或各段是否有共同的作用等.)認真體會
作者圍繞著什么中心寫.
2.忠實于原文, 切忌從主觀出發(fā),漫無邊際地聯(lián)想.
3.整體把握全文,切忌只憑文中的只言片語斷章取義.
4.忌草率行事.選項中常有一個似是而非的答案。這樣答案干擾性特別強,容易
迷惑考生。如果在發(fā)現(xiàn)一個看似正確答案時就草率定案,往往會掉進設計者設
置的?跋葳濉崩鎩?
閱讀理解(二)
Computers are very important to modern life. Many people
think that in the future computers will be used in lots of
everyday life. It is thought that we won' t have to go
shopping because we will be able to get most things which
are sold in shops on the Internet. There will be no more
books because we will be able to get all texts(內(nèi)容) from
computers. The Internet will be used to play games, see
films and buy food. Most telephone calls will be made by
computers,too. Some people are glad about these new ways of
shopping and communicating(交際). Others do not think that
computers will replace(代替) our old ways of life.
Let's look at books, for example. Some people think
that one day we will not read books made of paper. Instead,
we will buy and read books using computers. We will read
texts on small pocket computers. The computers will keep
many different books in them at the same time. We won't
need to turn lots of pages and paper will be saved.
Computerized books will be used more and more.
Is the Internet shopping such a pleasure as going to the
shop? Many people say it is not. It is a pleasure to go
Into shops and look at things you want to buy. It is also
unlikely (不大可能) that many people will want to read large
texts on our computers. Because paper books will perhaps be
more friendly. Maybe computers won't change these two
habits.
1 .The title for this passage is"______".
A. Computers will Replace Shops and Books
B. Computers are the Future
C. Computers will Do Everything for Man
D. How Computers Change Our Habits
A. 與原文意思不符,見第一段最后一行.
B. 全文都談了人們的猜測:未來,電腦將被應用在日常生活的很多領域中, 有人
認為它能改變?nèi)藗兣f有的生活習慣而有人卻認為不能.
C.過于絕對,文中沒有可靠證據(jù)支持.
D.“電腦怎樣改變我們的習慣”.
1.“how” 意為“怎樣,用何方法”文中并未提到電腦怎樣改變我們的習慣.第
1,2段提到的未來用電腦閱讀,打電話或購物等只是它在未來將被應用的領域
而不是方法.
2.文中提出有些習慣未必會被改變,見第一段最后一句“Others do not think
that computers will replace our old ways of life.”和第三段最后一
句“Maybe computers won’t change these two habits”.
閱讀理解(三)
閱讀理解既理解文章的字面意思,也要理解文章的深層含義,包括作者的態(tài)
度、意圖等。做閱讀理解題時,對不同的題型通常需用不同的方法。解答推理題
時需要注意這樣兩點:
第一:要依據(jù)事物的本質,而不是現(xiàn)象進行推斷。
第二:要依據(jù)作者的思路和文章本身提供的事實,而不是讀者自身經(jīng)驗和見解進
行推斷。
Every day we see pictures like this on our televisions. We see
Iraqi(伊拉克) children begging for food and water from American
and British soldiers as they move through towns and cities to the
樹和哈夫曼樹實驗報告
一.實驗目的
練習樹和哈夫曼樹的有關操作,和各個算法程序,理解哈夫曼樹的編碼和譯碼
二.實驗環(huán)境
Microsoft visual c++
三.實驗問題描述
1. 問題描述:建立一棵用二叉鏈表方式存儲的二叉樹,并對其進行遍歷(先序、中序和后序),打印輸出遍歷結果。
基本要求:從鍵盤接受輸入先序序列,以二叉鏈表作為存儲結構,建立二叉樹(以先序來建立),并將此二叉樹按照“樹狀形式”打印輸出,然后對其進行遍歷(先序、中序和后序),最后將遍歷結果打印輸出。在遍歷算法中要求至少有一種遍歷采用非遞歸方法。
測試數(shù)據(jù):
ABC??DE?G??F???(其中?表示空格字符)
輸出結果為:
先序:ABCDEGF
先序:CBEGDFA
先序:CGEFDBA
2. 問題描述:利用哈夫曼編碼進行通信可以大大提高信道利用率,縮短信息傳輸時間,降低傳輸成本。但是,這要求在發(fā)送端通過一個編碼系統(tǒng)對待傳數(shù)據(jù)預先編碼,在接受端將傳來的數(shù)據(jù)進行譯碼(復原)。對于雙工信道(即可以雙向傳輸信息的信道),每端都需要一個完整的編/譯碼系統(tǒng)。試為這樣的信息收發(fā)站寫一個哈夫曼碼的編/譯碼系統(tǒng)。
基本要求:(至少完成功能1-2)
一個完整的系統(tǒng)應具有以下功能:
I:初始化(Initialization)。從終端讀入字符集大小n,以及n個字符和n個權值,建立哈夫曼樹,并將它存于文件hfmTree中。
基本要求:
E:編碼(Encoding)。利用已建好的哈夫曼樹(如不在內(nèi)存,則從文件hfmTree中讀入),對文件ToBeTran中的正文進行編碼,然后將結果存入文件CodeFile中。
D:譯碼(Decoding )。利用已建好的哈夫曼樹將文件CodeFile中的代碼進行譯碼,結果存入文件TextFile中。
P:印代碼文件(Print)。將文件CodeFile以緊湊格式顯示在終端上,每行50個代碼。同時將此字符形式的編碼文件寫入文件CodePrint中。
T:印哈夫曼樹(TreePrinting)。將已在內(nèi)存中的哈夫曼樹以直觀的方式(樹或凹入表形式)顯示在終端上,同時將此字符形式的哈夫曼樹寫入文件TreePrint中。
測試數(shù)據(jù):
設權值w=(5,29,7,8,14,23,3,11),n=8。
按照字符‘0’或‘1’確定找左孩子或右孩子,則權值對應的編碼為:
5:0001,29:11,7:1110,8:1111
14:110,23:01,3:0000,11:001
用下表給出的字符集和頻度的實際統(tǒng)計數(shù)據(jù)建立哈夫曼樹,并實現(xiàn)以下報文的編碼和譯碼:“THIS PROGRAM IS MY FAVORITE”。
四.實驗主要程序流
實驗題目一主要程序:
1.
void CreatBiTree(BitTree *bt)//用擴展先序遍歷序列創(chuàng)建二叉樹,如果是#當前樹根置為空,否則申請一個新節(jié)點//
{
char ch;
ch=getchar();
if(ch=='.')*bt=NULL;
else
{
*bt=(BitTree)malloc(sizeof(BitNode));
(*bt)-data=ch;
CreatBiTree(((*bt)-LChild));
CreatBiTree(((*bt)-RChild));
}
}
2.void Visit(char ch)//訪問根節(jié)點
{
printf("%c ",ch);
}
3.
void PreOrder(BitTree root)
{
if (root!=NULL)
{
Visit(root -data);
PreOrder(root -LChild);
PreOrder(root -RChild);
}
}
4. void InOrder(BitTree root)
{
if (root!=NULL)
{
InOrder(root -LChild);
Visit(root -data);
InOrder(root -RChild);
}
}
5.int PostTreeDepth(BitTree bt) //后序遍歷求二叉樹的高度遞歸算法//
{
int hl,hr,max;
if(bt!=NULL)
{
hl=PostTreeDepth(bt-LChild); //求左子樹的深度
hr=PostTreeDepth(bt-RChild); //求右子樹的深度
max=hlhr?hl:hr; //得到左、右子樹深度較大者
return(max+1); //返回樹的深度
}
else return(0); //如果是空樹,則返回0
}
6.void PrintTree(BitTree Boot,int nLayer) //按豎向樹狀打印的二叉樹 //
{
int i;
if(Boot==NULL) return;
PrintTree(Boot-RChild,nLayer+1);
for(i=0;inLayer;i++)
printf(" ");
printf("%c\n",Boot-data);
PrintTree(Boot-LChild,nLayer+1);
}
7.void main()
{
BitTree T;
int h;
int layer;
int treeleaf;
layer=0;
printf("請輸入二叉樹中的元素(以擴展先序遍歷序列輸入,其中.代表空子樹):\n");
CreatBiTree(T);
printf("先序遍歷序列為:");
PreOrder(T);
printf("\n中序遍歷序列為:");
InOrder(T);
printf("\n后序遍歷序列為:");
PostOrder(T);
h=PostTreeDepth(T);
printf("\此二叉樹的深度為:%d\n",h);
printf("此二叉樹的橫向顯示為:\n");
PrintTree(T,layer);
}
實驗二主要程序流:
1.int main(){
HuffmanTree huftree;
char Choose;
while(1){
cout"\n**********************歡迎使用哈夫曼編碼/譯碼系統(tǒng)**********************\n";
cout"*您可以進行以下操作: *\n";
cout"*1.建立哈夫曼樹 *\n";
cout"*2.編碼(源文已在文件ToBeTra中,或鍵盤輸入) *\n";
cout"* 3.譯碼(碼文已在文件CodeFile中) *\n";
cout"* 4.顯示碼文 *\n";
cout"* 5.顯示哈夫曼樹 *\n";
cout"* 6.退出 *\n"; cout"***********************************************************************\n";
cout"請選擇一個操作:";
cinChoose;
switch(Choose)
{
case '1':
huftree.CreateHuffmanTree();
break;
case '2':
huftree.Encoder();
break;
case '3':
huftree.Decoder();
break;
case '4':
huftree.PrintCodeFile();
break;
case '5':
huftree.PrintHuffmanTree();
break;
case '6':
cout"\n**********************感謝使用本系統(tǒng)!*******************\n\n";
system("pause");
return 0;
}//switch
}//while
}//main
2.// 建立哈夫曼樹函數(shù)
// 函數(shù)功能:建立哈夫曼樹(調用鍵盤建立哈夫曼樹或調用從文件建立哈夫曼樹的函數(shù))
void HuffmanTree::CreateHuffmanTree()
{char Choose;
cout"你要從文件中讀入哈夫曼樹(按1),還是從鍵盤輸入哈夫曼樹(按2)?";
cinChoose;
if(Choose=='2') { //鍵盤輸入建立哈夫曼樹 CreateHuffmanTreeFromKeyboard();
}//choose=='2'
else { //從哈夫曼樹文件hfmTree.dat中讀入信息并建立哈夫曼樹
CreateHuffmanTreeFromFile();
}
}
3. // 從鍵盤建立哈夫曼樹函數(shù)
// 函數(shù)功能:從鍵盤建立哈夫曼樹
//函數(shù)參數(shù):無
//參數(shù)返回值:無
void HuffmanTree::CreateHuffmanTreeFromKeyboard(){
int Num;
cout"\n請輸入源碼字符集個數(shù):";
cinNum;
if (Num=1) {
cout"無法建立少于2個葉子結點的哈夫曼樹。\n\n";
return;
}
LeafNum=Num;
Node=new HuffmanNode[2*Num-1];
for(int i=0;iNum;i++) {//讀入哈夫曼樹的葉子結點信息
cout"請輸入第"i+1"個字符值";
getchar();
Node[i].sourcecode=getchar(); //源文的字符存入字符數(shù)組Info[]
getchar();
cout"請輸入該字符的權值或頻度";
cinNode[i].weight; //源文的字符權重存入Node[].weight
Node[i].parent=-1;
Node[i].lchild=-1;
Node[i].rchild=-1;
Node[i].code="\0";
}
for(int j=Num;j2*Num-1;j++) {//循環(huán)建立哈夫曼樹內(nèi)部結點
int pos1,pos2;
int max1,max2;
pos2=pos1=j;
max2=max1=numeric_limitsint::max( );
//在所有子樹的根結點中,選權重最小的兩個根結點,pos1最后應指向權重最小的根結點的下標
//pos2最后應指向權重第二小的根結點的下標
//max1存放當前找到的權重最小的根結點的權重
//max2存放當前找到的權重第二小的根結點的權重
for(int k=j-1;k=0;k--) {
if (Node[k].parent==-1){//如果是某棵子樹的根結點
if (Node[k].weightmax1){ //發(fā)現(xiàn)比當前最大值還大的權重
max2=max1;
max1=Node[k].weight;
pos2=pos1;
pos1=k;
}
else
if(Node[k].weightmax2){ //發(fā)現(xiàn)比當前次大值還大的次大權重
max2=Node[k].weight;
pos2=k;
}
}//if (Node[j].parent==-1)
} //for
//在下標i處新構造一個哈夫曼樹的內(nèi)部結點,其左、右孩子就是以上pos1、pos2所指向的結點
Node[pos1].parent=j;
Node[pos2].parent=j;
Node[j].lchild=pos1;
Node[j].rchild=pos2;
Node[j].parent=-1;
Node[j].weight=Node[pos1].weight+Node[pos2].weight;
} //for
//產(chǎn)生所有葉子結點中字符的編碼
for (int m=0;mNum;m++) {
//產(chǎn)生Node[i].sourcecode的編碼,存入Node[i].code中
int j=m;
int j1;
while(Node[j].parent!=-1) { //從葉結點開始往根結點走,每往上走一層,就產(chǎn)生一位編碼存入code[]
j1=Node[j].parent;
if(Node[j1].lchild==j)
Node[m].code.insert(0,"0");
else
Node[m].code.insert(0,"1");
j=j1; }}
cout"哈夫曼樹已成功構造完成。\n";
//把建立好的哈夫曼樹寫入文件hfmTree.dat
char ch;
cout"是否要替換原來的哈夫曼樹文件(Y/N):";
cinch;
if (ch!='y'ch!='Y') return;
ofstream fop;
fop.open("hfmTree.dat",ios::out|ios::binary|ios::trunc); //打開文件
if(fop.fail()) {
cout"\n哈夫曼樹文件打開失敗,無法將哈夫曼樹寫入hfmTree.dat文件。\n";
return;
}
fop.write((char*)Num,sizeof(Num)); //先寫入哈夫曼樹的葉子結點個數(shù)
for(int n=0;n2*Num-1;n++) { //最后寫入哈夫曼樹的各個結點(存儲在Node[]中)
fop.write((char*)Node[n],sizeof(Node[n]));
flush(cout); }
fop.close(); //關閉文件
cout"\n哈夫曼樹已成功寫入hfmTree.dat文件。\n";}
4. // 從文件建立哈夫曼樹函數(shù)
// 函數(shù)功能:從文件建立哈夫曼樹
//函數(shù)參數(shù):無
//參數(shù)返回值:無
void HuffmanTree::CreateHuffmanTreeFromFile(){
ifstream fip;
fip.open("hfmTree.dat",ios::binary|ios::in);
if(fip.fail()) {
cout"哈夫曼樹文件hfmTree.dat打開失敗,無法建立哈夫曼樹。\n";
return;
}
fip.read((char*)LeafNum,sizeof(LeafNum));
if (LeafNum=1) {
cout"哈夫曼樹文件中的數(shù)據(jù)有誤,葉子結點個數(shù)少于2個,無法建立哈夫曼樹。\n";
fip.close();
return;
}
Node=new HuffmanNode[2*LeafNum-1];
for(int i=0;i2*LeafNum-1;i++)
fip.read((char*)Node[i],sizeof(Node[i]));
fip.close();
cout"哈夫曼樹已從文件成功構造完成。\n";
}
5. // 編碼函數(shù)
// 函數(shù)功能:為哈夫曼樹編碼
//函數(shù)參數(shù):無
//參數(shù)返回值:無
void HuffmanTree::Encoder()
{
if(Node==NULL) { //內(nèi)存沒有哈夫曼樹,則從哈夫曼樹文件hfmTree.dat中讀入信息并建立哈夫曼樹
CreateHuffmanTreeFromFile();
if (LeafNum=1) {
cout"內(nèi)存無哈夫曼樹。操作撤銷。\n\n";
return;
}
}//if
char *SourceText; //字符串數(shù)組,用于存放源文
//讓用戶選擇源文是從鍵盤輸入,還是從源文文件ToBeTran.txt中讀入
char Choose;
cout"你要從文件中讀入源文(按1),還是從鍵盤輸入源文(按2)?";
cinChoose;
if(Choose=='1') {
ifstream fip1("ToBeTran.txt");
if(fip1.fail()) {
cout"源文文件打開失敗!無法繼續(xù)執(zhí)行。\n";
return;
}
char ch;
int k=0;
while(fip1.get(ch)) k++; //第一次讀文件只統(tǒng)計文件中有多少個字符,將字符數(shù)存入k
fip1.close();
SourceText=new char[k+1]; //申請存放源文的字符數(shù)組空間
ifstream fip2("ToBeTran.txt"); //第二次讀源文文件,把內(nèi)容寫入SourceText[]
k=0;
while(fip2.get(ch)) SourceText[k++]=ch;
fip2.close();
SourceText[k]='\0';
}
else { //從鍵盤輸入源文
string SourceBuff;
cin.ignore();
cout"請輸入需要編碼的源文(可輸入任意長,按回車鍵結束):\n";
getline(cin,SourceBuff,'\n');
int k=0;
while(SourceBuff[k]!='\0')
k++;
SourceText=new char[k+1];
k=0;
while(SourceBuff[k]!='\0') {
SourceText[k]=SourceBuff[k];
k++;
}
SourceText[k]='\0';
}
cout"需編碼的源文為:";
coutSourceTextendl;
//開始譯碼
ofstream fop("CodeFile.dat",ios::trunc); //打開碼文存放文件
int k=0;
while(SourceText[k]!='\0') //源文串中從第一個字符開始逐個編碼
{
int i;
for(i=0;iLeafNum;i++){ //找到當前要編碼的源文的字符在哈夫曼樹Node[]中的下標
if(Node[i].sourcecode==SourceText[k]) { //將對應編碼寫入碼文文件
fopNode[i].code;
break;
};
}
if (i=LeafNum) {
cout"源文中存在不可編碼的字符。無法繼續(xù)執(zhí)行。\n"endl;
fop.close();
return;
}
k++; //源文串中的字符后移一個
}
fop.close();
cout"已完成編碼,碼文已寫入文件CodeFile.dat中。\n\n";
}
6. // 譯碼函數(shù)
// 函數(shù)功能:對哈夫曼樹進行譯碼
//函數(shù)參數(shù):無
//參數(shù)返回值:無
void HuffmanTree::Decoder()
{//如果內(nèi)存沒有哈夫曼樹,則從哈夫曼樹文件hfmTree.dat中讀入信息并建立哈夫曼樹
if(Node==NULL)
{
CreateHuffmanTreeFromFile();
if (LeafNum=1) {
cout"內(nèi)存無哈夫曼樹。操作撤銷。\n\n";
return;
}
}
//將碼文從文件CodeFile.dat中讀入 CodeStr[]
ifstream fip1("CodeFile.dat");
if(fip1.fail()) {
cout"沒有碼文,無法譯碼。\n";
return;
}
char* CodeStr;
int k=0;
char ch;
while(fip1.get(ch)){
k++;
}
fip1.close();
CodeStr=new char[k+1];
ifstream fip2("CodeFile.dat");
k=0;
while(fip2.get(ch))
CodeStr[k++]=ch;
fip2.close();
CodeStr[k]='\0';
cout"經(jīng)譯碼得到的源文為:";
ofstream fop("TextFile.dat");
int j=LeafNum*2-1-1; //j指向哈夫曼樹的根
int i=0; //碼文從第一個符號開始,順著哈夫曼樹由根下行,按碼文的當前符號決定下行到左孩子還是右孩子
while(CodeStr[i]!='\0') { //下行到哈夫曼樹的葉子結點處,則譯出葉子結點對應的源文字符
if(CodeStr[i]=='0')
j=Node[j].lchild;
else
j=Node[j].rchild;
if(Node[j].rchild==-1) { //因為哈夫曼樹沒有度為1的結點,所以此條件等同于Node[j]為葉結點
coutNode[j].sourcecode; //屏幕輸出譯出的一個源文字符
fopNode[j].sourcecode;
j=LeafNum*2-1-1; //j再指向哈夫曼樹的根
}
i++;
}
fop.close();
cout"\n譯碼成功且已存到文件TextFile.dat中。\n\n";
}
7. // 輸出碼文函數(shù)
// 函數(shù)功能:從文件中輸出哈夫曼樹的碼文
//函數(shù)參數(shù):無
//參數(shù)返回值:無
void HuffmanTree::PrintCodeFile()
{
char ch;
int i=1;
ifstream fip("CodeFile.dat");
ofstream fop("CodePrin.dat");
if(fip.fail())
{
cout"沒有碼文文件,無法顯示碼文文件內(nèi)容。\n";
return;
}
while(fip.get(ch))
{coutch;
fopch;
if(i==50)
{
coutendl;
fopendl;
i=0;
}
i++;
}
coutendl;
fopendl;
fip.close();
fop.close();
}
8. // 輸出函數(shù)
// 函數(shù)功能:從內(nèi)存或文件中直接輸出哈夫曼樹
//函數(shù)參數(shù):無
//參數(shù)返回值:無
void HuffmanTree::PrintHuffmanTree()
{
//如果內(nèi)存沒有哈夫曼樹,則從哈夫曼樹文件hfmTree.dat中讀入信息并建立哈夫曼樹
if(Node==NULL)
{
CreateHuffmanTreeFromFile();
if (LeafNum=1) {
cout"內(nèi)存無哈夫曼樹。操作撤銷。\n\n";
return; }}
ofstream fop("TreePrint.dat",ios_base::trunc);
fop.close();
PrintHuffmanTree_aoru(2*LeafNum-1-1);
return;
}
Golang 的創(chuàng)建是為了實現(xiàn)最大的用戶效率和編碼效率。已經(jīng)熟悉 Java 或 PHP 的程序員可以在幾周內(nèi)接受 Go 的培訓(許多人最終會更喜歡它)。在本文中,Dewet Diener 探討了 Golang 的優(yōu)缺點,以及它的測試驅動開發(fā) (TDD) 如何完美契合。
Golang 由 Google 開發(fā)和設計,于 2009 年作為一種綜合性編程語言首次出現(xiàn),旨在最大限度地提高編碼效率。創(chuàng)建該語言的目的是修正其他已建立語言的缺陷。盡管 Golang(或簡稱為“Go”)是一門年輕的語言,但已經(jīng)積累了大量的開發(fā)人員,因此我們想分享為什么在 Curve 我們喜歡 Golang,以及我們?nèi)绾尾捎盟鼇韺崿F(xiàn)我們移動銀行業(yè)務的目標到云端。
Go 是一種精致的編程語言:它支持“所見即所得”的原則,這意味著清晰易讀的代碼和更少的復雜抽象。該語言本身易于使用且易于訓練。盡管如此,作為一個相對較新的生態(tài)系統(tǒng),要找到對 Go 具有廣泛預先知識的工程師可能會很棘手。
然而,與其他編程語言不同,Go 的創(chuàng)建是為了最大限度地提高用戶效率。因此,具有 Java 或 PHP 背景的開發(fā)人員和工程師可以在幾周內(nèi)獲得使用 Go 的技能和培訓——根據(jù)我們的經(jīng)驗,他們中的許多人最終更喜歡它。
在 Curve,我們大力提倡測試驅動開發(fā) (TDD),Go 的框架與這種方法保持一致。通過簡單地命名一個文件 foo_test.go 并在該文件中添加結構化測試函數(shù),Go 將快速有效地運行您的單元測試。這一創(chuàng)新功能提高了生產(chǎn)力,因為它可以更加專注于測試驅動的開發(fā)和改進的同行評審機會。
Golang 具有出色的生產(chǎn)優(yōu)化品質,例如內(nèi)存占用小,這支持其在大型項目中作為構建塊的能力,以及開箱即用的與其他架構的輕松交叉編譯。由于 Go 代碼被編譯為單個靜態(tài)二進制文件,因此它可以輕松進行容器化,并且通過擴展,將 Go 部署到任何高可用性環(huán)境(例如 Kubernetes)中幾乎是微不足道的。
它提供了一種機制來保護工作負載,通過擁有非常纖薄的生產(chǎn)容器而沒有任何無關的依賴項。這使得構建、部署和維護基于 Go 的資產(chǎn)更加直接和安全,并為希望建立或發(fā)展其微服務戰(zhàn)略的公司提供了可靠的選擇。
Go 是專門為滿足我們快速發(fā)展的技術生態(tài)系統(tǒng)的需求而創(chuàng)建的。例如,Go 可以滿足您構建 API 所需的一切,并將其作為其標準庫的一部分。它使用簡單,高性能的 http 服務器消除了團隊設計新項目時經(jīng)常發(fā)生的一些常見的 探索 和設計癱瘓問題——這對于一些其他流行語言(如 Java 和 Node.js)來說太常見了。
Golang 還通過其內(nèi)置于語言本身的自動格式化程序巧妙地解決了代碼格式化分歧。這完全消除了格式爭議,進而提高了團隊的生產(chǎn)力和注意力。
盡管我是 Go 的擁護者,但它顯然也不是沒有缺陷。一個爭論不休的特性是 Go 沒有顯式接口,這是許多開發(fā)人員習慣的概念。雖然不是有害的,但它可以使選擇最適合您的結構的接口成為一項任務。這是因為您不會像在其他流行的編程語言中那樣編寫 X 實現(xiàn) Y,但您很快就會接受。
依賴管理也是另一個不屬于 Google Golang 開發(fā)團隊原始設計的功能。開源社區(qū)介入并創(chuàng)建了 Glide 和 Dep,最初的努力并沒有完全解決問題。從 Go 1.11 開始,添加了對模塊的支持,這似乎已成為官方的依賴管理工具。這些挑戰(zhàn)并沒有削弱 Go 作為一種高效編程語言的獨創(chuàng)性,并且它繼續(xù)為我們提供優(yōu)于其他編程語言的顯著優(yōu)勢。
Golang 吸引了全球敏銳的開發(fā)人員的注意,并且圍繞它的興奮繼續(xù)增長。開源社區(qū)因有趣的項目而蓬勃發(fā)展;最著名的是 Docker 和 Kubernetes。
正是這種新鮮、有創(chuàng)意但又簡單的包裝吸引了我們?nèi)o:它是一種令人興奮的編碼語言,可以幫助我們在 Curve 中快速開發(fā)以構建更好的產(chǎn)品。
1
select
*
from
教師表
where
系別
='cs';
2
select
姓名,2011-年齡
as
出生日期
from
學生表
3
select
*
from
學生表
where
年齡=20
and
系別='cs';
4
select
*
from
學生表
where
年齡
not
between
18
and
20;
5
select
姓名,年齡
from
教師表
where
系別
in('cs','is');
6
select
*
from
教師表
where
姓名
like
'%敏';
7
select
*
from
選課表
where
先修課
is
null;
8
select
count(*)
from
教師表
9
select
avg(成績),max(成績),min(成績)
from
選課表
where
課程號=5;
10
select
count(*)
from
選課表
group
by
課程號