Pascal语言教程.docx

上传人:b****3 文档编号:10214223 上传时间:2023-05-24 格式:DOCX 页数:57 大小:41.57KB
下载 相关 举报
Pascal语言教程.docx_第1页
第1页 / 共57页
Pascal语言教程.docx_第2页
第2页 / 共57页
Pascal语言教程.docx_第3页
第3页 / 共57页
Pascal语言教程.docx_第4页
第4页 / 共57页
Pascal语言教程.docx_第5页
第5页 / 共57页
Pascal语言教程.docx_第6页
第6页 / 共57页
Pascal语言教程.docx_第7页
第7页 / 共57页
Pascal语言教程.docx_第8页
第8页 / 共57页
Pascal语言教程.docx_第9页
第9页 / 共57页
Pascal语言教程.docx_第10页
第10页 / 共57页
Pascal语言教程.docx_第11页
第11页 / 共57页
Pascal语言教程.docx_第12页
第12页 / 共57页
Pascal语言教程.docx_第13页
第13页 / 共57页
Pascal语言教程.docx_第14页
第14页 / 共57页
Pascal语言教程.docx_第15页
第15页 / 共57页
Pascal语言教程.docx_第16页
第16页 / 共57页
Pascal语言教程.docx_第17页
第17页 / 共57页
Pascal语言教程.docx_第18页
第18页 / 共57页
Pascal语言教程.docx_第19页
第19页 / 共57页
Pascal语言教程.docx_第20页
第20页 / 共57页
亲,该文档总共57页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Pascal语言教程.docx

《Pascal语言教程.docx》由会员分享,可在线阅读,更多相关《Pascal语言教程.docx(57页珍藏版)》请在冰点文库上搜索。

Pascal语言教程.docx

Pascal语言教程

Pascal语言教程

Pascal语言教程:

概述与预备知识

1、关于TurboPascal

Pascal是一种计算机通用的高级程序设计语言。

它由瑞士NiklausWirth教授于六十年代末设计并创立。

以法国数学家命名的Pascal语言现已成为使用最广泛的基于DOS的语言之一,其主要特点有:

严格的结构化形式;丰富完备的数据类型;运行效率高;查错能力强。

正因为上述特点,Pascal语言可以被方便地用于描述各种算法与数据结构。

尤其是对于程序设计的初学者,Pascal语言有益于培养良好的程序设计风格和习惯。

IOI(国际奥林匹克信息学竞赛)把Pascal语言作为三种程序设计语言之一,NOI(全国奥林匹克信息学竞赛)把Pascal语言定为唯一提倡的程序设计语言,在大学中Pascal语言也常常被用作学习数据结构与算法的教学语言。

在Pascal问世以来的三十余年间,先后产生了适合于不同机型的各种各样版本。

其中影响最大的莫过于TurboPascal系列软件。

它是由美国Borland公司设计、研制的一种适用于微机的Pascal编译系统。

该编译系统由1983年推出1.0版本发展到1992年推出的7.0版本,其版本不断更新,而功能更趋完善。

下面列出TurboPascal的编年史:

年代版本名称主要特色

1983TurboPascal1.0

TurboPascal2.0

Turbo-87Pascal提高实数运算速度并扩大值域

1985TurboPascal3.0增加图形功能

TurboBCDPascal特别适合应用于商业

1987TurboPascal4.0提供集成开发环境(IDE),引入单元概念1988TurboPascal5.0增加调试功能

1989TurboPascal5.5支持面向对象的程序设计(OPP)

提供面向对象的应用框架和库(Turbo1990TurboPascal6.0Vision)

1992TurboPascal7.0面向对象的应用系统、更完善的IDE

TurboVision2.0

BorlandPascal1993开发ObjectWindows库7.0

(ForWindows)提供对OLE多媒体应用开发的支持

1995DelphiVisualPascal

TurboPascal语言是编译型程序语言,它提供了一个集成环境的工作系统,集编辑、编译、运行、调试等多功能于一体。

2.Pascal的启动

a.DOS下的启动(适用于MS-DOS6.22之前的版本或Win9X&Win2000的Command

Mode)

DOS环境,在装有TurboPascal的文件目录下,键入turbo即可进入TurboPascal集成环境。

b.Win9X或Win2000模式下的启动(适用于TurboPascal3.0以后的版本)

如果在Win9X或Win2000的“资源管理器”装有TurboPascal的目录中,双击turbo.exe或在“开始--程序”菜单中通过MS-DOS方式来运行turbo.exe,它会提示你“该程序设置为MS-DOS方式下运行,并且其它程序运行时,无法运行它。

如果选择继续所有其它程序将关闭”,所以在Win9X或Win2000下无法直接运行它,这时你可以在你希望的地方(比如说桌面上)单击鼠标右键“新建--快捷方式”,单击“浏览”,找到turbo.exed选中,然后单击“打开”,再单击“下一步”,再单击完成;这还没完,选中前面新建的快捷方式(应该叫TurboPascal吧),单击右键,单击“属性”,选择“程序”,然后再单击“高级”,把“MS-DOS方式”前面的那个勾去掉,也就是不要选“MS-DOS方式”,然后单击“确定”,再单击“确定”就大功告成了,以后你运行TurboPascal的时候,只要双击那个你建立起的快捷方式就可以直接在Win9X或Win2000下运行Turbo

Pascal。

章开始编写pascal语言程序第一

1.1Pascal编辑环境

1.下载TurboPascal6.0

(1)下载turbopascal

(2)属性设置

2.TurboPascal6.0环境介绍

(1)进入与退出(注意:

退出时必须使用文件菜单中的退出命令或Alt+X)

(2)编辑程序

光标移动键的使用

Backspace键:

删除光标前一个字符

Ctrl+N:

在光标前插入一行

Ctrl+Y:

删除光标所在行

Home:

光标移到行首

End:

光标移到行尾

PageUp/PageDown:

上下翻页

Insert:

插入与改写状态切换

(3)编译程序(Compile):

Alt+F9

(4)运行程序(Run):

Ctrl+F9

(5)保存程序(Save):

F2

(6)打开原有的程序:

F3

(7)查看程序运行结果:

Alt+F5

(8)调试时增加观察项:

Ctrl+F7

1.2简单Pascal程序的结构

例1下列是一Pascal源程序:

programlt1;{程序首部}

var{说明部分}

a,b:

integer;

sum:

integer;

begin{执行部分}

a:

=3355;

b:

=789;

sum:

=a+b;

writeln('sum=',sum);

end.

1.3完整的Pascal程序结构

一个完全的Pascal程序结构

program程序名;

uses已知单元说明;label标号说明;const常量说明;type类型说明;

var变量说明;

function函数说明;procedure过程说明;begin

语句;

语句;

„„

语句;

end.

作业:

1.熟悉Pascal编辑环境.2.记住快捷键的使用.3.编写78*67的值的Pascal程序并运行.

第二章Pascal语言基础知识

2.1Pascal字符与符号

1(标识符

(1)标识符的定义:

标识符就是以字母开头的字母数字序列,有效长度为63个字符,并且大小写等效。

可以用来标示常量、变量、程序、函数等。

例如例1.1中的Area(程序名),pi(符号常量),s、r(变量名)都是标识符。

(2)标识符的分类:

a.保留字(关键字)

所谓保留字是指在Pascal语言中具有特定的含义,你必须了解它的含义,以便于正确的使用,否则会造成错误。

标准Pascal语言中的保留字一共有35个,TurboPascal语言一共有51个。

下面是Pascal语言的保留字:

AND,ARRAY,BEGIN,CASE,CONST,DIV,DO,DOWNTO,ELSE,END,FILE,FOR,FUNTION,GOTO,IF,IN,LABEL,MOD,NIL,NOT,OF,OR,PACKED,PROCEDURE,PROGRAM,RECORD,REPEAT,SET,THEN,TO,TYPE,UNTIL,VAR,WHILE,WITH等

b.标准标识符:

指Pascal语言预先定义的标识符,具有特殊含义。

以下列举了TurboPascal语言部分常用的标准表识符:

标准常量FalseMaxintTrue

标准类型BooleanCharRealInteger标准函数AbsArctanChrCosEofEolnExp

LnOddOrdPredRoundSinSqr

SqrtSuccTrunc

标准过程DisposeGetNewPackPagePutRead

ReadlnResetRewriteUnpackWriteWriteln

标准文件InputOutput

c(用户自定义标识符:

由你自己根据需要来定义。

(1)选用的标识符不能和保留字相同。

(2)语法上允许预定义的标准标识符作为你自己定义的标识符使用,但最好还是不要用。

以下列举了你自己在定义标识符时可以用的字符:

A——Z;a——z;0——9;+,-,*,/,=,<>,<=,>=,<,>,(,),[,],{,},:

=,,,;,.,:

,..,',^

2.2Pascal数据类型

数据是程序设计的一个重要内容,其重要特征----数据类型,确定了该数据的形、取值范围以及所能参与的运算。

TurboPascal提供了丰富的数据类型,这些数据类型可以分为三大类:

简单类型、构造类型和指针类型,其中简单类型可以分为标准类型(整型、实型、字符型和布尔型)和自定义类型(枚举型和子界型),构造类型可以分为数组类型、集合类型、记录类型和文件类型。

这些数据类型中除了指针类型是动态数据类型外,其他的都是静态数据类型。

在这些数据类型中的简单类型都是有序类型,除了实型以外的简单类型都是顺序类型,所谓顺序类型就是他们的值不仅是有序的而且是有顺序号。

在这里主要介绍整型、实型、字符型和布尔型四种常用的数据类型。

1.整型

一个整型数据用来存放整数。

TurboPascal支持五种预定义整型,它们是shortint(短整型)、integer(整型)、longint(长整型)、byte(字节型)和word(字类型),TurboPascal分别用相同的名字作为他们的标识符。

每一种类型规定了相应的整数取值范围以及所占用的内存字节数。

类型数值范围占字节数格式

shortint-128..1281带符号8位

inteter-32768..327672带符号16位

longint-2147483648..21474836474带符号32位

byte0..2551带符号8位

word0..655352带符号16位

TurboPascal规定了两个预定义整型常量标识符maxint和maxlonint,他们各表示确定的常数值,maxint为32767,longint为2147483647,他们的类型分别是integer和longint

2.实型

一个实型数据用来存放实数。

TurboPascal支持五种预定义实型,它们是real(基本实型)、single(但精度实型)、double(双精度实型)、extended(扩展实型)、comp(装配实型),TurboPascal分别用相同的名字作为他们的标识符。

每一种类型规定了相应的实数取值范围、所占用的内存字节数以及它们所能达到的精度

类型数值范围占字节数有效位数

real2.9e-39..1.7e38611..12

single1.5e-45..3.4e3847..8

double5.0e-324..1.7e308815..16

TurboPascal支持两种用于执行实型运算的代码生成模式:

软件仿真模式和80x87浮点模式。

除了real可以在软件仿真模式下直接运行以外,其他类型必须在80x87浮点模式下运行。

3.布尔型

一个布尔型数据用来存放逻辑值(布尔值)。

布尔型的值只有两个:

false和true,并且false的序号是0,true的序号是1。

false和true都是预定义常数标识符,分别表示逻辑假和逻辑真。

并且true

boolean是布尔型的标识符。

4.字符型

字符型用char作为标识符。

字符型必须用单引号括起来,字母作为字符型时,大小写是不等价的,并且字符型只允许单引号中有一个字符,否则就是字符串。

2.3常量与变量

1.常量

(1)常量:

在某个程序的整个过程中其值不变的量。

(2)常量定义:

常量定义出现在说明部分。

它的语法格式是:

const

<常量标识符>=<常量>;

...

<常量标识符>=<常量>;

常量标识符的类型由定义它的常量的类型决定。

例如:

consta=12隐含说明a是整型;constr=3.21隐含说明r是实型......

(3)常量定义部分必须以保留字const开头,可以包含一个或几个常量定义,而且每个常量均以分号结束。

(4)TurboPascal类型常量

类型常量,又称变量常数,它是TurboPascal的一个扩充特性。

类型常量的定义与标准Pascal规定的常数定义和变量说明有所区别。

类型常量定义的语法格式:

const

<简单类型常量标识符>:

简单类型=常数;

例如:

const

counter:

integer=0;

flag:

boolean=true;

index:

0..100=0;

2.变量

(1)变量:

在某个程序中的运行过程中其值可以发生改变的量

(2)变量说明:

变量说明出现在说明部分。

它的语法格式是:

var

类型>;<变量标识符列表>:

<

...

<变量标识符列表>:

<类型>;

其中,保留字var表示开始一个变量说明部分。

变量标识符列表是一个用逗号隔开的标识符序列,冒号后面的类型是类型标识符。

每个变量说明均以分号结束。

例如:

var

a,b,c:

integer;

m,n:

real;

2.4标准函数

1.算术函数

函数标识符自变量类型意义结果类型

abs整型、实型绝对值同自变量

arctan整型、实型反正切实型

cos整型、实型余弦实型

exp整型、实型指数实型

frac整型、实型小数部分实型

int整型、实型整数部分实型

ln整型、实型自然对数实型

pi无自变量圆周率实型

sin整型、实型正弦实型

sqr整型、实型平方同自变量

sqrt整型、实型平方根实型

例:

abs(-4)=4abs(-7.49)=7.49arctan(0)=0.0

sin(pi)=0.0cos(pi)=-1.0frac(-3.71)=-0.71

int(-3.71)=-3.0sqr(4)=16sqrt(4)=2

2.标准函数

函数标识符自变量类型意义结果类型

odd整型判断奇数布尔型

pred离散类型求前趋同自变量

succ离散类型求后继同自变量

例:

odd(1000)=falsepred(2000)=1999succ(2000)=2001

odd(3)=truepred('x')='wsucc('x')='y'

3.转换函数

函数标识符自变量类型意义结果类型

chrbyte自变量对应的字符字符型

ord离散类型自变量对应的序号longint

round实型四舍五入longint

trunc实型截断取整longint

例:

chr(66)='B'ord('A')=65round(-4.3)=-5trunc(2.88)=2

4.杂类函数

函数标识符自变量类型意义结果类型

random无自变量[0,1间的随机实数real

randomword[0,自变量间的随机整数)word

randomize无自变量初始化内部随机数产生器longint

upcase字符型使小写英文字母变为大写字符型

downcase字符型使小写英文字母变为大写字符型2.5运算符和表达式

1.运算符和优先级

(1)运算符

是实型,如果全部的运算对象都是整型并且运算不是除法,则结果为整型,若运

a.算术运算符算是除法,则结果是实型

运算符运算运算对象结果类型

+加整型、实型只要有一个运算对象是实型,结果就

-减整型、实型是实型,如果全部的运算对象都是整

*乘整型、实型型并且运算不是除法,则结果为整型,

/除整型、实型若运算是除法,则结果是实型。

div整除整型整型

mod取余整型整型

b.逻辑运算符

运算符运算运算对象结果类型

not逻辑非布尔型布尔型

and逻辑与布尔型布尔型

or逻辑或布尔型布尔型

xor逻辑异或布尔型布尔型

c.关系运算符

运算符运算运算对象结果类型

=等于简单类型布尔型

<>不等于简单类型布尔型

<小于简单类型布尔型

>大于简单类型布尔型

<=小于等于简单类型布尔型

>=大于等于简单类型布尔型

(2)优先级

运算符优先级

not1(高)

*,/,div,mod,and2xor,+,-,or3

in,=,<>,>=,<=,<>4(低)

2.表达式

(1)算术表达式:

算术表达式是由算术运算符连接常量、变量、函数的式子。

算术表达式中各个运算符的次序为:

()-->函数-->*,/,div,mod-->+,1

(2)布尔表达式:

TurboPascal提供给布尔表达式以下基本操作:

逻辑运算和关系运算。

(3)数学上的表达式与pascal语言表达式的区别

数学表达式PASCAL表达式注意

2a2*a*号不能省略

a?

ba/b除号的写法

a?

ba<>b不等号的写法

a?

ba<=b小于等于号的写法

思考与练习:

1、熟记Pascal的保留字和标准标识符,明确自定义标识符的定义要点。

2、取整函数int与截断取整函数trunc有什么区别,举例说明。

3、判断以下标识符的合法性:

a33aa17abcdex9.5αβλ

5、将下列的数学表达式改写成PASCAL表达式:

b^2-4ac

6、求下列表达式的值:

20mod1915mod97div819div3

(4>5)and(7<8)

(8>9)or(9<10)

2and((3=3)or(3<7))pascal程序实现文件的读取与写入例程

programfiles(input,output);var

a,b:

integer;

begin

assign(input,'files.in');

assign(output,'files.out');

reset(input);

rewrite(output);

readln(a);

readln(b);

c:

=a+b;

close(input);

writeln(c);

close(output);

end.

第三章顺序结构程序设计

3.1赋值语句

PASCAL有两个语句可以改变变量的值。

赋值语句是其中之一(另一个是读语句)。

赋值,顾名思义,就是把一个值赋予某个量。

可以这理解:

变量相当于装东西的容器,赋值的过程就是把东西放进容器的过程。

赋值语句格式如下:

变量:

=表达式;

写赋值语句有以下几点要注意:

1、赋值号“:

=”

赋值号由两个字符构成,是一个运算符。

如果把这两个字符拆开,那么这两个字符就是别的意思了:

“:

”是分隔符而“=”是关系运算符,判定两个对象是否相等。

刚刚写程序的同学要特别注意这一点。

例:

a,b:

integer;——是一个说明语句。

“:

”是变量表和变量类型的分隔符

a=b——是一个表达式。

它的值是一个布尔类型的量:

TRUE或FALSE

a:

=3;——是一个语句。

把整型常量值3赋给整型变量a

2、变量要先说明

在赋值号左边出现的变量,要在程序头的说明部先加以说明,否则编译时出错。

3、表达式必须要有确定的值

赋值号右边出现的表达式,必须是可以求值的。

也就是说,经过运算之后,能得出一个具体的、确定的值出来。

大家想一想,如果连表达式自己都不知道自己的值是多少,怎么还能把值“赋予”别人呢,

4、赋值号两边的数据类型必须相同或相容

我们知道,PASCAL中的量不管是变量还是常量都有一个属性称为“数据类型”。

数据类型相同的或相容的才可以相互赋值。

怎么来理解这句话呢,打个比方,我们沏功夫茶用的是小茶杯,装饭时用饭碗。

如果用饭碗来泡功夫茶,用小茶杯来装饭,那情形一定很滑稽而且是不可行的。

回到PASCAL中来,赋值号左边变量如果是整型,右边表达式的值的类型也要是整型;赋值号左边变量如果是字符型,右边表达式的值的类型也要是字符型„„否则的话,也要出错了。

这是数据类型相同的情况。

对于数据类型相容的,我们也可以用一个例子来帮助理解。

我们都喝过功夫茶,也喝过大杯茶。

把功夫茶倒在大茶杯里,一般不会出什么问题;但如果把大杯里的茶倒在功夫茶杯里呢,可能小茶杯装不下大茶杯里的茶,茶“溢出”了。

在PASCAL中也会出现这种情况。

当一种数据类型的取值范围包含着另一种数据类型的取值范围时,就可能出现类型相容的情况。

如实型与整型,整型、字符型与它们各自的子界类型„„如果把整型值赋给实型变量,把整型子界值赋给整型变量,不会出错;但如果反过来,就会出现“溢出”,出错了。

因些,我们在写赋值语句时,要注意两边的类型是否匹配。

例:

有程序如下:

vara,b:

integer;c:

real;d:

0..100;

begin

a:

=100;

b:

=a;

{-------------以上是相同数据类型进行赋值}

d:

=100;

b:

=d;

c:

=b;

{-------------以上是相容数据类型进行赋值}

d:

=b;

a:

=c;

{-------------以上两个赋值语句都出现溢出,编译时出错}

end.

3.2读语句

读语句(read语句)和赋值语句一样,能够改变变量的值。

与赋值语句不同,读语句从键盘或文件接收值赋予变量,而赋值语句则直接由程序语句获得。

读语句格式如下:

read(变量名表);

readln(变量名表);

readln;

读语句是编程中用得最多的语句之一。

在使用时有几点要注意:

1、变量名表。

写在括号中的变量,都要在变量说明中先预以说明;变量与变量之间,以“,”分隔;

例:

vara,b:

integer;

read(a,b);

2、从键盘接收数据时,要注意各种不同数据类型数据的分隔符不同。

所谓分隔符就是两个完整的数值之间的标记,也可以这样理解,当计算机从键盘读入数据时,一旦碰到分隔符,就认为当前的数据读入已完成,可以把它赋给相应的变量了。

各种数据类型的分隔符如下:

数值型(包括整型、实型以及它们的子界类型)以空格或回车符作为分隔符;

字符型不需分隔符(因为字符型数据的长度固定,只有一个);

字符串以回车符作为分隔符。

3、注意read与readln的区别

例:

有两段程序有相同的变量说明如下,不同的读语句,我们可以通过比较它们执行结果的异同来理解read与readln的区别。

执行结果变量说var

明a,b,c,d:

integer;abcd

程序段read(a);1236

一readln(b,c);

read(d);

readln(a);

程序段

read(b,c);1678

read(d)

输入数

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2