




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