Raptor 流程圖編程 荔景天主教中學.

Slides:



Advertisements
Similar presentations
第一單元 建立java 程式.
Advertisements

第三课 中国的摇滚乐歌手——崔健.
音樂之旅 第一冊 單元二 音名、唱名.
陳維魁 博士 儒林圖書公司 第九章 資料抽象化 陳維魁 博士 儒林圖書公司.
Views ,Stored Procedures, User-defined Function, Triggers
TQC+ JAVA全國教師研習會 PLWeb 程式設計練習平台 簡介.
主題五 CPU Learning Lab.
C# 程式設計 第一部分 第1-4章 C# 程式設計 - 南華大學資管系.
Chapter 5 迴圈.
程式設計概論 1.1 程式設計概論 程式語言的演進 物件導向程式 程式開發流程 1.2 C++開發工具
課程名稱:程式設計 授課老師:________
簡易C++除錯技巧 長庚大學機械系
JDK 安裝教學 (for Win7) Soochow University
2-3 基本數位邏輯處理※.
Chen Yi Fen The C Language Chen Yi Fen
101北一女中 資訊選手培訓營 妳不可不了解的指標 Nan.
使用VHDL設計—4位元位移器 通訊一甲 B 楊穎穆.
生物資訊程式語言應用 Part 3 Perl Language.
SQL Stored Procedure SQL 預存程序.
C 語言簡介 - 2.
R教學 安裝RStudio 羅琪老師.
安裝JDK 安裝Eclipse Eclipse 中文化
CHAP13 演算法概論 高中資訊科技概論 松崗圖書公司.
第1章 單晶片微電腦概論.
電腦解題─流程圖簡介 臺北市立大同高中 蔡志敏老師.
本章中將會更詳細地考慮有關重複的概念,並且會 介紹for和do…while等兩種用來控制重複的敘述 式。 也將會介紹switch多重選擇敘述式。 我們會討論直接和迅速離開某種控制敘述式的 break敘述式,以及用來跳過重複敘述式本體剩餘 部份的continue敘述式。 本章會討論用來組合控制條件的邏輯運算子,最後.
FPGA計算浮點數的方法 姓名:蔡秉旂.
邏輯關係運算 == 等於 & 且 (logical and) ~= 不等於 | 或 (logical or) < 小於
RAPTOR流程圖編程 語句 和 運算符 中三級.
義守大學電機工程學系 陳慶瀚 第3章 VHDL Concurrent語法 義守大學電機工程學系 陳慶瀚
Topic Introduction—RMI
第一單元 建立java 程式.
VS.NET 2003 IDE.
分支宣告與程式設計 黃聰明 國立臺灣師範大學數學系
Ch20. 計算器 (Mac 版本).
義守大學電機工程學系 陳慶瀚 第4章 VHDL Sequential語法 義守大學電機工程學系 陳慶瀚
RAPTOR流程圖編程 介紹 和 變量 中三級.
數學 近似值 有效數值.
表格(HTML – FORM).
BC430 ABAP Dictionary Views、 Search Help 報告者:林聖期、程汎汝.
使用VHDL設計 七段顯示器 通訊工程系 一年甲班 姓名 : 蘇建宇 學號 : B
安裝 / 操作 flashget SOP (以Win 7 作業系統為範例)
第一次Labview就上手 參考書籍: LabVIEW for Everyone (Jeffrey Travis/Jim Kring)
CH05. 選擇敘述.
GUI Title and GUI Status
緩衝區溢位攻擊 學生:A 羅以豪 教授:梁明章
VS.NET 2003 IDE.
如何使用Gene Ontology 網址:
RAPTOR流程圖編程 循環結構 中三級.
Flash 8:開口中 從Y:\ 複製『開口中.fla』到 D:\ 更改名稱為:s3x99 (你的班號) 雙按開啟檔案 2019年5月7日
表格(HTML – FORM)
流程控制:Switch-Case 94學年度第一學期‧資訊教育 東海大學物理系.
函數應用(二)與自定函數.
Scratch: 動畫或遊戲編程 任務10:尋找小鬼.
北一女中 資訊選手培訓營 妳不可不了解的指標 Nan.
選擇性結構 if-else… switch-case 重複性結構 while… do-while… for…
1-1 二元一次式運算.
使用VHDL設計-8x3編碼電路 通訊一甲 B 楊穎穆.
MultiThread Introduction
妙法寺陳呂重德紀念中學 高中課程簡介會 資訊及通訊科技.
期末報告第一題 通訊四甲 B 湯智瑋.
安裝JDK 配置windows win7 環境變數
作業系統實習課(二) -Scheduler-Related System Calls-
Programming & Language Telling the computer what to do
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
使用VHDL設計-七段顯示 通訊一甲 B 楊穎穆.
10303: How Many Trees? ★★☆☆☆ 題組:Contest Archive with Online Judge
Chapter 4 Multi-Threads (多執行緒).
Develop and Build Drives by Visual C++ IDE
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
Presentation transcript:

Raptor 流程圖編程 荔景天主教中學

Raptor流程圖編程介紹 視覺編程工具(Visual Programming Tool) 流程圖解譯器(Flowchart Interrupter) Raptor流程圖編程網站(相關資料及下載) http://raptor.martincarlisle.com/

程式編寫概念的教學難點 在教授必修部分「基本程式編寫概念」遇到的兩難: 只教流程圖:紙上談兵 教授程式語言:要照顧語法/非課程範圍 只有約20小時處理三個課題:「解難程序」、 「算法設計」、「算法測試」

Raptor流程圖編程的優勢 教學層面: 學生利用流程圖及偽代碼來編程,較能集中於構建解難的算法,而不是執著於處理編寫語言的語法。 免費 方便教學示範:容易更改、加入備註等等 照顧學習差異 相比其他編程語言, Raptor的所需的語法(Syntax/Grammer)較少 其他補充: 用戶友好(User-friendly) 能夠縮短建立方案(Project)的時間 圖像化的編程環境提高了程序(Program)的可讀性(Readability)

Raptor工作環境簡介 繪製工具視窗 訊息 顯示視窗 變量視窗

教學套件操作流程 http://minisite.proj.hkedcity.net/sec-te/cht/topics/prog_raptor/index.html

利用Raptor流程圖編程教學的注意事項 軟件只作為輔助角色,學生仍需親手繪畫流程圖 組件與標準繪畫方法有些微差異 迴轉部分須另行解說 小心監察變量內容的變化 真正掌握「空運行」技巧

Raptor課程教學(精簡)

流程圖編程介紹 Raptor程序是一個有向圖(Directed Graph) 必須要有「Start」和「End」 輸入 把數據及指令 輸入電腦 處理 電腦對輸入的 數據進行運算 輸出 電腦顯示處理 數據的結果

甚麼是變量(Variables)? 在主記憶體訂定的一個存貯位置 存貯空間大小視定義類型而定 程序運行時,變量的值是可改變的 主記憶體 名稱:x 類型:數字 名稱:myname 類型:文字

變量(Variables) 一般來說,變量在程序運行前, 其數值是未定的 數值的來源通常來自 在程序運行的過程中, 變量的數值或會有所變化 第一個被賦予的值為起始值(initializing a variable) 如應用未定起始值的變量,或會引發運行時錯誤(Runtime Error) 數值的來源通常來自 用戶輸入 電腦載入 在程序運行的過程中, 變量的數值或會有所變化 能夠處理不同的輸入, 才是一個較具意義的程序

變量(Variables) 使用變量時須注意的地方 命名限制: 編程的良好習慣 起首字符必須為英文字母 其後的字符可以是英文字母、數字或底橫線,但不可以是其他符號或空白鍵 對:Hello, send2you, it_a_nice_day 錯:2myfriend, iamveryangry! 名字不可與一些內定的預留字(Reserved word)相同 編程的良好習慣 有意義的命名 (e.g. a, exam_mark) 妥善管理變量 (e.g. Average, Avg)

甚麼是常數(Constant)? 預設的變量,它的值是不可被改變的 例子:pi, e, true, false, yes, no True 與 Yes 即是 1. False 與 No 即是 0.

考考你! 試指出下列變量是合法 (L)legal,或是不合法的 (I)Illegal。如不合法,試加以解釋。 1) U_2 2) Money$ 3) Thisisaveryveryveryveryverylongname 4) Mickey-Mouse 5) 365_Days 6) Begin 7) End_Of_Data 8) Procedure 9) Is This Identifier Legal 10) Why_Isn’t_This_One_Legal 就RAPTOR編程語言來說,在程序賦予數值之前,變量在產生時是沒有數值的。(True/ False)

動手做! 這個程序 x 的最終值是甚麼? 在 x←x*2 下方加上x←x/3, x 的最終值是甚麼? 若把 x←32 改成variable←32, 會有什麼後果?

語句(Statement) 語句(Statement)的意思 Raptor包含6種語句 編程語言內的指令句子。當程序執行時,語句能發動某種指定的動作 Raptor包含6種語句 直述結構 (Sequential structure) Input, Output, Assignment, Call, 控制結構 (Control structure) Selection Loop

例子一 此程序應用了 Assignment Loop Input Output

例子二 此程序應用了 Input Call Selection

輸入語句 Input Statement 從用戶得到資料 實現方法: 在程序執行時利用彈出式視窗 收集用戶的數據,並存入變量內 利用提問句(prompt)發問 提問句必須精簡,如有需要應註明單位 Input Text(輸入文字) Input Expression(輸入複句) 例子“Enter a number between ” + low + “ and ” + high + “: ”

輸出語句 Output Statement Output Expression (輸出複句) Output Text (輸出文字) 增加可讀性

動手做! 試寫一個程序,先顯示 12+34,再顯示”12”+”34”,留意兩次顯示結果有何不同 左圖程序有多少個變量,變量的名稱是什麼? 左圖「+」號在字符處理上代表什麼意思? 試把程序加上詢間用戶嗜好部份,然後輸出句子如下: Hello, John. Nice to meet you! I like running too!

指派Assignment Assignment 的用途 Expression(複句) 的定義 Assigment 的句法(Syntax): 改變或取代變量的值 Expression(複句) 的定義 由一系列數值和運算符組合而成的句子串,當它被運算時將產生一個值 Assigment 的句法(Syntax): <Variable> ← <Expression> 或 Set <Variable> to <Expression> <變數名稱> ← <複句> 或 Set <變數名稱> to <複句> 例子: Cost ← (Tax_Rate * Non_Food_Total) + Food_Total 成本 ← (稅率 * 非食物總值) + 食物總值 成本 Variable being assigned (被派入數值的變量) ← Assignment Symbol (派入符號) (稅率 * 非食物總值) + 食物總值 Expression to be evaluated and assigned during run time (複句的值會在機器運算時被運算出來)

運算符Operator 表達方式 Bulit in Operator E.g. X/3, Y+7 Function/Method (功能/過程) E.g. sqrt(4.7), sin(2.9) Relational Operator, Logical Operator 只能在 Selection和 Loop使用 Relational Operator只會算出真假(T/F)值, 而Logical Operator只可處理真假值 basic math (基本數學) +, -, *, /, ^, **, rem, mod, sqrt, log, abs, ceiling, floor Trigonometry (三角學) sin, cos, tan, cot, arcsin, arcos, arctan, arccot Relational (關係符) =, !=, /=, <, >, >=, <= Logical (邏輯) and, or, not Miscellaneous (其他) random, Length_of

考考你! 計算下列各題的結果 試指出下列各題是 1) 46 / 2 2) 46 / 3 3) 46 rem 3 4) 46 ** 2 5) 12 < 13 6) 35 > 90 7) 120 /= 60*2 8) 46 < 49.5 9) True and False 10) (False and False) or True 11) (45.6 < 32.4) or (14 < 28) 12) 8 < 10 < 20 13) True and 7 14) 4**4 < 121.456 15) 77 + -1128 試指出下列各題是 (A) Arithmetic operators算術運算子, (L) Logical邏輯運算子, 或是 (R) relational operators關係運算子. 1) != 2) ** 3) / 4) not

程序呼召 Procedure Call statements Procedure包含一堆語句,以完成一個工作(Task) 好處:只需提供輸入,便有相應的輸出,不必為設計程序的內容而煩惱。 呼召方法:提供程序名稱和所需的數據(Data)

例子

註釋Comments 註釋的主要用途是令程式的閱讀者更容易理解程序的運作,在程序碼較難明、較繁複時最為有效。 註釋部份是不會被電腦執行的,它只供我們在開發時閱讀和參考 加入註釋的方法 滑鼠左鍵點選部件,再按滑鼠右鍵點選 ‘Comment’ 進行設定

動手做! 左圖是一個計算圓面積程序的一小部分,試參考它的算法,把它改寫成一個計算圓形周界的程序 把題一的程序改為一個計算半圓周界的程序 另寫一個計算梯形面積的程序 (提示:你需要哪些變量?)

控制結構 Control Structure Sequential Structure(線性結構) 按指令排列,順序執行 Selection Structure(選擇結構) 按條件判斷,分流執行 由條件句判別True或False 例子:某個考試,60分合格, 合格者可獲糖果一粒, 不合格者罰留堂。

邏輯表格Logic Table And Table Or Table Expression Result True and True True and False False False and True False and False Expression Result True Or True True True Or False False Or True False Or False False Not Table 例子: 街燈:晚上8時,又或環境光度少於40,便會開啟。 提款機:密碼正確,提款額不多於六千元,而提款額又不多於結餘,才可提款 Expression Result Not(True) False Not(False) True

控制結構 Control Structure

控制結構 Control Structure 留意條件的運用

控制結構 Control Structure 疊式控制結構

考考你! 為下列各題填上相應的字母: Always True 永對(A), Always False 永錯(B), Good 恰當(C) GR_Score > 100 or GR_Score < 90. GR_Score > 100 and GR_Score < 90. GR_Score < 100 or GR_Score > 90. GR_Score < 100 and GR_Score > 90.

動手做! 試編寫一個程序,檢查X變量的數值是1, 2, 或3,並顯示相應的英文字 “ONE”, “TWO”, or “THREE” 試編寫一個程序,能夠作出華氏溫度(Fahrenheit)和攝氏溫度(Celsius)的轉換。 用戶首先選擇那一種換算 (F to C 或 C to F),然後輸入所需數值,程序按照以下公式把結果運算出來: C to F: F = 9/5 C + 32 F to C: C = 5/9 (F – 32)

迴轉結構 Iteration Control 迴轉結構的設計是讓我們能夠方便地進行重覆運算動作 一般來說,重覆運算的次數按照以下條件而定 以數字設定執行次數 以某項條件的發生而停止重覆運算 疊式迴轉(Cascading Loop) 永遠迴轉(Infinite Loop) 脫離條件永遠都是No 一般來說,迴轉內的語句應能改動迴轉的脫離條件

例子 以數字設定執行次數 次數已知的 視乎需要 以某項條件的發生而停止重覆運算 次數未知的 確定用戶的輸入是合理的

考考你! 下列的迴轉有甚麼問題?

例子 這個程序有甚麼功用?

例子 這個程序有甚麼功用?

例子 這個程序有甚麼功用?

質數檢驗程序編寫 從用戶處得到一個數字,把數字載入變量“Possible_Prime”內 先假設用戶輸入的數字是質數 (Set “Is_Prime” to True) 迴轉:x由2至 “Possible_Prime”-1 a如果x整除“Possible_Prime”, b顯示x是“Possible_Prime”的因數 c記錄該數不是一個質數  (Set “Is_Prime” to False) 如果 “Is_Prime” is True, 顯示“Possible_Prime”是一個質數

從用戶處得到一個數字,把數字載入變量“Possible_Prime”內 先假設用戶輸入的數字是質數 (Set “Is_Prime” to True) 迴轉:x由2至 “Possible_Prime”-1 a如果x整除“Possible_Prime” b顯示x是“Possible_Prime”的因數 c記錄該數不是一個質數  (Set “Is_Prime” to False) 如果 “Is_Prime” is True, 顯示“Possible_Prime”是一個質數

選擇與迴轉的考慮 當我們應使用Selection語句還是Loop語句時,我們最好先考慮以下問題: 是否從多項選擇中選取其中一個? (Cascading Selection) 是否有需要執行多於一次? (loop) 能否預知執行指令的次數? (count-controlled-loop)

你掌握了嗎? 明白控制結構是編程的一個重要部份 了解 Sequential, Selection, Iteration 控制結構的用途,並能分辨它們的不同之處 明白判別式的二元性及它在控制結構的重要性 能辨識我們應用Selection或Iteration控制結構來處理所面對的問題 能以 Selection或iteration控制結構編寫小型程序 針對 Selection控制結構: 做A與不做A, 做A或B 從A,B,C….選一個 針對 Iteration控制結構: 重覆A多次 能因應情況,選取「限次迴轉」或「條件迴轉」來解決問題 明白一個欠佳的脫離條件,又或未能更新迴轉變量,將產生永遠迴轉

考考你! 以下的工作應使用哪種控制結構 Sequential (A) Selection (B1) Cascading Selection (B2), Loop (C) - 顯示某君的中學畢業年度. - 確保用家輸入的身分證號碼是正確的. - 計算學生學科的平均分. - 利用用戶提供的半徑,計算圓形面積. - 把整個程序將要使用的變量都設定為0. - 判斷用戶輸入的是數字、文字還是符號. - 為用戶輸入負號而顯示錯誤訊息 - 按用戶輸入數字,顯示“Odd”或“Even” - 顯示1至100的二次方結果 - 讀取用戶輸入的數據,直至用戶輸入-1

參考資料 http://raptor.martincarlisle.com/ http://minisite.proj.hkedcity.net/sec-te/cht/TE/ByKC/IT/index.html