Raptor运算符号、函数、子过程介绍大全
Raptor symbols 符号(六个)
The six symbols used in Raptor are displayed in the Symbol Window in the upper left corner of the main window:
赋值Assignment
x <- x + 1用Set x to x+1
调用Call及subcharts
graphics routines and other instructor-provided procedures及subcharts
输入Input
输出Output
分支Selection
循环Loop Control
Math in Raptor(数学运算符)
Unary Minus ( – )负号
例如,x值分别为7,-3,3,则-x的值为-7;-x的值为3,—x值为-3
Exponentiation ( ^ or ** )指数运算
2^3的值为8;-3**2 的值为9 ( =(-3)*(-3) )
* , / , REM, MOD——乘、除、取余函数
floor ( 5 / 2 )——整除函数?=2
x | y | x REM y | x MOD y |
10 | 3 | 1 | 1 |
37 | 2 | 1 | 1 |
16 | 2 | 0 | 0 |
9.5 | 3 | 0.5 | 0.5 |
9.5 | 2.5 | 2 | 2 |
-10 | 3 | -1 | 2 |
10 | -3 | 1 | -2 |
常用于判断某数是否奇偶数
注:三种除运算除数均不可为0,否则将显示“run-time error”
+ , – 加减运算
非三角函数
In Assignments:
x_magnitude <- abs(x)
product <- e^(log(factor1) + log(factor2))
In Select and Loop Exit Comparisons:
log(x) > 0.0
sqrt(c^2) <= sqrt(a^2 + b^2)
random > 0.5 and abs(x) < 100.0
以字母顺序列出非三角函数:
求绝对值ABS
例如abs(-3.7) 为3.7
CEILING(与FLOOR相对)
ceiling(math_expression)
例如ceiling(15.9) 为16, ceiling(3.1) 为 4, ceiling(-4.1) 为-4
FLOOR
variable <- floor(math_expression)
floor(15.9) is 15, floor(-4.1) is -5
E指数幂
e^x
e为约等于2.7的对数常数
LOG对数
log(math_expression)
参数不可为0,否则run-time error
MAX
max(math_expression, max_expression)
例如:max(5,7) 为7.
MIN
min(math_expression, max_expression)
例如:min(5,7) 为5.
PI
返回圆周率值3.14159.
POWERMOD
powermod(base, exp, modulus)
返回值为 ((base^exp) mod modulus).
RSA public key encryption and decryption
bases and exponents too large for the Raptor exponentiation operator can still be used for encryption.
RANDOM
Random返回[0.0,1.0)间的一个随机数
例如:floor((random * 6) + 1).
SQRT
sqrt(math_expression)
参数不可为负数
三角函数
SIN
sin(expression_in_radians)
COS
cos(expression_in_radians)
TAN
tan(expression_in_radians)
COT
cot(expression_in_radians)
ARCSIN
arcsin(expression)
ARCCOS
arccos(expression)
ARCCOT
arccot(x,y)
例如arccot(sqrt(2)/2,sqrt(2)/2) 为pi/4
arccot(-sqrt(2)/2,sqrt(2)/2)为3/4 *pi
arccot(sqrt(2)/2,-sqrt(2)/2)为-pi/4
arccot(-sqrt(2)/2,-sqrt(2)/2)为-3/4 *pi.
ARCTAN
arctan(y,x)
Program Control
用布尔值控制
= | Equal | True if the compared items are equal |
/= | Not Equal | True if the compared items are not equal |
!= | Not Equal | True if the compared items are not equal |
> | Greater Than | True if the expression on the left is greater than the expression on the right |
< | Less Than | True if the expression on the left is less than the expression on the right |
>= | Greater Than or Equal | True if the expression on the left is greater than or equal to the expression on the right |
<= | Less Than or Equal | True if the expression on the left is less than or equal to the expression on the right |
例子:
count = 10;count mod 7 != 0;x > maximum
Boolean Operators布尔运算有:
AND, OR, XOR and NOT
n >= 1 and n <= 10
n < 1 or n > 10
表达式1 XOR 表达式2中,两个表达式有1个为true则返回true
可用于比较数和字符串
Boolean Functions布尔函数
Key_Hit
Is_Open
Mouse_Button_Pressed(Left_Button)
Delay_For
Delay_For(duration)
含一个参数的过程,含义为暂停若干秒duration。
Clear_Console
一个过程,用于清除控制台显示,并将光标移至初始位置。
关于Raptor图
默认色为白色。程序可使用下列函数在窗口中输出raptor图。
RaptorGraph坐标
用Open_Graph_Window打开Raptor Graph后,白色背景中将出现一个打开的window。window左下角像素的坐标为(1,1)。
Open_Graph_Window(400,300)显示的窗口:
Drawing Operations画图操作
可以绘制指定颜色的指定形状。
Keyboard Operations键盘操作
用于确定是否有键输入。例如输入字符串ASCII编码
Mouse Operations鼠标操作
可以返回当前鼠标位置。
Window Operations窗口操作
用于更新和设置窗口属性。Freeze_Graph_Window and Update_Graph_Window 调用可以平滑动画显示。
注:窗口必须打开才能进行相应操作,否则将出现run-time error
Window Operations窗口操作
Close_Graph_Window
Close_Graph_Window
关闭窗口过程
例:Close_Graph_Window
Get_Max_Height
variable <- Get_Max_Height
返回窗口的高度像素值。事实上,该过程常在Open_Graph_Window调用前使用。其值可用来作为打开窗口的参数。
Open_Graph_Window(Get_Max_Width,Get_Max_Height)
Get_Max_Width
variable <- Get_Max_Width
类同上
Get Window Height
variable <- Get_Window_Height
返回窗口高度。图窗口必须先打开。
例:
Get Window Width
variable <- Get_Window_Width
类同上
Is_Open
Is_Open
用于判断窗口是否打开,返回值为Yes (True) 或No (False)。常用于判断。
例:
Open_Graph_Window
Open_Graph_Window(X_Size, Y_Size)
例:Open_Graph_Window(500, 300)
opens a 500 pixel (wide) by 300 pixel (high) graphics window.
Set_Window_Title
Set_Window_Title(Title)
改变或设置窗口标题。
例:Set_Window_Title(“CS 110 PEX 3”)
Smoothing Animations平滑绘制图形
Freeze_Graph_Window及Update_Graph_Window常用于平滑动画显示
不用Freeze_Graph_Window将使每次描画变得明显而导致动画很愣。
Freeze_Graph_Window is called (and before Unfreeze_Graph_Window is called), this buffer is used for all graphics calls. That is, the objects being drawn by the graphics calls are not drawn to the screen, but instead to the screen buffer. When the programmer has drawn the desired objects to the screen buffer, the Update_Graph_Window call is used to almost instantaneously move the screen buffer to the viewable graphics screen. An animation normally repeats the following steps:
1) Draw desired objects (to the screen buffer) using normal graphics calls (例如Draw_Circle, Draw_Line, etc.)
2) 调用Update_Graph_Window使描画迅速可见
结束动画描画时,用Unfreeze_Graph_Window过程,将screen buffer数据更新屏幕使动画立即描画。例:
Colors颜色
Black, Blue, Green, Cyan青,Red, Magenta紫, Brown, Light_Gray浅灰, Dark_Gray深灰, Light_Blue浅蓝, Light_Green浅绿, Light_Cyan浅青, Light_Red浅红, Light_Magenta浅紫, Yellow, White
或用序号0~15(0-黑, 1-蓝,15-白)
例:
Draw_Box(X1, Y1, X2, Y2, BoxColor, Filled)
Draw_Box(X1, Y1, X2, Y2, Green, Filled)
Draw_Box(X1, Y1, X2, Y2, 2, Filled)
色值可达241,当大于15时,将为扩充色。
Filled——值为True(or Yes) or False (or No)。True则用指定颜色填充,否则无色。
Closest_Color
color <- Closest_Color(Red, Green, Blue)
一个函数,返回值0~241之间的某值(接近RGB颜色模式中),在0~ 255间或显示run-time error。
例:Color <- Closest_Color(50, 30, 110)具有RGB色值为50,30,110
Generating Random Colors产生随机颜色
Random_Color
返回0~15 (Black, Blue, Green, Cyan, Red, Magenta, Brown, Light_Gray, Dark_Gray, Light_Blue, Light_Green, Light_Cyan, Light_Red, Light_Magenta, Yellow, White)的一个随机色。
例:Display_Text(100,100,”Message”,Random_Color)
Random_Extended_Color
返回0~241间随机色
例:Display_Number(100,100,Score,Random_Extended_Color)
画图操作
Clear_Window
Clear_Window(Color)
例:Clear_Window(Red)——清屏且填充红色
Draw_Arc绘制弧
Draw_Arc(X1, Y1, X2, Y2, Startx, Starty, Endx, Endy, Color)
含8个参数,在指定的(X1, Y1, X2, Y2)矩形中绘制椭圆。 (X1,Y1) and (X2,Y2) 为矩形中的对角坐标。从坐标(Startx,Starty)开始,到(Endx,Endy)结束。
注:必须先打开图窗口,否则将run-time error
例:Draw_Arc(1,100,200,1,250,50,2,2,black)
在以下300×300 window中:
Draw_Bitmap
Draw_Bitmap(Bitmap, X, Y, Width, Height)
一个含5个参数的调用,用于在图窗口中绘制图像。
Bitmap——为函数Load_Bitmap的返回值
X,Y——图像在图窗口左上角的坐标值
Width,Height——以像素表示的图像绘制的最大宽度、高度
注:必须先打开图窗口,否则将run-time error
注:Raptor本身不自动缩放图像,一旦图像尺寸大于指定宽、高度,将自动截去图像右、下边。否则将正常显示。
例:在(50,450)位置绘制具有400、300像素宽、高的图像。注意必须先对参数bitmap用Load_Bitmap function赋值。
或
装入mypicture.bmp文件中的图像。
Draw_Box绘制矩形
Draw_Box(X1, Y1, X2, Y2, Color, Filled)
(X1, Y1)矩形的任一角坐标,(X2, Y2)与(X1, Y1)相对的另一角坐标
Filled——值为True(or Yes) or False (or No)。True则用指定颜色填充,否则无色。
Filled——值为True(or Yes) or False (or No)。True则用指定颜色填充,否则无色。
注:图窗口必须先打开,否则run-time error
例:Draw_Box(50,150,250,25,Green,True)从左(50,150)到右(250,25)绘制绿色矩形
Draw_Box(250,150,50,25,Green,False)同一位置绘制无色矩形。
Draw_Circle绘圆形
Draw_Circle(X, Y, Radius, Color, Filled)
在中心坐标(X,Y)绘制半径为radius的圆形。Filled用法同矩形调用。
注:必须先打开图窗口,否则run-time error
例:绘制绿色或无色圆形Draw_Circle(50,150,25,Green,True)
Draw_Circle(100,250,50,Green,False)
Draw_Ellipse绘制椭圆
Draw_Ellipse(X1, Y1, X2, Y2, Color, Filled)
(X1,Y1) 起点坐标,(X2,Y2)终点坐标
注:必须先打开图窗口,否则run-time error
例:Draw_Ellipse(50,150,250,25,Green,True)
Draw_Ellipse(250,150,50,25,Green,False)
绘制绿色、无色椭圆。
Draw_Ellipse_Rotate
Draw_Ellipse(X1, Y1, X2, Y2, Angle, Color, Filled)
此过程与Draw_Ellipse类似,但却是绘制一个逆时针旋转的指定角度angle,该值用数值指定 (例如,90度以pi/2给出)
例:Draw_Ellipse_Rotate(50,150,250,25,pi/2,Green,True)
绘制90度的椭圆。
Draw_Line绘制直线
Draw_Line(X1, Y1, X2, Y2, Color)
注:必须先打开图窗口,否则run-time error
例:Draw_Line(50,150,250,25,Green);
Flood_Fill填充指定颜色
Flood_Fill(X, Y, Color)
一个过程调用,在在(X,Y)指定的区域内填充指定颜色。
注:必须先打开图窗口,否则run-time error
例:Flood_Fill(X1+1,Y1-1,Red)
Get_Pixel获取某处颜色
Get_Pixel(X, Y)
返回指定坐标位置的颜色值,若x,y值错误,将显示run-time error并停止程序运行。
常用于赋值。也用于判断,例如使循环退出的判断Get_Pixel(x1,y1)= Green
注:必须先打开图窗口,否则run-time error
例:set Color to Get_Pixel(200,200);
Load_Bitmap装载图
Load_Bitmap(Filename)
一个函数,返回某文件中的图像。用于Draw_Bitmap过程
注:图像文件必须是支持的格式.bmp,.jpg)或.gif
注:必须先打开图窗口,否则run-time error
例:
The following example loads the image with the filename mypicture.bmp into memory and assigns an associated value to the variable bitmap. The variable bitmap could then be used in a subsequent call to Draw_Bitmap in order to draw all or part of the image in a RaptorGraph window.
Put_Pixel改变颜色
Put_Pixel(X, Y, Color)
一个过程,改变指定位置的颜色
注:必须先打开图窗口,否则run-time error
例:Put_Pixel(50,50,Red);
Put_Pixel(50,50,ColorVar);
Keyboard Operations键盘操作
Get_Key
variable <- Get_Key
返回最后一个按键的扩展ASCII码值
Left Arrow | 165 |
Right Arrow | 167 |
Up Arrow | 166 |
Down Arrow | 168 |
注:图窗口必须打开,否则run-time error。
例:
Get_Key_String
Get_Key_String
返回用户输入字符串的最后一个键值。
Get_Key_String
按键 | 返回值 |
a | “a” |
Shift-a | “A” |
Page Down | “PageDn” |
F-1 | “F1” |
Enter | “Enter” |
Esc | “Esc” |
Tab | “Tab” |
Backspace | “Backspace” |
Down Arrow | “Down” |
Up Arrow | “Up” |
Left Arrow | “Left” |
Right Arrow | “Right” |
Insert | “Insert” |
Delete | “Delete” |
\ (Back Slash) | “\” |
Space Bar | ” “ |
Control-A | “Ctrl-A” |
注:图窗口必须打开,否则run-time error。
例:
Key_Down
Key_Down(“key”)
当指定键按下时,返回true。如Key_Down(“c”);Key_Down(” “) 空格键按下为true
Key_Hit, calls to Key_Down are unaffected by any previous calls to Get_Key, Get_Key_String, or Wait_For_Key.
注:图窗口必须打开,否则run-time error。
例:
按键 | 按键参数 |
a | “a” |
Shift | “Shift” |
Page Down | “PageDn” |
F-1 | “F1” |
Enter | “Enter” |
Esc | “Esc” |
Tab | “Tab” |
Backspace | “Backspace” |
Down Arrow | “Down” |
Up Arrow | “Up” |
Left Arrow | “Left” |
Right Arrow | “Right” |
Insert | “Insert” |
Delete | “Delete” |
\ (Back Slash) | “\” |
Space Bar | ” “ |
Control | “Ctrl” |
Key_Hit
当get_key调用时,有键按下则返回true
常用于是否执行了Get_Key调用。
注:图窗口必须打开,否则run-time error。
例:
Wait_For_Key
Wait_for_Key
当有键按下时暂停程序运行。
注:图窗口必须打开,否则run-time error。
例:Wait_For_Key
Mouse Operations鼠标操作
Get_Mouse_Button
Get_Mouse_Button(Which_Button, X, Y)
一个过程,等待鼠标单击,并返回鼠标单击处的X,Y坐标值,如同时单击左、右两边,则只保留左键坐标。释放时的坐标值
Which_Button must be either Left_Button or Right_Button.
注:图窗口必须打开,否则run-time error。
例:Get_Mouse_Button(Left_Button,Mouse_X,Mouse_Y)
Get_Mouse_X
Get_Mouse_X
返回鼠标当前的X值
注:图窗口必须打开,否则run-time error。
例:
Get_Mouse_Y
Get_Mouse_Y
例:
Mouse_Button_Down
Mouse_Button_Down(Which_Button)
当鼠标左或右键按下时间,返回true。
与Mouse_Button_Pressed不同,Mouse_Button_Down对以前的Get_Mouse_Button 或Wait_For_Mouse_Button调用无效。
注:图窗口必须打开,否则run-time error。
例:
Mouse_Button_Pressed
Mouse_Button_Pressed(Which_Button)
当最后一次调用Get_Mouse_Button或Wait_For_Mouse_Button(或因未调用Open_Graph_Window)鼠标按下时返回true。常用于测试是否调用了Get_Mouse_Button。
注:图窗口必须打开,否则run-time error。
例:
Mouse_Button_Released
Mouse_Button_Released(Which_Button)
当Get_Mouse_Button或Wait_For_Mouse_Button (或因Open_Graph_Window未成功调用)时鼠标释放返回true
注:图窗口必须打开,否则run-time error。
例:
Wait_For_Mouse_Button
Wait_For_Mouse_Button(Which_Button)
一个过程,暂停运行知道指定的鼠标键按下,左键优先。
注:图窗口必须打开,否则run-time error。
例:Wait_For_Mouse_Button(Left_Button)
Text Operations文本操作
Display_Number
Display_Number(X, Y, Number, Color)
在左上角指定位置X,Y按指定颜色Color显示值Number
注:图窗口必须打开,否则run-time error。
例:Display_Number(3,10,x, Black)
Display_Text显示字符串
Display_Text(X, Y, Text, Color)
注:图窗口必须打开,否则run-time error。
例:Display_Text(3, 10, “Hello!”, Black)
Display_Text(30, 50, “Score: ” + score, Red)
显示字符串变量”Score: ” + score的值
Get_Font_Height
variable <- Get_Font_Height
返回字符高度。
注:图窗口必须打开,否则run-time error。
例:
Get_Font_Width
variable <- Get_Font_Width
注:图窗口必须打开,否则run-time error。
Set_Font_Size
Set_Font_Size(Size)
设置文字大小0~100pt,默认值为10
注:图窗口必须打开,否则run-time error。
例:Set_Font_Size(14)
Set_Font_Size(x)按变量x值设置文本大小。
Arrays数组
Array Overview数组概述
一系列带有顺序的用[]标记的数。例:
scores[1] | scores[2] | scores[3] | scores[4] |
顺序号必须是正数。
Scores成绩
1 | 2 | 3 | 4 |
87 | 93 | 77 | 82 |
常用于循环处理。
Two-Dimensional Arrays二维数组
用于表示矩阵。例:
grid[1,1] | grid[1,2] | grid[1,3] | grid[1,4] |
grid[2,1] | grid[2,2] | grid[2,3] | grid[2,4] |
grid[3,1] | grid[3,2] | grid[3,3] | grid[3,4] |
grid | 1 | 2 | 3 | 4 |
1 | 3 | 8 | 6 | 15 |
2 | 2 | 9 | 12 | 14 |
3 | 6 | 11 | 18 | 13 |
grid[3,2]值11,grid[2,4] 值14.
Processing Two-Dimensional Arrays二维数组处理
双循环。分别对行列。例如:
Creating Arrays创建数组
使用前必须先创建数组。说明数组的最大顺序(用赋值语句)。
大于最大顺序号时将出现run-time error
例如,先values[7] <- 3
则
1 | 2 | 3 | 4 | 5 | 6 | 7 |
0 | 0 | 0 | 0 | 0 | 0 | 3 |
如:values[9] <- 6
则:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 6 |
对100个数组元素赋初始值0,可以:values[100] <- 0
Creating Two-Dimensional Arrays创建二维数组
numbers[3,4] <- 13。则二维数组
numbers | 1 | 2 | 3 | 4 |
1 | 0 | 0 | 0 | 0 |
2 | 0 | 0 | 0 | 0 |
3 | 0 | 0 | 0 | 13 |
Array Operations数组操作
Length_Of
Length_Of is a function that takes one argument, a one-dimensional array without any index or square brackets after the name. It returns the highest index (which is also the number of elements) defined for the array. Length_Of can also be used to determine the length of a string expression.
例:Length_Of(Scores) will return 4.
Scores
1 | 2 | 3 | 4 |
87 | 93 | 77 | 82 |
Raptor Reference
Math
数学运算符
– | 负号unary minus |
^ , ** | 指数运算exponentiation |
* | 乘法multiplication |
/ | 除法division |
rem, mod | 求余remainder |
+ | 加法addition |
– | 减法subtraction |
Basic Math Functions基本函数运算
abs 绝对值
ceiling (round up)取上界
e – 返回自然对数值 (base for natural logarithms)
floor – 取下界(round down)
log – 求自然对数
max – 求最大值
min – 求最小值
pi – pi值
powermod – used for public key encryption / decryption
random – [0.0,1.0)间随机数
sqrt – 平方根
Trigonometric Functions三角函数
arccos – arc cosine
arccot – arc cotangent
arcsin – arc sine
arctan – arc tangent
cos – cosine
cot – cotangent
sin – sine
tan – tangent
Program Control
Relational Operators
= equal to
> greater than
< less than
!= not equal to
/= not equal to
>= greater than or equal to
<= less than or equal to
Boolean Operators
and – 与运算
not – 非运算
or – 或运算
xor – 异或运算’xor’ (true if expressions on either side are different)
clear_console – 清除主控制台信息
delay_for – 等待若干秒
Raptor Graphics
Available colors可用色
Black, Blue, Green, Cyan, Red, Magenta, Brown,Light_Gray, Dark_Gray, Light_Blue, Light_Green, Light_Cyan, Light_Red, Light_Magenta, Yellow, White
Available fill values可用填充
Filled, Unfilled
True, False
Yes, No
Mouse button values鼠标值
Left_Button , Right_Button,
RaptorGraph Functions (return a value)图函数
Closest_Color, Get_Font_Height, Get_Font_Width, Get_Key, Get_Key_String, Get_Max_Height, Get_Max_Width, Get_Mouse_X, Get_Mouse_Y, Get_Pixel, Get_Window_Height, Get_Window_Width, Is_Open, Key_Down, Key_Hit, Mouse_Button_Down, Mouse_Button_Pressed, Mouse_Button_Released, Random_Color, Random_Extended_Color
RaptorGraph Calls图过程
Clear_Window, Close_Graph_Window, Display_Text, Display_Number, Draw_Arc, Draw_Box, Draw_Bitmap, Draw_Circle, Draw_Ellipse, Draw_Ellipse_Rotate, Draw_Line , Flood_Fill, Freeze_Graph_Window, Load_Bitmap, Open_Graph_Window, Wait_For_Key, Wait_For_Mouse_Button, Get_Mouse_Button, Put_Pixel, Set_Font_Size, Set_Window_Title, Unfreeze_Graph_Window, Update_Graph_Window
Arrays
Array Operations
Length_Of – 返回数组长度
[ ] – indexing: 顺序
To_Character – 返回指定数的ASCII值
To_ASCII – 为指定字符赋予ASCII值
Strings
String Operations
+ – Concatenation
Length_Of – 返回字符串长度
[ ] – indexing:顺序
Variable Type Queries
Boolean Functions
Is_Array, Is_Number, Is_String, Is_2D_Array
Sound
Sound Calls
Play_Sound, Play_Sound_Background, Play_Sound_Background_Loop
Files
File Calls
Redirect_Input – 以某文件中数据作为输入
Redirect_Output – 将值输出到某文件。
Note that it is as easy for the programmer to process 4,000 values as it is to process four by simply changing the value of the variable howmany! That is part of the power of arrays used with counting loops.
整个Reference结束
Advanced Topics
1、Sound Operations
Raptor程序可以用后面三个过程播放声音 (.wav)文件,但需注意:
- 文件名必须是字符串或字符串变量
- 必须带有完整路径,否则必须与raptor在同一文件夹中
- .wav可省略
- 如果文件名错误,将产生鸣笛音
Play_Sound
Play_Sound(filename)
例:Play_Sound(“c:\windows\media\Windows XP Startup”)
Play_Sound_Background
Play_Sound_Background(filename)
例:Play_Sound_Background(“c:\windows\media\tada.wav”)
Play_Sound_Background_Loop循环播放背景
Play_Sound_Background_Loop(filename)
例:Play_Sound_Background(“sound.wav”)
2、Strings
(1)String Variables & Assignment
或在过程中:
Assigning values to strings
- 必须用双引号”Hello, World!”)
- 可以是字符串变量或表达式”Hello, ” + name_string_var + “, it’s nice to meet you”
(2)String vs. Numeric Input
下面为非法输入
数 | 字符串 |
3e5 (3 x 105) | 3 5 |
123 | 12.3.2 |
-55 | (nothing – if nothing is input, an empty string results |
58.7 | “123” (quotes will be part of the string) |
(3)String Operations
+ (Concatenation)
例: “The answer is: ” + count will have the value “The answer is: 7” if the value of count is 7.
Length_Of
Length_Of返回一维数组或字符串长度
Length_Of(stringVar)
Length_Of(“Answer” + ” is”) 值为9
[ ] (Indexing)返回第一个字符
例如,字符串 “John Doe”则initial <- Name[1] 后值为’J’.
Name[6] <- ‘F’将使”John Doe”变为”John Foe”
To_Character
To_Character(70) 值为 ‘F’
To_ASCII
To_ASCII(‘F’) 值为70
(4)String Comparisons
=, !=, /=, <, <=, >, <=
以字典顺序比较。例:”abc” <“abd”
控制字符<可打印字符<数字字符<大写字母<小写字母
3、Files for input and output
(1)Files Overview文件概述
(2)Inputting from a File
Redirecting Input from a File
Redirect_Input(“file.txt”)
Redirect_Input(“C:\Documents and Settings\John.Doe\CS110\file.txt”);
Stopping Input Redirection
Redirect_Input(False)
停止file输入,改由键盘输入。
例:下列流程图”file.txt”
(3)Input Line by Line逐行输入
Line-Oriented Input
When a file is used for input, an Input symbol consumes exactly one line of the file. The contents of the line determine whether Raptor interprets it as a string or a number (see String vs. Numeric Input). Therefore, a text file created for input must have the desired number of lines to match the number of inputs to be performed. Further, each of these lines must make sense for the variable that is to input that line of data. 例如,某文件包含一个学员信息:
C4C John Doe
28
3.51
分别顺序赋予下列变量:cadet_name;squadron;GPA
Notes: 空行赋值给variable空串。
Files of Unknown Size (Advanced Topic)未知大小的文件
有时从一个未知行数的文件中读取数据,因而,程序必须知道何时到达文件尾。Raptor 提供了一个End_Of_Input函数,此函数在读入所有行后返回true。
注:如用笔记本程序编辑文件,必须确认文件尾无额外的空行。在Raptor中,空行将作为空串,可能会导致某些数值变量被无意义赋值从而导致运行错误。
例:
(4)Outputting to a File
Redirecting Output to a File
Raptor提供了Redirect_Output语句输出到文件
Redirect_Output(“file.txt”)
Redirect_Output(“C:\Documents and Settings\John.Doe\CS110\datafile”);
Notes: 如果文件已经存在,将无警示地覆盖原内容。没有写入权限的文件,将产生run-time error
Redirect_Output(True)
运行时,将弹出文件选课对话框,用户可以在运行时动态输入文件名。
File Output
输出文件中的数据格式与显示在主控台中的格式相同。程序可以控制一个新行开始时的输出内容。
Stopping Output Redirection
要重置Raptor使输出改向到主控台,可以用以下过程:
Redirect_Output(False)
使用此过程,将关闭输出文件,输出数据将从新输出到主控台
例:流程图显示了Redirect_Output call在交互界面到文件的切换过程。
开始输出到主控台,以后的输出将转向到文件”file.txt”,等所有元素输出后,输出关闭,最后的输出再次转向主控台。
4、Subcharts子图
(1)Subchart Overview
有些步骤常常需要在程序的不同位置反复执行。可以用复制粘贴,但肯定会导致程序行数增加,进而使程序难读,错误多。可以用子图subchart 实现。在不同位置调用子图。
类似圆形绘制,可以直接定义一个调用实现。
可以通过判断中断子图运行。
全程变量共享。某子图中的变量一直不变除非重新赋值。
注意:对临时变量特别要注意其值。例如,某变量在主程序中是最大值,若某数在子图中赋值给max,原max值将丢失。
(2)Creating and Modifying Subcharts
Creating a Subchart创建子图
开始编辑主程序时,窗口标题为”Main”,要创建subchart, 在”Main”tab右击并选择菜单中的“添加子图Add Subchart”,然后输入子图名,新窗口标题将为子图名,可以在子图中添加、删除和编辑流程图符号。
Renaming a Subchart重命名子图
在子图窗口的子图名处右击,在弹出菜单中选”Rename Subchart”。
Deleting a Subchart删除子图
右击。
(3)Calling Subcharts
在调用位置用Call symbol,可以在Call symbol双击编辑,主程序可以调用子图,某子图可以调用另一子图。甚至本子图可以调用自己(这是不好的用法)。
Passing Data to and from Subcharts (Advanced Topic)子图参数传递
可以用同一Draw_Circle过程绘制红色(100,100)大小的圆形,也可以绘制黑色的(250,250)大小的圆形。Subcharts也有此功能。
子图不支持子图内的参数传递,但允许其他情形的参数传递。
要确保子图中的参数变量不再被程序误用,应用唯一方式命名。好的命名方式是用子图名作为前缀符,并用下划线连接变量名。例如,用draw_triangle_x作为draw_triangle中的变量。
5、Variable Type Queries
Is_Array
Is_Array(variable)
当变量是数组时,则返回true。否则为false
Is_Character
Is_ Character(variable)
当变量是字符时,则返回true。否则为false
Is_Number
Is_Number(variable)
变量为数值时,返回true
Is_String
Is_String(variable)
当变量是字符串时,则返回true。否则为false
Is_2D_Array
Is_2D_Array(variable)
当变量是二维数组时,则返回true。否则为false
发表评论