当前位置:文档之家› Pascal上机与函数【教程】

Pascal上机与函数【教程】

1.2上机操作一、启动pascalD:\TP\F10或ALT+F,可使用键盘方式实现启动主功能菜单方式。

File/new:新建一个编辑窗口(打开名为Noname0.pas的新文件)注意:可同时打开多个窗口,但任意时刻只有一个窗口是处于活动状态(活动窗口的边框为双线,静止窗口的边框为单线),活动窗口指拥护当前正在其上工作的窗口。

当多个窗口时,可用alt+(1-9),其中“1-9”表示窗口编号,以数字号选择当前活动窗口。

关闭窗口,则可用alt+F3(关闭当前窗口)F2存盘Change Dir…修改当前文件操作路径。

CTRL+F9 运行程序,若中途需要终止程序运行的话,可:CTRL+C。

切换到输出屏幕:对于WIN98:ALT+F5对于WINXP:在程序结束前,加入Readln语句。

每一种程序设计语言都有自己规定的格式和词汇,词汇集由上述的保留字、标识符和特殊字符数组成的,当我们学习一种程序设计语言时,还应该注意,它的语法和语义,就如我们学习英语语法:表示语言的各种构成记号之间的组合规则。

语义:表示的含义。

1.3 pascal的程序组成例1、求半径为R的圆的面积和周长。

PROGRAM circle(input,output);CONSTpi=3.1415926;V ARr,s,l:integer;BEGINWrite(‘r=’);Readln(r);s:=2*pi*r*r;l:=2*pi*r;writeln(‘s=’,s);;‘;’writeln(‘l=’,l);END.上面的例子,就是一个完整的pascal 的程序。

一个“完整”的pascal程序应该有以下的部分组成):1、 程序首部PROGRAM circle(input,output);程序首部包括保留字PROGRAM 和用户自定义的程序名称(在这个例子中是c ircle )。

用“PROGRAM ”来标识“这是一个Pascal 程序”,任何一个Pascal 程序都必须以此字开头。

保留字:Pascal 规定了一批英文单词,赋予他们以特定的含义,有专门的用途,不能作为它用。

括号中的input,output 是标准的标识符标准的标识符:是预先给标准函数,标准过程、标准常量、标准类型,标准文件定义的标识符,即 Pascal 语言已确定了标准标识符的名称和性质,如标准输入文件.标准输出文件等,在书写程序中可直接使用,不必事先定义。

下面列出标准标识符的一部分:标准常量:false true 、maxint标准类型:integer real boolean char text标准文件:input output标准函数:abs chr odd ord pred qrt succ truce sin cos exp ln标准过程:read readln write writeln用户自定义的程序名称:circle ,是一个用户自定义标识符。

用户自定义标识符:是用户按标识符定义的规则自己定义的.常选用能说明某种意义的英文单词.用户标识符必须事先定义或说明才能在程序中使用它.用户自定义的标识符不能用保留字,最好也不要选用标准标识符.其实就是我们在之前所说的:由字母开头,由字母、数字和下划线构成的符号。

Pascal 语句之间也要分隔开,一般用分号‘;’分隔,—条语句可以分几行写,也可以一行写几条语句;2、 说明部分:Const pi=3.1415926; V ar r,s:real;l:real;说明部分有两个保留字:Const 和Var 。

Const 常量说明,由Const 开头到另一保留字(在例2中是从Const 到V ar 之间)之前的部分,表示为一个“常量说明区”。

在常量保留区内的将被定义为不变的量(在例2中pi 的值始终是3.1415926)。

V ar 变量说明,在变量说明区内的量表示为“变量”。

定义变量和定义常量不同,在定义的时候必须要说明是什么类型的变量(在这个例子里面,两个变量r 和s 被定义为实数real 型的变量),在程序的运行过程中将可以改变其内容,但内容的类型一定要和定义时的类型一致。

计算机处理的数据对象是一个广义的概念. 比如 125、12.76是数据,‘ni hao !’这一串字符也是数据。

前者是数值数据,后者是字符串数据、是非数值数据.为处理这些数据,计算机对它们施加的运算也不同.为此 Pasca 语言建立了数据类型的概念,对描述的数据进行分类.程序中所用到的每一个数据.包括常量和变量都有和它相联系的类型.由此决定了数据所具有的值,也决定了对该数据所能进行的操作。

常量说明区 ——————————————————— 变量说明区Pascal语言中数据具有丰富的类型.按它们的特点可以分为简单类型、构造类型、指针类型和过程类型四大类。

其中简单类型包括标准类型(实数类型、整数类型、字符类型、布尔类型、字符串类型)和用户自定义类型(枚举类型、子界类型)。

其中标准类型用语言系统预先定义的标准标识符表示;整数类型用Integer表示;实数类型用real表示;布尔类型用boolean表示;字符类型用char表示.整数型integer范围:-32768到32767实数型real根据不同的机器有不同的范围,通常用来表示非整数的值字符型char用单引号括起来的单个字符,例如‘a’‘A’‘1’布尔型Boolean用作判断逻辑的“真”和“假”,在Pascal程序中是true和false表示。

注意:常量的数据类型是由其取值决定的,不需要定义。

而变量除了要定义变量的名字外,还必须定义其变量的数据类型。

例如:pi是常量,由于它的值为3.1415926所以pi的数据类型是实型,而l和s,不管半径是什么值,由于r与pi相乘后,结果一定是实数,由此可判断变量l,s的数据类型应定义为实型。

3、程序主体BEGINWrite(‘r=’);Readln(r);s:=2*pi*r*r;l:=2*pi*r;writeln(‘s=’,s);writeln(‘l=’,l);END.这是一个非常简单的程序主体。

Begin和End都是保留字,程序主体以begin开始,以end结束(注意,end后面有一个句号,表示整个程序结束)。

Begin和end之间包含多个语句,在例2中包含了3个语句,每一个语句用分号“;”分隔(begin和end不是语句,只是作为程序主体的起止标志)。

readln(r);readln是标准的过程,作用是读入用户输入的一行数据,并把数据赋值到后面括号内的变量中(注意输入的数据的类型要和变量定义的类型相吻合)s:=pi*r*r;对应于圆面积的求解公式。

注意赋值的格式,被赋值的变量放在前面,赋值的符号是“:=”,赋值符号后面的是公式或变量。

writeln(‘s=’,s);writeln(‘l=’,l);writeln是一个标准的过程,作用是用于输出括号内的内容,内容包括字符串(用单引号括住)以及变量。

可以输出多项的字符串和变量,每一项之间用逗号分隔。

字符串会原样的输出。

变量则会把变量当前的内容输出。

pi*r*r 是一个表达式,它是描述计算机规则的一种算法结构,程序中所有运算都是在表达式中完成的。

它与数学中的表达式有很多相似之处。

表达式用来计算值,根据值的类型,表达式可分为:算术表达式(值是实数和整数)、布尔表达式(值是布尔型)、字符表达式(值是字符型或字符串型)和集合表达式(值是集合类型)算术表达式的定义:是有符合 pascal 的语法规则的数值型运算对象(包括数值型常量、变量、函数)、运算符、圆括号组成的有意义的式子。

例3中,(L/m+1)*p*m ;在程序中可看到还有一些运算符号等。

在pascal 中有6个基本运算符号:①. + (加)②. - (减)③. * (乘)④. / (实数除,得出的结果是实数)⑤. DIV (整除)MOD (求余数,如果a MOD b ,所得结果的符号与a 相同,其值的绝对值在0~|b|-1之间)基本运算符练习:1. 将数学上的式子转换成为pascal 的表达式1) 132+2) ⎪⎭⎫ ⎝⎛-⨯12123) 321652+-⎪⎭⎫ ⎝⎛2. DIV 和MOD 的计算1) 10 DIV 22) 10 DIV 33) 5 DIV 104) -15 DIV 45) 10 MOD 46) -17 MOD 47) -3 MOD 48) 4 MOD -39) -4 MOD 33. pascal 语言源程序结构由哪几部分组成?4.请模仿写出一个Pascal程序实现计算机梯形的面积,假设梯形的上底a=15,下底b=26,高h=12.5.叙述标识符的定义,指出下列用户自定、义的标识符是否合法?为什么?xyz,4ab,end,ab s,b(3),m+n,class,one6.下列数据是整数类型?那些是实数类型?那些是非法的?101,10.32, 1.67E+88,3E+0.6,0.7E3,345600,0.0075E-32,234.0001,E+127.下列符号那些表示字符?哪些表示字符串?那些不属于上述两种范围?‘book’, ’age’ , ’x’ , ’b’ , 12, ’312’ , the , ’### ### ‘ , ’8’ , ’_’ , pen , m , ‘3’8.下列那些是合法的常量定义:constbook=45;blank=’‘;ch:’name’;-x=31;m=7;n=n+12;f=false;y=8-x;v=60;9.下列变量说明哪些是不正确的?为什么?1)V ar 2) vara,b,c:integer; x1,x2,x3:integer;bookname,b,c:char; a,b,tel:character;x,y:real; m,n:bool;10.求出下列表达式的值(数值或逻辑值)1)13*6*8 div 3 2) 5/4*2.5/1.25*(4+6)3)24 div 4*sqr(6)/3.6 4)28 div 4 mod 3*trunc(3.674)5)12 mod 5*ord(succ(‘N’)) div 3-ord(true)6)98 div 12/ord(pred(‘f’)*trunc(2.45+3.6*4)*round(23.56*3-6.75)7)23>12 8)(‘A’>’b’) or (succ(‘E’=’F’)9) pred(true)=false 10)succ(5)>=5备注:pascal语言提供的标准函数:1)算术函数:绝对值函数abs(x):函数值为X的绝对值,a= -23,abs(a)=23平方函数sqr(x): 函数值为X的平方,a=-2,sqr(a)=4平方根函数sqrt(x): 函数值为X的平方根,a=4,sqrt(a)=±2整数函数 int(x): 函数值为X的整数部分,a=3.14,int(a)=3,a=-3.54,int(a)=-3小数函数frac(x): 函数值为X的小数部分,a=3.14,int(a)=0.14,a=-3.54,int(a)=-0.54指数函数exp(x): 函数值为e x,a=3,exp(a)=e3,e=2.对数函数 ln(x): 函数值为x的自然对数,a=3,ln(3)=圆周率函数Pi: 无自变量,函数值为Л的值。

相关主题