




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
《信息技術(shù)——Office2016+計(jì)算思維》教案第9章Raptor可視化編程9.1引言《信息技術(shù)——office2016+計(jì)算思維》授課導(dǎo)航第9章Raptor可視化編程9.1引言授課時(shí)間授課地點(diǎn)內(nèi)容摘要1.了解程序設(shè)計(jì)語言。教學(xué)目標(biāo)知識目標(biāo)1.明晰該項(xiàng)目要求。技能目標(biāo)1.能明確項(xiàng)目要求,做好學(xué)習(xí)計(jì)劃。教學(xué)設(shè)備教學(xué)多媒體設(shè)備,計(jì)算機(jī)材料準(zhǔn)備教學(xué)課件、軟件;視頻教學(xué)資料、網(wǎng)絡(luò)教學(xué)資源。教法案例教學(xué)法、啟示法、直觀教學(xué)法、歸納總結(jié)法等。學(xué)法合作學(xué)習(xí)法、自主學(xué)習(xí)法等。教學(xué)重點(diǎn)1.Raptor的易用性特點(diǎn)。教學(xué)難點(diǎn)1.利用Raptor進(jìn)行問題求解。備注
教學(xué)環(huán)節(jié)教學(xué)內(nèi)容與教師活動學(xué)生活動組織教學(xué)課前準(zhǔn)備好多媒體課件,上課時(shí)引導(dǎo)學(xué)生就坐,宣布課堂紀(jì)律。課前預(yù)習(xí)導(dǎo)入新課周以真教授認(rèn)為:計(jì)算思維是運(yùn)用計(jì)算機(jī)科學(xué)的基礎(chǔ)概念進(jìn)行問題求解、系統(tǒng)設(shè)計(jì)以及人類行為理解等涵蓋計(jì)算機(jī)科學(xué)之廣度的一系列思維活動。它可以通過約簡、嵌入、轉(zhuǎn)化和仿真等方法,把一個(gè)看起來困難的問題重新闡釋成人們知道如何解決的問題。自由討論自主問答知識講解在利用計(jì)算機(jī)對一個(gè)問題進(jìn)行求解時(shí),其求解過程大致包括分析問題、設(shè)計(jì)程序以解決問題、編寫程序、調(diào)試及運(yùn)行程序和分析結(jié)果,在完成分析問題和設(shè)計(jì)程序之后,就要根據(jù)得到的算法,用一種計(jì)算機(jī)語言編寫出源程序。認(rèn)真聽課做好筆記9.1.1程序設(shè)計(jì)語言程序設(shè)計(jì)語言(ProgramDesignLanguage,PDL)又稱編程語言(ProgrammingLanguage),是用于書寫計(jì)算機(jī)程序的語言。語言的基礎(chǔ)是一組記號和一組規(guī)則,根據(jù)規(guī)則由記號構(gòu)成的記號串的總體就是語言;在程序設(shè)計(jì)語言中,這些記號串就是程序。程序設(shè)計(jì)語言的定義涉及3個(gè)方面的因素,即語法、語義和語用。語法表示程序的結(jié)構(gòu)或形式,亦即表示構(gòu)成語言的各個(gè)記號之間的組合規(guī)律,但不涉及這些記號的特定含義,也不涉及使用者。語義表示程序的含義,亦即表示按照各種方法所表示的各個(gè)記號的特定含義,但不涉及使用者。語用表示程序與使用者之間的關(guān)系。程序設(shè)計(jì)語言是一組用來定義計(jì)算機(jī)程序的語法規(guī)則,能夠準(zhǔn)確地定義計(jì)算機(jī)所需要使用的數(shù)據(jù),并精確地定義在不同情況下所應(yīng)當(dāng)采取的行動。它是一種被標(biāo)準(zhǔn)化的交流技巧,用來向計(jì)算機(jī)發(fā)出指令。按照語言級別可以分為低級語言和高級語言。1.低級語言低級語言包括機(jī)器語言和匯編語言,其中,機(jī)器語言是表示成數(shù)碼形式的機(jī)器基本指令集,或者是操作碼經(jīng)過符號化的基本指令集;匯編語言是機(jī)器語言中地址部分符號化的結(jié)果,或進(jìn)一步包括宏構(gòu)造。低級語言與特定的機(jī)器有關(guān)、功效高,但使用復(fù)雜,煩瑣,費(fèi)時(shí),易出差錯(cuò)。2.高級語言高級程序設(shè)計(jì)語言(又稱高級語言)的出現(xiàn)使得計(jì)算機(jī)程序設(shè)計(jì)語言不再過度地依賴某種特定的機(jī)器或環(huán)境,這是因?yàn)楦呒壵Z言在不同的平臺上會被編譯成不同的機(jī)器語言,而不是直接被機(jī)器執(zhí)行,它是面向用戶的、基本上獨(dú)立于計(jì)算機(jī)種類和結(jié)構(gòu)的語言。高級語言最大的優(yōu)點(diǎn)是形式上接近于算術(shù)語言和自然語言,要比低級語言更接近于待解問題的表示方法,概念上接近于人們通常使用的概念。高級語言的一個(gè)命令可以代替幾條、幾十條甚至幾百條匯編語言的指令,易學(xué)、易用、易維護(hù),但是有嚴(yán)格的語法規(guī)則。自由討論自主問答9.1.2集成開發(fā)環(huán)境早期程序設(shè)計(jì)的各個(gè)階段都要用不同的軟件進(jìn)行處理,如先用字處理軟件編輯源程序,然后用鏈接程序進(jìn)行函數(shù)、模塊連接,再用編譯程序進(jìn)行編譯,開發(fā)者必須在幾種軟件間來回切換操作。現(xiàn)在的編程開發(fā)軟件將編輯、編譯、調(diào)試等功能集成在一個(gè)桌面環(huán)境中,這樣大大方便用戶。集成開發(fā)環(huán)境(IntegratedDevelopingEnvironment,IDE)就是用于提供程序開發(fā)環(huán)境的應(yīng)用程序,一般包括代碼編輯器、編譯器、調(diào)試器和圖形用戶界面工具,集成了代碼編寫功能、分析功能、編譯功能、調(diào)試功能等一體化的軟件開發(fā)服務(wù)套件。一般分為文本化和可視化兩類。1.文本化如TurboC等,它采用文本形式,對計(jì)算機(jī)要求低,環(huán)境安裝方便,程序的平臺通用性好,但是,作為入門有一定的難度。2.可視化如MicrosoftVisualStudio等,可視化開發(fā)環(huán)境的特點(diǎn)是“控件組裝”,很多控件都是自己像畫圖一樣組裝起來的。開發(fā)環(huán)境解決了很多例行的、標(biāo)準(zhǔn)化的代碼,比起非可視化的開發(fā)環(huán)境來說,更加直觀,開發(fā)速度快,效率高。認(rèn)真聽課做好筆記9.1.3Raptor的出現(xiàn)Raptor(theRapidAlgorithmicPrototypingToolforOrderedReasoning)是用于有序推理的快速算法原型工具,是一種可視化的程序設(shè)計(jì)環(huán)境,為程序和算法設(shè)計(jì)的基礎(chǔ)課程教學(xué)提供實(shí)驗(yàn)環(huán)境。在學(xué)習(xí)特定的高級語言的過程中,通常來說,重點(diǎn)都集中在語法的學(xué)習(xí)和運(yùn)用上,而高級語言中的記號和規(guī)則有著高度的文本化,基于文本的語言往往是比較復(fù)雜的,因?yàn)槿魏稳祟愓Z言的學(xué)習(xí)都必須從語法和詞匯(術(shù)語)開始,但是,大多數(shù)學(xué)習(xí)者一般都傾向于視覺化的學(xué)習(xí),所以,在傳統(tǒng)的編程語言框架下,初學(xué)者會受到很大的語法學(xué)習(xí)方面的困擾,使注意力從算法問題求解的核心上分散開來。Raptor專門用于解決非可視化環(huán)境的語法困難和缺點(diǎn),其目標(biāo)是通過縮短現(xiàn)實(shí)世界中的行動與程序設(shè)計(jì)的概念之間的距離來減少學(xué)習(xí)上的認(rèn)知負(fù)擔(dān)。1.可視化設(shè)計(jì)Raptor用連接基本流程圖符號來創(chuàng)建算法,然后,可以在其環(huán)境下直接調(diào)試和運(yùn)行算法,包括單步執(zhí)行或連續(xù)執(zhí)行的模式。該環(huán)境可以直觀地顯示當(dāng)前執(zhí)行符號所在的位置以及所有變量的內(nèi)容。此外,Raptor提供了一個(gè)基于AdaGraph的簡單圖形庫,這樣,不僅可以可視化創(chuàng)建算法,所求解的問題本身也可以是可視化的。Raptor是一種基于流程圖的可視化程序設(shè)計(jì)環(huán)境,而流程圖是一系列相互連接的圖形符號的集合,其中每個(gè)符號代表要執(zhí)行的特定類型的指令,符號之間的連接決定了指令的執(zhí)行順序,所以,一旦開始使用Raptor解決問題,這些原本抽象的理念將會變得清晰。2.易用性特點(diǎn)Raptor可以在最大限度地減少語法要求的情形下,幫助用戶編寫正確的程序指令。它是可視化的,實(shí)際上就是一種有向圖,可以一次執(zhí)行一個(gè)圖形符號,以便幫助用戶跟蹤Raptor程序的指令流執(zhí)行過程。與其他任何的編程開發(fā)環(huán)境進(jìn)行復(fù)雜性比較,Raptor的易用性顯而易見。使用Raptor的目的是進(jìn)行算法設(shè)計(jì)和運(yùn)行驗(yàn)證,這樣避免了重量級編程語言(例如,C++或Java)的過早引入給初學(xué)者帶來的學(xué)習(xí)負(fù)擔(dān),此外,Raptor對所設(shè)計(jì)程序的調(diào)試和報(bào)錯(cuò)消息更容易為初學(xué)者理解。認(rèn)真總結(jié)本課程相關(guān)知識。9.1.4提出問題針對以下問題,利用Raptor進(jìn)行問題求解:【問題1】能給二年級的小朋友出道加法題嗎?【問題2】如何計(jì)算課程績點(diǎn)?【問題3】這個(gè)月有多少天?【問題4】這星期每天平均多少節(jié)課?【問題5】淮安民間流傳著一則故事——“韓信點(diǎn)兵”,講的是:韓信帶1500名士兵去打仗,戰(zhàn)死四五百人,列隊(duì)點(diǎn)數(shù),3人站一排,多出2人;5人站一排,多出4人;7人站一排,多出6人。請問:韓信手下還有多少士兵?【問題6】一組有規(guī)律的數(shù)列1,1,2,3,5,8,…,第18個(gè)數(shù)是多少?第47個(gè)數(shù)是多少?【問題7】給你6個(gè)人的體重,能找出最胖的那個(gè)人嗎?如果給出30個(gè)人的體重該怎么找?作業(yè)布置認(rèn)真完成學(xué)生活動評價(jià)設(shè)計(jì)1.學(xué)生平時(shí)成績評定表(40%)平時(shí)成績評定表序號考核內(nèi)容評價(jià)標(biāo)準(zhǔn)分值得分1出勤情況全勤20請假1次扣1分,曠課1次扣2分2學(xué)習(xí)態(tài)度學(xué)習(xí)態(tài)度端正,認(rèn)真好學(xué),積極主動20其他情況,視實(shí)際表現(xiàn)酌情減扣分3課堂表現(xiàn)課堂紀(jì)律好,認(rèn)真聽講,積極思考、討論、回答問題20其他情況,視實(shí)際表現(xiàn)酌情減扣分4作業(yè)情況全部按時(shí)完成作業(yè),保質(zhì)保量20其他情況,視實(shí)際表現(xiàn)酌情減扣分5文明禮貌尊師愛友,文明禮貌,誠實(shí)守信,助人為樂,品德良好20其他情況,視實(shí)際表現(xiàn)酌情減扣分合計(jì)滿分100分,權(quán)重0.2分:2.項(xiàng)目/任務(wù)成績(60%)項(xiàng)目成績占總成績的60%。項(xiàng)目成績主要以每個(gè)項(xiàng)目/任務(wù)學(xué)習(xí)結(jié)束后,以理論知識考試及實(shí)操技能考核為依據(jù)。項(xiàng)目成績評定表見下表:成績評定表序號評分標(biāo)準(zhǔn)分值評分1任務(wù)需求的明確和實(shí)現(xiàn)策略確定202利用Raptor進(jìn)行問題求解603問題求解完成程度20備注合計(jì):滿分100分,權(quán)重0.6教師簽名:教學(xué)反思
9.2順序控制結(jié)構(gòu)《信息技術(shù)——office2016+計(jì)算思維》授課導(dǎo)航第9章Raptor可視化編程9.2順序控制結(jié)構(gòu)授課時(shí)間授課地點(diǎn)內(nèi)容摘要本任務(wù)需要實(shí)現(xiàn)成績計(jì)算的制作,包括知識點(diǎn)解析和任務(wù)實(shí)現(xiàn),總結(jié)提高。包含以下內(nèi)容:1.Raptor界面與程序結(jié)構(gòu)2.Raptor符號3.Raptor基本數(shù)據(jù)類型4.Raptor數(shù)據(jù)表示形式5.四種基本語句6.數(shù)據(jù)處理流程7.順序控制結(jié)構(gòu)教學(xué)目標(biāo)知識目標(biāo)1.熟悉Raptor操作。2.明確任務(wù)的要求及實(shí)現(xiàn)方法。技能目標(biāo)能掌握:Raptor界面與程序結(jié)構(gòu);Raptor符號;Raptor基本數(shù)據(jù)類型Raptor數(shù)據(jù)表示形式;四種基本語句;數(shù)據(jù)處理流程;順序控制結(jié)構(gòu)。教學(xué)設(shè)備教學(xué)多媒體設(shè)備,計(jì)算機(jī)材料準(zhǔn)備教學(xué)課件、軟件;視頻教學(xué)資料、網(wǎng)絡(luò)教學(xué)資源。教法案例教學(xué)法、啟示法、直觀教學(xué)法、歸納總結(jié)法等。學(xué)法合作學(xué)習(xí)法、自主學(xué)習(xí)法等。教學(xué)重點(diǎn)1.Raptor的基本數(shù)據(jù)類型。教學(xué)難點(diǎn)1.使用Raptor。備注教學(xué)環(huán)節(jié)教學(xué)內(nèi)容與教師活動學(xué)生活動組織教學(xué)課前準(zhǔn)備好多媒體課件,上課時(shí)引導(dǎo)學(xué)生就坐,宣布課堂紀(jì)律。課前預(yù)習(xí)9.2.1知識點(diǎn)解析1.Raptor界面與程序結(jié)構(gòu)Raptor界面由主控臺和主窗口構(gòu)成,如圖9-1所示,主控臺是Raptor程序運(yùn)行結(jié)果的字符輸出界面,主窗口是Raptor程序的編輯窗口。主窗口由菜單、工具欄、速度控制滑塊、符號區(qū)、變量區(qū)、符號編輯區(qū)等部分構(gòu)成。2.Raptor符號Raptor包括4種基本符號和兩種控制流符號(也可稱為語句),如圖9-3所示,每個(gè)符號代表一個(gè)獨(dú)特的指令類型,其中:基本語句:賦值(Assignment)、調(diào)用(Call)、輸入(Input)、輸出(Output)??刂屏髡Z句:選擇控制(Selection)、循環(huán)控制(Loop)。3.Raptor基本數(shù)據(jù)類型Raptor符號對應(yīng)相應(yīng)的指令類型,而指令需要對數(shù)據(jù)進(jìn)行某種形式的操作,在Raptor中的數(shù)據(jù)主要包括以下幾種類型:①數(shù)值型(Number)。如9、-15、3.14等,整數(shù)的精度有15位,而小數(shù)默認(rèn)為4位,可以提高小數(shù)精度。②字符串(String)。如"hi"、"0755"等,必須用雙引號(英文半角)引起來,也可稱為文本。③字符(Character)。如'a'、'8',它的創(chuàng)建方式很特別,與字符串不同。4.Raptor數(shù)據(jù)表示形式(1)常量(2)變量(3)表達(dá)式5.四種基本語句(1)輸入語句(2)輸出語句(3)賦值語句(4)過程調(diào)用語句6.?dāng)?shù)據(jù)處理流程典型的計(jì)算機(jī)程序有3個(gè)基本組成部分:①輸入I(Input):完成任務(wù)所需要的數(shù)據(jù)。②處理P(Process):操作數(shù)據(jù)來完成任務(wù)。③輸出O(Output):顯示(或保存)加工處理后的結(jié)果。7.順序控制結(jié)構(gòu)問題解決過程中很重要的工作就是理清各個(gè)操作步驟的執(zhí)行順序。為了解決問題,必須確定創(chuàng)建一個(gè)問題的解決方案需要哪些語句,以及語句的執(zhí)行順序。編寫正確的語句是一個(gè)重要任務(wù),同樣重要的是確定該語句在程序中的位置。自由討論自主問答9.2.2任務(wù)實(shí)現(xiàn)1.任務(wù)分析利用Raptor設(shè)計(jì)實(shí)現(xiàn)順序控制結(jié)構(gòu)的程序功能。【問題1】能給二年級的小朋友出道加法題嗎?2.實(shí)現(xiàn)過程【問題1】能給二年級的小朋友出道加法題嗎?(1)理解問題①小學(xué)二年級數(shù)學(xué)加法的難度指的是幾位數(shù)的加法,經(jīng)過詢問,確定要出的是兩位數(shù)相加的題目。②一道題需要兩個(gè)符合位數(shù)要求的整數(shù)。③每道題所需的數(shù)字都是當(dāng)時(shí)頭腦中隨意“冒”出來的數(shù)字。(2)結(jié)構(gòu)設(shè)計(jì)順序結(jié)構(gòu)。(3)程序?qū)崿F(xiàn)①文件:q1.rap。②功能:出一道兩位數(shù)的加法題。③構(gòu)成:6個(gè)賦值符號、1個(gè)輸出符號認(rèn)真聽課做好筆記9.2.3總結(jié)提高1.Raptor內(nèi)置函數(shù)表9-4簡要介紹了Raptor中一些主要函數(shù)的用法,要想了解更多的細(xì)節(jié),可以查閱Raptor幫助文檔。2.Raptor注釋Raptor的開發(fā)環(huán)境像其他許多編程語言一樣,允許對程序進(jìn)行注釋。注釋是用來幫助他人理解程序的,特別是在程序代碼比較復(fù)雜、很難理解的情況下。注釋本身對計(jì)算機(jī)毫無意義,并不會被執(zhí)行。但如果注釋得當(dāng),程序的可讀性就大大提高。注釋一般包括以下幾種類型:編程標(biāo)題:誰是程序的作者、編寫的時(shí)間、程序的目的等,應(yīng)添加到Start符號中。分節(jié)描述:用于標(biāo)記程序,有助于理解程序整體結(jié)構(gòu)中的主要部分。邏輯描述:解釋非標(biāo)準(zhǔn)邏輯。變量說明:對重要的或公用的變量進(jìn)行說明。認(rèn)真總結(jié)本課程相關(guān)知識。作業(yè)布置認(rèn)真完成學(xué)生活動評價(jià)設(shè)計(jì)1.學(xué)生平時(shí)成績評定表(40%)平時(shí)成績評定表序號考核內(nèi)容評價(jià)標(biāo)準(zhǔn)分值得分1出勤情況全勤20請假1次扣1分,曠課1次扣2分2學(xué)習(xí)態(tài)度學(xué)習(xí)態(tài)度端正,認(rèn)真好學(xué),積極主動20其他情況,視實(shí)際表現(xiàn)酌情減扣分3課堂表現(xiàn)課堂紀(jì)律好,認(rèn)真聽講,積極思考、討論、回答問題20其他情況,視實(shí)際表現(xiàn)酌情減扣分4作業(yè)情況全部按時(shí)完成作業(yè),保質(zhì)保量20其他情況,視實(shí)際表現(xiàn)酌情減扣分5文明禮貌尊師愛友,文明禮貌,誠實(shí)守信,助人為樂,品德良好20其他情況,視實(shí)際表現(xiàn)酌情減扣分合計(jì)滿分100分,權(quán)重0.2分:2.項(xiàng)目/任務(wù)成績(60%)項(xiàng)目成績占總成績的60%。項(xiàng)目成績主要以每個(gè)項(xiàng)目/任務(wù)學(xué)習(xí)結(jié)束后,以理論知識考試及實(shí)操技能考核為依據(jù)。項(xiàng)目成績評定表見下表:成績評定表序號評分標(biāo)準(zhǔn)分值評分1任務(wù)需求的明確和實(shí)現(xiàn)策略確定202能夠掌握Raptor界面與程序結(jié)構(gòu);Raptor符號;Raptor基本數(shù)據(jù)類型;Raptor數(shù)據(jù)表示形式;四種基本語句;數(shù)據(jù)處理流程;順序控制結(jié)構(gòu)。603Raptor掌握程度20備注合計(jì):滿分100分,權(quán)重0.6教師簽名:教學(xué)反思
9.3選擇控制結(jié)構(gòu)《信息技術(shù)——office2016+計(jì)算思維》授課導(dǎo)航第9章Raptor可視化編程9.3選擇控制結(jié)構(gòu)授課時(shí)間授課地點(diǎn)內(nèi)容摘要本任務(wù)需要設(shè)計(jì)設(shè)計(jì)內(nèi)容幻燈片,包括知識點(diǎn)解析和任務(wù)實(shí)現(xiàn),總結(jié)提高。包含以下內(nèi)容:1.選擇控制結(jié)構(gòu)2.決策表達(dá)式3.選擇語句4.級聯(lián)選擇語句5.程序調(diào)試教學(xué)目標(biāo)知識目標(biāo)1.熟悉程序調(diào)試的方法。2.明確任務(wù)的要求及實(shí)現(xiàn)方法。技能目標(biāo)能掌握:選擇控制結(jié)構(gòu);決策表達(dá)式;選擇語句;級聯(lián)選擇語句;程序調(diào)試。教學(xué)設(shè)備教學(xué)多媒體設(shè)備,計(jì)算機(jī)材料準(zhǔn)備教學(xué)課件、軟件;視頻教學(xué)資料、網(wǎng)絡(luò)教學(xué)資源。教法案例教學(xué)法、啟示法、直觀教學(xué)法、歸納總結(jié)法等。學(xué)法合作學(xué)習(xí)法、自主學(xué)習(xí)法等。教學(xué)重點(diǎn)1.了解選擇控制結(jié)構(gòu)。教學(xué)難點(diǎn)1.掌握程序調(diào)試。備注
教學(xué)環(huán)節(jié)教學(xué)內(nèi)容與教師活動學(xué)生活動組織教學(xué)課前準(zhǔn)備好多媒體課件,上課時(shí)引導(dǎo)學(xué)生就坐,宣布課堂紀(jì)律。課前預(yù)習(xí)9.3.1知識點(diǎn)解析1.選擇控制結(jié)構(gòu)順序控制結(jié)構(gòu)是如此簡單,除了把語句按順序排列外,不需要做任何額外的工作,然而,僅僅使用順序控制,無法開發(fā)真正針對現(xiàn)實(shí)世界的問題解決方案。2.決策表達(dá)式選擇控制結(jié)構(gòu)需要一個(gè)表達(dá)式來得到是真(Yes)還是假(No)的評估值,這就是決策表達(dá)式,它是一組值(常量或變量)和運(yùn)算符的結(jié)合。3.選擇語句Raptor的選擇語句包含一個(gè)菱形符號(見圖9-17),表示選擇條件(selectioncondition),它是一個(gè)決策表達(dá)式;用Yes或No表示問題的決策結(jié)果及決策后程序語句的執(zhí)行指向,如果決策結(jié)果為Yes(真),則執(zhí)行左側(cè)分支;如果決策結(jié)果為No(假),則執(zhí)行右側(cè)分支。4.級聯(lián)選擇語句單一的選擇語句可以在一個(gè)或兩個(gè)選擇之間決策,但如果需要做出的決策涉及兩個(gè)以上的選擇,就需要有相互銜接的多個(gè)選擇語句。5.程序調(diào)試調(diào)試是修正語法錯(cuò)誤和邏輯錯(cuò)誤的一個(gè)過程,Raptor可在其環(huán)境下直接調(diào)試算法,通過單步執(zhí)行、運(yùn)行到指定語句等方法,根據(jù)調(diào)試時(shí)所發(fā)現(xiàn)的錯(cuò)誤,進(jìn)一步診斷,找出原因和具體的位置進(jìn)行修正。(1)單步執(zhí)行(2)連續(xù)執(zhí)行(3)運(yùn)行到指定語句自由討論自主問答9.3.2任務(wù)實(shí)現(xiàn)1.任務(wù)分析利用Raptor設(shè)計(jì)實(shí)現(xiàn)選擇控制結(jié)構(gòu)的程序功能?!締栴}2】如何計(jì)算課程績點(diǎn)?【問題3】這個(gè)月有多少天?2.實(shí)現(xiàn)過程【問題2】如何計(jì)算課程績點(diǎn)?(1)理解問題①了解總評成績與績點(diǎn)的對照關(guān)系(見圖9-24)。②在進(jìn)行判斷時(shí),對于異常成績,即超出正常成績范圍(0~100),要予以考慮。(2)結(jié)構(gòu)設(shè)計(jì)順序結(jié)構(gòu)、選擇結(jié)構(gòu)(級聯(lián))的混合結(jié)構(gòu)。(3)程序?qū)崿F(xiàn)①文件:q2.rap。②功能:將課程總評成績換算為績點(diǎn)③構(gòu)成:1個(gè)輸入符號、3個(gè)賦值符號、2個(gè)選擇符號、2個(gè)輸出符號?!締栴}3】這個(gè)月有多少天?(1)理解問題①了解月份與天數(shù)的對照關(guān)系②對于2月份的天數(shù),還需要對年份進(jìn)行閏年判斷。(2)結(jié)構(gòu)設(shè)計(jì)順序結(jié)構(gòu)、選擇結(jié)構(gòu)(級聯(lián))的混合結(jié)構(gòu)。(3)程序?qū)崿F(xiàn)①文件:q3.rap。②功能:根據(jù)年份和月份判斷當(dāng)月的天數(shù)認(rèn)真聽課做好筆記作業(yè)布置認(rèn)真完成學(xué)生活動評價(jià)設(shè)計(jì)1.學(xué)生平時(shí)成績評定表(40%)平時(shí)成績評定表序號考核內(nèi)容評價(jià)標(biāo)準(zhǔn)分值得分1出勤情況全勤20請假1次扣1分,曠課1次扣2分2學(xué)習(xí)態(tài)度學(xué)習(xí)態(tài)度端正,認(rèn)真好學(xué),積極主動20其他情況,視實(shí)際表現(xiàn)酌情減扣分3課堂表現(xiàn)課堂紀(jì)律好,認(rèn)真聽講,積極思考、討論、回答問題20其他情況,視實(shí)際表現(xiàn)酌情減扣分4作業(yè)情況全部按時(shí)完成作業(yè),保質(zhì)保量20其他情況,視實(shí)際表現(xiàn)酌情減扣分5文明禮貌尊師愛友,文明禮貌,誠實(shí)守信,助人為樂,品德良好20其他情況,視實(shí)際表現(xiàn)酌情減扣分合計(jì)滿分100分,權(quán)重0.2分:2.項(xiàng)目/任務(wù)成績(60%)項(xiàng)目成績占總成績的60%。項(xiàng)目成績主要以每個(gè)項(xiàng)目/任務(wù)學(xué)習(xí)結(jié)束后,以理論知識考試及實(shí)操技能考核為依據(jù)。項(xiàng)目成績評定表見下表:成績評定表序號評分標(biāo)準(zhǔn)分值評分1任務(wù)需求的明確和實(shí)現(xiàn)策略確定202能掌握:選擇控制結(jié)構(gòu);決策表達(dá)式;選擇語句;級聯(lián)選擇語句;程序調(diào)試。603任務(wù)完成程度20備注合計(jì):滿分100分,權(quán)重0.6教師簽名:教學(xué)反思
9.4循環(huán)控制結(jié)構(gòu)《信息技術(shù)——office2016+計(jì)算思維》授課導(dǎo)航第9章Raptor可視化編程9.4循環(huán)控制結(jié)構(gòu)授課時(shí)間授課地點(diǎn)內(nèi)容摘要本任務(wù)需要實(shí)現(xiàn)課程成績統(tǒng)計(jì)的制作,包括知識點(diǎn)解析和任務(wù)實(shí)現(xiàn),總結(jié)提高。包含以下內(nèi)容:1.循環(huán)控制結(jié)構(gòu)2.循環(huán)語句3.嵌套循環(huán)教學(xué)目標(biāo)知識目標(biāo)1.熟悉循環(huán)控制結(jié)構(gòu)及語句。2.明確任務(wù)的要求及實(shí)現(xiàn)方法。技能目標(biāo)能掌握:循環(huán)控制結(jié)構(gòu);循環(huán)語句;嵌套循環(huán)。教學(xué)設(shè)備教學(xué)多媒體設(shè)備,計(jì)算機(jī)材料準(zhǔn)備教學(xué)課件、軟件;視頻教學(xué)資料、網(wǎng)絡(luò)教學(xué)資源。教法案例教學(xué)法、啟示法、直觀教學(xué)法、歸納總結(jié)法等。學(xué)法合作學(xué)習(xí)法、自主學(xué)習(xí)法等。教學(xué)重點(diǎn)1.了解循環(huán)語句。教學(xué)難點(diǎn)1.掌握循環(huán)控制結(jié)構(gòu)。備注
教學(xué)環(huán)節(jié)教學(xué)內(nèi)容與教師活動學(xué)生活動組織教學(xué)課前準(zhǔn)備好多媒體課件,上課時(shí)引導(dǎo)學(xué)生就坐,宣布課堂紀(jì)律。課前預(yù)習(xí)9.4.1知識點(diǎn)解析1.循環(huán)控制結(jié)構(gòu)重復(fù)執(zhí)行一個(gè)或多個(gè)語句,直到某些條件變?yōu)閅es(真),這就是循環(huán)控制——while_do結(jié)構(gòu)。2.循環(huán)語句Raptor的循環(huán)語句包含一個(gè)橢圓和一個(gè)菱形符號,循環(huán)執(zhí)行的次數(shù)由菱形符號中的決策表達(dá)式來控制。3.嵌套循環(huán)在循環(huán)語句中,決策表達(dá)式的上方或下方還可以是循環(huán)語句,也就是說,一個(gè)循環(huán)語句在另一個(gè)循環(huán)語句的內(nèi)部出現(xiàn),這被稱為“嵌套循環(huán)”,由內(nèi)層循環(huán)、外層循環(huán)構(gòu)成。自由討論自主問答9.4.2任務(wù)實(shí)現(xiàn)1.任務(wù)分析利用Raptor設(shè)計(jì)實(shí)現(xiàn)循環(huán)控制結(jié)構(gòu)的程序功能?!締栴}4】這星期每天平均多少節(jié)課?【問題5】韓信帶1500名士兵去打仗,戰(zhàn)死四五百人,列隊(duì)點(diǎn)數(shù),3人站一排,多出2人;5人站一排,多出4人;7人站一排,多出6人。請問:韓信手下還有多少士兵?2.實(shí)現(xiàn)過程【問題4】這星期每天平均多少節(jié)課?(1)理解問題①正常工作日是5天,每天可能都有課。②找到課表(見圖9-34),把每天的課程節(jié)數(shù)累加,最后將合計(jì)除以天數(shù)即可。(2)結(jié)構(gòu)設(shè)計(jì)順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)的混合結(jié)構(gòu)。(3)程序?qū)崿F(xiàn)①文件:q4.rap。②功能:計(jì)算本周(周一~周五)每天的平均課時(shí)量。【問題5】韓信帶1500名士兵去打仗,戰(zhàn)死四五百人,列隊(duì)點(diǎn)數(shù),3人站一排,多出2人;5人站一排,多出4人;7人站一排,多出6人。請問:韓信手下還有多少士兵?(1)理解問題①這里需要將一些字面上的表達(dá)具體化,“戰(zhàn)死四五百人”是指戰(zhàn)死的士兵人數(shù)在400~500人之間;“X人站一排,多出Y人”是指幸存的士兵列隊(duì),每排X人,會多出Y人。②進(jìn)一步的理解需要將文字上的表述轉(zhuǎn)換為數(shù)學(xué)上的表達(dá),“X人站一排,多出Y人”就用到了整除和余數(shù)的概念。(2)結(jié)構(gòu)設(shè)計(jì)順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)的混合結(jié)構(gòu)。(3)程序?qū)崿F(xiàn)①文件:q5.rap。②功能:在總?cè)藬?shù)確定、戰(zhàn)死人數(shù)有一定范圍的前提下,根據(jù)幸存士兵列隊(duì)的情況,反復(fù)進(jìn)行判斷,得出幸存士兵的人數(shù)。認(rèn)真聽課做好筆記9.4.3總結(jié)提高1.無限循環(huán)決策表示式的值可能一直是No,在這種情況下,就會出現(xiàn)永遠(yuǎn)不停止的“無限循環(huán)”。一旦發(fā)生這種情況,只能選擇Raptor工具欄上的“停止”按鈕手動停止程序。2.循環(huán)測試在循環(huán)控制結(jié)構(gòu)中,究竟是先執(zhí)行語句后測試,還是先測試再執(zhí)行語句,抑或是在執(zhí)行語句的過程中進(jìn)行測試?主要有3種模式:前序、后序、中序。(1)前序(2)后序(3)中序作業(yè)布置認(rèn)真完成學(xué)生活動評價(jià)設(shè)計(jì)1.學(xué)生平時(shí)成績評定表(40%)平時(shí)成績評定表序號考核內(nèi)容評價(jià)標(biāo)準(zhǔn)分值得分1出勤情況全勤20請假1次扣1分,曠課1次扣2分2學(xué)習(xí)態(tài)度學(xué)習(xí)態(tài)度端正,認(rèn)真好學(xué),積極主動20其他情況,視實(shí)際表現(xiàn)酌情減扣分3課堂表現(xiàn)課堂紀(jì)律好,認(rèn)真聽講,積極思考、討論、回答問題20其他情況,視實(shí)際表現(xiàn)酌情減扣分4作業(yè)情況全部按時(shí)完成作業(yè),保質(zhì)保量20其他情況,視實(shí)際表現(xiàn)酌情減扣分5文明禮貌尊師愛友,文明禮貌,誠實(shí)守信,助人為樂,品德良好20其他情況,視實(shí)際表現(xiàn)酌情減扣分合計(jì)滿分100分,權(quán)重0.2分:2.項(xiàng)目/任務(wù)成績(60%)項(xiàng)目成績占總成績的60%。項(xiàng)目成績主要以每個(gè)項(xiàng)目/任務(wù)學(xué)習(xí)結(jié)束后,以理論知識考試及實(shí)操技能考核為依據(jù)。項(xiàng)目成績評定表見下表:成績評定表序號評分標(biāo)準(zhǔn)分值評分1任務(wù)需求的明確和實(shí)現(xiàn)策略確定202能夠掌握循環(huán)控制結(jié)構(gòu);循環(huán)語句;嵌套循環(huán)。603任務(wù)完成程度20備注合計(jì):滿分100分,權(quán)重0.6教師簽名:教學(xué)反思9.5模塊化結(jié)構(gòu)《信息技術(shù)——office2016+計(jì)算思維》授課導(dǎo)航第9章Raptor可視化編程9.5模塊化結(jié)構(gòu)授課時(shí)間授課地點(diǎn)內(nèi)容摘要本任務(wù)需要實(shí)現(xiàn)課程成績統(tǒng)計(jì)的制作,包括知識點(diǎn)解析和任務(wù)實(shí)現(xiàn),總結(jié)提高。包含以下內(nèi)容:1.數(shù)組表示法2.數(shù)組變量3.靈活使用數(shù)組變量4.子程序的定義及調(diào)用教學(xué)目標(biāo)知識目標(biāo)1.了解子程序的定義及調(diào)用。2.明確任務(wù)的要求及實(shí)現(xiàn)方法。技能目標(biāo)能掌握:數(shù)組表示法;數(shù)組變量;靈活使用數(shù)組變量;子程序的定義及調(diào)用。教學(xué)設(shè)備教學(xué)多媒體設(shè)備,計(jì)算機(jī)材料準(zhǔn)備教學(xué)課件、軟件;視頻教學(xué)資料、網(wǎng)絡(luò)教學(xué)資源。教法案例教學(xué)法、啟示法、直觀教學(xué)法、歸納總結(jié)法等。學(xué)法合作學(xué)習(xí)法、自主學(xué)習(xí)法等。教學(xué)重點(diǎn)1.了解數(shù)組表示法。教學(xué)難點(diǎn)1.靈活使用數(shù)組變量。備注
教學(xué)環(huán)節(jié)教學(xué)內(nèi)容與教師活動學(xué)生活動組織教學(xué)課前準(zhǔn)備好多媒體課件,上課時(shí)引導(dǎo)學(xué)生就坐,宣布課堂紀(jì)律。課前預(yù)習(xí)9.5.1知識點(diǎn)解析1.?dāng)?shù)組表示法簡單的變量有時(shí)使用起來并不簡單,正如之前所提到的,計(jì)算機(jī)程序中的一個(gè)變量是內(nèi)存的一個(gè)位置,可以存儲單個(gè)數(shù)據(jù)。2.?dāng)?shù)組變量數(shù)組變量不是簡單變量,是一種構(gòu)造數(shù)據(jù)類型,它是有序數(shù)據(jù)的集合,其中,括號中的數(shù)字被稱為這一特定變量的索引(index),這個(gè)特定變量稱為數(shù)組的元素。也就是說,在之前的示例中,stu_name是一個(gè)數(shù)組,由3個(gè)元素組成。3.靈活使用數(shù)組變量數(shù)組變量的好處是可以在方括號內(nèi)執(zhí)行數(shù)學(xué)計(jì)算,換句話說,Raptor可以計(jì)算數(shù)組的索引值。(1)數(shù)組運(yùn)算(2)一維數(shù)組的大小(3)字符串4.子程序的定義及調(diào)用(1)抽象化的方法與實(shí)現(xiàn)(2)Raptor中的過程(3)Raptor子程序的定義(4)Raptor子程序的調(diào)用自由討論自主問答9.5.2任務(wù)實(shí)現(xiàn)1.任務(wù)分析利用Raptor設(shè)計(jì)實(shí)現(xiàn)模塊化結(jié)構(gòu)的程序功能?!締栴}6】一組有規(guī)律的數(shù)列1,1,2,3,5,8,…,第18個(gè)數(shù)是多少?第47個(gè)數(shù)是多少?【問題7】給出6個(gè)人的體重,能找出最胖的那個(gè)人嗎?如果給出30個(gè)人的體重應(yīng)該怎么找?2.實(shí)現(xiàn)過程【問題6】一組有規(guī)律的數(shù)列1,1,2,3,5,8,…,第18個(gè)數(shù)是多少?第47個(gè)數(shù)是多少?(1)理解問題①這一組數(shù)列的規(guī)律是:前兩個(gè)數(shù)都是1,從第3個(gè)數(shù)開始,每一個(gè)數(shù)都是它前面的兩個(gè)數(shù)之和;這就是經(jīng)典的斐波那契數(shù)列。②無論是第18個(gè)、第47個(gè),還是任意指定的一個(gè)位置,生成數(shù)據(jù)的方法都是相同的。(2)結(jié)構(gòu)設(shè)計(jì)順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)的混合結(jié)構(gòu)。(3)程序?qū)崿F(xiàn)①文件:q6.rap。②功能:在一組有規(guī)律的數(shù)列中找到指定位置的數(shù)?!締栴}7】給出6個(gè)人的體重,能找出最胖的那個(gè)人嗎?如果給出30個(gè)人的體重該怎么找?(1)理解問題①這是一個(gè)找最大值的問題,無論是6個(gè)人還是30個(gè)人,其方法都是相同的。②從N個(gè)數(shù)中找最大值的一個(gè)比較直觀的方法是先把第1個(gè)數(shù)作為當(dāng)前最大的數(shù)。再把第2個(gè)數(shù)與當(dāng)前最大的這個(gè)數(shù)相比較,如果第2個(gè)數(shù)大,就將它作為當(dāng)前最大的數(shù);再把第3個(gè)數(shù)與當(dāng)前最大的這個(gè)數(shù)相比較,如果第3個(gè)數(shù)大,就將它作為當(dāng)前最大的數(shù);……依此類推,將第N個(gè)數(shù)比較完畢之后,當(dāng)前最大的數(shù)就是最大值了。(2)結(jié)構(gòu)設(shè)計(jì)順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)的混合結(jié)構(gòu)。(3)程序?qū)崿F(xiàn)①文件:q7.rap。②功能:輸入6個(gè)人的體重,找出最重的那一個(gè)。認(rèn)真聽課做好筆記作業(yè)布置認(rèn)真完成學(xué)生活動評價(jià)設(shè)計(jì)1.學(xué)生平時(shí)成績評定表(40%)平時(shí)成績評定表序號考核內(nèi)容評價(jià)標(biāo)準(zhǔn)分值得分1出勤情況全勤20請假1次扣1分,曠課1次扣2分2學(xué)習(xí)態(tài)度學(xué)習(xí)態(tài)度端正,認(rèn)真好學(xué),積極主動20其他情況,視實(shí)際表現(xiàn)酌情減扣分3課堂表現(xiàn)課堂紀(jì)律好,認(rèn)真聽講,積極思考、討論、回答問題20其他情況,視實(shí)際表現(xiàn)酌情減扣分4作業(yè)情況全部按時(shí)完成作業(yè),保質(zhì)保量20其他情況,視實(shí)際表現(xiàn)酌情減扣分5文明禮貌尊師愛友,文明禮貌,誠實(shí)守信,助人為樂,品德良好20其他情況,視實(shí)際表現(xiàn)酌情減扣分合計(jì)滿分100分,權(quán)重0.2分:2.項(xiàng)目/任務(wù)成績(60%)項(xiàng)目成績占總成績的60%。項(xiàng)目成績主要以每個(gè)項(xiàng)目/任務(wù)學(xué)習(xí)結(jié)束后,以理論知識考試及實(shí)操技能考核為依據(jù)。項(xiàng)目成績評定表見下表:成績評定表序號評分標(biāo)準(zhǔn)分值評分1任務(wù)需求的明確和實(shí)現(xiàn)策略確定202能夠掌握數(shù)組表示法;數(shù)組變量;靈活使用數(shù)組變量;子程序的定義及調(diào)用。603任務(wù)完成程度20備注合計(jì):滿分100分,權(quán)重0.6教師簽名:教學(xué)反思第10章算法思維與應(yīng)用10.1算法初步《信息技術(shù)——office2016+計(jì)算思維》授課導(dǎo)航第10章算法思維與應(yīng)用10.1算法初步授課時(shí)間授課地點(diǎn)內(nèi)容摘要1.了解什么是算法。教學(xué)目標(biāo)知識目標(biāo)1.明晰該項(xiàng)目要求。技能目標(biāo)1.能明確項(xiàng)目要求,做好學(xué)習(xí)計(jì)劃。教學(xué)設(shè)備教學(xué)多媒體設(shè)備,計(jì)算機(jī)材料準(zhǔn)備教學(xué)課件、軟件;視頻教學(xué)資料、網(wǎng)絡(luò)教學(xué)資源。教法案例教學(xué)法、啟示法、直觀教學(xué)法、歸納總結(jié)法等。學(xué)法合作學(xué)習(xí)法、自主學(xué)習(xí)法等。教學(xué)重點(diǎn)1.了解算法的基本性質(zhì)。教學(xué)難點(diǎn)1.掌握算法設(shè)計(jì)的要求。備注
教學(xué)環(huán)節(jié)教學(xué)內(nèi)容與教師活動學(xué)生活動組織教學(xué)課前準(zhǔn)備好多媒體課件,上課時(shí)引導(dǎo)學(xué)生就坐,宣布課堂紀(jì)律。課前預(yù)習(xí)10.1.1什么是算法算法思想早在古代的許多數(shù)學(xué)著作中就有所體現(xiàn),例如:①古希臘人亞歷山大所著《幾何原本》中描述了一個(gè)求兩個(gè)數(shù)的最大公約數(shù)的步驟,現(xiàn)在被稱作歐幾里德算法。②中國古代數(shù)學(xué)典籍《數(shù)術(shù)記遺》中記載了各種計(jì)數(shù)法:太一算、兩儀算、三才算、五行算、八卦算、九宮算、珠算等,這些方法中已經(jīng)體現(xiàn)了現(xiàn)代程序中的選擇設(shè)計(jì)思想、并行原則、搜索原則等。③中國古代劉徽所著《九章算術(shù)》中的“賈憲三角”“增乘開方法”“秦九韶法”等都是數(shù)學(xué)中的經(jīng)典算法,開創(chuàng)了中國傳統(tǒng)數(shù)學(xué)構(gòu)造性和機(jī)械化的算法模式。這些思想不僅對今天的數(shù)學(xué)問題的解決有極大的啟發(fā)作用,也為算法學(xué)奠定了基礎(chǔ),可以說“算法”(Algorithm)源于“算術(shù)”(Algorism)。算法的概念是建立在20世紀(jì)30年代哥德爾、圖靈等數(shù)學(xué)家對于“算法可計(jì)算”概念嚴(yán)格的數(shù)學(xué)刻畫基礎(chǔ)上。算法是一系列解決問題的清晰指令,也就是說,對于符合一定規(guī)范的輸入,能夠在有限時(shí)間內(nèi)獲得所要求的輸出,如圖10-1所示。其中的“computer”就是能夠理解和執(zhí)行所給出算法指令的人或物,在當(dāng)今特指能夠高速自動運(yùn)算的電子計(jì)算機(jī)。算法表現(xiàn)為解決問題的步驟描述,可以使用語言文字或各種圖形來描述(稱作推理實(shí)現(xiàn)的算法),也可以直接使用計(jì)算機(jī)中的各種語言工具描述并執(zhí)行得到結(jié)果(稱作操作實(shí)現(xiàn)的算法)。算法可以看作是解決問題的一類特殊方法——它雖然不是問題的答案,但它是經(jīng)過準(zhǔn)確定義以獲得答案的過程。因此,無論是否涉及計(jì)算機(jī),特定的算法設(shè)計(jì)技術(shù)都能看作問題求解的有效策略。當(dāng)然,算法思想固有的精確性限制了它所能夠解決的問題種類。比如說,找不到一種使人長生不老的算法,也找不到一種能夠準(zhǔn)確預(yù)判股票漲跌的算法。隨著計(jì)算機(jī)技術(shù)和信息技術(shù)的飛速發(fā)展,算法不僅是計(jì)算機(jī)科學(xué)的核心,也是一種一般性的智能工具,它已滲透到宇宙學(xué)、物理學(xué)、生物學(xué)乃至經(jīng)濟(jì)學(xué)和社會科學(xué)等諸多領(lǐng)域,必定有助于對其他學(xué)科的理解和應(yīng)用。自由討論自主問答10.1.2算法的基本性質(zhì)通過前2章的問題解決,不難理解算法的下面5個(gè)基本性質(zhì):①具有零個(gè)輸入或多個(gè)輸入:輸入的目的是為算法提供原始數(shù)據(jù)或初始狀態(tài),輸入可以來自鍵盤、文件或其他輸入設(shè)備。對于絕大多數(shù)算法,輸入都是必要的,但對于個(gè)別情況,輸入可以是零個(gè)。②有窮性:指算法必須保證在執(zhí)行有限次步驟后能自動結(jié)束,且需要的時(shí)間是在可接受的范圍之內(nèi),而不會出現(xiàn)無限循環(huán)。③確定性:算法的每一步驟都具有確定的含義,不會出現(xiàn)二義性,以保證在一定條件下只有一條執(zhí)行路徑,相同的輸入只能有唯一的輸出結(jié)果。④可行性:算法的每一步都必須是可行的,都能夠通過執(zhí)行有限次基本運(yùn)算完成,即算法可以轉(zhuǎn)換為程序上機(jī)運(yùn)行,并得到正確的結(jié)果。⑤至少有一個(gè)或多個(gè)輸出:輸出即算法的結(jié)果,沒有輸出的算法是沒有用的。輸出的形式通常通過屏幕顯示,也可以寫入到文件中,或通過其他輸出設(shè)備輸出。所以,在設(shè)計(jì)算法時(shí),首先要確定需要哪些輸入(數(shù)量、類型、輸入設(shè)備),想得到什么輸出(數(shù)量、類型、輸出設(shè)備),然后通過若干步驟實(shí)現(xiàn)(順序、選擇、循環(huán)),避免陷入死循環(huán)。認(rèn)真聽課做好筆記10.1.3算法設(shè)計(jì)的要求對于同一個(gè)問題的解決可能存在多種算法,通過算法分析比較總會得到相對滿意的算法。一個(gè)好的算法應(yīng)該滿足以下4點(diǎn)要求:①正確性:對于任何合法的輸入都能夠得到正確的結(jié)果。②健壯性:對于不合法的輸入,也能做出相關(guān)處理,而不會產(chǎn)生中斷等異常情況或無法解釋的結(jié)果。③可讀性:好的算法要便于閱讀、理解和交流,才能使后續(xù)工作輕松(包括程序代碼的編寫、調(diào)試和修改)。而晦澀難懂的算法往往隱含錯(cuò)誤,不易被發(fā)現(xiàn),也難于調(diào)試和修改。在算法中增加注釋語句,對重要變量和決策語句的用途進(jìn)行說明是個(gè)很好的習(xí)慣。④時(shí)間效率高和存儲量需求低:時(shí)間效率指算法的執(zhí)行時(shí)間,執(zhí)行時(shí)間越短效率越高;存儲量需求指算法程序運(yùn)行時(shí)所占用的內(nèi)存或外部硬盤存儲空間。用最少的存儲空間,花最少的時(shí)間,求出同樣的結(jié)果就是好的算法。以上特征是評價(jià)一個(gè)算法好壞的準(zhǔn)則,也是設(shè)計(jì)算法時(shí)應(yīng)充分考慮的幾個(gè)方面。下面介紹一些計(jì)算機(jī)科學(xué)中最為淺顯和常用的基本算法,這些算法的思想容易理解,所需要的數(shù)據(jù)結(jié)構(gòu)也最為簡單,體現(xiàn)了計(jì)算機(jī)科學(xué)發(fā)展中沉淀下來的智慧與一般性問題處理的優(yōu)化原則,對于處理同類問題或更復(fù)雜問題都是值得學(xué)習(xí)和借鑒的。認(rèn)真總結(jié)本課程相關(guān)知識。作業(yè)布置認(rèn)真完成學(xué)生活動評價(jià)設(shè)計(jì)1.學(xué)生平時(shí)成績評定表(40%)平時(shí)成績評定表序號考核內(nèi)容評價(jià)標(biāo)準(zhǔn)分值得分1出勤情況全勤20請假1次扣1分,曠課1次扣2分2學(xué)習(xí)態(tài)度學(xué)習(xí)態(tài)度端正,認(rèn)真好學(xué),積極主動20其他情況,視實(shí)際表現(xiàn)酌情減扣分3課堂表現(xiàn)課堂紀(jì)律好,認(rèn)真聽講,積極思考、討論、回答問題20其他情況,視實(shí)際表現(xiàn)酌情減扣分4作業(yè)情況全部按時(shí)完成作業(yè),保質(zhì)保量20其他情況,視實(shí)際表現(xiàn)酌情減扣分5文明禮貌尊師愛友,文明禮貌,誠實(shí)守信,助人為樂,品德良好20其他情況,視實(shí)際表現(xiàn)酌情減扣分合計(jì)滿分100分,權(quán)重0.2分:2.項(xiàng)目/任務(wù)成績(60%)項(xiàng)目成績占總成績的60%。項(xiàng)目成績主要以每個(gè)項(xiàng)目/任務(wù)學(xué)習(xí)結(jié)束后,以理論知識考試及實(shí)操技能考核為依據(jù)。項(xiàng)目成績評定表見下表:成績評定表序號評分標(biāo)準(zhǔn)分值評分1任務(wù)需求的明確和實(shí)現(xiàn)策略確定202掌握算法設(shè)計(jì)的要求603任務(wù)完成程度20備注合計(jì):滿分100分,權(quán)重0.6教師簽名:教學(xué)反思
10.2蠻力算法《信息技術(shù)——office2016+計(jì)算思維》授課導(dǎo)航第10章算法思維與應(yīng)用10.2蠻力算法授課時(shí)間授課地點(diǎn)內(nèi)容摘要本任務(wù)需要實(shí)現(xiàn)成績計(jì)算的制作,包括知識點(diǎn)解析和任務(wù)實(shí)現(xiàn),總結(jié)提高。包含以下內(nèi)容:1.問題分析2.算法實(shí)現(xiàn)3.運(yùn)行結(jié)果4.問題總結(jié)教學(xué)目標(biāo)知識目標(biāo)1.熟悉決該問題的最直接的方法。2.明確任務(wù)的要求及實(shí)現(xiàn)方法。技能目標(biāo)能掌握:問題分析;算法實(shí)現(xiàn);運(yùn)行結(jié)果;問題總結(jié)。教學(xué)設(shè)備教學(xué)多媒體設(shè)備,計(jì)算機(jī)材料準(zhǔn)備教學(xué)課件、軟件;視頻教學(xué)資料、網(wǎng)絡(luò)教學(xué)資源。教法案例教學(xué)法、啟示法、直觀教學(xué)法、歸納總結(jié)法等。學(xué)法合作學(xué)習(xí)法、自主學(xué)習(xí)法等。教學(xué)重點(diǎn)1.進(jìn)行問題總結(jié)。教學(xué)難點(diǎn)1.掌握算法實(shí)現(xiàn)。備注教學(xué)環(huán)節(jié)教學(xué)內(nèi)容與教師活動學(xué)生活動組織教學(xué)課前準(zhǔn)備好多媒體課件,上課時(shí)引導(dǎo)學(xué)生就坐,宣布課堂紀(jì)律。課前預(yù)習(xí)10.2.1簡單蠻力法【問題1】某國際型運(yùn)動會開幕式準(zhǔn)備策劃一個(gè)大型團(tuán)體操,人數(shù)在50~500之間,但根據(jù)隊(duì)形變化要求,每10人排成一行要余2人領(lǐng)操,每12人排成一行要余4人領(lǐng)操,每4人排成一行要不多不少,問需要的人數(shù)可以有多少種方案。1.問題分析解決該問題的最直接的方法是:既然已知所有可能解的范圍為50~500,那么就從下限50開始判斷其是否滿足所有要求(稱為約束條件),是即輸出,不是就不輸出,同理再逐一判斷51、52、53直至上限500是否滿足要求,即可求出所有的方案。2.算法實(shí)現(xiàn)①在所有可能解的范圍50~500中逐一判斷,明顯用循環(huán)結(jié)構(gòu)實(shí)現(xiàn)。設(shè)一個(gè)循環(huán)變量number初值為50,終值為500,且按步長值為1遞增,據(jù)此首先構(gòu)建一層循環(huán)結(jié)構(gòu)如圖10-2(a)所示。②循環(huán)體內(nèi)判斷number是否滿足所有要求,滿足則輸出number的值,否則不輸出。同時(shí)滿足3個(gè)條件可用邏輯運(yùn)算符and連接,3個(gè)條件類似,都是判斷number除以某數(shù)的余數(shù),可用求余運(yùn)算符mod,所以循環(huán)體內(nèi)的流程圖如圖10-2(b)所示。3.運(yùn)行結(jié)果團(tuán)體操方案的Raptor流程圖的運(yùn)行結(jié)果如圖10-3所示。4.問題總結(jié)上述求解問題的算法是直接根據(jù)問題的描述,從可能的集合中一一枚舉各個(gè)元素,用給定的約束條件判定哪些是問題的解,哪些不是問題的解,這種最簡單的“justdoit”的設(shè)計(jì)策略稱為蠻力法(bruteforce)。這里的“力”是指計(jì)算機(jī)的“計(jì)算能力”,而不是人的“智力”。自由討論自主問答10.2.2復(fù)雜蠻力法【問題2】劉老師帶了41名同學(xué)去公園劃船,共租了10條船。每條大船坐6人,每條小船坐4人,問大船、小船各租幾條則剛好坐下所有人?1.問題分析對于此問題,我們可以馬上列出一個(gè)二元一次方程組:用消元法可以很快解出該方程組,但怎么讓計(jì)算機(jī)來解這個(gè)方程組呢?用上述的蠻力法試試。①確定窮舉對象,分別以小船和大船的條數(shù)為窮舉對象,分別設(shè)為small和big。②確定窮舉范圍,從第1個(gè)約束條件可知,small和big的范圍都是0~10。③確定約束條件,明顯就是方程組中的2個(gè)方程。④一一窮舉可能的解,應(yīng)該從(0,0)開始,然后依次判斷(0,1)、(0,2)、(0,3)…(0,10),(1,0)、(1,1)…(10,10)是否同時(shí)滿足兩個(gè)約束條件,這樣窮舉11×11=121次即可得到問題的解。2.算法實(shí)現(xiàn)①怎樣窮舉出上述可能的解呢?用循環(huán)結(jié)構(gòu)內(nèi)再嵌套循環(huán)結(jié)構(gòu)(即雙循環(huán))來實(shí)現(xiàn)。此問題中,用small作為外循環(huán)還是用big作為外循環(huán),都不影響結(jié)果。假設(shè)用small作外循環(huán),big作內(nèi)循環(huán),當(dāng)small=0時(shí),big分別從0取到10,判斷每種組合是否滿足兩個(gè)約束條件;然后再取small=1,big又從0取到10,再判斷;最后small=10時(shí),big又從0取到10,再判斷,這樣就能窮舉所有可能的解。操作實(shí)現(xiàn)時(shí),則應(yīng)先搭好完整的外層循環(huán)結(jié)構(gòu)(small從0到10),然后在其內(nèi)的循環(huán)體內(nèi)再搭建內(nèi)層循環(huán)(big從0到10)。②在內(nèi)層循環(huán)體內(nèi)(big層內(nèi))再判斷是否同時(shí)滿足2個(gè)約束條件,是則輸出small和big的值,否則不輸出3.運(yùn)行結(jié)果租船問題的raptor流程圖的運(yùn)行結(jié)果。4.算法優(yōu)化在蠻力算法中,窮舉對象和窮舉范圍的選擇非常重要,它直接影響著算法的時(shí)間復(fù)雜度。認(rèn)真聽課做好筆記10.2.3算法總結(jié)通過上述2個(gè)問題的解決,我們對蠻力算法做個(gè)總結(jié):①蠻力法是利用計(jì)算機(jī)運(yùn)算速度快的特點(diǎn),對問題的所有可能情況一個(gè)不漏地檢驗(yàn),從中找出符合要求的答案,所以算法的正確性比較容易證明,但其是通過犧牲時(shí)間來換取答案的全面性。②理論上,蠻力法可以解決可計(jì)算領(lǐng)域的各種問題。例如前面2章中求一組數(shù)中的最大數(shù)、計(jì)算n個(gè)數(shù)的和等,實(shí)際也是蠻力算法的體現(xiàn)。③蠻力法經(jīng)常用來解決一些規(guī)模較小的問題。如果問題的規(guī)模不大,用蠻力法設(shè)計(jì)的算法的執(zhí)行時(shí)間是可以接受的,那么,可以不必花較高代價(jià)設(shè)計(jì)一個(gè)更高效的算法。④蠻力法可以作為某類問題求解的時(shí)間性能的底線,來衡量同樣問題的更高效算法。⑤對于蠻力算法,選擇適當(dāng)?shù)母F舉對象,縮小窮舉范圍,加強(qiáng)約束條件,是算法優(yōu)化的主要考慮方向。認(rèn)真總結(jié)本課程相關(guān)知識。作業(yè)布置認(rèn)真完成學(xué)生活動評價(jià)設(shè)計(jì)1.學(xué)生平時(shí)成績評定表(40%)平時(shí)成績評定表序號考核內(nèi)容評價(jià)標(biāo)準(zhǔn)分值得分1出勤情況全勤20請假1次扣1分,曠課1次扣2分2學(xué)習(xí)態(tài)度學(xué)習(xí)態(tài)度端正,認(rèn)真好學(xué),積極主動20其他情況,視實(shí)際表現(xiàn)酌情減扣分3課堂表現(xiàn)課堂紀(jì)律好,認(rèn)真聽講,積極思考、討論、回答問題20其他情況,視實(shí)際表現(xiàn)酌情減扣分4作業(yè)情況全部按時(shí)完成作業(yè),保質(zhì)保量20其他情況,視實(shí)際表現(xiàn)酌情減扣分5文明禮貌尊師愛友,文明禮貌,誠實(shí)守信,助人為樂,品德良好20其他情況,視實(shí)際表現(xiàn)酌情減扣分合計(jì)滿分100分,權(quán)重0.2分:2.項(xiàng)目/任務(wù)成績(60%)項(xiàng)目成績占總成績的60%。項(xiàng)目成績主要以每個(gè)項(xiàng)目/任務(wù)學(xué)習(xí)結(jié)束后,以理論知識考試及實(shí)操技能考核為依據(jù)。項(xiàng)目成績評定表見下表:成績評定表序號評分標(biāo)準(zhǔn)分值評分1任務(wù)需求的明確和實(shí)現(xiàn)策略確定202能夠掌握問題分析;算法實(shí)現(xiàn);運(yùn)行結(jié)果;問題總結(jié)。603任務(wù)完成程度20備注合計(jì):滿分100分,權(quán)重0.6教師簽名:教學(xué)反思
10.3排序算法《信息技術(shù)——office2016+計(jì)算思維》授課導(dǎo)航第10章算法思維與應(yīng)用10.3排序算法授課時(shí)間授課地點(diǎn)內(nèi)容摘要本任務(wù)需要設(shè)計(jì)設(shè)計(jì)內(nèi)容幻燈片,包括知識點(diǎn)解析和任務(wù)實(shí)現(xiàn),總結(jié)提高。包含以下內(nèi)容:1.冒泡排序2.選擇排序3.直接插入排序教學(xué)目標(biāo)知識目標(biāo)1.熟悉子程序input。2.明確任務(wù)的要求及實(shí)現(xiàn)方法。技能目標(biāo)能掌握:冒泡排序;選擇排序;直接插入排序。教學(xué)設(shè)備教學(xué)多媒體設(shè)備,計(jì)算機(jī)材料準(zhǔn)備教學(xué)課件、軟件;視頻教學(xué)資料、網(wǎng)絡(luò)教學(xué)資源。教法案例教學(xué)法、啟示法、直觀教學(xué)法、歸納總結(jié)法等。學(xué)法合作學(xué)習(xí)法、自主學(xué)習(xí)法等。教學(xué)重點(diǎn)1.了解算法實(shí)現(xiàn)。教學(xué)難點(diǎn)1.掌握設(shè)計(jì)輸出子程序outpu的方法。備注
教學(xué)環(huán)節(jié)教學(xué)內(nèi)容與教師活動學(xué)生活動組織教學(xué)課前準(zhǔn)備好多媒體課件,上課時(shí)引導(dǎo)學(xué)生就坐,宣布課堂紀(jì)律。課前預(yù)習(xí)知識點(diǎn)解析在日常生活、學(xué)習(xí)和工作中,排序無處不在,例如:①玩撲克牌時(shí),為了便于快速出牌,會邊抓牌邊按一定規(guī)則排列整理好手中的牌。②軍訓(xùn)時(shí),為了隊(duì)形好看,會按身高排列隊(duì)形。③班級名冊的管理會按學(xué)號排序。④評獎(jiǎng)學(xué)金會按學(xué)習(xí)成績排序。⑤圖書館中的圖書也會按分類索引排在適當(dāng)?shù)臅?、層次和位置,以便于查找。⑥大型運(yùn)動會開幕式,各國按國名的字母順序排列出場。⑦為了便于查找,手機(jī)中的通訊錄按姓名的字母順序排序。在實(shí)際應(yīng)用中,排序的目的大致可分為:①為比較或選拔而進(jìn)行排序(價(jià)格的排序、成績的排序)。②為提高查找效率進(jìn)行的排序(圖書館圖書的排序、各種字詞典中的條目排序)。所以,排序(sorting)在計(jì)算機(jī)科學(xué)中是研究得較多的問題,也是一般算法研究的基礎(chǔ)性問題。現(xiàn)在已經(jīng)開發(fā)出了幾十種不同的排序算法,但沒有一種算法在任何情況下都是最優(yōu)的,各有各的適用場合。下面介紹3種較簡單的基本排序算法:冒泡排序、選擇排序和直接插入排序。10.3.1冒泡排序【問題3】大學(xué)入學(xué)軍訓(xùn)時(shí)要求n人一列從低到高排列,現(xiàn)在已知n人的身高(無序),請按要求完成任務(wù)。1.問題分析在現(xiàn)實(shí)中對于幾個(gè)人按高矮排列,總會比來比去,交換來交換去,花點(diǎn)時(shí)間。那么對于較多的甚至海量的復(fù)雜數(shù)據(jù),怎么比和怎么交換就是關(guān)鍵,直接影響了排序算法的時(shí)間效率。冒泡排序(bubblesort)的過程類似水中冒氣泡的過程,將待排序的n個(gè)身高數(shù)據(jù)看作是垂直排列的重量不同的氣泡。根據(jù)重氣泡不能在輕氣泡上面的原則,從上往下掃描,比較相鄰數(shù)據(jù),如果它們是逆序的話就交換它們的位置,重復(fù)多次后,最大數(shù)據(jù)就“沉到”了最后位置,稱為第1趟掃描冒泡。第2遍操作對剩余的數(shù)據(jù)進(jìn)行掃描冒泡,將第二大的數(shù)據(jù)沉下去。這樣一直做,經(jīng)過n-1趟以后,所有數(shù)據(jù)就排好序了。下面我們采用自底向上的問題解決方法,即先解決各子問題,再解決總問題,從而實(shí)現(xiàn)【問題3】的冒泡排序算法。2.算法實(shí)現(xiàn)(1)設(shè)計(jì)輸入子程序input(2)設(shè)計(jì)輸出子程序output(3)設(shè)計(jì)main子圖(4)設(shè)計(jì)冒泡子程序bubble(5)完善main子圖3.運(yùn)行結(jié)果圖10-17所示為該冒泡排序程序某次運(yùn)行的結(jié)果(10個(gè)元素)自由討論自主問答10.3.2選擇排序1.問題分析在上述冒泡排序算法的每趟冒泡中,相鄰元素只要逆序,就交換,那每趟冒泡可能交換多次。對此,我們可以進(jìn)行改進(jìn):先比較找出最小元素,然后只和a[1]交換,即最小元素放到a[1]中,同理找出剩下元素的最小放到a[2]中,如此反復(fù),就可得到有序的列表,該改進(jìn)的算法稱為選擇排序(selectionsort)。2.算法實(shí)現(xiàn)(1)設(shè)計(jì)選擇排序子程序select(2)其他子程序認(rèn)真聽課做好筆記10.3.3直接插入排序1.問題分析在實(shí)際生活中數(shù)據(jù)量往往是動態(tài)變化的,例如班級花名冊已按學(xué)號排好了,但突然轉(zhuǎn)來了其他幾位學(xué)生(已有學(xué)號,入學(xué)后就不會變),此時(shí)怎樣將這幾位同學(xué)也按學(xué)號排到花名冊中呢?又如軍訓(xùn)已有某些人按高低順序排好了隊(duì),后來又來了一些人,這些人怎樣插入到隊(duì)列中而不影響隊(duì)伍的高低順序呢?上述介紹的冒泡排序和選擇排序只能對已經(jīng)存在的不變的無序線性表進(jìn)行排序,對于臨時(shí)產(chǎn)生的無序數(shù)據(jù)要實(shí)現(xiàn)實(shí)時(shí)排序,就要采用直接插入排序(InsertSort)。2.算法實(shí)現(xiàn)(1)設(shè)計(jì)main子圖粗框圖(2)設(shè)計(jì)輸入和輸出子程序(input、output)(3)設(shè)計(jì)直接插入排序子程序insert粗框圖(4)設(shè)計(jì)找插入位置子程序location(5)設(shè)計(jì)插入子程序into(6)完善insert子程序和main子圖10.3.4算法總結(jié)①冒泡排序每趟冒泡是直接比較相鄰元素,只要逆序就交換。而選擇排序是對冒泡排序的改進(jìn),每次掃描只交換一次。②冒泡排序和選擇排序也是蠻力法在排序問題中的應(yīng)用。③冒泡排序和選擇排序只能對已經(jīng)存在的不變的無序線性表進(jìn)行排序,是較為常見的方法。④直接插入排序因?yàn)闊o序數(shù)據(jù)和有序數(shù)據(jù)分開存儲,對于臨時(shí)產(chǎn)生的無序數(shù)據(jù)可以實(shí)現(xiàn)實(shí)時(shí)排序。作業(yè)布置認(rèn)真完成學(xué)生活動評價(jià)設(shè)計(jì)1.學(xué)生平時(shí)成績評定表(40%)平時(shí)成績評定表序號考核內(nèi)容評價(jià)標(biāo)準(zhǔn)分值得分1出勤情況全勤20請假1次扣1分,曠課1次扣2分2學(xué)習(xí)態(tài)度學(xué)習(xí)態(tài)度端正,認(rèn)真好學(xué),積極主動20其他情況,視實(shí)際表現(xiàn)酌情減扣分3課堂表現(xiàn)課堂紀(jì)律好,認(rèn)真聽講,積極思考、討論、回答問題20其他情況,視實(shí)際表現(xiàn)酌情減扣分4作業(yè)情況全部按時(shí)完成作業(yè),保質(zhì)保量20其他情況,視實(shí)際表現(xiàn)酌情減扣分5文明禮貌尊師愛友,文明禮貌,誠實(shí)守信,助人為樂,品德良好20其他情況,視實(shí)際表現(xiàn)酌情減扣分合計(jì)滿分100分,權(quán)重0.2分:2.項(xiàng)目/任務(wù)成績(60%)項(xiàng)目成績占總成績的60%。項(xiàng)目成績主要以每個(gè)項(xiàng)目/任務(wù)學(xué)習(xí)結(jié)束后,以理論知識考試及實(shí)操技能考核為依據(jù)。項(xiàng)目成績評定表見下表:成績評定表序號評分標(biāo)準(zhǔn)分值評分1任務(wù)需求的明確和實(shí)現(xiàn)策略確定202能掌握:冒泡排序;選擇排序;直接插入排序。603任務(wù)完成程度20備注合計(jì):滿分100分,權(quán)重0.6教師簽名:教學(xué)反思
10.4查找算法《信息技術(shù)——office2016+計(jì)算思維》授課導(dǎo)航第10章算法思維與應(yīng)用10.4查找算法授課時(shí)間授課地點(diǎn)內(nèi)容摘要本任務(wù)需要設(shè)計(jì)設(shè)計(jì)內(nèi)容幻燈片,包括知識點(diǎn)解析和任務(wù)實(shí)現(xiàn),總結(jié)提高。包含以下內(nèi)容:1.順序查找2.二分查找教學(xué)目標(biāo)知識目標(biāo)1.熟悉子程序的操作。2.明確任務(wù)的要求及實(shí)現(xiàn)方法。技能目標(biāo)能掌握:順序查找;二分查找。教學(xué)設(shè)備教學(xué)多媒體設(shè)備,計(jì)算機(jī)材料準(zhǔn)備教學(xué)課件、軟件;視頻教學(xué)資料、網(wǎng)絡(luò)教學(xué)資源。教法案例教學(xué)法、啟示法、直觀教學(xué)法、歸納總結(jié)法等。學(xué)法合作學(xué)習(xí)法、自主學(xué)習(xí)法等。教學(xué)重點(diǎn)1.如何設(shè)計(jì)輸出子程序output。教學(xué)難點(diǎn)1.設(shè)計(jì)main子圖。備注
教學(xué)環(huán)節(jié)教學(xué)內(nèi)容與教師活動學(xué)生活動組織教學(xué)課前準(zhǔn)備好多媒體課件,上課時(shí)引導(dǎo)學(xué)生就坐,宣布課堂紀(jì)律。課前預(yù)習(xí)知識點(diǎn)解析查找也是我們?nèi)粘I?、學(xué)習(xí)和工作中經(jīng)常要做的工作,例如:①在手機(jī)中查找聯(lián)系人。②在圖書館中查找圖書。③在網(wǎng)絡(luò)中尋找有指定內(nèi)容的網(wǎng)頁。④用字典查找某個(gè)詞語的釋義。⑤查找最佳旅游路線。通常,查找(search)是從較大的數(shù)據(jù)集中找出或定位某個(gè)給定值(鍵值)的過程。根據(jù)數(shù)據(jù)集的不同特點(diǎn),可以采用不同的查找算法來提高查找速度,實(shí)現(xiàn)高效搜索。10.4.1順序查找【問題4】數(shù)據(jù)文件“data1.txt”中,有若干英語單詞(每行一個(gè)),現(xiàn)從鍵盤輸入一個(gè)單詞,請?jiān)谖募胁檎以撛~,若找到則給出其位置(第幾行),若沒找到,提示“nofound”。1.問題分析由于數(shù)據(jù)集是存儲在文本文件中的,所以首先要按順序讀出這些數(shù)據(jù)存放到某數(shù)組中,然后在數(shù)組中查找。但這些數(shù)據(jù)是無序的,所以只能從數(shù)組第1個(gè)元素(或最后1個(gè)元素)開始,按正序(或逆序)逐個(gè)掃描每個(gè)元素是否和鍵值相等,若相等則數(shù)組下標(biāo)即為其位置,若掃描結(jié)束都不相等,則表明沒有所查的數(shù)據(jù)(稱為查找失?。苑Q這種查找算法為順序查找(sequentialsearch)。2.算法實(shí)現(xiàn)(1)設(shè)計(jì)輸入子程序input(2)設(shè)計(jì)輸出子程序output(3)設(shè)計(jì)main子圖(4)設(shè)計(jì)冒泡子程序bubble(5)完善main子圖自由討論自主問答10.4.2二分查找【問題5】某體校要招各類體育專長人員,根據(jù)專業(yè)不同,對身高有不同的要求?,F(xiàn)有若干人的身高數(shù)據(jù)按從低到高的順序存放在數(shù)據(jù)文件“data2.txt”中(每行一個(gè)),當(dāng)招生人員從鍵盤輸入一個(gè)身高值,請?jiān)谖募胁檎以撋砀咧担粽业絼t給出其位置(第幾行),若沒找到,提示“nofound”。1.問題分析對于此問題當(dāng)然可以采用上述的順序查找算法實(shí)現(xiàn),但和前一問題不同的是數(shù)據(jù)集中的數(shù)據(jù)是有序的,已按從低到高的順序排好,那能不能利用這一條件提高查找效率呢?先看這樣一個(gè)游戲:猜某件商品的價(jià)格,已知商品的價(jià)格范圍(假設(shè)為1~100元),每猜一次主持人可以回答游戲者所猜價(jià)格比實(shí)際價(jià)格高了還是低了,若在規(guī)定次數(shù)內(nèi)就能猜對者,就可免費(fèi)獲得該商品。為了減少猜的次數(shù),提高命中的效率,你會怎樣猜呢?通常會從1到100元的中間值50元開始猜,如果高了,則進(jìn)一步從1到50元的中間值25再開始猜;而如果低了,則從50到100元的中間值75開始猜,這種猜價(jià)格的方法稱為折半方法。把折半方法應(yīng)用在查找中,就稱為折半查找法(又稱二分查找),它是在一個(gè)有序的元素列表中查找特定值的一種方法,該順序可以是升序,也可以是降序。二分查找法的具體過程如下:假設(shè)表中元素是按升序排列的,將表中間位置元素的值和要查找的值比較,如果二者相等,則查找成功;否則利用中間位置將所有數(shù)據(jù)分成前、后兩個(gè)部分,如果中間位置元素的值大于要查找的值,則進(jìn)一步查找前一部分的元素,否則進(jìn)一步查找后一部分的元素。重復(fù)以上過程,直到找到待查找的值,則查找成功,或直到表中不存在待找值為止,則查找不成功。2.算法實(shí)現(xiàn)(1)設(shè)計(jì)折半查找子程序halfsearch(2)其他子程序認(rèn)真聽課做好筆記10.4.3算法總結(jié)①順序查找又稱為線性查找,是一種最簡單的查找方法,數(shù)據(jù)集無須事先排序。但其平均查找次數(shù)較大,對于有n個(gè)數(shù)的序列,找到第1個(gè)數(shù),只需查找1次即可,找到第2個(gè)數(shù),要查找2次,找到第3個(gè)數(shù),要查找3次……找到第n個(gè)數(shù),要查找n次,則平均查找次數(shù)就是(1+2+3+…+n)/n=(1+n)/2。②二分查找要求待查的數(shù)據(jù)序列為有序的,因此適用于不經(jīng)常變動而查找頻繁的有序數(shù)據(jù)列表。其優(yōu)點(diǎn)是比較次數(shù)少,查找速度快,平均性能好,適宜數(shù)據(jù)量很大的情況。③二分查找每執(zhí)行一次都可以將查找空間減少一半,是計(jì)算機(jī)科學(xué)中分治思想的完美體現(xiàn)。對于有n個(gè)數(shù)的序列,最多查找次數(shù)為log2n,平均查找次數(shù)約為log(n+1)-1作業(yè)布置認(rèn)真完成學(xué)生活動評價(jià)設(shè)計(jì)1.學(xué)生平時(shí)成績評定表(40%)平時(shí)成績評定表序號考核內(nèi)容評價(jià)標(biāo)準(zhǔn)分值得分1出勤情況全勤20請假1次扣1分,曠課1次扣2分2學(xué)習(xí)態(tài)度學(xué)習(xí)態(tài)度端正,認(rèn)真好學(xué),積極主動20其他情況
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 會議決策紀(jì)要與執(zhí)行方案
- 綠色建筑節(jié)能技術(shù)改造合同
- 水電供應(yīng)服務(wù)協(xié)議書
- 光伏發(fā)電站建設(shè)項(xiàng)目開發(fā)戰(zhàn)略合作框架協(xié)議
- 物流運(yùn)輸合同協(xié)議書參考
- 周年慶典盛大策劃方案
- 工程維修承包合同
- 汽車維修租賃合同協(xié)議書
- 裝飾裝修居間合同
- 建筑裝修行業(yè)裝修工程延期免責(zé)協(xié)議
- 《交通工程CAD》課程教學(xué)大綱(本科)
- 人教版數(shù)學(xué)五年級下冊 全冊各單元教材解析
- 2022年二年級生命安全教育教案
- 換班申請表(標(biāo)準(zhǔn)模版)
- 豐田汽車戰(zhàn)略規(guī)劃與戰(zhàn)略管理體系研究(2021)
- 公共政策學(xué)(第三版)-課件
- 文物保護(hù)項(xiàng)目可行性研究報(bào)告
- 冷卻塔是利用水和空氣的接觸
- 者陰村戰(zhàn)友紀(jì)念者陰山對越自衛(wèi)還擊作戰(zhàn)30周年聯(lián)誼會計(jì)劃2
- 承插型盤扣式支模架專項(xiàng)施工方案
- 我國古代職業(yè)教育的發(fā)展
評論
0/150
提交評論