




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、2021/3/91RAPTOR程序設(shè)計基礎(chǔ)2021/3/92為什么要學(xué)習(xí)程序設(shè)計?由于計算思維的核心之一是算法思維,同時算法思維也是計算機科學(xué)的精髓而算法思維的實現(xiàn)離不開程序設(shè)計,所以對于計算思維的學(xué)習(xí)和認識,必須從程序設(shè)計開始2021/3/93計算思維的根本內(nèi)容計算思維最根本的內(nèi)容,即其本質(zhì)(Essence)是抽象(抽象(AbstractionAbstraction)和自自動化(動化(AutomationAutomation)計算思維中的抽象完全超越物理的時空觀,并完全用符號來表示抽象和自動化 行為將貫徹課程的始終 2021/3/94什么是可視化程序設(shè)計? 可視化(Visual)程序設(shè)計是一
2、種全新的程序設(shè)計方法,一般可視化程序主要是指編譯環(huán)境的可視化;程序設(shè)計人員利用開發(fā)環(huán)境本身提供各種可視化的控件、方法和屬性等,像搭積木一樣構(gòu)造出應(yīng)用程序的各種界面典型的可視化程序設(shè)計環(huán)境如Visual Basic2021/3/95Visual Basic 6.0界面 2021/3/96為什么要使用RAPTOR?RAPTOR(the Rapid Algorithmic Prototyping Tool for Ordered Reasoning-用于有序推理的快速算法原型工具),是一種基于流程圖的可視化程序設(shè)計環(huán)境,為程序和算法設(shè)計的基礎(chǔ)課程教學(xué)提供實驗環(huán)境使用RAPTOR設(shè)計的程序和算法可以直
3、接轉(zhuǎn)換成為C+、C#、Java等高級程序語言,這就為程序和算法的初學(xué)者鋪就了一條平緩、自然的學(xué)習(xí)階梯2021/3/97使用RAPTOR的理由可以在最大限度地減少語法要求的情形下,幫助用戶編寫正確的程序指令程序就是流程圖,可以逐個執(zhí)行圖形符號,以便幫助用戶跟蹤指令流執(zhí)行過程容易掌握用RAPTOR可以進行算法設(shè)計和驗證,從而使初學(xué)者有可能理解和真正掌握“計算思維”2021/3/98RAPTOR基本程序環(huán)境基本界面F5:運行流程圖F10:單步執(zhí)行顯示執(zhí)行結(jié)果。2021/3/99四種基本符號/語句目的目的符號符號名稱名稱說明說明輸入輸入語句輸 入 數(shù) 據(jù) 給一個變量變量處理賦值語句使 用 某 些 運算
4、 來 更 改變變量量的值處理過程調(diào)用執(zhí) 行 一 組 在命 名 過 程 中定義的指令輸出輸出語句顯 示變 量變 量的值。2021/3/910變量變量(variable)表示的是計算機內(nèi)存中的位置,用于保存數(shù)據(jù)值在任何時候,一個變量只能容納一個值變量的初始值決定了變量的數(shù)據(jù)類型,在流程執(zhí)行過程中變量的數(shù)據(jù)類型不能更改,但變量的值可以改變2021/3/911變量賦值過程說明說明X的值的值程序程序當(dāng)程序開始時,沒有任何變量存在未定義第一個賦值語句,X32,分配數(shù)據(jù)值32給變量X32下一個賦值語句,XX +1,檢索到當(dāng)前X的值為32,給它加1,并把結(jié)果33給變量X33下一個賦值語句,XX * 2,檢索到
5、X當(dāng)前值為33,乘以2,并把結(jié)果66給變量X662021/3/912RAPTOR變量值的設(shè)置基本原則:任何變量在被引用前必須存在并被賦初值變量的類型由最初的賦值語句所給的數(shù)據(jù)決定設(shè)置方法通過輸入語句賦值通過賦值語句的中的公式運算后賦值通過調(diào)用過程的返回值賦值2021/3/913RAPTOR數(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,!。2021/3/914變量報錯的原因未定義引
6、用2021/3/915變量報錯的原因拼寫錯2021/3/916不同類型的數(shù)據(jù)不可比較字符串:用雙引號括起來字 符:用單引號括起來2021/3/917RAPTOR常量RAPTOR定義了四個常量(Constant)pi(圓周率) 定義為 3.1416e (自然對數(shù)的底)定義為 2.7183true /yes(布爾值: 真) 定義為 1false/no(布爾值:假) 定義為 02021/3/918輸入(Input)語句輸入語句的編輯(Edit)對話框在提示文本框中說明所需的輸入在變量文本框中輸入變量名2021/3/919輸入(Input)語句輸入語句在流程圖中顯示的狀態(tài)運行時對話框2021/3/92
7、0賦值語句(編輯)Set文本框中輸入 需要賦值的變量名。To文本框中輸入需要執(zhí)行的表達式,表達式可以是一個值或 一個公式。2021/3/921賦值語句(顯示)流程圖中的賦值語句2021/3/922表達式可以是單個值可以是常量或變量和運算符的組合。 例如:(1)x (3+9)/3(2)x 3+(9/3)2021/3/923表達式計算的“優(yōu)先順序” 1. 計算所有函數(shù)的值,2. 計算括號中表達式,3. 計算乘冪(,*),4. 從左到右,計算乘法和除法,最后5. 從左到右,計算加法和減法。2021/3/924運算符邏輯運算是一組值(常量或變量)和關(guān)系運算符的結(jié)合, 期望得到Y(jié)ES/NO這樣的結(jié)果關(guān)系
8、運算符(=、 / =、 、 =),必須針對兩個相同的數(shù)據(jù)類型值比較例如,3 = 4或Wayne = Sam是有效的比較,但3 = Mike則是無效的2021/3/925關(guān)系運算運算運算說明說明例例=等于等于3 = 4 結(jié)果為 No(false)!=/=不等于不等于3 != 4結(jié)果為Yes(true)3 /= 4結(jié)果為 Yes(true)小于小于3 4結(jié)果為Yes(true)=小于或等于小于或等于3 大于大于3 4結(jié)果為No(false)=大于或等于大于或等于3 = 4結(jié)果為No(false)2021/3/926內(nèi)置運算符和函數(shù) 數(shù)學(xué)運算: +,-,*,/,*(加、減、乘、除、乘方)rem, m
9、od, sqrt(求余,開平方)log, abs, (對數(shù),絕對值)ceiling, floor (向下取整,向上取整)2021/3/927內(nèi)置運算符和函數(shù)三角函數(shù):sin,cos,tan;正弦正弦 ,余弦余弦 ,正切正切 cot,arcsin,arccos;余切余切 ,反正弦反正弦 ,反余弦反余弦 arctan, arccot;反正切反正切 ,反余切反余切 2021/3/928內(nèi)置運算符和函數(shù)random,偽隨機數(shù) Length_of 求數(shù)組元素個數(shù),求字符串長度2021/3/929過程調(diào)用語句(編輯) 編輯對話框注意已有過程提示2021/3/930過程調(diào)用語句(顯示)過程調(diào)用分內(nèi)置過程,子
10、圖,子程序;內(nèi)置過程、子圖、子程序的調(diào)用使用同樣的語句,但子圖沒有參數(shù),內(nèi)置過程或子程序需要參數(shù)2021/3/931輸出語句 執(zhí)行輸出語句將在主控(Master Console)窗口顯示輸出結(jié)果必須用雙引號,以便與變量區(qū)分是否換行輸出結(jié)果選中表示換行2021/3/932輸出語句的設(shè)計技巧2021/3/933注釋 注釋本身對計算機毫無意義,并不會被執(zhí)行。注釋的目的是增強程序的可讀性,幫助他人理解你所設(shè)計的程序或算法 2021/3/934一個帶注釋的算法注釋的四種類型:1.編程標(biāo)題2.分節(jié)描述3.邏輯描述4.變量說明2021/3/935控制結(jié)構(gòu)程序員合理利用控制結(jié)構(gòu)和控制語句,可以確定程序語句的執(zhí)
11、行順序這些控制結(jié)構(gòu)可以做三件事:1. 按照順序執(zhí)行某些語句;2. 根據(jù)條件判斷結(jié)果,跳過某些語句而執(zhí)行其他語句;3. 條件為真時重復(fù)執(zhí)行一條或多條語句主要介紹選擇(Selection)和循環(huán)(Loop)命令2021/3/936順序控制順序邏輯是最簡單的程序構(gòu)造本質(zhì)上,就是把每個語句按順序排列,程序執(zhí)行時,從開始(Start)語句順序執(zhí)行到結(jié)束(End)語句2021/3/937順序控制程序員為解決問題,必須首先確定問題的解決方案,該方案需要哪些語句,以及語句的執(zhí)行順序因此,編寫正確的語句以及確定語句在程序的何處放置是同樣重要的例如:當(dāng)要獲取和處理來自用戶的數(shù)據(jù)時,必須先取得數(shù)據(jù),然后才可以使用如
12、果交換一下這些語句的順序,則程序根本無法執(zhí)行順序控制在英語環(huán)境中被稱為“and-thenand-then”結(jié)構(gòu)2021/3/938選擇控制可能性可能性 1可能性可能性2Statement 1Statement Statement 3Statement 1Statement 2bStatement 3當(dāng)程序執(zhí)行時,如果決策的結(jié)果是“Yes”(True),則執(zhí)行左側(cè)分支如果結(jié)果是“No”(False),則執(zhí)行右側(cè)分支2021/3/939選擇控制注意選擇控制語句的兩個路徑之一可能是空的,或包含多條語句選擇控制結(jié)構(gòu)在英語環(huán)境中被稱為“if-if-thenthen”結(jié)構(gòu)2021/3/940級聯(lián)選擇控制2
13、021/3/941循環(huán)控制循環(huán)(loop)控制語句允許重復(fù)執(zhí)行一個或多個語句,直到某些條件變?yōu)檎嬷担═rue)菱形符號中的表達式結(jié)果為“No”,則執(zhí)行“No”的分支,這將導(dǎo)致循環(huán)語句和重復(fù)要重復(fù)執(zhí)行的語句可以放在菱形符號上方或下方循環(huán)控制結(jié)構(gòu)在英語環(huán)境中被稱為“While-doWhile-do”結(jié)構(gòu)2021/3/942循環(huán)測試在循環(huán)語句中,究竟是先計算后測試,還是先測試后計算,或者在計算的過程中間進行測試?前序測試(Pre-test)后續(xù)測試(Post-test)中序測試(Intermediate-test)2021/3/943刪除圖的Statement 2Statement1為前置條件Sta
14、tement 3是主循環(huán)體如果進入了Statement3,測試條件也必須由這一部分進行修改;前序測試2021/3/944中序測試刪除圖中的Statement 1Statement2是主循環(huán)體之一而測試條件也是在Statement 2中產(chǎn)生Statement3是主循環(huán)體之二2021/3/945后續(xù)測試刪除圖中的Statement 1和Statement3Statement2是主循環(huán)體而測試條件也是在Statement 2中產(chǎn)生;2021/3/946輸入驗證循環(huán)2021/3/947輸入驗證循環(huán)之二(N=10)2021/3/948計數(shù)循環(huán)循環(huán)按特定的次數(shù),來執(zhí)行某個代碼塊一個著名的縮寫 I.T.E.
15、M (Initialize, Test, Execute, Modify,初始化,測試,執(zhí)行,和修改)表示可以用來檢查一個循環(huán)計數(shù)器變量使用是否正確的基本過程2021/3/949典型的循環(huán)錯誤2021/3/950輸入控制循環(huán)2021/3/951輸入控制循環(huán)之二2021/3/952RAPTOR數(shù)組變量數(shù)組是有序數(shù)據(jù)的集合。一般分為一維數(shù)組和二維數(shù)組數(shù)組最大的好處在于用一個統(tǒng)一的數(shù)組名和下標(biāo)(index)來唯一地確定某個數(shù)組變量中的元素2021/3/953 RAPTOR一維數(shù)組的元素表示形式一形式二2021/3/954數(shù)組的創(chuàng)建數(shù)組變量必須在使用之前創(chuàng)建所創(chuàng)建的數(shù)組大小由賦值語句中給定的最大元素下
16、標(biāo)來決定,可以在算法運行過程中動態(tài)增加數(shù)組元素,擴展其大小。第一次給values數(shù)組賦值:values7 3結(jié)果如下圖:2021/3/955一維數(shù)組的擴展第二次再給該數(shù)組賦值:values9 6則將數(shù)組進行了擴展,得到的結(jié)果如下圖:但不能將一個一維數(shù)組擴展為一個二維數(shù)組。2021/3/956二維數(shù)組的創(chuàng)建創(chuàng)建二維數(shù)組時,數(shù)組的兩個維度的大小由最大的下標(biāo)確定例如: numbers3,4 13得到:2021/3/957RAPTOR數(shù)組特性RAPTOR并不強制每個數(shù)組的元素必須具備相同的數(shù)據(jù)類型例如程序員可以將二維數(shù)組,設(shè)計成為類似像數(shù)據(jù)庫那樣的一種記錄式結(jié)構(gòu)2021/3/958數(shù)組變量的應(yīng)用數(shù)組變
17、量的好處來自數(shù)組符號允許RAPTOR在方括號內(nèi)執(zhí)行數(shù)學(xué)計算2021/3/959什么是平行數(shù)組?計算某個班級學(xué)員的一個學(xué)期4門課程的平均成績。應(yīng)該如何保存參與計算的課程成績可以分別使用:computer,math,physics,history,而每個同學(xué)的編號,可以用做數(shù)組的下標(biāo)2021/3/960數(shù)組應(yīng)用注意事項在RAPTOR中,一旦某個變量名被用做數(shù)組變量,就不允許存在一個同名的非數(shù)組變量RAPTOR數(shù)組可以在算法運行過程中動態(tài)增加數(shù)組元素;但不可以將一個一維數(shù)組在算法運行中擴展成二維數(shù)組2021/3/961RAPTOR子程序與子圖定義與調(diào)用在計算機科學(xué)中,將實際問題抽象化是解決問題的關(guān)鍵
18、要素之一一項研究成果表明,人類的大腦平均只能同時積極關(guān)注約4件事情,大大少于以往研究所得的7件事情的結(jié)論為了解決復(fù)雜的問題,必須能夠研究問題的“主要方面(big issues)”2021/3/962計算一個英文文章中,使用了“a”開頭的單詞的次數(shù)一個英文單詞的以特定字母開頭,那么它的前面一定有空格所以,判斷一個空格后面是否跟了一個字母“a”,就可以找出一段英文中所有以a開頭單詞的使用次數(shù)2021/3/9632021/3/964統(tǒng)計 “az” 字母開頭單詞數(shù)解這個問題程序似乎只要把上個例子部分程序再復(fù)制、粘貼25次,做一點修改就可以解決問題但是,為了使得設(shè)計的程序更加簡練、具有更長久的生命力和更廣泛的用途,可以將上一例中的程序改造成一個子程序,或者是一種抽象:其功能就是“統(tǒng)計一個特定字母開頭的單詞,在一段文字中出現(xiàn)了多少次”2021/3/965創(chuàng)建RAPTOR子程序子程序如同一個加工廠,輸入原材料,然后按設(shè)計要求處理原材料,輸出產(chǎn)成品子程序的原材料就是一些變量,例如(in:char),為統(tǒng)計子程序輸入測試樣本子程序的產(chǎn)成品也是變量,例如(out: count),向調(diào)用它的程序返回統(tǒng)計結(jié)果其中,in, out表示子程序的輸入輸出參數(shù)2021/3/966子程序定義子程序定義界面
溫馨提示
- 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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 掛靠開發(fā)合同范本
- cnc租賃合同范本
- 仿制抗骨質(zhì)疏松藥行業(yè)跨境出海戰(zhàn)略研究報告
- 工藝布料企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級戰(zhàn)略研究報告
- 食品用酶企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略研究報告
- 梳子企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略研究報告
- 排水管網(wǎng)老化更新改造工程巖土工程勘察報告(直接詳勘)
- 五趾襪企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略研究報告
- 醫(yī)患溝通互動平臺行業(yè)跨境出海戰(zhàn)略研究報告
- 生態(tài)農(nóng)業(yè)技術(shù)與環(huán)境保護的關(guān)系研究
- 公會掛靠協(xié)議
- 集裝箱房施工方案
- 人教新課標(biāo)五年級數(shù)學(xué)下冊教材解讀PPT
- CentOS 7系統(tǒng)配置與管理-習(xí)題及答案 楊海艷【ch07】管理文件權(quán)限
- 食品安全蔬菜水果
- 高中英語教學(xué)設(shè)計案例高中英語教學(xué)設(shè)計一等獎(四篇)
- 高中英語課外閱讀:STRANGE CASE OF DR.化身博士
- 《一起長大的玩具》閱讀測試題及答案
- 2023年四川省公務(wù)員考試行測真題
- 肱骨外上髁炎-課件
- 空氣動力學(xué)基礎(chǔ)
評論
0/150
提交評論