PASCAL语言基本教程
- 格式:wps
- 大小:52.50 KB
- 文档页数:7
第一章、pascal介绍
一、pascal的基本语法单位
1、基本符号 A——Z;a——z;0——9;+,-,*,/,=,<>,<=,>=,<,>,(,),[,],{,},:=,,,;,.,:,..,
',^
注意:pascal语言除了能使用以上规定的基本符号外,不得使用任何其它符号。
2、保留字 AND,ARRAY,BEGIN,CASE,CONST,DIV,DO,DIWNTO,ELSE,END,FILE,FOR,FUNTION,GOTO,IF,LABEL,
MOD,NIL,OF,OR,PACKED,PROCEDURE,PROGRAM,RECORD,REPEAT,SET,THEN,TO,TYPE,UNTIL,VAR,WHILE,
WITH。 注意:所起的文件名不能与保留字相同。
3、标识符
以字母打头的字母数字串,长度小于等于8。
标准标识符(共三十九个): 标准常量:
false,true,maxint 标准类型:
integer,real,char,boolean,text
标准文件: input,output
标准函数: abs,arctan,chr,cos,eof,eoln,exp,ln,odd,ord,ored,round,sin,sqr,
sqrt,succ,trunc
标准过程: get,new,pack,page,put,read,readln,reset,rewrite,unpack,write, writeln
二、程序结构
1、由三大部分组成:程序首部,说明部分,语句部分。
PROGRAM 程序名(input,output); {„„} 解释
CONST pi=3.14159;
VAR
r,l,s:real; BEGIN
write('input r:'); read(r);
l:=2*pi*r;
write('l=',l,'s=',s); END;
2、大量使用标点符号,保留字后不加标点符号(END除外)。
第二章、顺序结构程序设计
一、标准数据类型
1、实型(real) 小数表示法、指数表示法
2、整型(integer)
正、负整数和零 maxint=32767
pred:前导;succ:后继 [例]:pred(3)=2;succ(3)=4;
pred(true)=false;
succ(false)=true 3、字符型(char)
是指在两个单引号中的一个字符。 ord:取序数
[例]:ord('A')=65
4、布尔型(boolean) false;true
用于布尔型的运算:NOT、AND、OR ord(true)=1;ord(false)=0
二、常量和变量的定义 常量的定义:CONST
pi=3.14159; blank=' ';
变量的定义:VAR
r,l,s:read; cl:char;
三、表达式及赋值语句
[例]:b2-4ac 写成:sqt(b)-4*a*c
赋值::=
四、输入输出语句 1、输入语句:read();readln()
注:表达式里面变量与变量之间用逗号隔开;
readln表示下一个语句将从下一行开始操作; 输入时,整型或实型用空格或回车隔开,字符型之间无需分隔,一个接一
个输入。 2、输出语句:write();writeln()
注:对real或integer限定场宽:write('a=',a:2:0) {a为real型}
第三章、选择结构程序设计
一、if 语句
格式:IF
THEN ESLE
注:1、ELSE与最近的并且未被配对的ELSE配对; 2、复合,如果THEN或ELSE带有多个语句,则要用BEGIN——END括起来。
二、CASE语句 格式:CASE OF
: :
„„
: [ELSE]
END 注:1、值表的三种表达方式:“1:”;“2,4,6:”;“10..100:”
2、CHAR,INTEGER,BOOLEAN有序
第四章、循环结构程序设计
一、FOR语句
格式:1、FOR := TO DO ;
2、FOR:= DOWNTO DO 。 [例1]:输入10个数,求最大值、最小值、和、及平均值。
PROGRAM ten(input,output);
VAR
a,s,max,min,avg:real; i:integer;
BEGIN write('please input:');
read(a);
s:=a; max:=a;
min:=a; FOR i:=2 TO 10 DO
BEGIN
read(a); s:=s+a;
IF a>max THEN max:=a
ELSE
IF a
avg:=s/i; writeln(„„);
END.
[例2]:求s=1!+2!+3!+„„+10!
program sum_fac(input,output); var
i,j,s,m:integer;
begin s:=0:
for j:=1 to 10 do begin
m:=1;
for j:=1 to i do m:=m*j;
s:=s+m; end;
write(„„);
end;
二、while语句 格式:WHILE DO
[例1]:输入一串字符串,求第一个“,”前的大小写字母个数和其它字符个数。 program string(input,output);
var ch:char;
c,s,o:integer;
begin write(„„);
read(ch); c:=0;
s:=0;
o:=0; while ch<>',' do
begin if (ch>='A')and(ch<='Z') then
c:=c+1
else if (ch>='a')and(ch<='z') then s:=s+1
else o:=o+1;
read(ch);
end; write(„„);
end.
三、REPEAT语句
格式:REPEAT
UNTIL
[例]:以字符(char)的形式读入一实数,以实形(real)输出该数。
第五章、函数与过程程序设计
一、函数(包括标准函数和自定义函数) 1、函数的定义
格式:FUNCTION 函数名():返回值类型;
VAR
BEGIN
END
[注]:1、形参表每个参数都写明其类型; 2、有且只有一个返回值,并且要将返回值赋值给函数名。
[例]:求五边形的面积 function area(a,b,c:real):real;
var
p:real; begin
p:=(a+b+c)/2; area:=sqrt(p*(p-a)*(p-b)*(p-c);
end;
2、函数的调用 1)、函数的调用必然出现在表达式中(等号的右边),不能以单独地在语句出现
2)、调用时,将每个实参传递给对应的形参 program ml_area(input,output);
var
l1,l2,l3,l4,l5,l6,l7,s:real; function area(a,b,c:real):real;
var p:real;
begin
p:=(a+b+c)/2; area:=sqrt(p*(p-a)*(p-b)*(p-c);
end; begin
write('input');
readln(l1,l2,l3,l4,l5,l6,l7); s:=area(l1,l2,l6)+area(l2,l6,l7)+„„;
writeln('s=',s:10:3); end.
二、过程 格式:PROCEDURE()
VAR
BEGIN
END;
[例1]某过程的形参表为(var a,b:real;c,d:integer;var e:char);
主程序中有如下变量说明:x,y:real; m:integer; next:char;
则以下实参表中合法的有:(1、2、3) 1、(x,y,m+3,70,next)
2、(y,x,m,m,next) 3、(y,x,35,m DIV 10,next)
4、(m,x,30,10,next)
5、(x,y,m,10) 6、(35,0,y,m,10,next)
7、(x,y,m,m/10,next) 8、(A,B,30,10,next)
[例2]求程序输出的结果。 program ex(input,output);
var x,y,z:integer;
procedure s(x:integer; var y:integer);
var z:integer
begin x:=5; y:=6; z:=7;
end;
begin x:=1; y:=2; z:=3;
s(x,y); writeln(x,y,z);
end.
输出结果:1 6 3
[例3]:求五个数中的最大值。 program max_in_5(input,output);
var
n1,n2,n3,n4,n5:integer; procedure lagest_in_three(a,b,c:integer;var e:integer)
begin e:=a;
if b>e then
e:=b; if c>e then
e:=c; end;