Pascal语言和程序设计基础.docx
《Pascal语言和程序设计基础.docx》由会员分享,可在线阅读,更多相关《Pascal语言和程序设计基础.docx(56页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Pascal语言和程序设计基础 一Pascal语言和程序设计基础 目录 预备知识 第一节:顺序结构 第二节:IF分支结构 第三节:case分支结构 第四节:for循环结构 第五节:while、repeat循环结构 第六节:数据类型 第七节:常用函数 第八节:指针 第九节:文件操作 第一部分 Pascal语言和程序设计基础 预备知识 基本程序结构和几个概念:: 标识符 保留字 常量 变量 运算符 表达式 标准数据类型 Pacal语言程序结构 Program prog_name; var 变量申明; begin 程序体; end. 例如: Program pname; const n=4; typ
2、e arr=array 1.4 of integer; var i:integer; a:arr; begin for i:=1 to n do read(ai); readln; for i:=n downto 1 do write(ai:4); writeln; end. 以上是一个PAScAL程序。从键盘读入4个数据,逆序输出。 一般来说,一个PAScAL程序包括以下几个部分: 程序头:program pname; 其中,program是保留字,表示程序从这个地方开始,pname是标识符,是程序的名字,可由程序员自定。保留字是PASCAL选定的,具有固定意义和用法的专用单词或缩写,这些单
3、词不允许作其它使用。如上,“program”就有“程序从这里开始”这样一种特别的意义,而“const”就有“常量说明从这里开始”的意义。我们不能再用“Program”、“const”来作为其它变量、常量等的名字。标识符是以字母开头的字母数字串,其长度最大为8个字符。用来表示常量、变量、类型、文件、过程、函数和程序的名字。如“pname”、“i”、“j”、“a1”就是合法的标识符;但“1a”、“#a”是非法的标识符。有一点要注意的是,在PASCAL中,字母除了作为字符值或字符串值之外,其大小写是无关的。如标识符“A1”和“a1”在PASCLA看来是同一标识符。在pascal中除了保留字和自定义的
4、标识符外,还有一类有特殊含义的标识符,这类标识符称为标准标识符。它们是用来标记程序中经常引用的处理对象,如常量、函数。(PAScAL定义的保留字和标准标识符附后) 标识符在命名的时候要注意: 1、名字要易记易读,有意义。如8皇后问题程序名可以是“queen”也可以是“huanghou”等; 2、不能用保留字、标准标识符作为自定义的标识符。 说明部分: const n=4; type ar=array 1.4 of integer; var i:integer; a:ar; 其中,const部分是常量说明,说明一些在以下部分用到的,在整个程序执行过程不改变值的量。这些量PAScAL称为常量。在程
5、序中用到这个值的地方均用常量名来代替。如上题中定义“n=4”指本程序处理4个数值,在下面的程序体中就用“n”来代替具体的值(如for i:=1 to n)。如果要改变处理数据个数,则只在常量说明部分修改“n=4”这一句就行了,而不用在程序中每一个用到的地方都加以修改。这样不但在编写程序的时候很方便,也增加了程序的可读性,修改时更方便。 常量说明在保留字“const”下开始。可以有多个语句。常量说明语句的格式是:“常量名=值;”。如“n=4;”。n是常量名,4是该常量的值,“;”是语句分隔符。 type部分是类型说明,说明一些在以下部分用到的数据类型。如数组、记录、指针等。 类型说明在保留字“t
6、ype”下开始。可以有多个语句。类型说明语句的格式是:“类型名=类型说明;”。如“ar=array 1.4 of integer;”。ar是类型名,array 1.4 of integer是类型说明,“;”是语句分隔符。 var部分是变量说明。变量是指在程序执行过程中可以通过赋值语句或读语句来改变值的量。所有在程序中使用的变量都应该先在变量说明部分说明。pascal中引用的每个变量都有“名字”和“类型”属性。变量说明“说明”的主要工作是告诉PAScA下面程序中要用到这个名字的量,同时这个量的类型是什么。 变量说明在保留字“var”下开始。可以有多个语句。变量说明语句的格式是:“变量名:变量类型
7、;”。其中,如果有多个变量同一类型,则变量名与变量名之间用逗号分隔,变量名与变量类型之间用冒号分隔。如“i:integer;”(i是变量名,integer是类型名)、“i、j:integer;”(i、j是变量名,integer是类型名) 变量说明要注意:1、有效变量名称不能大于8个字符;2、变量名称必须以字母开头;3、在同一个有效范围内变量名称必须唯一。 各个说明部分均以该部分的保留字开始。如“const”开始常量说明;“type”开始类型说明;“var”开始变量说明。一个程序包含多少种类型的说明,看需要而定,不是每一个程序都必须同时包含这三种说明。如果程序不须要用到常量,则常量说明部分可以省
8、略;如果不须要用到类型说明,则类型说明可省 PAScAL还有一条规则:先说明后引用。即所有在程序体中用到的“名字”必须都在说明部分说明过才能引用,否则就会出错,通不过编译,也执行不了。如上,类型“ar”先在类型说明中定义,然后在变量说明中引用;变量i在变量说明中定义,在程序中引用。 程序体: begin for i:=1 to n do read(ai); readln; for i:=n downto 1 do write(ai:4); writeln; end. 程序体是以begin end.括起来的语句系列。“end”后面是一个小圆点,标识着程序结束,整个程序只有一个是一个程序的主要部分
9、。编程要完成的工作大部分都在这里完成。程序体中每一语句均以“;”作为结束符。在书写程序时,以“分层缩进”的风格来写,以便提高程序的可读性。所谓的“分层缩进”是指在逻辑上同一级的语句其起始点对齐,下一级的语句向右缩进。 运算符 表达式 PAScAL中的运算符有算术运算符和关系运算符。和我们在数学课中学的基本一样但在写法上有些不同,在写程序时要特别注意写法的不同: + 加号;- 减号;* 乘号( 数学中写为 );/ 除号( 数学中写为 );MOD 取余 如:8 MOD 2=0,7 MOD 2=1,2 MOD 3=2;DIV 取整 如:8 DIV 2=4,7 DIV 2=3,2 DIV 3=0。在P
10、AScAL只有上面6种数学运算。其它的就只能利用这6种运算的组合通过语句来实现。如a2(a的平方)可以化成a*a。 大于; 小于; 不等于(数学中写为 );= 大于等于(数学中写为 ), 变量、常量通过运算符连接起来的式子我们称为表达式。一个单独的变量或常量也是表达式。如a、a+3、a*3+b都是表达式。写表达式时要注意PAScAL表达式跟我们已经熟悉的数学表达式在格式上的区别: 数学表达式PAScAL表达式注意 2a2*a*号不能省略 aba/b除号的写法 abab不等号的写法 aba = = := ( ) . , : $ (* *) 其中,有些符号是以双字符作为一个整体,拆开后就失去原有的
11、意义。如“”是一个表示“不等于”的关系运算符,如拆开后就变成了两个关系运算符,分别表示“小于”、“大于”。 PAScAL使用的保留字有: AND、ARRAY、BEGIN、CASE、CONST、DIV、DO、DOWNTO、ELSE、END、FILE、FOR、FUNCTION、GOTO 、IF、IN、LABEL、MOD、NIL、NOT、OF、PACKED、PROCEDURE、Program、REcORD、REPEAT、SET、THEN、TO、TYPE、UNTIL、var、WHILE、WITH、FORWARD 常用的标准标识符有: 标准常量:FALSE TRUE MAXINT MAXLONGINT
12、标准类型:INTEGER BOOLEAN REAL cHAR TEXT 标准文件:INPUT OUTPUT 标准函数:ABS ACTAN CHR cOS EOF ELON EXP LN ODD ORD PRED ROUND SIN SQR SQRT SUCC TRUNc 标准过程:ASSIGN GET NEW DISPOSE PAcK PUT READ READLN RESET REWRITE UNPAcK WRITE WRITELN 函数格式: function fun_name(参数表):数据类型; var 变量声明; begin 函数体; end; 例题:写出计算两个整数a,b的和函数a
13、dd(a,b)。 过程格式: procedure proc_name(参数表); var 变量声明; begin 过程体; end; 例题:写出在屏幕打印一行文字:”hello,Pascal language is very easy!” 函数和过程的调用: 例题:从键盘输入:a,b两个数,输出由这两个数为直角边的三角形的面积。【xOI00_01.pas】 Program xOI00_01; function area(const a,b:real):real; var s:real; begin s:=a*b/2.0; area:=s; end; procedure myproc; var
14、a,b:real; s:real; begin write(Please input two number a,b:); readln(a,b); s:=area(a,b); writeln(the area of trian is: ,s:5:2); end; = main Program = begin myproc; end. 练习: 一、判断以下标识符的合法性: a3 3a a17 abcd ex9.5 二、将下列的数学表达式改写成PAScAL表达式: b2-4ac 三、求下列表达式的值: 20 mod 19, 15 mod 9, 7 div 8 ,19 div 3,(45) and
15、(79) or ( 910),2 and (3=3) or (37) 第一节 顺序结构 操作一 操作二 顺序结构是程序设计中最简单的结构,也是最基本的结构,它就是按照程序书写的顺序逐句执行程序中的指令。流程图如下: 例题:计算圆的周长的过程: 输入圆的半径;(操作一) 计算圆的周长;(操作二) 输出圆的周长;(操作三) 基本的程序语句: 赋值语句: 赋值语句是最简单的语句,其一般形式为: :=; “:=”称为赋值号,赋值语句的作用是计算表达式的值,并赋给变量。对于任何一个变量必须首先赋值,然后才能引用,否则,未赋初值的变量将以一个随机值参与运算。另外,赋值号两边的类型必须相同,但表达式值为整数
16、时,它可自动化为实型后赋给该实型变量,即符合赋值相容。 如:Pi:=3.14; R:=2; Age:=20; S:=Pi*R*R 例:关于赋值的例子 prssogram example; var a,b:integer; begin a:=3; b:=2; a:=a+b; writeln(a); writeln(b); end. 输入语句 通过计算机的外设把数据送到计算机内存的过程称为输入。Turbo Pascal语言的输入语句有如下两种形式: read(); readln(); 是一个或几个由逗号隔开的变量标识符,他们必须在程序说明部分预先说明,他们可以是整型、实型或字符型,布尔型不可以直接
17、读入。例如a,b,c为整型变量,read(a,b,c)之后,键盘输入:20 30 40 (表示回车),结果:a=20,b=30,c=40 readln语句和read语句不同之处在于输入数据到各变量之后,readln自动换行,从下一行开始再输入数据。一个read语句执行完后,数据行中多余的未读数据可以被下一个输入语句读入;而一个readln于执行完后,数据行中多余未读数据就没有用了。readln语句中可以不包含变量名表。即有以下等价情况: read(a,b);readln等价于readln(a,b) 输入语句输入的数据类型必须和变量一一对应。如果输入的是一串整数或实数,数据间用空格或回车分隔;若
18、输入的是一串字符,则不用分隔。 输出语句 输出是将内存中的数据送到外设的过程。Turbo Pascal的输出语句有两种形式: write(); writeln(); 其中是一串用逗号分隔的常量、变量、函数名、表达式或字符串。如果是变量、函数名、表达式,则将其计算结果输出;如果是常量或字符串,则直接输出其值。 write和writeln的区别在于:write语句是输出项输出后,不换行,光标停留在最后一项后,writeln语句按项输出后,自动换行,光标则停留在下一行的开始位置。 writeln语句允许不含有输出项,即仅writeln;表示换行。 Turbo Pascal语言把输出项的数据显示占用的
19、宽度称为域宽,你可以根据输出格式的要求在输出语句中自动定义每个输出项的宽度。定义宽度时分为单域宽和双域宽。 单域宽输出格式:writeln(I:n); 在n个字符宽的输出域上按右对齐方式输出I的值,若n大于I的实际位数,则在I值前面补(n-I的实际位数)个空格。若I的实际位数大于n,则自动突破限制。n必须是整数。 双域宽输出格式:writeln(a:n:m); 双域宽主要用于实型数据的输出。n的用法同上。在n个字符宽的输出域上按右队齐方式用小数点形式输出a的数值,m是小数点后的位数。原来的数据按该该格式指定的小数位数四舍五入。若m=0 ,则不输出小数部分和小数点,原数据四舍五入取整。n,m必须
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Pascal 语言 程序设计 基础
限制150内