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;