Pascal语言基础Word文档下载推荐.docx
- 文档编号:21646037
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:83
- 大小:142.67KB
Pascal语言基础Word文档下载推荐.docx
《Pascal语言基础Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Pascal语言基础Word文档下载推荐.docx(83页珍藏版)》请在冰豆网上搜索。
=3.14*r*r;
writeln(c,s)
end.
从这个简单的程序可以看到:
1、一个PASCAL程序分为两个部分:
程序首部和程序体(或称分程序)。
2、程序首部是程序的开头部分,它包括:
⑴程序标志。
用“program”来标识“这是一个PASCAL程序”。
PASCAL规定任何一个PASCAL程序的首部都必须以此字开头。
在Turbopascal语言中,首部也可省略。
⑵程序名称。
由程序设计者自己定义,如例中的exam1。
在写完程序首部之后,应有一个分号。
3、程序体是程序的主体。
程序体包括说明部分(也可省略)和执行部分两个部分。
⑴说明部分用来描述程序中用到的变量、常量、类型、过程与函数等。
本程序中第二行是“变量说明”,用来定义变量的名称、类型。
PASCAL规定,凡程序中用到所有变量、符号常量、数组、标号、过程与函数、记录、文件等数据都必须在说明部分进行定义(或称“说明”)。
也就是说,不允许使用未说明先使用。
⑵执行部分的作用是通知计算机执行指定的操作。
如果一个程序中不写执行部分,在程序运行时计算机什么工作也不做。
因此,执行部分是一个PASCAL程序的核心部分。
执行部分以“begin”开始,以“end”结束,其间有若干个语句,语句之间以分号隔开。
执行部分之后有一个句点,表示整个程序结束。
4、PASCAL程序的书写方法比较灵活。
应以程序结构清晰、易读为目的。
在编写程序时尽量模仿本书中例题程序格式。
5、在程序中,一对大括号间的文字称为注释。
注释的内容由人们根据需要可用英语书写。
注释可以放在任何空格可以出现的位置。
执行程序时计算机对注释不予理睬。
6、保留字后不加标点符号(END除外)。
四、TurboPascal语言系统的使用
下面我们就学习常用的TurboPascal7.0系统的使用。
1、系统的启动
在运行系统目录下的启动程序TURBO.EXE,即可启动系统。
屏幕上出现如图1所示的集成环境。
2、TurboPascal系统集成环境简介
最顶上一行为主菜单。
中间蓝色框内为编辑窗口,可进行程序的编辑。
最底下一行为提示行,显示出系统中常用命令的快捷键。
3、新建程序窗口
按F10进行主菜单,选择File菜单,执行其中New命令。
就可建立一个新的程序窗口(默认文件名为Noname00.pas或Noname01.pas等)。
4、程序的输入、编辑与运行
在当前程序窗口中,一行一行的输入程序。
事实上,程序窗口是一个全屏幕编辑器。
所以对程序的编辑与其它编辑器的编辑方法类似,这里不再重复。
当程序输入完毕之后,一般要先按Alt+F9(或执行compile菜单中compile命令)对程序进行编译。
如果程序有语法错误,则会在程序窗口的第一行处显示第一个红色错误信息。
若无语法错误,则窗口正中央会出现一个对话框,提示编译成功。
接下来,我们可以运行程序了。
程序的运行可以通过按ALT+R打开RUN菜单中的RUN命令,或直接按快捷键CTRL+F9。
则可以在用户窗口中输出运行结果。
通常在程序运行结束后系统回到Pascal系统的集成环境,因此要查看运行结果,要按ALT+F5将屏幕切换到用户屏幕。
5、程序的保存与打开
当我们想把程序窗口中的程序存入磁盘时,可以通过按F2键(或执行File菜单中的save命令)来保存程序。
第一次保存文件时屏幕上会出现一个对话框要求输入文件名(默认扩展名为.pas)。
当我们要将磁盘上的程序文件中的PASCAL程序装入窗口时,可按F3(或执行File菜单中的Open命令)来装入程序,此时系统也会弹出一个对话框要求输入要打开的文件名,或直接在文件对话框列表中选择所要的文件,然后回到打开文件。
第二讲数据类型、表达式、函数
一、数据类型
整数类型integer-32768~32767
短整型shortint-128~127
长整型longint-2147483648~2147483647
字节型type0~255
字型word0~65535
实数型real:
包括正实数、负实数和实数零。
实数的绝对值在1E-38到1E+38之间。
形式有两种:
⑴十进制表示法
人们日常使用的带小数点的表示方法。
如0.0,-0.0,5.61,-8.0,等都是实数形式。
⑵科学记数法
科学记数法是采用指数形式的表示方法,如1.25×
105可表示成1.25E+05。
在科学记数法中,字母“E”表示10这个“底数”,而E之前为一个十进制表示的小数,称为尾数,E之后必须为一个整数,称为"
指数"
。
如-1234.56E+26,0.268E-5,1E5是合法形式,而.34E12,2.E5,E5,E,1.2E+0.5都不是合法形式的实数。
和整数相比,实数能表示的范围大得多,但值得注意的是实数的运算整数的运算速度慢且无法像整数那样精确表示,只能近似表示。
如2.03.0比23的运算慢。
字符型char括在两个单引号中的字符:
’a’表示字符;
a表示标识符,’3’表示字符;
3表示整数值
布尔型boolean
布尔型有两个值,真和假,分别用标准常量名true和false表示,序号分别为1和0。
二、常量
在程序运行过程中,其值不能被改变的量称为常量。
如12,14.8,'
abc'
,true等。
Pascal中有一个标准标识符Maxint,它代表所使用的计算机系统允许的最大整型数,而最小的整型数即为-Maxint-1。
TurboPascal还定义了长整数常量MaxLongInt,其值为2147483647。
字符常量:
是由字符组成,所有字符来自ASCII字符集,共有256个字符。
在程序中,通常用一对单引号将单个字符括起来表示一个字符常量。
如:
'
a'
,'
A'
0'
等。
对于ASCII字符集中,按每个字符在字符集中的位置,将每个字符编号为0-255,编号称为对应字符的序号。
符号常量:
一个常量即可以直接表示(称为直接常量,如124,156.8),也可以用一个标识符来代表一个常量,称为“符号常量”。
但符号常量必须在程序中的说明部分先定义,后使用。
定义符号常量的一般格式:
CONST<
常量标识符>
=<
常量>
说明:
常量说明部分以关键字const开头,后面的标识符为常量标识符,其中"
="
号后的常量为整数、实数、字符、字符串。
例如:
const
pi=3.14159;
zero=0;
varr,s,c:
则在程序中pi和zero作为符号常量,分别代表实数3.14159和整数0。
也就是说,常量说明部分既定义了常量名及其值,又隐含定义了常量的类型。
Pi(function函数)为3.1415926535897932385
三、变量
变量代表了一个存储单元,其中的值是可变的,故称为变量。
即在程序运行过程中,其值可以改变的量,称为变量。
变量有三个要素是:
变量名、变量类型、变量值。
一个程序中可能要使用到若干个变量,为了区别不同的变量,必须给每个变量(存贮单元)取一个名(称为变量名),该变量(存贮单元)存放的值称为变量的值,变量中能够存放值的类型为变量的类型。
1、变量名
用一个合法的标识符代表一个变量。
如m,rot,total等都是合法变量名。
在程序中用到的变量必须在说明部分加以说明。
“自定义标识符”的命名规则为:
自定义标识符必须以字母(包含下划线"
_"
)开头,后面的字符可以是字母或数字。
标识符长度不超过63个字符。
变量名应遵循自定义标识符的命名规则,并注意“见名知义”的原则,即用一些有意义的单词作为变量名。
2、变量的类型
常量是有类型的数据,变量在某一固定时刻用来存放一个常量,因此也应有相应的类型。
如整型变量用来存放整数,实型变量用来存放实数。
3、变量说明
在程序中若要使用变量,变量的名称及类型在程序的变量说明部分加以定义,变量的值则在程序的执行部分中才能赋给。
变量说明的一般格式:
VAR<
变量标识符>
[,<
]:
<
类型>
;
(中括号内部分表示可省)
其中VAR是pascal保留字,表示开始一个变量说明段,每个变量标识符或由逗号隔开的多个变量标识,必须在它的冒号后面说明成同一类型。
一个程序中,可以说明许多不同类型的变量,每种类型变量之间用分号隔开,共用一个VAR符号。
varage,day:
integer;
average:
其中,Integer(整型)、Real(实型)是标准标识符,它们是“类型标识符”,代表了确定的类型,如age和day被定义为整型变量,average被定义为实型变量。
一旦定义了变量,就确定了它的类型,也就是说,就确定了该变量的取值范围和对该变量所能进行的运算。
四、表达式
表达式的定义
pascal语言中的算术表达式是由符合pascal语法规定的运算对象(包括常量、变量、函数)、算术运算符、圆括号组成的有意义的式子。
A+3.14159*5/8.4-Abs(-13)
1、算术运算符
常用的有以下6个算术运算符:
+、-、*、 /(实数除)得到结果为实型.如5.0/2.0=2.5,5/2=2.5,4/2=2.0而不等于2。
div(整除)div它要求除数和被除数均为整型,结果也为整型。
如10div3=3,5div10=0,-15div4=-3。
div运算只取商的整数部分,参与div运算的两个对象不能为实型。
mod(求余),也只能用于整数运算,结果为整数。
10mod4=2,-17mod4=-1,
4mod(-3)=1,-4mod3=-1,即amodb=a-(adivb)*b。
2、关系运算符:
>
、<
、>
=、<
=、=、<
>
3、逻辑运算符:
NOT、AND、OR
4、运算优先顺序
如果一个表达式里出现两个或两个以上的运算符,则必须规定它们的运算次序。
PASCAL语言规定运算优先级如下:
①表达式中相同优先级的运算符,按从左到右顺序计算
②表达式中不同优先级的运算符,从高到低进行计算
③括号优先级最高,从内到外逐层依次降低
④not优先级为4
⑤*、/、div、mod、and优先级为3
⑥+、-、or优先级为2
⑦=、<
=、in优先级为1
五、标准函数
学习标准函数要注意:
每个标准函数对自变量的数据类型都有一定的要求,函数经过运算后得到的函数值的类型也是一定的。
函数值的类型关系到该函数能够参加的运算。
函数也可做自变量。
1、算术运算函数函数
绝对值函数abs(x)abs(-10)=10
平方值函数sqr(x)sqr(4)=16
平方根值函数sqrt(x)sqrt(4)=2
2、逻辑判断函数
奇数函数odd(x)integerBooleanodd(-11)=true,odd(10)=false
3、转换函数
截尾函数trunc(x)realintegertrunc(3.7)=3,trunc(-7.9)=-7
舍入函数round(x)realintegerround(12.7)=13,round(12.4)=12
round(-5.7)=-6
序数函数ord(x)函数值为字符在ASCII中的序号ord(‘a’)=97,
ord(‘0’)=48,ord(true)=1
字符函数chr(x)x表示ASCII中的序号函数值为该序号代表的字符值。
chr(48)=’0’,chr(32)=’’
4、顺序函数
前驱函数pred(x)pred(5)=4,pred(‘b’)=’a’,pred(true)=false
后继函数succ(x)succ(5)=6,succ(‘A’)=’B’
第三讲赋值语句
一、赋值语句
变量既然代表一个存储单元,其值是可变的,那么怎么赋值的,又是怎么改变的呢?
可以通过赋值语句来进行。
1、赋值语句的格式
变量名:
=表达式;
其中“:
=”称为赋值号。
2、执行过程
计算机先计算赋值号右边表达式的值,然后将表达式的值赋给变量。
A:
=9*8-2;
A:
=A+1
注意:
1、赋值号与比较关系符是不同的两个符号,
2、赋值号两边的数据类型必须相容
3、变量在程序中如没有赋值,数值变量的值为0。
例1:
下列赋值语句那些是错的?
错在哪里?
(var:
x,y,z,a:
integer;
)
①x:
=x+y②x=y+z③x+y:
=z
例2:
写出下列程序的运行结果
vara,b,c:
begin
a:
=5;
b:
=8;
c:
=a;
a:
=b;
=c;
writeln('
a=’,a,’'
’b=’,b)
end.
思考题:
如果不引入第三个中间变量,能否交换两个变量的值?
编程序试一试。
学习两个过程:
①inc(x,n)等价于x:
=x+n②dec(x,n)等价于x:
=x-n
inc(x)等价于x:
=x+1dec(x)等价于x:
=x-1
第四讲输出语句
输出语句
输出语句的作用是先计算表达式的值,并按指定的格式输出到屏幕。
1、输出语句的两种格式
①write语句
格式:
Write(表达式1,表达式2,……);
如:
write(1,2,3,4);
write('
MynameisLiping'
);
②writeln语句
格式:
Writeln(表达式1,表达式2,……)或writeln
2、输出语句的功能
计算机执行到某一输出语句时,先计算出输出语句中的每个表达式的值,并将每一个表达式的值一个接一个地输出到屏幕上。
Write语句与writeln语句功能基本相同,但有两点不同:
①write语句将其后括号中的表达式一个接一个输出后,没有换行。
而writeln语句则在输出各个表达式的值后换行。
②write语句至少必须输出一项内容,而writeln语句允许不输出任何内容,只是换行。
write(x,y);
等价于write(x);
write(y);
writeln(x,y);
不等价于writeln(x);
writeln(y);
等价于write(x);
例1、以下两个程序段的输出分别为:
①write(1,2,3,4);
write(5,6);
②writeln(1,2,3,4);
输出为:
1234561234
56
有三个小朋友甲乙丙。
甲有50粒糖果,乙有43粒糖果,两有13粒糖果。
现在他们做一个游戏。
从甲开始,将自己的糖分三份,自己留一份,其余两份分别给乙与丙,多余的糖果自己吃掉,然后乙与丙也依次这样做。
问最后甲、乙、丙三人各有多少粒糖果?
分析:
在游戏中每个小朋友拥有的的糖果数是在变化的,用a,b,c三个变量分别存放甲乙丙在某一时刻所拥有的糖果数。
对于每人,分糖后,他的糖果数一定为原来的糖果数div3(用整除恰可以表示多余的糖自己吃掉)。
而其他两人则增加与这个小朋友现在拥有的糖果数。
程序如下:
varA,B,C:
begin
A:
=50;
B:
=43;
C:
=13;
{初始糖果数}
=Adiv3;
=B+A;
=C+A;
{甲分糖果后,每个人拥有的糖果数变化情况}
B:
=Bdiv3;
=A+B;
=C+B;
{乙分糖果后,每个人拥有的糖果数变化情况}
C:
=Cdiv3;
=A+C;
=B+C;
{丙分糖果后,每个人拥有的糖果数变化情况}
writeln('
A='
A,'
B='
B,'
C='
C);
3、输出格式:
数据的输出格式很重要,输出的数据所占的列数为场宽。
Ø
输出项中无指定格式符号,则按标准场宽输出,integer实际长度,real17列,char串长。
单场宽(输出整数时自定义)格式:
e:
n1n1是正整数,表示e输出时所占的列数。
双场宽(输出实数时自定义)格式:
n1:
n2n1,n2是正整数,且n1>
n2,n1输出总列数含符号位、整数部分、小数点、小数部分,n2小数部分的列数。
数据不突破场宽限制时,单场宽一律向右看齐,双场宽实数向小数点看齐,多余的小数位补0。
数据实际位数超过场宽时,以保证数据的正确输出为原则。
单场宽时自动将n1扩展到所需位数,双场宽时自动将n1扩展到所需位数,n2小于实际的小数位数时,则舍去多余的位数,内存中仍保留该数的精确值。
例3、写出下列程序的运行结果:
consts='
abcd'
vari:
r:
char;
Boolean;
i:
=1234;
=123.456;
='
*’;
=true;
writeln(i,i:
5,i:
3);
writeln(r,r:
8:
4,i:
2);
writeln(c,c:
4);
writeln(s,s:
8,s:
writeln(b,b:
5,b:
3)
运行结果
123412341234
1.2345600000E+02123.4560123.46
**
abcdabcdabcd
TRUETRUETRUE
第五讲输入语句
读语句
read(变量名表);
readln[(变量名表)];
语义:
从键盘输入数据,依次赋值给相应变量。
变量名表为一串用逗号分隔的变量标识符。
数值型数据之间用空格或回车键分隔,最后一定要回车,表示输入完毕。
例4、设a,b,c为整型变量;
如需将a,b,c的值分别赋以10,20,30,写出对应read(a,b,c);
语句的所有可能输入格式。
键盘输入①102030↓②1020↓③10↓④10↓
30↓2030↓20↓
30↓
如将read(a,b,c)改为readln(a,b);
readln(c);
而达到本例同样的输入目的,上面哪些输入格式是有效的。
read语句是一个接一个地读数据,在执行完本Read语句(读完本语句中变量所需的数据)后,下一个读语句接着从该数据输入行中继续读数据,也就是说,不换行。
read(a,b);
read(c,d);
read(e);
如果输入数据行如下:
1□2□3□4□5□6□↓↓表示回车键
Read后一定要有变量名表,readln可以没有输入项,只是读一个回车换行符。
例5、设有下列语句(所有变量为整型)
read(a,b,c);
readln(d,e);
readln;
readln(f,g);
设输入文件input中的数据如下:
1□2↓
3□4□5□6□7□8↓
9□10↓
11↓
12□13↓
分析:
可以假设有一个数据指针,每读一个数据后,指针指向后一个数据,每执行一个readln语句后,指针移到下一个数据行的开头。
变量值为:
abcdefg
123451112
read(a,b);
read(c);
相当于readln(a,b);
read(c)
read(a);
readln(b,c);
相当于readln(a,b,c);
read(b);
相当于read(a,b);
但是:
readln(a);
readln(b);
不
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Pascal 语言 基础