




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、RAPTOR程序設(shè)計基礎(chǔ)1為什么要學(xué)習(xí)程序設(shè)計?由于計算思維的核心之一是算法思維,同時算法思維也是計算機科學(xué)的精髓而算法思維的實現(xiàn)離不開程序設(shè)計,所以對于計算思維的學(xué)習(xí)和認(rèn)識,必須從程序設(shè)計開始2計算思維的根本內(nèi)容計算思維最根本的內(nèi)容,即其本質(zhì)(Essence)是抽象(抽象(AbstractionAbstraction)和自自動化(動化(AutomationAutomation)計算思維中的抽象完全超越物理的時空觀,并完全用符號來表示抽象和自動化 行為將貫徹課程的始終 3什么是可視化程序設(shè)計? 可視化(Visual)程序設(shè)計是一種全新的程序設(shè)計方法,一般可視化程序主要是指編譯環(huán)境的可視化;程序
2、設(shè)計人員利用開發(fā)環(huán)境本身提供各種可視化的控件、方法和屬性等,像搭積木一樣構(gòu)造出應(yīng)用程序的各種界面典型的可視化程序設(shè)計環(huán)境如Visual Basic4http:/Visual Basic 6.0界面 5http:/為什么要使用RAPTOR?RAPTOR(the Rapid Algorithmic Prototyping Tool for Ordered Reasoning-用于有序推理的快速算法原型工具),是一種基于流程圖的可視化程序設(shè)計環(huán)境,為程序和算法設(shè)計的基礎(chǔ)課程教學(xué)提供實驗環(huán)境使用RAPTOR設(shè)計的程序和算法可以直接轉(zhuǎn)換成為C+、C#、Java等高級程序語言,這就為程序和算法的初學(xué)者鋪就
3、了一條平緩、自然的學(xué)習(xí)階梯6http:/使用RAPTOR的理由可以在最大限度地減少語法要求的情形下,幫助用戶編寫正確的程序指令程序就是流程圖,可以逐個執(zhí)行圖形符號,以便幫助用戶跟蹤指令流執(zhí)行過程容易掌握用RAPTOR可以進(jìn)行算法設(shè)計和驗證,從而使初學(xué)者有可能理解和真正掌握“計算思維”7http:/RAPTOR基本程序環(huán)境基本界面F5:運行流程圖F10:單步執(zhí)行顯示執(zhí)行結(jié)果。8四種基本符號/語句目的目的符號符號名稱名稱說明說明輸入輸入語句輸 入 數(shù) 據(jù) 給一個變量變量處理賦值語句使 用 某 些 運算 來 更 改變變量量的值處理過程調(diào)用執(zhí) 行 一 組 在命 名 過 程 中定義的指令輸出輸出語句顯
4、示變 量變 量的值。9變量變量(variable)表示的是計算機內(nèi)存中的位置,用于保存數(shù)據(jù)值在任何時候,一個變量只能容納一個值變量的初始值決定了變量的數(shù)據(jù)類型,在流程執(zhí)行過程中變量的數(shù)據(jù)類型不能更改,但變量的值可以改變10變量賦值過程說明說明X的值的值程序程序當(dāng)程序開始時,沒有任何變量存在未定義第一個賦值語句,X32,分配數(shù)據(jù)值32給變量X32下一個賦值語句,XX +1,檢索到當(dāng)前X的值為32,給它加1,并把結(jié)果33給變量X33下一個賦值語句,XX * 2,檢索到X當(dāng)前值為33,乘以2,并把結(jié)果66給變量X6611RAPTOR變量值的設(shè)置基本原則:任何變量在被引用前必須存在并被賦初值變量的類型
5、由最初的賦值語句所給的數(shù)據(jù)決定設(shè)置方法通過輸入語句賦值通過賦值語句的中的公式運算后賦值通過調(diào)用過程的返回值賦值12RAPTOR數(shù)據(jù)類型數(shù)值(Number):如12,567,-4,3.1415,0.000371字符串 (String):如“Hello, how are you?”, “James Bond”, “The value of x is: ”字符(Character):如A,8,!。13變量報錯的原因未定義引用14變量報錯的原因拼寫錯15不同類型的數(shù)據(jù)不可比較16字符串:用雙引號括起來字 符:用單引號括起來RAPTOR常量RAPTOR定義了四個常量(Constant)pi(圓周率) 定
6、義為 3.1416e (自然對數(shù)的底)定義為 2.7183true /yes(布爾值: 真) 定義為 1false/no(布爾值:假) 定義為 017輸入(Input)(Input)語句輸入語句的編輯(Edit)對話框在提示文本框中說明所需的輸入在變量文本框中輸入變量名18輸入(Input)(Input)語句輸入語句在流程圖中顯示的狀態(tài)運行時對話框19賦值語句(編輯)Set文本框中輸入 需要賦值的變量名。To文本框中輸入需要執(zhí)行的表達(dá)式,表達(dá)式可以是一個值或 一個公式。20賦值語句(顯示)流程圖中的賦值語句21表達(dá)式可以是單個值可以是常量或變量和運算符的組合。 例如:(1)x (3+9)/3(
7、2)x 3+(9/3)22表達(dá)式計算的“優(yōu)先順序” 1. 計算所有函數(shù)的值,2. 計算括號中表達(dá)式,3. 計算乘冪(,*),4. 從左到右,計算乘法和除法,最后5. 從左到右,計算加法和減法。23運算符邏輯運算是一組值(常量或變量)和關(guān)系運算符的結(jié)合, 期望得到Y(jié)ES/NO這樣的結(jié)果關(guān)系運算符(=、 / =、 、 =),必須針對兩個相同的數(shù)據(jù)類型值比較例如,3 = 4或Wayne = Sam是有效的比較,但3 = Mike則是無效的24關(guān)系運算運算運算說明說明例例=等于等于3 = 4 結(jié)果為 No(false)!=/=不等于不等于3 != 4結(jié)果為Yes(true)3 /= 4結(jié)果為 Yes(
8、true)小于小于3 4結(jié)果為Yes(true)=小于或等于小于或等于3 大于大于3 4結(jié)果為No(false)=大于或等于大于或等于3 = 4結(jié)果為No(false)25內(nèi)置運算符和函數(shù) 數(shù)學(xué)運算: +,-,*,/,*(加、減、乘、除、乘方)rem, mod, sqrt(求余,開平方)log, abs, (對數(shù),絕對值)ceiling, floor (向下取整,向上取整)26內(nèi)置運算符和函數(shù)三角函數(shù):sin,cos,tan;正弦正弦 ,余弦余弦 ,正切正切 cot,arcsin,arccos;余切余切 ,反正弦反正弦 ,反余弦反余弦 arctan, arccot;反正切反正切 ,反余切反余切
9、 27內(nèi)置運算符和函數(shù)random,偽隨機數(shù) Length_of 求數(shù)組元素個數(shù),求字符串長度28過程調(diào)用語句(編輯) 編輯對話框注意已有過程提示29過程調(diào)用語句(顯示)過程調(diào)用分內(nèi)置過程,子圖,子程序;內(nèi)置過程、子圖、子程序的調(diào)用使用同樣的語句,但子圖沒有參數(shù),內(nèi)置過程或子程序需要參數(shù)30輸出語句 執(zhí)行輸出語句將在主控(Master Console)窗口顯示輸出結(jié)果必須用雙引號,以便與變量區(qū)分是否換行輸出結(jié)果選中表示換行31輸出語句的設(shè)計技巧32注釋 注釋本身對計算機毫無意義,并不會被執(zhí)行。注釋的目的是增強程序的可讀性,幫助他人理解你所設(shè)計的程序或算法 33一個帶注釋的算法注釋的四種類型:1
10、.編程標(biāo)題2.分節(jié)描述3.邏輯描述4.變量說明34控制結(jié)構(gòu)程序員合理利用控制結(jié)構(gòu)和控制語句,可以確定程序語句的執(zhí)行順序這些控制結(jié)構(gòu)可以做三件事:1. 按照順序執(zhí)行某些語句;2. 根據(jù)條件判斷結(jié)果,跳過某些語句而執(zhí)行其他語句;3. 條件為真時重復(fù)執(zhí)行一條或多條語句主要介紹選擇(Selection)和循環(huán)(Loop)命令35順序控制順序邏輯是最簡單的程序構(gòu)造本質(zhì)上,就是把每個語句按順序排列,程序執(zhí)行時,從開始(Start)語句順序執(zhí)行到結(jié)束(End)語句36順序控制程序員為解決問題,必須首先確定問題的解決方案,該方案需要哪些語句,以及語句的執(zhí)行順序因此,編寫正確的語句以及確定語句在程序的何處放置是
11、同樣重要的例如:當(dāng)要獲取和處理來自用戶的數(shù)據(jù)時,必須先取得數(shù)據(jù),然后才可以使用如果交換一下這些語句的順序,則程序根本無法執(zhí)行順序控制在英語環(huán)境中被稱為“and-thenand-then”結(jié)構(gòu)37選擇控制可能性可能性 1可能性可能性2Statement 1Statement Statement 3Statement 1Statement 2bStatement 3當(dāng)程序執(zhí)行時,如果決策的結(jié)果是“Yes”(True),則執(zhí)行左側(cè)分支如果結(jié)果是“No”(False),則執(zhí)行右側(cè)分支38選擇控制注意選擇控制語句的兩個路徑之一可能是空的,或包含多條語句選擇控制結(jié)構(gòu)在英語環(huán)境中被稱為“if-if-then
12、then”結(jié)構(gòu)39級聯(lián)選擇控制40循環(huán)控制循環(huán)(loop)控制語句允許重復(fù)執(zhí)行一個或多個語句,直到某些條件變?yōu)檎嬷担═rue)菱形符號中的表達(dá)式結(jié)果為“No”,則執(zhí)行“No”的分支,這將導(dǎo)致循環(huán)語句和重復(fù)要重復(fù)執(zhí)行的語句可以放在菱形符號上方或下方循環(huán)控制結(jié)構(gòu)在英語環(huán)境中被稱為“While-doWhile-do”結(jié)構(gòu)41循環(huán)測試在循環(huán)語句中,究竟是先計算后測試,還是先測試后計算,或者在計算的過程中間進(jìn)行測試?前序測試(Pre-test)后續(xù)測試(Post-test)中序測試(Intermediate-test)42刪除圖的Statement 2Statement1為前置條件Statement 3
13、是主循環(huán)體如果進(jìn)入了Statement3,測試條件也必須由這一部分進(jìn)行修改;前序測試43中序測試刪除圖中的Statement 1Statement2是主循環(huán)體之一而測試條件也是在Statement 2中產(chǎn)生Statement3是主循環(huán)體之二44后續(xù)測試刪除圖中的Statement 1和Statement3Statement2是主循環(huán)體而測試條件也是在Statement 2中產(chǎn)生;45輸入驗證循環(huán)46輸入驗證循環(huán)之二47(N=10)計數(shù)循環(huán)循環(huán)按特定的次數(shù),來執(zhí)行某個代碼塊一個著名的縮寫 I.T.E.M (Initialize, Test, Execute, Modify,初始化,測試,執(zhí)行,和
14、修改)表示可以用來檢查一個循環(huán)計數(shù)器變量使用是否正確的基本過程48典型的循環(huán)錯誤49輸入控制循環(huán)50輸入控制循環(huán)之二51RAPTOR數(shù)組變量數(shù)組是有序數(shù)據(jù)的集合。一般分為一維數(shù)組和二維數(shù)組數(shù)組最大的好處在于用一個統(tǒng)一的數(shù)組名和下標(biāo)(index)來唯一地確定某個數(shù)組變量中的元素52 RAPTOR一維數(shù)組的元素表示形式一形式二53數(shù)組的創(chuàng)建數(shù)組變量必須在使用之前創(chuàng)建所創(chuàng)建的數(shù)組大小由賦值語句中給定的最大元素下標(biāo)來決定,可以在算法運行過程中動態(tài)增加數(shù)組元素,擴展其大小。第一次給values數(shù)組賦值:values7 3結(jié)果如下圖:54一維數(shù)組的擴展第二次再給該數(shù)組賦值:values9 6則將數(shù)組進(jìn)行了
15、擴展,得到的結(jié)果如下圖:但不能將一個一維數(shù)組擴展為一個二維數(shù)組。55二維數(shù)組的創(chuàng)建創(chuàng)建二維數(shù)組時,數(shù)組的兩個維度的大小由最大的下標(biāo)確定例如: numbers3,4 13得到:56RAPTOR數(shù)組特性RAPTOR并不強制每個數(shù)組的元素必須具備相同的數(shù)據(jù)類型例如程序員可以將二維數(shù)組,設(shè)計成為類似像數(shù)據(jù)庫那樣的一種記錄式結(jié)構(gòu)57數(shù)組變量的應(yīng)用數(shù)組變量的好處來自數(shù)組符號允許RAPTOR在方括號內(nèi)執(zhí)行數(shù)學(xué)計算58什么是平行數(shù)組?計算某個班級學(xué)員的一個學(xué)期4門課程的平均成績。應(yīng)該如何保存參與計算的課程成績可以分別使用:computer,math,physics,history,而每個同學(xué)的編號,可以用做數(shù)
16、組的下標(biāo)59數(shù)組應(yīng)用注意事項在RAPTOR中,一旦某個變量名被用做數(shù)組變量,就不允許存在一個同名的非數(shù)組變量RAPTOR數(shù)組可以在算法運行過程中動態(tài)增加數(shù)組元素;但不可以將一個一維數(shù)組在算法運行中擴展成二維數(shù)組60RAPTOR子程序與子圖定義與調(diào)用在計算機科學(xué)中,將實際問題抽象化是解決問題的關(guān)鍵要素之一一項研究成果表明,人類的大腦平均只能同時積極關(guān)注約4件事情,大大少于以往研究所得的7件事情的結(jié)論為了解決復(fù)雜的問題,必須能夠研究問題的“主要方面(big issues)”61計算一個英文文章中,使用了“a”開頭的單詞的次數(shù)一個英文單詞的以特定字母開頭,那么它的前面一定有空格所以,判斷一個空格后面
17、是否跟了一個字母“a”,就可以找出一段英文中所有以a開頭單詞的使用次數(shù)6263統(tǒng)計 “az” 字母開頭單詞數(shù)解這個問題程序似乎只要把上個例子部分程序再復(fù)制、粘貼25次,做一點修改就可以解決問題但是,為了使得設(shè)計的程序更加簡練、具有更長久的生命力和更廣泛的用途,可以將上一例中的程序改造成一個子程序,或者是一種抽象:其功能就是“統(tǒng)計一個特定字母開頭的單詞,在一段文字中出現(xiàn)了多少次”64創(chuàng)建RAPTOR子程序子程序如同一個加工廠,輸入原材料,然后按設(shè)計要求處理原材料,輸出產(chǎn)成品子程序的原材料就是一些變量,例如(in:char),為統(tǒng)計子程序輸入測試樣本子程序的產(chǎn)成品也是變量,例如(out: count),向調(diào)用它的程序返回統(tǒng)計結(jié)果其中,in, out表示子程序的輸入輸出參數(shù)65子程序定義子程序定義界面上的接口參數(shù)稱為“形式參數(shù)”RAPTOR的子程序參數(shù)不得超過6個子程序參數(shù)可以是單個變量,也可以是數(shù)組66一個設(shè)計完成的子程序67子程序的調(diào)用如要調(diào)用子程序,可以通過調(diào)用語句并給子程序的接口賦予“實際參數(shù)”進(jìn)行實際參數(shù)的名與形式參數(shù)的可以不同實際參數(shù)的數(shù)據(jù)類型則必須與形式參數(shù)的相同6869自頂向下 vs 自底向上先規(guī)劃子程序,然后逐個實現(xiàn),為自頂向下的設(shè)計方法先實現(xiàn)各個子程序的功能,然后進(jìn)行綜合,為自底向上的設(shè)計方法70計算問題求解的一般過程理解問題制定計劃執(zhí)行計劃回顧與總結(jié)71
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【課件】大氣壓強教學(xué)課件2024-2025學(xué)年初中物理人教版(2024)八年級下冊+
- 中小學(xué)教師思政課培訓(xùn)
- 腫瘤介入術(shù)后護(hù)理
- 2024年度青海社區(qū)工作者練習(xí)題庫及答案
- 員工入職安全培訓(xùn)大綱
- 生產(chǎn)工藝研發(fā)培訓(xùn)課件
- 2.0信息技術(shù)培訓(xùn)
- 護(hù)理循環(huán)系統(tǒng)
- 襯衫制作流程
- 腫瘤放療病人心理護(hù)理
- 加氣站反恐怖防范安全風(fēng)險評價報告
- 2025年吉林國資委出資企業(yè)招聘筆試參考題庫含答案解析
- 慢性病健康教育
- 金融營銷宣傳八不得
- 2024年中國燈影牛肉市場調(diào)查研究報告
- 2024年高中生物學(xué)業(yè)水平合格考及答案
- 車給別人開的協(xié)議書
- 1.3探索三角形全等的條件第7課時 蘇科版八年級數(shù)學(xué)上冊
- 蘇教版四年級科學(xué)下冊復(fù)習(xí)方法
- 壯族文化宣傳介飲食服飾建筑風(fēng)俗習(xí)慣特點傳統(tǒng)節(jié)日課件
- 牛津譯林版英語八年級下冊期末復(fù)習(xí)各單元話題寫作范文背誦
評論
0/150
提交評論