




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