浙教版-信息技術(shù)-必修1-21-算法的概念及描述-課件_第1頁
浙教版-信息技術(shù)-必修1-21-算法的概念及描述-課件_第2頁
浙教版-信息技術(shù)-必修1-21-算法的概念及描述-課件_第3頁
浙教版-信息技術(shù)-必修1-21-算法的概念及描述-課件_第4頁
浙教版-信息技術(shù)-必修1-21-算法的概念及描述-課件_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第2章算法與問題解決浙教版(2019版)信息技術(shù)(高中)必修1

數(shù)據(jù)與計算2.1算法的概念及描述

第2章算法與問題解決浙教版(2019版)信息技術(shù)(高中學(xué)習(xí)目標(biāo)123算法的概念。算法的特征。算法的要素。算法的描述。4學(xué)習(xí)目標(biāo)123算法的概念。412重點難點重點:算法的描述。難點:算法的描述。12重點難點重點:算法的描述。課堂導(dǎo)入

“算法”指的是解決某個問題的一組步驟。人們在解決問題時都會經(jīng)歷一個“怎么做”的階段,而思考“怎么做”的過程,就是“算法設(shè)計”的過程。

用計算機解決問題時,通常先設(shè)計算法,然后將算法用合適的計算機程序設(shè)計語言表示,計算機就能按照人們設(shè)計的計算機程序進行高速、準確的自動化處理,從而幫助人們解決問題。課堂導(dǎo)入“算法”指的是解決某個問題的一組步驟2.1.1算法的概念圖2.1.1高一新生報到流程2.1.1算法的概念圖2.1.1高一新生報到流程古代的算法主要指的是“算術(shù)”,即數(shù)值的算術(shù)運算。隨著科學(xué)技術(shù)的發(fā)展,算法的內(nèi)涵和外延逐漸發(fā)生變化。古代的算法廣義地講,算法指的是解決問題或完成任務(wù)的一系列步驟。既包括傳統(tǒng)意義上計算任務(wù),也可以是生活中各種事物的處理。廣義算法計算機領(lǐng)域內(nèi),算法指的是用計算機解決問題的步驟。是為了解決問題而讓計算機執(zhí)行的有序、無歧義的,有限步驟的集合。1、

算法的定義計算機算法古代的算法主要指的是“算術(shù)”,即數(shù)值的算術(shù)運算。隨著科學(xué)技術(shù)拓展鏈接窮舉算法也稱枚舉算法,指的是在求解過程中,先按照一定的順序一一列所有可能的解,然后用條件判斷列舉出的可能解是否為正確解。窮舉法一般適合解決解集為離散的且范圍明確的問題?!半u翁一,值錢五;雞母一,值錢三;雞雛三,值錢一;百錢買雞百,問翁、母、雛各幾何?”這是我國古代數(shù)學(xué)家張丘建在《算經(jīng)》中提出的經(jīng)典問題。同時,他還在書中給出了解決該問題的算法“雞翁每增四,雞母每減七,雞雛每益三,即得"。百錢買百雞窮舉算法拓展鏈接窮舉算法也稱枚舉算法,指的是在求解過程中2、算法的特征√

有窮性

算法必須能在執(zhí)行有限個步驟之后終止。√

確切性算法中的每一次運算都有明確的定義,具有無二義性,并且可以通過計算得到唯一的結(jié)果?!?/p>

輸入項一個算法有0個或多個輸入。所謂0個輸入是指本身給出了初始條件。√

輸出項算法一定要有輸出。任何算法都不能“無功而返”?!?/p>

可行性算法中執(zhí)行的任何運算都可以在有限的時間內(nèi)完成。2、算法的特征√有窮性為防止用戶賬戶被盜,在用戶登錄賬戶時,有些信息系統(tǒng)會限制用戶嘗試輸入密碼的次數(shù)(如圖2.1.2),一旦超出限定的次數(shù),系統(tǒng)就會禁止輸入并要

求進行注冊賬戶驗證。下面為某系統(tǒng)驗證用戶輸入密碼正確與否的算法:①密碼輸入錯誤次數(shù)初始化為零。②接受用戶輸入的密碼。③將用戶輸入的密碼與原來設(shè)置的密碼比較,若相同則轉(zhuǎn),否則轉(zhuǎn)④。④密碼輸入錯誤次數(shù)增加1。⑤若密碼輸入錯誤次數(shù)少于5,輸出信息“密碼錯誤,請再次輸入密碼!”,然后轉(zhuǎn)⑥;否則,輸出信息“密碼輸入錯誤已達5次,請通過注冊郵箱找回密碼”,然后轉(zhuǎn)。問題與討論:⑥接受用戶輸入的密碼,然后轉(zhuǎn)③。⑦密碼正確,進入系統(tǒng)。⑧密碼驗證算法結(jié)束。請結(jié)合上述算法,談?wù)勊惴ǖ奶卣髟谄渲械木唧w體現(xiàn)。比如,該算法體現(xiàn)了“可行性”特征,因為算法中的“判斷密碼正確性”“密碼輸入錯誤次數(shù)統(tǒng)計”等處理都是現(xiàn)實中確實可以實現(xiàn)的。為防止用戶賬戶被盜,在用戶登錄賬戶時,有些信息系統(tǒng)會限制用3、算法的要素數(shù)據(jù)運算控制

轉(zhuǎn)移用算法解決問題時,必須明確參與運算的初始數(shù)據(jù)、運算時產(chǎn)生的中間數(shù)據(jù)以及代表問題解決的結(jié)果數(shù)據(jù)。在對數(shù)據(jù)進行運算時,必須明確每一步的運算是什么、對哪些數(shù)據(jù)進行運算等。在算法執(zhí)行過程中,有時需要根據(jù)數(shù)據(jù)或運算結(jié)果的特點進行不同的處理,這時就需要運用控制轉(zhuǎn)移來執(zhí)行不同的操作。3、算法的要素數(shù)據(jù)運算控制

轉(zhuǎn)移用算法解決問題很多設(shè)備的“自動”功能,都是內(nèi)部算法控制的結(jié)果。比如,在夏天把空調(diào)溫度設(shè)定在26C(如圖2.1.4所示),每當(dāng)空調(diào)內(nèi)部的溫度傳感器測得室內(nèi)溫度小于或等于26℃C時,算法就會“告訴”空調(diào)已經(jīng)到達目標(biāo)溫度,可以暫停工作,空調(diào)就會“自動”暫時關(guān)閉壓縮機的運行。這樣,既確保了室內(nèi)溫度,又實現(xiàn)了節(jié)能環(huán)保。還有很多設(shè)備用算法來幫助設(shè)備實現(xiàn)自動化。與同學(xué)討論交流,哪些設(shè)備來用算法實現(xiàn)了自動化?并嘗試說出這些設(shè)備實現(xiàn)自動化控制的算法。問題與討論:很多設(shè)備的“自動”功能,都是內(nèi)部算法控制的結(jié)果。比2.1.2算法的描述2.1.2算法的描述1、用自然語言描述算法圖2.1.5停車場中的車位探測解決本問題的算法可以用自然語言描述如下。(1)輸入變量fag的值。(2)若flag的值為1,則設(shè)置指示燈為綠色,輸出“空車位”;否則,設(shè)置指示燈為紅色,輸出“非空車位”。1、用自然語言描述算法圖2.1.5停車場中的車位探測解決本2、用流程圖描述算法圖形名稱功能開始/結(jié)束符表示算法的開始或結(jié)束輸入/輸出表示數(shù)據(jù)的輸入或輸出處理框表示數(shù)據(jù)的運算處理判斷框表示算法中的條件判斷流程線表示算法中的流向連接點表示算法中的轉(zhuǎn)接2、用流程圖描述算法圖形名稱功能開始/結(jié)束符表示算法的開始浙教版-信息技術(shù)-必修1-21-算法的概念及描述--課件“N-S圖”是由美國學(xué)者納西(Nassi)和斯奈德曼(Shneiderman)提出的一種在流程圖中完全去掉流程線,全部算法寫在一個矩形框內(nèi)的算法描述方式。相比于原來的流程圖描述,結(jié)構(gòu)性顯得更好,也更有助于高效地編寫程序。前面車位探測中的算法,可用N-S圖表示成如下形式。輸入flag的值指示燈綠色指示燈紅色輸出“空車位”輸出“非空車位”Flag=1?是否拓展鏈接:“N-S圖”是由美國學(xué)者納西(Nassi)和斯奈德曼問題與討論:結(jié)合實例,與同學(xué)一起分組討論:為什么算法必須要有“輸出”,但有時卻可以沒有“輸入”?問題與討論:結(jié)合實例,與同學(xué)一起分組討論:為什么3、用偽代碼描述算法偽代碼指的是一種比較直觀簡潔的、符號接近計算機程序代碼的算法描述方式,其風(fēng)格很像計算機程序設(shè)計語言,但又不是真正的可以被計算機理解的代碼。偽代碼的表示方法沒有統(tǒng)一、嚴格的規(guī)定,只要定義合理、表達正確即可。格式1:If條件then(語句序列1)Else(語句序列2)格式2:If條件then(語句序列1)格式:while條件

(循環(huán)體)條件判斷語句循環(huán)語句3、用偽代碼描述算法偽代碼指的是一種比較直觀簡潔Flag車位探測結(jié)果;#將測得的車位當(dāng)前狀態(tài)值輸入給變量flagIfflag=1then

(指示燈綠色輸出“空車位”)Else

(指示燈紅色

輸出“非空車位”)Flag車位探測結(jié)果;#將測得的車位當(dāng)前狀態(tài)值輸入4、用計算機程序設(shè)計語言描述算法voidMainWindow::on_pushButton_clickedO{intflag=ui->lineEdit->textO.toIntO;if(flag==1)(ui->label_4->setStyleSheet("color:green;");ui->label_4->setText("綠色");ui->label_5->setText("空車位”);}else{ui->label_4->setStyleSheet("color:red;");ui->label_4->setText("紅色”);ui->label_5->setText("非空車位”);}}該程序的運行結(jié)果分別如圖2.1.7和圖2.1.8所示。該算法還可以用Python程序設(shè)計語言描述如下:flag=int(input(“輸入車位狀態(tài)值:"))ifflag==1:print("綠色”)print("空車位")else:print("紅色”)print("非空車位")4、用計算機程序設(shè)計語言描述算法voidMainWindo計算機程序設(shè)計語言計算機程序設(shè)計語言經(jīng)歷了“機器語言一匯編語言一高級語言”的發(fā)展歷程。機器語言中的指令由“0”“1”二進制碼組成,機器執(zhí)行效率高但可讀性、維護性差。為了提升編程的效率,科學(xué)家用特定的符號(助記符)來表示各個機器指令,發(fā)明了匯編語言。科學(xué)家后來又發(fā)明了高級語言,用接近人類日常用語的符號來表示各類指令。常見的高級語言有Basic、C、C++、Java、Python、Ruby等。拓展鏈接計算機程序設(shè)計語言拓展鏈接1,某智能停車場車位引導(dǎo)系統(tǒng)中,通過一個區(qū)域控制器來統(tǒng)計、顯示該區(qū)域空車位情況。當(dāng)該區(qū)域控制器接收到每個車位發(fā)送的狀態(tài)信息(“空車位”或“非空車位”)后,它會統(tǒng)計該區(qū)域當(dāng)前的空

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論