大學計算機基礎(chǔ)-基于計算思維(Windows 10+Office 2016)(第2版)課件 第9章 Raptor可視化編程_第1頁
大學計算機基礎(chǔ)-基于計算思維(Windows 10+Office 2016)(第2版)課件 第9章 Raptor可視化編程_第2頁
大學計算機基礎(chǔ)-基于計算思維(Windows 10+Office 2016)(第2版)課件 第9章 Raptor可視化編程_第3頁
大學計算機基礎(chǔ)-基于計算思維(Windows 10+Office 2016)(第2版)課件 第9章 Raptor可視化編程_第4頁
大學計算機基礎(chǔ)-基于計算思維(Windows 10+Office 2016)(第2版)課件 第9章 Raptor可視化編程_第5頁
已閱讀5頁,還剩153頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

大學計算機基礎(chǔ)——基于計算思維(Windows10+Office2016)第9章Raptor可視化編程9.1.1程序設(shè)計語言9.1引言程序設(shè)計語言程序設(shè)計語言又稱編程語言,是用于書寫計算機程序的語言語言的基礎(chǔ)規(guī)則規(guī)則記號記號記號記號記號串程序程序設(shè)計語言程序設(shè)計語言語用語法語義表示程序的結(jié)構(gòu)或形式,亦即表示構(gòu)成語言的各個記號之間的組合規(guī)律,但不涉及這些記號的特定含義,也不涉及使用者。表示程序的含義,亦即表示按照各種方法所表示的各個記號的特定含義,但不涉及使用者。表示程序與使用者之間的關(guān)系。程序設(shè)計語言程序設(shè)計語言定義計算機程序的語法規(guī)則定義計算機所需要使用的數(shù)據(jù)定義在不同情況下所應(yīng)當采取的行動發(fā)出指令低級語言高級語言程序設(shè)計語言低級語言機器語言表示成數(shù)碼形式的機器基本指令集,或者是操作碼經(jīng)過符號化的基本指令集匯編語言機器語言中地址部分符號化的結(jié)果,或進一步包括宏構(gòu)造。低級語言與特定的機器有關(guān)、功效高,但使用復雜,煩瑣,費時,易出差錯。程序設(shè)計語言高級語言高級程序設(shè)計語言某種特定的機器或環(huán)境不再依賴在不同的平臺上會被編譯成不同的機器語言面向用戶獨立于計算機種類和結(jié)構(gòu)代替幾條、幾十條甚至幾百條匯編語言的指令程序設(shè)計語言高級語言高級程序設(shè)計語言形式上接近于算術(shù)語言和自然語言概念上接近于人們通常使用的概念一個命令易學易用易維護感謝聆聽!大學計算機基礎(chǔ)——基于計算思維(Windows10+Office2016)大學計算機基礎(chǔ)——基于計算思維(Windows10+Office2016)第9章Raptor可視化編程9.1.2集成開發(fā)環(huán)境9.1引言集成開發(fā)環(huán)境用字處理軟件編輯源程序用鏈接程序進行函數(shù)、模塊連接用編譯程序進行編譯早期程序設(shè)計現(xiàn)在的編程開發(fā)軟件調(diào)試編輯編譯集成開發(fā)環(huán)境圖形用戶界面集成開發(fā)環(huán)境代碼編輯器編譯器調(diào)試器修改生成程序編輯源代碼代碼編寫功能分析功能編譯功能調(diào)試功能集成開發(fā)環(huán)境1.文本化TurboC采用文本形式,對計算機要求低,環(huán)境安裝方便,程序的平臺通用性好集成開發(fā)環(huán)境2.可視化可視化開發(fā)環(huán)境的特點是“控件組裝”。開發(fā)環(huán)境解決了很多例行的、標準化的代碼,比起非可視化的開發(fā)環(huán)境來說,更加直觀,開發(fā)速度快,效率高。感謝聆聽!大學計算機基礎(chǔ)——基于計算思維(Windows10+Office2016)大學計算機基礎(chǔ)——基于計算思維(Windows10+Office2016)第9章Raptor可視化編程9.1.3Raptor的出現(xiàn)9.1引言Raptor的出現(xiàn)有序推理的快速算法原型工具可視化的程序設(shè)計環(huán)境Raptor的出現(xiàn)Raptor用連接基本流程圖符號來創(chuàng)建算法1.可視化設(shè)計Raptor的出現(xiàn)在其環(huán)境下直接調(diào)試和運行算法1.可視化設(shè)計包括單步執(zhí)行或連續(xù)執(zhí)行的模式Raptor的出現(xiàn)可視化創(chuàng)建算法1.可視化設(shè)計所求解的問題本身也可以是可視化的Raptor的出現(xiàn)2.易用性特點在最大限度地減少語法要求的情形下幫助用戶編寫正確的程序指令可以一次執(zhí)行一個圖形符號幫助用戶跟蹤Raptor程序的指令流執(zhí)行過程調(diào)試和報錯消息更容易為初學者理解方便進行算法設(shè)計和運行驗證感謝聆聽!大學計算機基礎(chǔ)——基于計算思維(Windows10+Office2016)大學計算機基礎(chǔ)——基于計算思維(Windows10+Office2016)第9章Raptor可視化編程9.2.1知識點解析9.2順序控制結(jié)構(gòu)順序控制結(jié)構(gòu)1.Raptor界面與程序結(jié)構(gòu)菜單工具欄符號區(qū):圖形符號變量區(qū):觀察窗口主卡符號編輯區(qū)運行調(diào)試按鈕滑塊:調(diào)解執(zhí)行速度主控臺順序控制結(jié)構(gòu)2.Raptor符號基本語句控制流語句賦值(Assignment)調(diào)用(Call)輸入(Input)輸出(Output)選擇控制(Selection)循環(huán)控制(Loop)順序控制結(jié)構(gòu)3.Raptor基本數(shù)據(jù)類型①數(shù)值型(Number)如9、-15、3.14等,整數(shù)的精度有15位,而小數(shù)默認為4位,可以提高小數(shù)精度。②字符串(String)如“hi”、“0755”等,必須用雙引號(英文半角)引起來,也可稱為文本。③字符(Character)如'a'、'8',它的創(chuàng)建方式很特別,與字符串不同。順序控制結(jié)構(gòu)4.Raptor數(shù)據(jù)表示形式(1)常量常量(Constant)是指在程序執(zhí)行過程中,其值不會改變的數(shù)據(jù),如9、"hi"、'a'。在Raptor中有一些保留字對應(yīng)特別的值,稱為符號常量,具體包括:①pi:圓周率,3.1416(可擴展精度)②e:自然對數(shù)的底數(shù),2.7183(可擴展精度)③true、yes:布爾值真,1④false、no:布爾值假,0順序控制結(jié)構(gòu)4.Raptor數(shù)據(jù)表示形式(2)變量變量(Variable)表示的是計算機內(nèi)存中的位置,用于保存數(shù)據(jù)值。在任何時候,一個變量只能容納一個值,然而,在程序執(zhí)行過程中,變量的值是可以改變的,這就是它們被稱為“變量”的原因。了解變量的方法之一,就是將它們看成程序不同部分之間進行信息交流的一種手段。在程序的不同部分使用相同的變量名,用戶使用的是存儲在同一位置中的值??梢园炎兞靠醋魇且粋€存儲區(qū)域,并在程序的計算過程中參與計算。順序控制結(jié)構(gòu)4.Raptor數(shù)據(jù)表示形式(2)變量①變量名應(yīng)給予所有的變量有意義的和具有描述性的名稱number1、str2、height_stu1變量名應(yīng)該與該變量在程序中的作用有關(guān),它必須以字母開頭,可以包含字母、數(shù)字、下畫線(但不可以有空格或其他特殊字符)english_score、water_fee如果一個變量名中包含多個單詞,兩個單詞之間最好用下畫線分隔,這樣變量名更具有可讀性順序控制結(jié)構(gòu)4.Raptor數(shù)據(jù)表示形式(2)變量②Raptor對變量的處理Raptor程序開始執(zhí)行時,沒有變量存在。當Raptor遇到一個新的變量名,它會自動創(chuàng)建一個新的內(nèi)存位置,并將該變量的名稱與該位置相關(guān)聯(lián)。在程序執(zhí)行過程中,該變量將一直存在,直到程序終止。當一個新的變量創(chuàng)建時,其初始值決定該變量所存儲的數(shù)據(jù)類型。順序控制結(jié)構(gòu)4.Raptor數(shù)據(jù)表示形式(2)變量③Raptor中變量值的設(shè)置方法。利用輸入語句進行賦值。通過賦值語句中的公式計算。利用過程調(diào)用的返回值進行賦值。順序控制結(jié)構(gòu)4.Raptor數(shù)據(jù)表示形式(3)表達式表達式(Expression)是任何計算單個值的簡單或復雜公式,是常量、變量、函數(shù)、運算符等的組合,例如:2*pi+sqrt(x)

順序控制結(jié)構(gòu)4.Raptor數(shù)據(jù)表示形式(3)表達式2*pi+sqrt(x)

運算符或函數(shù)指示計算機對一些數(shù)據(jù)執(zhí)行計算,運算符須放在操作數(shù)據(jù)之間。而函數(shù)使用括號來表示正在操作的數(shù)據(jù)。在執(zhí)行時,運算符和函數(shù)執(zhí)行各自的計算,并返回相應(yīng)的結(jié)果。順序控制結(jié)構(gòu)4.Raptor數(shù)據(jù)表示形式(3)表達式函數(shù)名(參數(shù)1,…,參數(shù)n)函數(shù)(Function)是一組編程語句的集合,執(zhí)行一定功能,并返回相應(yīng)的值。sqrt(x)①函數(shù)。返回x的平方根例:順序控制結(jié)構(gòu)4.Raptor數(shù)據(jù)表示形式(3)表達式②運算符。數(shù)學運算符(MathOperators)關(guān)系運算符(RelationalOperators)邏輯運算符(BooleanOperators)運算符(Operator)是一組符號,分為以下3種類型:負號、乘冪、乘、除、余數(shù)、加、減等于、大于、小于、不等于、大于等于、小于等于與、非、或、異或順序控制結(jié)構(gòu)4.Raptor數(shù)據(jù)表示形式(3)表達式③表達式的執(zhí)行順序。運算執(zhí)行順序是按照預先定義的“優(yōu)先順序”進行順序控制結(jié)構(gòu)5.四種基本語句(1)輸入語句允許用戶在程序執(zhí)行過程中輸入變量的值。在其符號中的語法為:提示文本GET變量順序控制結(jié)構(gòu)5.四種基本語句(1)輸入語句①提示文本(Prompt)提示文本中盡可能明確地說明所需要的輸入順序控制結(jié)構(gòu)5.四種基本語句(1)輸入語句②變量名(Variable)該變量的值將在程序運行時由用戶輸入。順序控制結(jié)構(gòu)5.四種基本語句(1)輸入語句順序控制結(jié)構(gòu)5.四種基本語句(2)輸出語句默認情況下,執(zhí)行輸出語句將導致程序運行時,在主控臺顯示輸出結(jié)果。在其符號中的語法為:PUT輸出文本順序控制結(jié)構(gòu)5.四種基本語句(2)輸出語句定義輸出語句時,用戶必須指定輸出文本和換行方式必須將任何文本包含在一對引號("")中以區(qū)分文本和計算值,程序運行時引號不會顯示在輸出窗口。順序控制結(jié)構(gòu)5.四種基本語句(3)賦值語句用于執(zhí)行計算,并將其結(jié)果存儲在變量中。在其符號中的語法為:變量←表達式順序控制結(jié)構(gòu)5.四種基本語句(3)賦值語句定義賦值語句時,用戶必須指定設(shè)置和表達式。①設(shè)置(Set)。需要賦值的變量名。②表達式(to)。需要執(zhí)行的計算。順序控制結(jié)構(gòu)5.四種基本語句(3)賦值語句順序控制結(jié)構(gòu)5.四種基本語句(4)過程調(diào)用語句要正確使用過程,一定需要注意名稱、參數(shù)的正確性。①名稱:過程的名稱。②參數(shù):完成任務(wù)所需要的數(shù)據(jù)值。順序控制結(jié)構(gòu)6.數(shù)據(jù)處理流程①輸入I(Input):完成任務(wù)所需要的數(shù)據(jù)。典型的計算機程序有3個基本組成部分:②處理P(Process):操作數(shù)據(jù)來完成任務(wù)。③輸出O(Output):顯示(或保存)加工處理后的結(jié)果。順序控制結(jié)構(gòu)6.數(shù)據(jù)處理流程目的符號名稱說明輸入輸入語句允許用戶輸入數(shù)據(jù),每個數(shù)據(jù)值存儲在一個變量中處理賦值語句使用某些類型的數(shù)學計算來更改變量的值過程調(diào)用執(zhí)行一組在命名過程中定義的指令,在某些情況下,過程中的指令將改變一些過程的參數(shù)(即變量)輸出輸出語句顯示變量的值(或保存到文件中)順序控制結(jié)構(gòu)7.順序控制結(jié)構(gòu)順序結(jié)構(gòu)是最簡單的程序構(gòu)造——and-then結(jié)構(gòu)StartEndStatement1Statement2Statement3順序控制是一種“默認”的控制流程圖中的每個語句自動指向下一個感謝聆聽!大學計算機基礎(chǔ)——基于計算思維(Windows10+Office2016)大學計算機基礎(chǔ)——基于計算思維(Windows10+Office2016)第9章Raptor可視化編程9.2.2任務(wù)實現(xiàn)9.2順序控制結(jié)構(gòu)順序控制結(jié)構(gòu)能給二年級的小朋友出道加法題嗎?問題18+57=?順序控制結(jié)構(gòu)(1)理解問題123兩位數(shù)相加的題目一道題需要兩個符合位數(shù)要求的整數(shù)每道題所需的數(shù)字都是當時頭腦中隨意“冒”出來的數(shù)字順序控制結(jié)構(gòu)(2)結(jié)構(gòu)設(shè)計順序結(jié)構(gòu)順序控制結(jié)構(gòu)(3)程序?qū)崿F(xiàn)①

文件

q1.rap順序控制結(jié)構(gòu)(3)程序?qū)崿F(xiàn)②功能出一道兩位數(shù)的加法題輸入I(Input)順序控制結(jié)構(gòu)(3)程序?qū)崿F(xiàn)②功能出一道兩位數(shù)的加法題處理P(Process)順序控制結(jié)構(gòu)(3)程序?qū)崿F(xiàn)②功能出一道兩位數(shù)的加法題輸出O(Output)順序控制結(jié)構(gòu)(3)程序?qū)崿F(xiàn)③構(gòu)成6個賦值符號1個輸出符號運行感謝聆聽!大學計算機基礎(chǔ)——基于計算思維(Windows10+Office2016)大學計算機基礎(chǔ)——基于計算思維(Windows10+Office2016)第9章Raptor可視化編程9.2.3總結(jié)與提高9.2順序控制結(jié)構(gòu)順序控制結(jié)構(gòu)1.Raptor內(nèi)置函數(shù)函數(shù)語法功能示例absabs(x)絕對值abs(-9)=9ceilingceiling(x)向上取整ceiling(3.14159)=4floorfloor(x)向下取整floor(9.82)=9loglog(x)自然對數(shù)(以e為底)log(e)=1maxmax(x,y)兩個值中的較大值max(1,2)=2minmin(x,y)兩個值中的較小值min(1,2)=1sqrtsqrt(x)求平方根sqrt(4)=2randomrandom生成一個范圍在0.0~1.0之間的隨機值random*100=0~99.9999length_oflength_of(array)返回一個字符串中的字符數(shù)Example←”Hi”Length_of(Example)=2順序控制結(jié)構(gòu)2.Raptor注釋注釋注釋是用來幫助他人理解程序的注釋本身對計算機毫無意義,并不會被執(zhí)行。順序控制結(jié)構(gòu)2.Raptor注釋要為某個語句(符號)添加注釋,就右擊該符號,在彈出的快捷菜單中選擇“注釋”命令。注釋可以在Raptor窗口中移動,但建議不要移動注釋的默認位置。順序控制結(jié)構(gòu)2.Raptor注釋注釋一般包括以下幾種類型編程標題:誰是程序的作者、編寫的時間、程序的目的等,應(yīng)添加到Start符號中。分節(jié)描述:用于標記程序,有助于理解程序整體結(jié)構(gòu)中的主要部分。邏輯描述:解釋非標準邏輯。變量說明:對重要的或公用的變量進行說明。感謝聆聽!大學計算機基礎(chǔ)——基于計算思維(Windows10+Office2016)大學計算機基礎(chǔ)——基于計算思維(Windows10+Office2016)第9章Raptor可視化編程9.3.1知識點解析9.3選擇控制結(jié)構(gòu)選擇控制結(jié)構(gòu)1.選擇控制結(jié)構(gòu)如果明天有體育課就必須穿運動鞋條件選擇IfThen選擇控制結(jié)構(gòu)1.選擇控制結(jié)構(gòu)選擇控制結(jié)構(gòu)2.決策表達式選擇控制結(jié)構(gòu)需要一個表達式來得到是真(Yes)還是假(No)的評估值,這就是決策表達式,它是一組值(常量或變量)和運算符的結(jié)合。常見運算符類型及優(yōu)先級選擇控制結(jié)構(gòu)2.決策表達式(1)關(guān)系運算符的使用關(guān)系運算符必須針對兩個相同的數(shù)據(jù)類型值(數(shù)值、字符串等)進行比較。其結(jié)果為布爾值Yes或No,表示真或假。3>=4"Wayne"!="Sam"選擇控制結(jié)構(gòu)2.決策表達式(1)關(guān)系運算符的使用關(guān)系運算符的說明選擇控制結(jié)構(gòu)2.決策表達式(2)邏輯運算符的使用邏輯運算符必須結(jié)合布爾值(Yes或No)進行運算,并得到布爾值的結(jié)果。邏輯運算符中的not(非運算)必須與單個布爾值相結(jié)合,并形成與原值相反的布爾值。選擇控制結(jié)構(gòu)2.決策表達式(2)邏輯運算符的使用邏輯運算符的說明選擇控制結(jié)構(gòu)3.選擇語句Raptor的選擇語句①兩側(cè)都有可能執(zhí)行,但不能同時執(zhí)行。②兩側(cè)之一可能是空或包含多條語句,但同時為空或包含完全相同的語句不合適,因為,無論選擇決策的結(jié)果如何,對程序的過程都沒有影響。選擇控制結(jié)構(gòu)引例2①文件:ex2-1.rap②功能:判斷明年是否是閏年。③構(gòu)成:1個輸入符號、1個選擇符號、1個賦值符號、2個輸出符號。選擇控制結(jié)構(gòu)4.級聯(lián)選擇語句單一的選擇語句可以在一個或兩個選擇之間決策,但如果需要做出的決策涉及兩個以上的選擇,就需要有相互銜接的多個選擇語句。選擇控制結(jié)構(gòu)5.程序調(diào)試選擇“運行”/“單步”命令或直接按【F10】鍵,可逐條執(zhí)行語句。(1)單步執(zhí)行選擇控制結(jié)構(gòu)5.程序調(diào)試(2)連續(xù)執(zhí)行選擇“運行”/“重置后運行”命令或直接按【F5】鍵,可重新開始執(zhí)行整個程序。選擇控制結(jié)構(gòu)5.程序調(diào)試(3)運行到指定語句右擊相應(yīng)符號,在彈出的快捷菜單中選擇“設(shè)置斷點”命令,在符號左側(cè)就會出現(xiàn)一個紅圈,然后按【F5】鍵,即可執(zhí)行到該語句,符號框會變成鮮綠色。感謝聆聽!大學計算機基礎(chǔ)——基于計算思維(Windows10+Office2016)大學計算機基礎(chǔ)——基于計算思維(Windows10+Office2016)第9章Raptor可視化編程9.3.2任務(wù)實現(xiàn)9.3選擇控制結(jié)構(gòu)選擇控制結(jié)構(gòu)問題1:如何計算課程績點?(1)理解問題①了解總評成績與績點的對照關(guān)系課程總評成績?yōu)?00分的課程績點為4.0,60

分的課程績點為1.0,60

分以下課程績點為0。60分~100分間對應(yīng)的績點計算公式如下:

選擇控制結(jié)構(gòu)問題1:如何計算課程績點?(1)理解問題②在進行判斷時,對于異常成績,即超出正常成績范圍(0~100),要予以考慮。課程總評成績?yōu)?00分的課程績點為4.0,60

分的課程績點為1.0,60

分以下課程績點為0。60分~100分間對應(yīng)的績點計算公式如下:

順序結(jié)構(gòu)選擇控制結(jié)構(gòu)問題1:如何計算課程績點?(2)結(jié)構(gòu)設(shè)計選擇結(jié)構(gòu)(級聯(lián))①文件:q2.rap選擇控制結(jié)構(gòu)問題1:如何計算課程績點?(3)程序?qū)崿F(xiàn)②功能:將課程總評成績換算為績點。③構(gòu)成:1個輸入符號、3個賦值符號、2個選擇符號、2個輸出符號選擇控制結(jié)構(gòu)問題2:這個月有多少天?(1)理解問題①了解月份與天數(shù)的對照關(guān)系②對于2月份的天數(shù),還需要對年份進行閏年判斷順序結(jié)構(gòu)選擇控制結(jié)構(gòu)問題2:這個月有多少天?(2)結(jié)構(gòu)設(shè)計選擇結(jié)構(gòu)(級聯(lián))①文件:q3.rap選擇控制結(jié)構(gòu)問題2:這個月有多少天?(3)程序?qū)崿F(xiàn)②功能:根據(jù)年份和月份判斷當月的天數(shù)。I:變量year、month分別表示年份、月份,由鍵盤輸入為其賦初值;day表示天數(shù)。P:根據(jù)月份、天數(shù)以及年份之間的關(guān)系,判斷該月的天數(shù)是31、30、29,還是28天。先對變量month進行判斷,對于1月、3月等7個“大月”,其天數(shù)是31天;而4月、6月等4個“小月”,其天數(shù)是30天。對于2月份的情況,需要再對變量year是否是閏年進行判斷,如果是閏年,其天數(shù)是29天;如果不是,其天數(shù)就是28天。O:天數(shù)。感謝聆聽!大學計算機基礎(chǔ)——基于計算思維(Windows10+Office2016)大學計算機基礎(chǔ)——基于計算思維(Windows10+Office2016)第9章Raptor可視化編程9.4.1知識點解析9.4循環(huán)控制結(jié)構(gòu)循環(huán)控制結(jié)構(gòu)1.循環(huán)控制結(jié)構(gòu)重復執(zhí)行一個或多個語句直到某些條件變?yōu)閅es(真)這就是循環(huán)控制——while_do結(jié)構(gòu)循環(huán)控制結(jié)構(gòu)1.循環(huán)控制結(jié)構(gòu)循環(huán)控制結(jié)構(gòu)是根據(jù)決策的結(jié)果重復執(zhí)行相應(yīng)的指令循環(huán)控制結(jié)構(gòu)2.循環(huán)語句循環(huán)執(zhí)行的次數(shù)由菱形符號中的決策表達式來控制。循環(huán)控制結(jié)構(gòu)引例4①文件:ex3-1.rap②功能:計算將100元錢存在銀行(利率為3.25%),多少年后能拿回150元。循環(huán)控制結(jié)構(gòu)3.嵌套循環(huán)在循環(huán)語句中,決策表達式的上方或下方還可以是循環(huán)語句,也就是說,一個循環(huán)語句在另一個循環(huán)語句的內(nèi)部出現(xiàn),這被稱為“嵌套循環(huán)”,由內(nèi)層循環(huán)、外層循環(huán)構(gòu)成。循環(huán)控制結(jié)構(gòu)引例5①文件:ex3-2.rap②功能:已知3個孩子的年齡均不超過18歲、其乘積是36、其和是偶數(shù),推算出孩子們的年齡。感謝聆聽!大學計算機基礎(chǔ)——基于計算思維(Windows10+Office2016)大學計算機基礎(chǔ)——基于計算思維(Windows10+Office2016)第9章Raptor可視化編程9.4.2任務(wù)實現(xiàn)9.4循環(huán)控制結(jié)構(gòu)循環(huán)控制結(jié)構(gòu)問題4:這星期每天平均多少節(jié)課?(1)理解問題1.正常工作日是5天,每天可能都有課。2.找到課表,把每天的課程節(jié)數(shù)累加,最后將合計除以天數(shù)即可。循環(huán)控制結(jié)構(gòu)問題4:這星期每天平均多少節(jié)課?(2)結(jié)構(gòu)設(shè)計順序結(jié)構(gòu)循環(huán)結(jié)構(gòu)循環(huán)控制結(jié)構(gòu)問題4:這星期每天平均多少節(jié)課?①文件:q4.rap。(3)程序?qū)崿F(xiàn)②功能:計算本周(周一~周五)每天的平均課時量。循環(huán)控制結(jié)構(gòu)問題4:這星期每天平均多少節(jié)課?I:變量day、sum表示工作日、課時合計,為其賦初值1、0;class表示當天的課時量,由鍵盤輸入。工作日課時合計表示當天的課時量由鍵盤輸入循環(huán)控制結(jié)構(gòu)問題4:這星期每天平均多少節(jié)課?P:對周一到周五的課時量進行累加,之后將累加值除以天數(shù)就是每天的平均課時量。a.變量sum在循環(huán)體內(nèi)累加(sum+class→sum)。b.循環(huán)終止的條件是day>=5,到了周五就不再反復執(zhí)行循環(huán)體內(nèi)的語句。c.變量day在循環(huán)體內(nèi)自增(day+1→day)。a.變量sum在循環(huán)體內(nèi)累加b.循環(huán)終止的條件是day>=5c.變量day在循環(huán)體內(nèi)自增循環(huán)控制結(jié)構(gòu)問題4:這星期每天平均多少節(jié)課?O:每天的平均課時量,即總課時量除以天數(shù)。

O:每天的平均課時量,

即總課時量除以天數(shù)。循環(huán)控制結(jié)構(gòu)問題5:韓信手下還有多少士兵?韓信帶1500名士兵去打仗,戰(zhàn)死四五百人,列隊點數(shù):3人站一排,多出2人;5人站一排,多出4人;7人站一排,多出6人。請問:韓信手下還有多少士兵?循環(huán)控制結(jié)構(gòu)問題5:韓信手下還有多少士兵?(1)理解問題“戰(zhàn)死四五百人”是指戰(zhàn)死的士兵人數(shù)在400~500人之間;“X人站一排,多出Y人”是指幸存的士兵列隊,每排X人,會多出Y人。循環(huán)控制結(jié)構(gòu)問題5:韓信手下還有多少士兵?(2)結(jié)構(gòu)設(shè)計順序結(jié)構(gòu)循環(huán)結(jié)構(gòu)循環(huán)控制結(jié)構(gòu)問題5:韓信手下還有多少士兵?(3)程序?qū)崿F(xiàn)文件:q5.rap。功能:在總?cè)藬?shù)確定、戰(zhàn)死人數(shù)有一定范圍的前提下,根據(jù)幸存士兵列隊的情況,反復進行判斷,得出幸存士兵的人數(shù)。循環(huán)控制結(jié)構(gòu)問題5:韓信手下還有多少士兵?(3)程序?qū)崿F(xiàn)I:變量dead表示戰(zhàn)死士兵的人數(shù),為其賦初值400;alive表示幸存士兵的人數(shù)。表示戰(zhàn)死士兵的人數(shù)表示幸存士兵的人數(shù)循環(huán)控制結(jié)構(gòu)問題5:韓信手下還有多少士兵?(3)程序?qū)崿F(xiàn)P:針對戰(zhàn)死士兵的所有可能人數(shù)進行逐一判斷,直到該人數(shù)超出范圍。循環(huán)終止的條件是dead>500,超出“四五百人”的范圍就不再反復執(zhí)行循環(huán)體內(nèi)的語句變量alive在循環(huán)體內(nèi)進行判斷,其中,“3人站一排,多出2人”表示為alivemod3=2變量dead在循環(huán)體內(nèi)自增(dead+1→dead)循環(huán)終止循環(huán)控制結(jié)構(gòu)問題5:韓信手下還有多少士兵?(3)程序?qū)崿F(xiàn)O:所有符合條件的幸存人數(shù)循環(huán)終止輸出所有符合條件的幸存人數(shù)感謝聆聽!大學計算機基礎(chǔ)——基于計算思維(Windows10+Office2016)大學計算機基礎(chǔ)——基于計算思維(Windows10+Office2016)第9章Raptor可視化編程9.4.3總結(jié)與提高9.4循環(huán)控制結(jié)構(gòu)循環(huán)控制結(jié)構(gòu)1.無限循環(huán)X決策表示式的值可能一直是No,在這種情況下,就會出現(xiàn)永遠不停止的“無限循環(huán)”。循環(huán)控制結(jié)構(gòu)1.無限循環(huán)√因此,在循環(huán)中的語句必須改變出現(xiàn)在決策表示式中的變量,使之最后可以運算得到Y(jié)es。循環(huán)控制結(jié)構(gòu)2.循環(huán)測試(1)前序刪除圖中的Statement2;Statement1為前置條件,Statement3是主循環(huán)體,如果進入了Statement3,測試條件也必須由這一部分進行修改。前置條件主循環(huán)體循環(huán)控制結(jié)構(gòu)2.循環(huán)測試(2)后序刪除圖中的Statement1和Statement3;Statement2是主循環(huán)體,而測試條件也是在Statement2中產(chǎn)生。主循環(huán)體循環(huán)控制結(jié)構(gòu)2.循環(huán)測試(3)中序刪除圖中的Statement1;Statement2是主循環(huán)體之一,而測試條件也是在Statement2中產(chǎn)生,Statement3是主循環(huán)體之二。主循環(huán)體之一主循環(huán)體之二感謝聆聽!大學計算機基礎(chǔ)——基于計算思維(Windows10+Office2016)大學計算機基礎(chǔ)——基于計算思維(Windows10+Office2016)第9章Raptor可視化編程9.5.1知識點解析9.5模塊化結(jié)構(gòu)1.數(shù)組表示法stu_name1計算機程序中的一個變量是內(nèi)存的一個位置,可以存儲單個數(shù)據(jù)。模塊化結(jié)構(gòu)stu_name2stu_name3三個不同的變量1.數(shù)組表示法stu_name1一個變量名用方括號中的數(shù)字(大于零的整數(shù))結(jié)尾,重新命名這些變量模塊化結(jié)構(gòu)stu_name2stu_name3stu_name[1]stu_name[2]stu_name[3]仍然在程序中具有唯一性1.數(shù)組表示法數(shù)組表示法模塊化結(jié)構(gòu)stu_name[1]stu_name[2]stu_name[3]創(chuàng)建了3個共享相同名稱“stu_name”的特別變量2.數(shù)組變量數(shù)組變量是有序數(shù)據(jù)的集合,其中,括號中的數(shù)字被稱為這一特定變量的索引(index),這個特定變量稱為數(shù)組的元素。模塊化結(jié)構(gòu)stu_name[1]stu_name[2]stu_name[3]stu_name是一個數(shù)組索引(index)2.數(shù)組變量Raptor中的數(shù)組包括一維數(shù)組和二維數(shù)組。模塊化結(jié)構(gòu)weight[1]weight[2]weight[3]一維數(shù)組info[1,1]info[1,2]info[1,3]weight[]二維數(shù)組info[,

]3.靈活使用數(shù)組變量數(shù)組變量可以在方括號內(nèi)執(zhí)行數(shù)學計算,表達式計算所得相同的索引值,均指向相同的變量。模塊化結(jié)構(gòu)stu_name[2]stu_name[1+1]3.靈活使用數(shù)組變量(1)數(shù)組運算模塊化結(jié)構(gòu)weight[1]+weight[2](2)一維數(shù)組的大小length_of(weight)引例6模塊化結(jié)構(gòu)①文件:ex4-1.rap。②功能:隨機生成10個三位數(shù),計算它們的平均值,并統(tǒng)計出超過平均值的數(shù)的個數(shù)。引例6模塊化結(jié)構(gòu)I:數(shù)組num[]用于存儲10個三位數(shù);變量sum、js、xh分別表示合計、計數(shù)、循環(huán)變量,為其賦初值0、0、1。用于存儲10個三位數(shù)合計計數(shù)循環(huán)變量引例6模塊化結(jié)構(gòu)P:逐個生成三位數(shù),并逐一累計;全部生成完畢之后,再逐個與平均值進行比較,統(tǒng)計超過平均值的數(shù)的個數(shù)。引例6模塊化結(jié)構(gòu)第1個循環(huán)的終止條件是xh>10,表示需要生成的是10個數(shù)據(jù);其循環(huán)體包括數(shù)組元素num[xh]的賦值(三位數(shù)的數(shù)值范圍100~999);sum的累積,表示數(shù)組元素的合計;xh的自增,表示數(shù)據(jù)的逐個變化。共有兩個循環(huán),是順序關(guān)系,先執(zhí)行第1個、再執(zhí)行第2個。需要生成的是10個數(shù)據(jù)num[xh]的賦值(三位數(shù)的數(shù)值范圍100~999)數(shù)組元素的合計數(shù)據(jù)的逐個變化引例6模塊化結(jié)構(gòu)第2個循環(huán)的終止條件也是xh>10,表示需要處理的是10個數(shù)據(jù);其循環(huán)體包括對num[xh]的判斷(是否超過平均值,如果超過,js自增,表示符合條件的個數(shù)又增加一個);xh的自增,表示數(shù)據(jù)的逐個變化。共有兩個循環(huán),是順序關(guān)系,先執(zhí)行第1個、再執(zhí)行第2個。需要處理的是10個數(shù)據(jù)對num[xh]的判斷(是否超過平均值)數(shù)據(jù)的逐個變化如果超過,js自增,表示符合條件的個數(shù)又增加一個引例6模塊化結(jié)構(gòu)O:每一個數(shù)組元素的值和最后統(tǒng)計出的個數(shù)。每一個數(shù)組元素的值和最后統(tǒng)計出的個數(shù)引例7模塊化結(jié)構(gòu)①文件:ex4-2.rap。②功能:統(tǒng)計輸入的一個字符串中字符'a'出現(xiàn)的次數(shù)。引例7模塊化結(jié)構(gòu)I:變量str用于存儲一個字符串,由鍵盤輸入為其賦值;js、xh分別表示計數(shù)、循環(huán)變量,為其賦初值0、1。變量str用于存儲一個字符串,由鍵盤輸入為其賦值計數(shù),賦初值0循環(huán)變量,賦初值1引例7模塊化結(jié)構(gòu)P:針對字符串中的每個字符逐個進行判斷,看字符'a'出現(xiàn)的次數(shù)。循環(huán)終止的條件是xh>length_of(str),沒有超過字符串長度(字符串中字符的個數(shù))就反復執(zhí)行循環(huán)體內(nèi)的語句。針對字符串中的字符str[xh]在循環(huán)體內(nèi)進行判斷,看是否為字符'a',如果是,js自增。變量xh在循環(huán)體內(nèi)自增,表示在字符串中從左到右逐個取字符。循環(huán)終止的條件是xh>length_of(str),沒有超過字符串長度就反復執(zhí)行循環(huán)計數(shù),賦初值0循環(huán)變量,賦初值1字符str[xh]在循環(huán)體內(nèi)進行判斷,看是否為字符'a'如果是,js自增變量xh在循環(huán)體內(nèi)自增,表示在字符串中從左到右逐個取字符。引例7模塊化結(jié)構(gòu)O:字符'a'出現(xiàn)的個數(shù)。4.子程序的定義及調(diào)用模塊化結(jié)構(gòu)(1)抽象化的方法與實現(xiàn)例如求解1!+2!+…+10!問題時先要理解n!是如何實現(xiàn)的4.子程序的定義及調(diào)用模塊化結(jié)構(gòu)(2)Raptor中的過程內(nèi)置過程(即函數(shù),如floor(x))由系統(tǒng)開發(fā)者已編寫好,可以直接拿來使用,只要給出正確的函數(shù)名和所需要的參數(shù)即可直接得到需要的結(jié)果。自定義過程分為兩種:①子圖(Subchart)。無參數(shù)傳遞,所有Raptor子圖共享所有的變量。②子程序(Procedure)。當前程序通過參數(shù)向被調(diào)用過程提供完成任務(wù)所需要的數(shù)據(jù)。4.子程序的定義及調(diào)用模塊化結(jié)構(gòu)(3)Raptor子程序的定義Raptor程序的運行都是從已有的main子圖開始,在它之下可創(chuàng)建多個用戶自己的子圖或子程序,但創(chuàng)建子程序必須在Raptor中級模式下才可完成4.子程序的定義及調(diào)用模塊化結(jié)構(gòu)(3)Raptor子程序的定義先右擊主選項卡main在彈出的快捷菜單中選擇“增加一個子程序”命令然后在彈出的“創(chuàng)建子程序”對話框中設(shè)置子程序名、參數(shù)最后在新創(chuàng)建的子程序的編輯窗口中編寫語句。4.子程序的定義及調(diào)用模塊化結(jié)構(gòu)(3)Raptor子程序的定義子程序定義過程中用到的接口參數(shù)被稱為形式參數(shù)(簡稱形參),在Raptor中,形參的個數(shù)不能超過6個,其類型是單個變量或數(shù)組,屬性可為以下3種:①輸入(in):表示在調(diào)用子程序前,必須準備好這個變量(已經(jīng)初始化并且有值)。②輸出(out):表示子程序向調(diào)用它的程序返回的變量,在調(diào)用前,該變量無須作任何準備,調(diào)用時原名書寫即可。③輸入和輸出(inout):表示子程序和調(diào)用它的程序都能共享和修改該變量,可充當Raptor的全局變量。4.子程序的定義及調(diào)用模塊化結(jié)構(gòu)(4)Raptor子程序的調(diào)用子程序的調(diào)用方式:子程序名(實際參數(shù)1,…)調(diào)用它的程序通過調(diào)用語句中的實際參數(shù)與它交接“原材料”(初始數(shù)據(jù),in變量)和“成品”(計算結(jié)果,out變量)。子程序中的所有變量在子程序運行過程中存在,運行結(jié)束后,除了傳遞回調(diào)用程序的參數(shù),所有變量立即刪除。感謝聆聽!大學計算機基礎(chǔ)——基于計算思維(Windows10+Office2016)大學計算機基礎(chǔ)——基于計算思維(Windows10+Office2016)第9章Raptor可視化編程9.5.2任務(wù)實現(xiàn)9.5模塊化結(jié)構(gòu)【問題6】模塊化結(jié)構(gòu)一組有規(guī)律的數(shù)列1,1,2,3,5,8,…,第18個數(shù)是多少?第47個數(shù)是多少?(1)理解問題①這一組數(shù)列的規(guī)律是:前兩個數(shù)都是1,從第3個數(shù)開始,每一個數(shù)都是它前面的兩個數(shù)之和;這就是經(jīng)典的斐波那契數(shù)列。②無論是第18個、第47個,還是任意指定的一個位置,生成數(shù)據(jù)的方

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論