版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
RAPTOR程序設計基礎《可視化計算》2021/6/271學習目標為什么學習RAPTOR系統(tǒng)?RAPTOR程序設計環(huán)境有那些基本概念?如何使用程序設計進行計算問題的求解?2021/6/272為什么要學習RAPTOR?RAPTOR(theRapidAlgorithmicPrototypingToolforOrderedReasoning--用于有序推理的快速算法原型工具),是一種基于流程圖仿真的可視化的程序設計環(huán)境,為程序和算法設計的基礎課程的教學提供實驗環(huán)境使用RAPTOR設計的程序和算法可以直接轉換成為C++、C#、Java等高級程序語言,這就為程序和算法的初學者鋪就了一條平緩、自然的學習階梯2021/6/273使用RAPTOR的理由可以在最大限度地減少語法要求的情形下,幫助用戶編寫正確的程序指令程序就是流程圖,可以逐個執(zhí)行圖形符號,以便幫助用戶跟蹤指令流執(zhí)行過程容易掌握用RAPTOR可以進行算法設計和驗證,從而使初學者有可能理解和真正掌握“計算思維”2021/6/274RAPTOR基本程序環(huán)境基本界面基本符號變量顯示區(qū)“Main”的初始狀態(tài)調速滑塊程序輸出區(qū)域2021/6/275四種基本符號/語句目的符號名稱說明輸入輸入語句輸入數(shù)據(jù)給一個變量處理賦值語句使用各類運算來更改的變量的值處理過程調用執(zhí)行一組在命名過程中定義的指令輸出輸出語句顯示變量的值。2021/6/276變量變量(variable)表示的是計算機內存中的位置,用于保存數(shù)據(jù)值在任何時候,一個變量只能容納一個值在程序執(zhí)行過程中,變量的值可以改變命名:以字母開頭,由字母、數(shù)字、下劃線組成2021/6/277變量賦值過程說明X的值程序當程序開始時,沒有任何變量存在未定義第一個賦值語句,X←32,分配數(shù)據(jù)值32給變量X32下一個賦值語句,X←X+1,檢索到當前X的值為32,給它加1,并把結果33給變量X33下一個賦值語句,X←X*2,檢索到X當前值為33,乘以2,并把結果66給變量X662021/6/278RAPTOR變量值的設置基本原則:任何變量在被引用前必須存在并被賦值變量的類型由最初的賦值語句所給的數(shù)據(jù)決定設置方法通過輸入語句賦值通過賦值語句的中的公式運算后賦值通過調用過程的返回值賦值2021/6/279RAPTOR數(shù)據(jù)類型數(shù)值(Number):
如12,567,-4,3.1415,0.000371字符串(String):如“Hello,howareyou?”,“JamesBond”,“Thevalueofxis:
”注意:本系統(tǒng)不能使用漢字字符!2021/6/2710變量報錯的原因未定義引用2021/6/2711變量報錯的原因拼寫錯2021/6/2712不同類型的數(shù)據(jù)不可比較2021/6/2713RAPTOR常量RAPTOR定義了四個常量(Constant)下列四個符號取值為固定值,不可更改,只能引用pi(圓周率)定義為3.1416e(自然對數(shù)的底)定義為2.7183true/yes(布爾值:真)定義為1false/no(布爾值:假)定義為02021/6/2714給程序增加語句符號在“start”和“End”之間的箭頭上點鼠標右鍵,在快捷菜單可以添加語句符號。2021/6/2715輸入(Input)語句輸入語句的編輯(Edit)對話框提示部分變量部分2021/6/2716輸入(Input)語句輸入語句在流程圖中顯示的狀態(tài)運行時對話框2021/6/2717輸出語句執(zhí)行輸出語句將在主控(MasterConsole)窗口顯示輸出結果輸出的結果可以使用或不使用換行操作其中"TheNumberIs:"是輸出語句的提示部分,為文本型數(shù)據(jù)兩端加雙引號,+表示連接后面的內容,n兩端無雙引號表示它是一個變量。Endcurrentline選中表示下一個輸出語句將另起一行。注意:提示部分文字只能用英文,不支持漢字。2021/6/2718輸出語句運行程序,點擊工具欄的在輸入框輸入數(shù)字:5輸出結果出現(xiàn)在主控窗口。2021/6/2719賦值語句(編輯)在輸入語句和輸出語句之間插入賦值符號,雙擊Set部分為接受賦值的變量或To部分為表達式2021/6/2720賦值語句(顯示)流程圖中的賦值語句2021/6/2721表達式可以是任何計算單個值的簡單或復雜公式是值(無論是常量或變量)和運算符的組合。例如,考慮下面的兩個例子:
(1)x←(3+9)/3 (2)x←3+(9/3)2021/6/2722內置運算符和函數(shù)數(shù)學運算:
+,-,*,/,^,**(加、減、乘、除、乘方)rem,mod(求余),sqrt(開平方)log,abs,(對數(shù),絕對值)ceiling,floor
(向下取整,向上取整)2021/6/2723內置運算符和函數(shù)三角函數(shù):sin,cos,tan;正弦,余弦,正切
cot,arcsin,arccos;余切,反正弦,反余弦
arctan,arccot;反正切,反余切
2021/6/2724內置運算符和函數(shù)random,偽隨機數(shù)
Length_of
求數(shù)組元素個數(shù),求字符串長度2021/6/2725表達式計算的“優(yōu)先順序”1. 計算所有函數(shù)的值;2. 計算括號中表達式;3. 計算乘冪(^,**);4. 從左到右,計算乘法和除法,最后從左到右,計算加法和減法。2021/6/2726注釋注釋本身對計算機毫無意義,并不會被執(zhí)行。注釋的目的是增強程序的可讀性,幫助他人理解你所設計的程序或算法2021/6/2727一個帶注釋的算法注釋的四種類型:1.編程標題2.分節(jié)描述3.邏輯描述4.變量說明2021/6/2728選擇控制可能性
1可能性2Statement1Statement2aStatement3Statement1Statement2bStatement3當程序執(zhí)行時,如果決策的結果是“Yes”(True),則執(zhí)行左側分支如果結果是“No”(False),則執(zhí)行右側分支2021/6/2729選擇控制注意選擇控制語句的兩個路徑之一可能是空的,或包含多條語句選擇控制結構在英語環(huán)境中被稱為“if-then”結構2021/6/2730決策表達式決策表達式(DecisionExpressions)是一組值(常量或變量)和關系運算符的結合,期望得到YES/NO這樣的結果關系運算符(=、/=、<、<=、>、>=),必須針對兩個相同的數(shù)據(jù)類型值比較例如,3=4或"Wayne"="Sam"是有效的比較,但3="Mike"則是無效的2021/6/2731決策表達式中的運算符說明運算說明例=等于3=4結果為
No(false)!=/=不等于3!=4結果為Yes(true)3/=4結果為
Yes(true)<小于3<4結果為Yes(true)<=小于或等于3<=4結果為Yes(true)>大于3>4結果為No(false)>=大于或等于3>=4結果為No(false)and與(3<4)and(10<20)結果為Yes(true)or或(3<4)or(10>20)結果為Yes(true) not非not(3<4)結果為No(false)2021/6/2732級聯(lián)(嵌套)選擇控制在選擇結構里面插入選擇結構2021/6/2733循環(huán)控制循環(huán)(loop)控制語句允許重復執(zhí)行一個或多個語句,直到某些條件變?yōu)檎嬷担═rue)菱形符號中的表達式結果為“No”,則執(zhí)行“No”的分支,這將導致循環(huán)語句和重復要重復執(zhí)行的語句可以放在菱形符號上方或下方循環(huán)控制結構在英語環(huán)境中被稱為“While-do”結構2021/6/2734循環(huán)測試在循環(huán)語句中,究竟是先計算后測試,還是先測試后計算,或者在計算的過程中間進行測試?前序測試(Pre-test)后續(xù)測試(Post-test)中序測試(Intermediate-test)2021/6/2735刪除圖的Statement2Statement1為前置條件Statement3是主循環(huán)體如果進入了Statement3,測試條件也必須由這一部分進行修改;前序測試2021/6/2736中序測試Statement2是主循環(huán)體之一而測試條件也是在Statement2中產生Statement3是主循環(huán)體之二2021/6/2737后續(xù)測試刪除和Statement3Statement2是主循環(huán)體而測試條件也是在Statement2中產生;2021/6/2738輸入驗證循環(huán)之一中序測試2021/6/2739輸入驗證循環(huán)之二2021/6/2740計數(shù)循環(huán)循環(huán)按特定的次數(shù),來執(zhí)行某個代碼塊一個著名的縮寫I.T.E.M(Initialize,Test,Execute,Modify,初始化,測試,執(zhí)行,和修改)表示可以用來檢查一個循環(huán)計數(shù)器變量使用是否正確的基本過程2021/6/2741典型的循環(huán)錯誤2021/6/2742計數(shù)控制循環(huán)之一前序測試2021/6/2743計數(shù)控制循環(huán)之二后序測試2021/6/2744RAPTOR子程序與子圖定義與調用在計算機科學中,將實際問題抽象化是解決問題的關鍵要素之一一項研究成果表明,人類的大腦平均只能同時積極關注約4件事情,大大少于以往研究所得的7件事情的結論為了解決復雜的問題,必須能夠研究問題的“主要方面(bigissues)”2021/6/2745組合數(shù)求解很容易看到,求組合數(shù)需要多次求階乘,這會造成許多重復的代碼,現(xiàn)在將求階乘代碼獨立出主程序,定義為一個子程序,在主程序運行時,需要計算某數(shù)的階乘時就調用子程序,從而簡化整個軟件的組成,使結構更清晰。2021/6/27462021/6/2747創(chuàng)建RAPTOR子程序子程序如同一個加工廠,輸入原材料,然后按設計要求處理原材料,輸出產成品子程序的原材料就是一些變量,例如(in:char),為統(tǒng)計子程序輸入測試樣本子程序的產成品也是變量,例如(out:count),向調用它的程序返回統(tǒng)計結果其中,in,out表示子程序的輸入輸出參數(shù)2021/6/2748子程序定義子程序定義界面上的接口參數(shù)稱為“形式參數(shù)”RAPTOR的子程序參數(shù)不得超過6個子程序參數(shù)可以是單個變量,也可以是數(shù)組2021/6/2749一個設計完成的子程序2021/
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 虛擬現(xiàn)實在航空培訓中的交互設計-洞察分析
- 特種陶瓷行業(yè)監(jiān)管機制完善-洞察分析
- 項目管理數(shù)字化轉型策略-洞察分析
- 宇宙微波背景輻射的偏振結構-洞察分析
- 休閑產業(yè)市場結構剖析-洞察分析
- 《巨人的花園預習》課件
- 顏料在生物醫(yī)學領域的探索-洞察分析
- 音樂創(chuàng)作輔助工具研究-洞察分析
- 退貨管理信息化建設-洞察分析
- 隱私安全協(xié)議設計-洞察分析
- 中央2025年全國人大機關直屬事業(yè)單位招聘18人筆試歷年典型考點(頻考版試卷)附帶答案詳解
- 2024至2030年四氯苯醌項目投資價值分析報告
- 北京市海淀區(qū)2024-2025學年七年級上學期期中考試英語試卷(含答案)
- 中資企業(yè)出海報告:潮涌浪闊四海揚帆
- 房地產銷售主管崗位招聘筆試題及解答(某大型央企)2024年
- 2024-2025學年人教版八年級上冊地理期末測試卷(二)(含答案)
- 80、沈陽桃仙機場二平滑工程冬期施工方案
- 《STM32Cube嵌入式系統(tǒng)應用》HAL庫版本習題及答案
- 一年級數(shù)學練習題-20以內加減法口算題(4000道)直接打印版
- 外研版小學英語(三起點)六年級上冊期末測試題及答案(共3套)
- 跨部門合作銷售提成方案
評論
0/150
提交評論