没有合适的资源?快使用搜索试试~ 我知道了~
PASCAL语言基础.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 124 浏览量
2022-06-21
16:09:11
上传
评论
收藏 363KB DOC 举报
温馨提示
试读
49页
PASCAL语言基础.doc PASCAL语言:最适合科学计算、数据处理的语言,运行、编译速度最快,从TURBO PASCAL 5 .5, 6.0, 7.0一直到现在的WINDOWS环境下的DELPHI以及LAZARUS等面向对象的PASCAL,以及目前信息学竞赛使用的FREE PASCAL各个版本。
资源推荐
资源详情
资源评论
第 1 页 共 49 页
PASCAL 语言基础
第一章、 什么是计算机语言
计算机语言是计算机软件中非常独特的一部份,它属于系统软件,但又和应用软件息息相关。
它的作用是:使人类能够用某些命令、指令去让计算机为人类进行数值、逻辑运算。计算机语言中 ,
只有一种语言是计算机能自己识别的,就是最底层、最难的机器语言,这是一般人类所无法接受的
语言,所以在此基础上,人们发展出了许多高级的语言,这些语言的共同特点是:人类无需去掌握
高深的机器语言,只要掌握这些更容易理解、更贴近人类的高级语言,用高级语言编出程序后,再
由语言解释、编译系统去把程序解释、编译成机器语言让计算机去执行。目前最常用的高级语言大
致有以下几种:
BASIC 语 言 : 是 一 般 计 算 机 入 门 者 的 首 选 语 言 , 命 令 少 , 容 易 掌 握 , 从
BASIC,BASICA,GWBASIC,TRUE BASIC,TURBO BASIC,QUICK BASIC 等一直发展到目
前的 WINDOWS 环境下的 VB。
PASCAL 语言:最适合科学 计算、数 据处理的 语言,运行、编译速度 最快,从 TURBO
PASCAL 5 .5, 6.0, 7.0 一直到现在的 WINDOWS 环境下的 DELPHI 以及 LAZARUS 等面向对象
的 PASCAL,以及目前信息学竞赛使用的 FREE PASCAL 各个版本。
C 语言:主要适用于应用软件的开发,是计算机人员的必修课,但在算法实现、建模方面不如
PASCAL 方便。从 C,C++,一直到现在的 WIONDOWS 环境下的 VC、C++等。
实际上,我们日常所用的各种软件,包括 Windows,WORD、EXCEL、各种游戏等等,全部
都是使用程序设计语言编写出来的软件,我们只有掌握了程序设计语言,才能进行计算机软件的开
发。
在我们的信息学竞赛中,所有的题目都是非常复杂的数值与逻辑运算,所以世界上广泛采用
PASCAL 语言作编程工具,我们采用的是 FREE PASCAL2.0 版本或者相近版本。
我们学习信息学竞赛除了要掌握程序设计语言,能够使用程序设计语言编写程序外,还有一部
分要掌握的更加重要的内容就是——算法设计,它能够使我们的程序运行速度更快、效率、精度更
高,使我们的程序取得快人一步的优势,算法设计在本书中我们将接触一部分。
第二章、PASCAL 语言入门
第一节、 PASCAL 语言的特点
以法国数学家命名的 PASCAL 语言是世界上使用最广泛,最有效的语言之一。其主要特点是 :
严格的结构化形式;丰富完备的数据类型;运行能力、效率高;查错能力强等等。与 BASIC、C 等
语言相比,PASCAL 语言更适合科学计算,运行速度最快,编译能力最强,编译成的可执行文件也
最小。
PASCAL 语言是编译执行的语言( BASIC 语言是解释执行),因此在速度与效率上都比
BASIC 语言提高了一个档次。所谓解释执行,是在程序环境下编写好程序后,执行它时是一句一
句地由语言解释器翻译成机器语言,由计算机去执行,计算机能在程序编辑时就发现程序中错误,
但程序运行速度慢;而编译执行是在程序环境中编写好程序后,执行时先由编译器把整个程序编译
成机器语言,然后再由计算机执行,计算机必须在编译程序时才能发现程序中的错误,但程序运行
速度快。
第二节、FREE PASCAL 的集成环境
一个题目,如果用 PASCAL 语言来解,在建立好数学模型及完成一定的自然语言描述后,就
用 PASCAL 语言来编辑出程序,编译后再运行(可以作为一个过程),这样才能得到答案。
FREE PASCAL 提供了一个功能非常强大的集成环境,我们可以利用它来完成上述所有过程。
进入这个环境的方法很多,可以根据实际情况自己进入。进入集成环境后屏幕上显示如下:
File Edit Search Run Compile Debug Tools Options Window
菜单区
1
第 2 页 共 49 页
Help
程序编辑区
F1 Help F3 Open ALT F9 Compile F9 Make ALT F10 Local Menu
功能键区
用键盘选择菜单的方法是:按 F10,激活菜单后,用光标键来选择;或是直接用 ALT 健加菜单
的第一字母,如 ALT+F,即能调出 FILE 菜单。另外,我们也可用鼠标来调用菜单,操作方法与其
它软件一样。
功能健中定义了:F1 可得到帮助;F3 打开一个已存盘的程序文件;ALT F9 编译当前程序;
F9 把当前程序编译成 EXE(可执行)文件,ALT F10 打开菜单,当然,还有一些功能键并没有在
这里显示,在后面的学习中我们将逐个涉及,大家自己也可以从菜单中发现。
第三节、一个 PASCAL 程序
一、进入编辑状态:
选择菜单[FILE][OPEN](今后涉及到菜单调用时,均以此格式表示,即选择 FILE 菜单中的
OPEN 功能)功能,打开一个程序文件,在输入文件名时,输入文件的主名即可进入程序编辑状态。
这时可用编辑功能健:
光标键:用以上下左右移动光标位置;
INSERT:插入/改写状态切换;
TAB;光标跳至下一制表位;
CAPSLOCK:大小写切换;
DELETE:删除光标位一字符;
BACKSPACE:删除光标前一字符;
CTRL+Y:删除光标处一行;
HOME:光标跳至行首;
END:光标跳至行未;
PAGEUP:上翻一页;
PAGEDOWN:下翻一页;
ENTER:回车/换行;
二、编辑一个 PASCAL 程序:
[例1、1] 输出一句话的小程序:
program Q1;
begin
writeln(‘You are welcome to the PASCAL world !’);
end.
请在编辑状态下编辑输入上述程序,第一行为程序开头,程序名(这一行并不是必须的,今后
的程序中我们会经常省略之一行);第二行 BEGIN 表示程序开始,最后一行 END 表示程序结束;
WRITELN()语句把括号中单引号中的的字符打印在屏幕上;记住,一般每行以分号“;”结束,但
END 后以句号“.”结束,而 BEGIN 后没有标点符号。即:
除 BEGIN 外,每一句 PASCAL 语句后均有分号或句号,只有程序的最后一个 END 后才用
句号,而其它任何行未都是分号!!!
三、在集成环境中运行程序:
上 述 程 序 [ 例 1 、 1] 编 辑 好 后 , 如 果 要 运 行 , 只 需 选 择 菜 单 [RUN][RUN] 命 令 ( 或
CRTL+F9),如果程序正确的,就会在屏幕(这个屏幕叫程序输出屏幕)上显示:
You are welcome to the PASCAL world !
2
第 3 页 共 49 页
但是我们看到,输出屏幕上显示的结果一闪而过就又回到了集成环境屏幕显示,我们几乎看不
到在屏幕上显示的结果,要查看刚才的屏幕显示,只需选择菜单 [RUN][USER SCREEN](或
ALT+F5),就又能回到输出屏幕,敲任意键又回到集成环境中。
如果程度出错,则程序没有被运行完就会回到集成环境中,并且光标停在错误的这一行,在编
辑窗口中的第一行还会显示出错信息,如:
Run-time error 错误代码 at 错误发生地址
四、保存文件
把当前编辑的程序文件以当前名存盘,只需运行菜单命令[FILE][SAVE](或 F2),即可。
五、关闭当前文件
当前文件不想现在再编辑了,可把它关闭掉,即运行菜单命令 [WINDOWS][CLOSE](或
ALT+F3),即可。
六、打开已有文件
欲打开一个已经存在的程序文件,运行菜单命令[FILE][OPEN](或 F3),再按 TAB 键去选
择或不按 TAB 键而直接输入文件名即可。
七、练习
在集成环境中输入以下程序,程序的作用是计算圆的面积,圆的半径由用户从键盘输入,编辑
运行正确后请存盘:
program area_of_cicle;
const pi=3.1416;
var s:real;
r:integer;
begin
writeln(‘Please input radius :’);
readln(r);
s:=pi*r*r;
writeln(‘s=’,s);
end.
运行举例:
Please input radius:
5
s=7.854000000E+01
第三章、PASCAL 语言程序基本概念
第一节、PASCAL 程序的组成
我们仍以上述程序为例:[例 2、1]
program area_of_cicle;
const pi=3.1416;
var s:real;
r:integer;
begin
writeln(‘Please input radius :’);
readln(r);
s:=pi*r*r;
writeln(‘s=’,s);
end.
每一个 PASCAL 程序都由程序头部和程序主体组成,最后以“end.”作为整个程序的结束。
3
此行可以不输入
第 4 页 共 49 页
一、程序头部
程序头部毫无疑问是在程序的开头位置,以“program”这个词开始(但经常省略这一),以第
一个 BEGIN 的前一行结束,中间每行后均有分号。
以 CONST 为开始的部分是说明程序中要用到的常量,以 VAR 为开始的部分是说明程序中要
用到的变量。即程序中要用到的所有的常量及变量,我们必需在程序首部加以说明其名称及类型。
这些我们将在稍后讲到。
二、程序主体
以第一个 BEGIN 开始,以最后一个 END 结束,中间即为程序命令行,每一行均以分号结束!
第二节、PASCAL 的数据类型
PASCAL 语言的常量与变量都必须在程序头部先加以说明,即说明常量、变量的的名称及数据
类型。PASCAL 语言的数据类型很多,最常用的有以下几种:
一、整数类型(没有小数部分)
INTEGER:取值范围[-32768,32767]。占用内存 2 个字节(16 位)。
WORD:取值范围[0,65535]。占用内存 2 个字节(16 位)。
BYTE:取值范围[0,255]。占用内存 1 个字节(8 位)。
LONGINT:取值范围[-2147483648,2147483647]。占用内存 4 个字节(32 位)。
SHORTINT:取值范围[-128,127]。占用内存 1 个字节(8 位)。
二、实数类型
REAL:取值范围[2.9E-39,1.7E+38]。占用内存 6 个字节(48 位)。
实数的表示法有两种:1、直接表示,如:-0.4576, 123.567, -234, 0
2、科学计数法,如:1.234E-4, -3.546E12
表示 1.234 乘 10 的负 4 次方;-3.546 乘 10 的 12 次方。
三、字符类型
CHAR:单字符型,即取 1 个字符,如‘A’, ‘1’。
STRING:字符串型,即多个字符,如‘ABCD!123’,‘ %¥#DS12’。
如果一个常/变量只要用到 1 个字符,则可把它定义成 CHAR 型;如果是多个字符,但不知确
切多少个,则定义成 STRING 型,如果知道确切有 N 个字符,则定义成 STRING[N]型,例如
STRING[5],则表示定义的这个字符串变量由 5 个字符组成。字符串在 PASCAL 中使用都是加上
单引号。
四、布尔型
BOOLEAN:布尔型即为逻辑型,取值为 TRUE、FALSE, 即真、假。
第三节、常量、变量、标准函数和表达式
一、常量和变量
常量:程序运行过程中,其值不会改变的量,称为常量。在程序头部中说明,以 CONST 引导。
变量:程序运行过程中,其值可改变的量,称为变量。在程序头部中加以说明,以 VAR 引导。
如,在[例 2、1]中说明的常量 PI,变量 S、R。
二、标准函数
PASCAL 语言提供数量非常大的标准函数供我们使用,这些函数有些可以直接调用,有些放在
另外的单元(UNIT)中。PASCAL 也提供了大量的标准过程,和标准函数一样供用户直接或间接
调用。
如果一个函数或过程不在 SYSTEM(即默认调用的单元)中,而在其它单元中话,即在程序头
部的第一行正式行中加上 USES 单元名;如,如果要使用 CLRSCR(清屏过程,在 CRT 单元中)
的话,就必须在程序头部加上:USES CRT;
函数的调用:如:A:=ABS(-34),即把 -34 的绝对值赋给变量 A;(注意:函数只能出
现在表达式中,即赋值语句中)。此时:A 的数据类型与括号中的参数-34 是一致的。函数的语法
4
计算机存储数据时,
1 个字节等于 8 位,
即 :
1BYTE=8BIT 。
第 5 页 共 49 页
中都会说明,这个函数的参数的类型及这个函数的值(结果)的类型。
过程的调用:过程即命令,如:CLRACR; 程序运行结果是清屏。
常用标准函数与过程很多,这里只列出最常用的几个。
标准函数
函数名 语法 说明
Abs
Abs(r:real/integer):real/integer 返回参数 R 的绝对值,类型与参数相同
Chr
chr(i:integer): char 返回参数所对应的 ASCII 码值,类型为 CHAR
Copy Copy(s:string;n,m:integer):string
返回字串 S 的第 N 个字符开始的 M 个字符
Cos Cos(r:real):real
返回参数 R 的余弦值
Exp Exp(r:real):real
返回参数 R 的以 e 为底的幂
Int Int(r:real):real
返回参数 R 的整数部分,返回的值是实数类型
Length Length(s:string):integer
返回字串 S 的长度
Ln Ln(r:real):real
返回参数 R 的自然对数
odd Odd(I:integer):boolean
判断参数 I 是否奇数,如是,则返回 TRUE
ord Ord(s:scalar):integer
返回任意有序量的序值
random Random
返回 0 至于间的任意一个小数(随机数)
round Round(r:real):longint
返回参数 R 的四舍五入取整值
sin Sin(r:real):real
返回参数 R 的正弦值
sqrt sqrt(r:real):real
返回参数 R 的平方根
sqr Sqr(r)
返回参数 R 的平方值,结果类型与 R 的类型相
同
trunc Trunc(r:real):integer
返回参数 R 的整数部分,返回的值是整数类型
标准过程
过程名 语法 说明
Delay
(CRT 单元)
Delay(ms:word)
延迟发声 MS 毫秒
Delete Delete(s:string;n,m:integer)
把串 S 中的第 N 个字符开始的 M 个字符删
除
Exit Exit
从当前执行的程序中退出
Gotoxy
(CRT 单元)
Gotoxy(x,y:integer)
把光标定位到第 X 列 Y 行处
halt Halt
中断程序的运行
nosound Nosound
关闭机器喇叭
Sound
(CRT 单元)
Sound(f:word)
让 机 器 喇 叭 发 出 频 率 为 F 的 声 音 , 直 到
nosound
str Str(I:integer;var s:string)
把数值 I 转换为字符串 S
val Val(s:string;var r:real;var c:word)
把字符串 S 转换为数值 R,并返回错误代码
C
三、表达式
由算术运算符(+,—,*,/)及数字、常量、变量、标准函数所组成的式子中心表达式。
如:5+9; A*B-34*ABS(-34)/INT(B)
另外,PASCAL 中有两个很有用的运算符,DIV:求商的整数值;MOD:求余数。如:
8 DIV 3 的值是 2,10 DIV 3 的值是 3;
8 MOD 3 的值是 2,10 MOD 3 的值是 1;
在 PASCAL 的表达式中,不允许出现我们日常生活中的那种分式或根号等式子,我们必须按
照 PASCAL 的语法把它们改写成 PASCAL 表达式。在 PASCAL 的表达式中,运算顺序是:
() 函数 *,/,DIV,MOD +,-
如:把下列算式改写成 PASCAL 表达式:
改写为 PASCAL 表达式为:(x*x+3*y-5*(z-2))/(x-y*y)
从上例中可以看出:
1、PASCAL 表达式中没有分式,只能以除号“/”来隔开;
2、PASCAL 表达式中的分子与分母应该用括号括开;
5
剩余48页未读,继续阅读
资源评论
悠闲饭团
- 粉丝: 151
- 资源: 3303
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功