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