程序中用来表示如物品件数和物品单价等属性相同的有序数据,Pascal语言把它归为数组。数组成员(分量)称为数组元素。数组必须在说明部分进行定义:确定数组名,数组分量(元素)的个数及类型。一般格式有:
Var 数组名:array[下标类型] of 数组元素类型 ;
数组常量说明格式为:
Const 数组名:array[下标类型]of 数组元素类型=(常量表);
程序中对数组的输入、输出处理,常用循环语句控制下标,进行有序地直接操作每个数组元素。
算术标准函数:
(1) abs(x) 求x的绝对值(|x|);
(2) exp(x) 求ex的值; (e为无理数2.71828…)
(3) frac(x)求x的小数部分;
(4) int(x) 求x的整数部分(不舍入,函数值为实型);
(5) ln(x) 求以e为底的x的对数(log ex );
(6) odd(x) 判断x的奇偶数(当x为奇数时odd(x)值为true,否则为false);
(7) ord(x) 求x的序号,结果为整型(x为有序类型量);
(8) pi π值(3.1415926535897932…);
(9) pred (x) 求x(有序类型)的前趋值;
(10) succ(x) 求x(有序类型)的后继值;
(11) random 随机函数,产生0~1的随机值;
(12) random(n)产生0~n的随机数(n为word类型,先执行randomize, 才能得到随机整数);
(13) round(x) 求x的四舍五入整数;
(14) trunc(x) 求x的整数部分(截掉小数部分,结果为整型);
(15) sqr(x) 求x的平方值(x2 );
(16) sqrt(x) 求x的开平方根值( );
(17) sin(x) 求x的正弦函数(x为弧度);
(18) cox(x) 求x的余弦函数(x为弧度);
(19) arctan(x) 正切的反三角函数(x为数值);
字符串函数:
求长度length
定义:function Length(S: String): Integer;
例子:
var
S: String;
begin
Readln (S);
Writeln('"', S, '"');
Writeln('length = ', Length(S));
end.
复制子串copy
定义: function Copy(S: String; Index: Integer; Count: Integer): String;
注意:S 是字符串类型的表达式。Index和Count是整型表达式。Copy 返回S中从Index开始,Count个字符长的一个子串。
例子:
var S: String;
begin
S := 'ABCDEF';
S := Copy(S, 2, 3); { 'BCD' }
end.
插入子串insert
定义:procedure Insert(Source: String; var S: String; Index: Integer);
注意:Source 是字符串类型的表达式。 S 是任意长度字符串类型变量。Index 是整型表达式。Insert 把 Source插在S中Index处。如果结果字符串的长度大于255,那么255之后的字符将被删除。
例子:
var
S: String;
begin
S := 'Honest Lincoln';
Insert('Abe ', S, 8); { 'Honest Abe Lincoln' }
end.
删除子串delete
定义:procedure Delete(var S: String; Index: Integer; Count:Integer);
注意:S 是字符串类型变量。 Index和Countare是整型表达式。Delete 删除S中从Index开始的Count个字符。如果Index大于S的长度,则不删除任何字符;如果Count大于S中从Index开始的实际字符数,则删除实际的字符数。
例子:
var
s: string;
begin
s := 'Honest Abe Lincoln';
Delete(s,8,4);
Writeln(s); { 'Honest Lincoln' }
Delete(s,9,10);
Writeln(s); { 'Honest L' }
end.
字符串转为数值val
定义: procedure Val(S; var V; var Code: Integer);
在这里:
S 是由一系列数字字符构成的字符串类型变量;。
V 是整型或实型变量;
Code 是Integer型变量
注意:Val将S转为它的数值形式。
例子:
var s:string;I, Code: Integer;
begin
s:='1234';
val(s,i,code);
writeln(i); { 1234 }
end.
数值转为字符串str
定义: procedure Str(X [: Width [: Decimals ]]; var S:string);
注意:将数值X转成字符串形式。
例子:
var
S: string[11];
begin
Str(I, S);
IntToStr := S;
end;
begin
Writeln(IntToStr(-5322));
Readln;
end.
求子串起始位置pos
定义:function Pos(Substr: String; S: String): Byte;
注意:Substr和S字符串类型表达式。Pos在S中搜索Substr并返回一个integer值。这个值是Substr的第一个字符在S中的位置。如果在S中没有找到Substr,则Pos返回0。
例子:
var S: String;
begin
S := ' 123.5';
{ Convert spaces to zeroes }
while Pos(' ', S) > 0 do
S[Pos(' ', S)] := '0';
end.
字符完全串连+
定义:操作符+把两个字符串联在一起。
例子:
var s1,s2,s:string;
begin
s1:='Turbo ';
s2:='pascal';
s:=s1+s2; { 'Turbo pascal' }
end.
字符串压缩空格串连-
定义:操作符-去掉第一个字符串最后的空格后,将两个字符串联在一起。
例子:
var s1,s2,s:string;
begin
s1:='Turbo ';
s2:='pascal';
s:=s1-s2; { 'Turbopascal' }
end.
以上都是常用的函数。
for循环是一种自动计数型循环。
for 循环语句有两种格式:
(1) for 循环变量:=初值 To 终值 do 语句;
(2) for 循环变量:=初值 downto 终值 do 语句;
第(1)种格式的初值小于等于终值,循环变量值按自动加1递增变化;
第(2)种格式的初值大于或等于终值,循环变量值按自动减1递减变化。for 循环是 (以递增1或以递减1) 计数型循环。
Repeat循环是直到型循环。
程序中的Repeat循环格式为:
repeat
循环体语句;
until 条件表达式; {直到条件为真}
Repeat循环首先执行由Repeat和Until括起来的循环体语句,然后检查Until后面的条件表达式:如果表达式结果为假,则继续执行循环体,接着继续检查Until后面的条件表达式,如此反复执行直到这个表达式结果为真时结束循环。Repeat循环体语句必须有能改变Until后面条件表达式值的语句,并最终使这个条件表达式的值为真,使循环自动结束。
While循环是当型循环。
While循环语句的格式:
While 条件式 do 语句;
其中do后面的“语句”是被重复执行的,称为循环体;若循环体是多个语句, 必须用begin--end包起来成为复合语句。
While循环首先判断条件式,当条件式的值为真就执行do 后面的语句(循环体)。
While的循环体内也必须包含能改变控制变量取值语句, 影响条件式的值, 最终使条件式为false (假), 才能结束循环。
希望对你有帮助。
参考资料:老师给的资料