必威电竞|足球世界杯竞猜平台

raptor
來源:互聯網

Raptor(the Rapid Algorithmic Prototyping Tool for Ordered Reasoning)是用于有序推理的快速算法原型工具,是一種可視化的程序設計環境,為程序和算法設計的基礎課程教學提供實驗環境。Raptor專門用于解決非可視化環境的語法困難和缺點,其目標是通過縮短現實世界中的行動與程序設計的概念之間的距離來減少學習上的認知負擔。

概述

使用RAPTOR設計的程序和算法可以直接轉換成為C++、C#、Java等高級程序語言,這就為程序和算法的初學者鋪就了一條平緩、自然的學習階梯。

背景

沙克爾福德和勒布朗(Shackelford and LeBlanc)曾經觀察到的在計算導論課程中使用特定的編程語言容易導致學生“受到干擾并從算法問題求解的核心上分散注意力”。由于教師希望學生在上課時間中解決他們覺得最有難度的問題。因此,往往把授課的重點集中在語法上,這是由于大部分學生都會遇到的困難(例如:在c語言環境中,錯將須使用關系運算符“==”用成了賦值符號“=”,或在語句結束時遺忘了分號等)。

此外,費爾德(Felder)指出,大多數學生是視覺化的學習者,而教師則往往傾向于提供口頭講授。有的專家研究估計,在高校大約有75%到83%的學生為視覺化學習者。所以對大多數學生來說,由于其高度的文本化,而不是視覺化的性質,無論是傳統的編程語言或偽代碼提供了一個反直覺的算法表達框架。

在最終用戶開發(End User Development)的背景下,菲舍爾(Fischer)等陳述了圖形語言優于文字的好處,他說:“基于文本的語言往往是比較復雜的,因為任何人類語言從無到有,必須從語法和詞匯(術語)開始。因此,專為最終用戶設計的圖形語言表達了編程世界中的包含了通過條件行動規則(condition-action rules)自我訓練的圖形隱喻。其目標則是通過縮短現實世界中的行動與程序設計之間的概念距離來減少學生學習上的認知負擔。”

RAPTOR專門用于解決非可視化的環境的句法困難和缺點。RAPTOR允許學生用連接基本流程圖符號來創建算法,然后可以在其環境下直接調試和運行算法,包括單步執行或連續執行的模式。該環境可以直觀地顯示當前執行符號所在的位置,以及所有變量的內容。此外,RAPTOR提供了一個基于AdaGraph的簡單圖形庫。學生不僅可以可視化創建算法,所求解的問題本身也是可以是可視化的。

RAPTOR作為一種可視化程序設計的軟件環境,已經為卡內基。梅隆大學等世界上22個以上的國家和地區的高等院校使用,在計算機基礎課程教學中,取得良好的效果。

由于RAPTOR是一種基于流程圖的可視化程序設計環境。而流程圖是一系列相互連接的圖形符號的集合,其中每個符號代表要執行的特定類型的指令。符號之間的連接決定了指令的執行順序。由于流程圖是大部分高校計算機基礎課程首先引入的與程序、算法表達有關的基礎概念,所以一旦開始使用RAPTOR解決問題,這些原本抽象的理念將會變得更加清晰。

使用RAPTOR基于以下幾個原因:

·RAPTOR開發環境可以在最大限度地減少語法要求的情形下,幫助用戶編寫正確的程序指令。

·RAPTOR開發環境是可視化的。RAPTOR程序實際上是一種有向圖,可以一次執行一個圖形符號,以便幫助用戶跟蹤RAPTOR程序的指令流執行過程。

·RAPTOR是為易用性而設計的(用戶可用它與其他任何的編程開發環境進行復雜性比較)。

·使用RAPTOR所設計程序的調試和報錯消息更容易為初學者理解。

·使用RAPTOR的目的是進行算法設計和運行驗證,所以避免了重量級編程語言,如C++或Java的過早引入,給初學者帶來的學習負擔。。

其他環境

事實上,IBM已經認識到可視化編程環境對其產品最終用戶的重要性,他們在其webSphere產品中使用了基于流程圖的開發環境

瓦茨(Watts)等開發了SFC,一種結構化流程圖編輯器。SFC允許用戶開發的流程圖,并始終在顯示流程圖的同時顯示C或Pascal類似程序語法的文本。然后用戶可以復制和粘貼文本到另一個文本編輯器中進行修改,以獲得完整的程序。

卡奧尼和巴格特(calloni and Bagert)開發了一個圖標式的編程語言,BACCII+,這是作為C++到補充并應用在大學的計算機基礎課程序列中。他們的實驗表明,學生使用BACCII+和C++兩者的表現比使用那些只使用C++的效果更好。一旦BACCII+程序開發完畢,用戶可以生成多種基于文本的語言(包括Pascal和C++代碼)。

FLINT是由美國西肯塔基大學齊格勒等人開發的一個程序設計開發教學環境,在FLINT中進行程序開發消除了文本代碼必須調試的缺陷。使用FLINT,學生需要進行一次自上而下的程序分解,然后為實現每個子目標而設計流程圖。流程圖可以在FLINT中執行。這迫使學生使用軟件工程中的瀑布模型,而實際上學生在使用增量或螺旋方式開發可能有更多的成功機會。

Visual Logic是FLINT的后續項目,是為過渡到Visual Basic課程之前專為大學的第一門計算機課程設計的。它摒棄了瀑布模型的編程,并增加了對一維數組和圖形功能支持。

與上述程序開發環境相比,RAPTOR將以上產品功能都結合在一起并進化成更先進的教學工具。RAPTOR讓學生在其環境內執行算法,而無須單獨編譯和執行。這意味著,程序邏輯不必在傳統程序設計的文字環境中進行設計和調試,可以直接在可視化表達環境中進行,從而也避免了使用多種工具時帶來的學習負擔。

對學生而言,RAPTOR并沒有強制要求對程序設計目標進行自上而下的分解,而是讓學生逐步開發代碼。此外,RAPTOR中包含一維和二維數組、文件、字符串和一個允許用戶交互的圖形庫。因此,較之前的工具而言,學生能夠創造出更有趣的算法。

Ada是一種大型通用程序設計語言,它是現代計算機語言的成功代表,集中反映了程序語言研究的成果。

瀑布模型(Waterfall Model)瀑布模型核心思想是使用系統化的方法將復雜的軟件開發問題化簡,將軟件功能的實現與設計分開。將開發劃分為幾個基本活動(制定計劃、需求分析、軟件設計、程序編寫、軟件測試和運行維護等六個基本活動),并且規定了它們自上而下、相互銜接的固定次序,如同瀑布流水,逐級下落。

增量模型(incremental model)融合了瀑布模型的基本成分和原型實現的迭代特征。當使用增量模型時,第一個增量往往是產品的核心,即它實現了基本需求,但很多補充的特征還有待發布。客戶對每一個增量的使用和評估都作為下一個增量發布的新特征和功能,這個過程在每一個增量發布后不斷重復,直到產生了最終的完善產品。

螺旋模型(Spiral Model)采用一種周期性的方法來進行系統開發。該模型也稱為快速原型法,以進化的開發方式為中心,在每個項目階段使用瀑布模型法。這種模型的每一個周期都包括需求定義、風險分析、工程實現和評審4個階段,由這4個階段進行迭代。軟件開發過程每迭代一次,軟件開發又前進一個層次。

簡介

Raptor程序實際上是一個流程圖,運行時一次執行一個圖形符號,以便幫助用戶跟蹤Raptor程序的指令流執行過程。開發環境可以在最大限度地減少語法要求的情形下,幫助用戶編寫正確的程序指令。程序員在具體使用高級程序設計語言編寫代碼之前,通常使用流程圖來設計其算法,現在可以應用Raptor來運行算法設計的流程圖,使抽象問題具體化。

Raptor用連接基本流程圖符號來創建算法,然后,可以在其環境下直接調試和運行算法,包括單步執行或連續執行的模式。該環境可以直觀地顯示當前執行符號所在的位置以及所有變量的內容。此外,Raptor提供了一個基于Ada Graph的簡單圖形庫,這樣,不僅可以可視化創建算法,所求解的問題本身也可以是可視化的。

Raptor是一種基于流程圖的可視化程序設計環境,而流程圖是一系列相互連接的圖形符號的集合,其中每個符號代表要執行的特定類型的指令,符號之間的連接決定了指令的執行順序,所以,一旦開始使用Raptor解決問題,這些原本抽象的理念將會變得清晰。

Raptor可以在最大限度地減少語法要求的情形下,幫助用戶編寫正確的程序指令。它是可視化的,實際上就是一種有向圖,可以一次執行一個圖形符號,以便幫助用戶跟蹤Raptor程序的指令流執行過程。與其他任何的編程集成開發環境進行復雜性比較,Raptor的易用性顯而易見。使用Raptor的目的是進行算法設計和運行驗證,這樣避免了重量級編程語言(例如,C++或Java)的過早引入給初學者帶來的學習負擔,此外,Raptor對所設計程序的調試和報錯消息更容易為初學者理解。

特點

Raptor具有下列特點:

①Raptor語言簡潔靈活,用流程圖實現程序設計,可使初學者不用花太多時間就能進入計算思維中關于問題求解的算法設計階段。

②Raptor具有基本的數據結構、數據類型和運算功能。

③Raptor具有結構化控制語句,支持面向過程及面向對象的程序設計。

④Raptor 語法限制較寬松,程序設計靈活性大。

⑤Raptor可以實現計算過程的圖形表達及圖形輸出。

⑥Raptor對常量、變量及函數名中所涉及的英文字母大小寫視為同一字母,但只支持英文字符。

程序設計可移植性較好,可直接運行得出程序結果,也可將其轉換為其他程序語言,如C++、C#、Ada及Java等。

界面及符號

Raptor的界面由繪圖編程窗口和主控臺窗口組成,主控臺窗口用于顯示運行狀態和運行結果。Raptor的界面及主控臺窗口如圖1和圖2所示:

從Raptor的界面可看到,有七種不同的圖形符號,分別代表一種不同的語句類型。各圖形所代表的語句含義及功能如下:

①賦值語句:使用某些運算來更改變量的值。

②過程調用:調用系統自帶的子程序,或用戶定義的子圖等程序塊。

③輸入語句:輸入數據給一個變量。

④輸出語句;用于顯示變量的值。

⑤選擇語句:用于從兩種選擇路徑的條件判斷中選擇路徑走向。

⑥循環語句:允許重復執行一個或多個語句構成的語句體,直到給定的條件為真。

注釋

Raptor的集成開發環境像其他許多編程語言一樣,允許對程序進行注釋。注釋是用來幫助他人理解程序的,特別是在程序代碼比較復雜、很難理解的情況下。注釋本身對計算機毫無意義,并不會被執行。但如果注釋得當,程序的可讀性就大大提高。

要為某個語句(符號)添加注釋,就右擊該符號,在彈出的快捷菜單中選擇“注釋”命令,然后,在彈出的“注釋”對話框中輸入相應的說明。注釋可以在Raptor窗口中國移動通信集團,但建議不要移動注釋的默認位置,以防在需要更改時,引起錯位和尋找的麻煩。

注釋一般包括以下幾種類型:

①編程標題:誰是程序的作者、編寫的時間、程序的目的等,應添加到Start符號中。

②分節描述:用于標記程序,有助于理解程序整體結構中的主要部分。

③邏輯描述:解釋非標準邏輯。

④變量說明:對重要的或公用的變量進行說明。通常情況下,沒有必要注釋每一個程序語句。

參考資料 >

生活家百科家居網