PASCAL语言基础总成含题目

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

PASCAL语言基础总成含题目
PASCAL语言基础及基础训练第 1 页共 48页
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 Help 菜单区程序编辑区
1
PASCAL语言基础及基础训练第 2 页共 48页
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 !
但是我们看到,输出屏幕上显示的结果一闪而过就又回到了集成环境屏幕显示,我们几乎看不到在屏幕上显示的结果,要查看刚才的屏幕显示,只需选择菜单[RUN][USER SCREEN](或ALT+F5),就又能回到输出屏幕,敲任意键又回到集成环境中。

如果程度出错,则程序没有被运行完就会回到集成环境中,并且光标停在错误的这一行,在编辑窗口中的第一行还会显示出错信息,如:
Run-time error 错误代码 at 错误发生地址
2
PASCAL语言基础及基础训练第 3 页共 48页
四、保存文件
把当前编辑的程序文件以当前名存盘,只需运行菜单命令[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.”作为整个程序的
结束。

一、程序头部
程序头部毫无疑问是在程序的开头位置,以“program”这个词开始(但经常省略这
一),以第一个BEGIN的前一行结束,中间每行后均有分号。

以CONST为开始的部分是说明程序中要用到的常量,以VAR为开始的部分是说明程序
中要用到
3
PASCAL语言基础及基础训练第 4 页共 48页
的变量。

即程序中要用到的所有的常量及变量,我们必需在程序首部加以说明其名称
及类型。

这些我们将在稍后讲到。

二、程序主体
以第一个BEGIN开始,以最后一个END结束,中间即为程序命令行,每一行均以分号
结束!
第二节、PASCAL的数据类型
PASCAL语言的常量与变量都必须在程序头部先加以说明,即说明常量、变量的的名称
及数据类型。

PASCAL语言的数据类型很多,最常用的有以下几种:一、整数类型(没有
小数部分)计算机存储数据时,1INTEGER:取值范围[-32768,32767]。

占用内存2个字
节(16位)。

个字节等于8位,即:WORD:取值范围[0,65535]。

占用内存2个字节
(16位)。

1BYTE=8BIT。

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’。

‘ ’,?? ,?123456.3? 0~255 如果一个常/变量
只要用到1个字符,则可把它定义成CHAR型;如果是多个字符,但不知确切多少个,则
定义成STRING型,如果知道确切有N个字符,则定义成STRING[N]型,例如STRING[5],
则表示定义的这个字符串变量由5个字符组成。

字符串在PASCAL中使用都是加上单引号。

四、布尔型
BOOLEAN:布尔型即为逻辑型,取值为TRUE、FALSE,即真、假。

3>4 false;
write(5>3) true; 5=4 false; 5=5 true; 5>=4 true 5<=3 false; 5<>3
true; ?a?=?a? true ?a?>?b? false; ?b?>?bc? false ?c?>?bbb? true; ?caa?>?cabc? false;
第三节、常量、变量、标准函数和表达式
一、常量和变量
常量:程序运行过程中,其值不会改变的量,称为常量。

在程序头部中说明,以CONST引导。

变量:程序运行过程中,其值可改变的量,称为变量。

在程序头部中加以说明,以VAR引导。

如,在[例2、1]中说明的常量PI,变量S、R。

二、标准函数
PASCAL语言提供数量非常大的标准函数供我们使用,这些函数有些可以直接调用,有些放在另外的单元(UNIT)中。

PASCAL也提供了大量的标准过程,和标准函数一样供用户直接或间接调用。

如果一个函数或过程不在SYSTEM(即默认调用的单元)中,而在其它单元中话,即在程序头部的第一行正式行中加上USES 单元名;如,如果要使用CLRSCR(清屏过程,在CRT单元中)的话,
4
PASCAL语言基础及基础训练第 5 页共 48页
就必须在程序头部加上:USES CRT;
函数的调用:如:A:=ABS(-34),即把-34的绝对值赋给变量A;(注意:函数只
能出现在表达式中,即赋值语句中)。

此时:A的数据类型与括号中的参数-34是一致的。

函数的语法中都会说明,这个函数的参数的类型及这个函数的值(结果)的类型。

过程的调用:过程即命令,如:CLRACR;程序运行结果是清屏。

常用标准函数与过程很多,这里只列出最常用的几个。

标准函数函数名语法说明 Abs Chr Copy Cos Exp Int Length Ln odd ord random round sin sqrt sqr trunc 过程名 Delay (CRT单元) Delete Exit Gotoxy (CRT单元) halt nosound Sound (CRT单元) str val Abs
(r:real/integer):real/integer 返回参数R的绝对值,类型与参数相同 chr(i:integer):char 返回参数所对应的ASCII码值,类型为CHAR
Copy(s:string;n,m:integer):string 返回字串S的第N个字符开始的M个字符
Cos(r:real):real 返回参数R的余弦值 Exp(r:real):real 返回参数R的以e为底的幂Int(r:real):real 返回参数R的整数部分,返回的值是实数类型
Length(s:string):integer 返回字串S的长度 Ln(r:real):real 返回参数R的自然对数Odd(I:integer):boolean 判断参数I是否奇数,如是,则返回TRUE
Ord(s:scalar):integer 返回任意有序量的序值 Random 返回0至于间的任意一个小数(随机数) Round(r:real):longint 返回参数R的四舍五入取整值 Sin(r:real):real
返回参数R的正弦值 sqrt(r:real):real 返回参数R的平方根 Sqr(r) 返回参数R的平
方值,结果类型与R的类型相同 Trunc(r:real):integer 返回参数R的整数部分,返回
的值是整数类型标准过程语法说明 Delay(ms:word) 延迟发声MS毫秒
Delete(s:string;n,m:integer) Exit Gotoxy(x,y:integer) Halt Nosound
Sound(f:word) 把串S中的第N个字符开始的M个字符删除从当前执行的程序中退出把光标定位到第X列Y行处中断程序的运行关闭机器喇叭让机器喇叭发出频率为F的声音,直到nosound Str(I:integer;var s:string) 把数值I转换为字符串S
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表达式:
x2?3y?5(z?2)x?y2 改写为PASCAL表达式为:(x*x+3*y-5*(z-2))/(x-y*y)
从上例中可以看出:
1、 PASCAL表达式中没有分式,只能以除号“/”来隔开;
2、 PASCAL表达式中的
分子与分母应该用括号括开;
5
感谢您的阅读,祝您生活愉快。

相关文档
最新文档