第一章、pascal介绍一、pascal的基本语法单位 1、基本符号 A——Z;a——z;0——9;+,-,*,/,=,<>,<=,>=,<,>,(,),[,],{,},:=,,,;,.,:,..,',^ 注意:pascal语言除了能使用以上规定的基本符号外,不得使用任何其它符号。 2、保留字 AND,ARRAY,BEGIN,CASE,CONST,DIV,DO,DIWNTO,ELSE,END,FILE,FOR,FUNTION,GOTO,IF,LABEL,MOD,NIL,OF,OR,PACKED,PROCEDURE,PROGRAM,RECORD,REPEAT,SET,THEN,TO,TYPE,UNTIL,VAR,WHILE,WITH。
注意:所起的文件名不能与保留字相同。
3、标识符 以字母打头的字母数字串,长度小于等于8。 标准标识符(共三十九个): 标准常量: false,true,maxint 标准类型: integer,real,char,boolean,text 标准文件: input,output 标准函数: abs,arctan,chr,cos,eof,eoln,exp,ln,odd,ord,ored,round,sin,sqr,sqrt,succ,trunc 标准过程:get,new,pack,page,put,read,readln,reset,rewrite,unpack,write, writeln二、程序结构 1、由三大部分组成:程序首部,说明部分,语句部分。 PROGRAM 程序名(input,output); {……} 解释 CONST pi=3.14159; VAR r,l,s:real; BEGIN write('input r:'); read(r); l:=2*pi*r; write('l=',l,'s=',s); END; 2、大量使用标点符号,保留字后不加标点符号(END除外)。 第二章、顺序结构程序设计一、标准数据类型 1、实型(real) 小数表示法、指数表示法 2、整型(integer) 正、负整数和零 maxint=32767 pred:前导;succ:后继 [例]:pred(3)=2;succ(3)=4; pred(true)=false; succ(false)=true 3、字符型(char) 是指在两个单引号中的一个字符。
ord:取序数 [例]:ord('A')=65 4、布尔型(boolean) false;true 用于布尔型的运算:NOT、AND、OR ord(true)=1;ord(false)=0二、常量和变量的定义 常量的定义:CONST pi=3.14159; blank=' '; 变量的定义:VAR r,l,s:read; cl:char;三、表达式及赋值语句 [例]:b2-4ac 写成:sqt(b)-4*a*c 赋值:<变量>:=<表达式>四、输入输出语句 1、输入语句:read(<变量表>);readln(<变量表>) 注:表达式里面变量与变量之间用逗号隔开; readln表示下一个语句将从下一行开始操作; 输入时,整型或实型用空格或回车隔开,字符型之间无需分隔,一个接一 个输入。 2、输出语句:write(<输出表>);writeln(<输出表>) 注:对real或integer限定场宽:write('a=',a:2:0) {a为real型}第三章、选择结构程序设计一、if 语句格式:IF<条件> THEN<语句1> ESLE<语句2>注:1、ELSE与最近的并且未被配对的ELSE配对; 2、复合,如果THEN或ELSE带有多个语句,则要用BEGIN——END括起来。二、CASE语句格式:CASE <表达式> OF <值表1>:<语句1> <值表2>:<语句2> …… <值表n>:<语句n> [ELSE<语句>] END注:1、值表的三种表达方式:“1:”;“2,4,6:”;“10..100:” 2、CHAR,INTEGER,BOOLEAN有序第四章、循环结构程序设计一、FOR语句格式:1、FOR <循环变量>:=<初值> TO <终值> DO <语句>; 2、FOR<循环变量>:=<终值> DOWNTO <初值> DO <语句>。
[例1]:输入10个数,求最大值、最小值、和、及平均值。PROGRAM ten(input,output);VAR a,s,max,min,avg:real; i:integer;BEGIN write('please input:'); read(a); s:=a; max:=a; min:=a; FOR i:=2 TO 10 DO BEGIN read(a); s:=s+a; IF a>max THEN max:=a ELSE IF a<min THEN min:=a END; avg:=s/i; writeln(……);END.[例2]:求s=1!+2!+3!+……+10!program sum_fac(input,output);var i,j,s,m:integer;begin s:=0: for j:=1 to 10 do begin m:=1; for j:=1 to i do m:=m*j; s:=s+m; end; write(……);end;二、while语句 格式:WHILE <条件> DO <循环体>[例1]:输入一串字符串,求第一个“,”前的大小写字母个数和其它字符个数。program string(input,output);var ch:char; c,s,o:integer;begin write(……); read(ch); c:=0; s:=0; o:=0; while ch<>',' do begin if (ch>='A')and(ch<='Z') then c:=c+1 else if (ch>='a')and(ch<='z') then s:=s+1 else o:=o+1; read(ch); end; write(……);end.三、REPEAT语句格式:REPEAT <循环体> UNTIL[例]:以字符(char)的形式读入一实数,以实形(real)输出该数。
第五章、函数与过程程序设计一、函数(包括标准函数和自定义函数) 1、函数的定义 格式:FUNCTION 函数名(<形参表>):返回值类型; VAR <变量说明> BEGIN <函数体> END [注]:1、形参表每个参数都写明其类型; 2、有且只有一个返回值,并且要将返回值赋值给函数名。 [例]:求五边形的面积 function area(a,b,c:real):real; var p:real; begin p:=(a+b+c)/2; area:=sqrt(p*(p-a)*(p-b)*(p-c); end; 2、函数的调用 1)、函数的调用必然出现在表达式中(等号的右边),不能以单独地在语句出现 2)、调用时,将每个实参传递给对应的形参 program ml_area(input,output); var l1,l2,l3,l4,l5,l6,l7,s:real; function area(a,b,c:real):real; var p:real; begin p:=(a+b+c)/2; area:=sqrt(p*(p-a)*(p-b)*(p-c); end; begin write('input'); readln(l1,l2,l3,l4,l5,l6,l7); s:=area(l1,l2,l6)+area(l2,l6,l7)+……; writeln('s=',s:10:3); end.二、过程格式:PROCEDURE<过程名>(<形式参数表>) VAR <说明部分> BEGIN <过程体> END;[例1]某过程的形参表为(var a,b:real;c,d:integer;var e:char); 主程序中有如下变量说明:x,y:real; m:integer; next:char; 则以下实参表中合法的有:(1、2、3) 1、(x,y,m+3,70,next) 2、(y,x,m,m,next) 3、(y,x,35,m DIV 10,next) 4、(m,x,30,10,next) 5、(x,y,m,10) 6、(35,0,y,m,10,next) 7、(x,y,m,m/10,next) 8、(A,B,30,10,next)[例2]求程序输出的结果。program ex(input,output);var x,y,z:integer;procedure s(x:integer; var y:integer); var z:integer begin x:=5; y:=6; z:=7; end;begin x:=1; y:=2; z:=3; s(x,y); writeln(x,y,z);end.输出结果:1 6 3[例3]:求五个数中的最大值。
program max_in_5(input,output);var n1,n2,n3,n4,n5:integer;procedure lagest_in_three(a,b,c:integer;var e:integer) begin e:=a; if b>e then e:=b; if c>e then e:=c; end;begin write('……'); readln(n1,n2,n3,n4,n5); lagest(n1,n2,n3,n1); lagest(n1,n4,n5,n1); write(n1);end.三、嵌套[例]:计算、program Cmn(input,output);function fax(x:integer):integer: var i:integer; begin fac:=1; for i:=1 to x do fac:=fac*i; end;function c(a,b:integer):real; begin c:=fac(a)/fac(b)*fac(a-b) end;begin writeln('c(9,3)=',c(9,3)); writeln('c(8,5=',c(8,5));end.四、递归 函数或过程调用它本身,称为递归。
free pascal 教程第一章、pascal介绍一、pascal的基本语法单位 1、基本符号 A——Z;a——z;0——9;+,-,*,/,=,<>,<=,>=,<,>,(,),[,],{,},:=,,,;,.,:,..,',^ 注意:pascal语言除了能使用以上规定的基本符号外,不得使用任何其它符号。 2、保留字 AND,ARRAY,BEGIN,CASE,CONST,DIV,DO,DIWNTO,ELSE,END,FILE,FOR,FUNTION,GOTO,IF,LABEL,MOD,NIL,OF,OR,PACKED,PROCEDURE,PROGRAM,RECORD,REPEAT,SET,THEN,TO,TYPE,UNTIL,VAR,WHILE,WITH。
注意:所起的文件名不能与保留字相同。
3、标识符 以字母打头的字母数字串,长度小于等于8。 标准标识符(共三十九个): 标准常量: false,true,maxint 标准类型: integer,real,char,boolean,text 标准文件: input,output 标准函数: abs,arctan,chr,cos,eof,eoln,exp,ln,odd,ord,ored,round,sin,sqr,sqrt,succ,trunc 标准过程: get,new,pack,page,put,read,readln,reset,rewrite,unpack,write, writeln二、程序结构 1、由三大部分组成:程序首部,说明部分,语句部分。 PROGRAM 程序名(input,output); {……} 解释 CONST pi=3.14159; VAR r,l,s:real; BEGIN write('input r:'); read(r); l:=2*pi*r; write('l=',l,'s=',s); END; 2、大量使用标点符号,保留字后不加标点符号(END除外)。 第二章、顺序结构程序设计一、标准数据类型 1、实型(real) 小数表示法、指数表示法 2、整型(integer) 正、负整数和零 maxint=32767 pred:前导;succ:后继 [例]:pred(3)=2;succ(3)=4; pred(true)=false; succ(false)=true 3、字符型(char) 是指在两个单引号中的一个字符。
ord:取序数 [例]:ord('A')=65 4、布尔型(boolean) false;true 用于布尔型的运算:NOT、AND、OR ord(true)=1;ord(false)=0二、常量和变量的定义 常量的定义:CONST pi=3.14159; blank=' '; 变量的定义:VAR r,l,s:read; cl:char;三、表达式及赋值语句 [例]:b2-4ac 写成:sqt(b)-4*a*c 赋值:<变量>:=<表达式>四、输入输出语句 1、输入语句:read(<变量表>);readln(<变量表>) 注:表达式里面变量与变量之间用逗号隔开; readln表示下一个语句将从下一行开始操作; 输入时,整型或实型用空格或回车隔开,字符型之间无需分隔,一个接一 个输入。 2、输出语句:write(<输出表>);writeln(<输出表>) 注:对real或integer限定场宽:write('a=',a:2:0) {a为real型}第三章、选择结构程序设计一、if 语句格式:IF<条件> THEN<语句1> ESLE<语句2>注:1、ELSE与最近的并且未被配对的ELSE配对; 2、复合,如果THEN或ELSE带有多个语句,则要用BEGIN——END括起来。二、CASE语句格式:CASE <表达式> OF <值表1>:<语句1> <值表2>:<语句2> …… <值表n>:<语句n> [ELSE<语句>] END注:1、值表的三种表达方式:“1:”;“2,4,6:”;“10..100:” 2、CHAR,INTEGER,BOOLEAN有序第四章、循环结构程序设计一、FOR语句格式:1、FOR <循环变量>:=<初值> TO <终值> DO <语句>; 2、FOR<循环变量>:=<终值> DOWNTO <初值> DO <语句>。
[例1]:输入10个数,求最大值、最小值、和、及平均值。PROGRAM ten(input,output);VAR a,s,max,min,avg:real; i:integer;BEGIN write('please input:'); read(a); s:=a; max:=a; min:=a; FOR i:=2 TO 10 DO BEGIN read(a); s:=s+a; IF a>max THEN max:=a ELSE IF a<min THEN min:=a END; avg:=s/i; writeln(……);END.[例2]:求s=1!+2!+3!+……+10!program sum_fac(input,output);var i,j,s,m:integer;begin s:=0: for j:=1 to 10 do begin m:=1; for j:=1 to i do m:=m*j; s:=s+m; end; write(……);end;二、while语句 格式:WHILE <条件> DO <循环体>[例1]:输入一串字符串,求第一个“,”前的大小写字母个数和其它字符个数。program string(input,output);var ch:char; c,s,o:integer;begin write(……); read(ch); c:=0; s:=0; o:=0; while ch<>',' do begin if (ch>='A')and(ch<='Z') then c:=c+1 else if (ch>='a')and(ch<='z') then s:=s+1 else o:=o+1; read(ch); end; write(……);end.三、REPEAT语句格式:REPEAT <循环体> UNTIL[例]:以字符(char)的形式读入一实数,以实形(real)输出该数。
第五章、函数与过程程序设计一、函数(包括标准函数和自定义函数) 1、函数的定义 格式:FUNCTION 函数名(<形参表>):返回值类型; VAR <变量说明> BEGIN <函数体> END [注]:1、形参表每个参数都写明其类型; 2、有且只有一个返回值,并且要将返回值赋值给函数名。 [例]:求五边形的面积 function area(a,b,c:real):real; var p:real; begin p:=(a+b+c)/2; area:=sqrt(p*(p-a)*(p-b)*(p-c); end; 2、函数的调用 1)、函数的调用必然出现在表达式中(等号的右边),不能以单独地在语句出现 2)、调用时,将每个实参传递给对应的形参 program ml_area(input,output); var l1,l2,l3,l4,l5,l6,l7,s:real; function area(a,b,c:real):real; var p:real; begin p:=(a+b+c)/2; area:=sqrt(p*(p-a)*(p-b)*(p-c); end; begin write('input'); readln(l1,l2,l3,l4,l5,l6,l7); s:=area(l1,l2,l6)+area(l2,l6,l7)+……; writeln('s=',s:10:3); end.二、过程格式:PROCEDURE<过程名>(<形式参数表>) VAR <说明部分> BEGIN <过程体> END;[例1]某过程的形参表为(var a,b:real;c,d:integer;var e:char); 主程序中有如下变量说明:x,y:real; m:integer; next:char; 则以下实参表中合法的有:(1、2、3) 1、(x,y,m+3,70,next) 2、(y,x,m,m,next) 3、(y,x,35,m DIV 10,next) 4、(m,x,30,10,next) 5、(x,y,m,10) 6、(35,0,y,m,10,next) 7、(x,y,m,m/10,next) 8、(A,B,30,10,next)[例2]求程序输出的结果。program ex(input,output);var x,y,z:integer;procedure s(x:integer; var y:integer); var z:integer begin x:=5; y:=6; z:=7; end;begin x:=1; y:=2; z:=3; s(x,y); writeln(x,y,z);end.输出结果:1 6 3[例3]:求五个数中的最大值。
program max_in_5(input,output);var n1,n2,n3,n4,n5:integer;procedure lagest_in_three(a,b,c:integer;var e:integer) begin e:=a; if b>e then e:=b; if c>e then e:=c; end;begin write('……'); readln(n1,n2,n3,n4,n5); lagest(n1,n2,n3,n1); lagest(n1,n4,n5,n1); write(n1);end.三、嵌套[例]:计算、program Cmn(input,output);function fax(x:integer):integer: var i:integer; begin fac:=1; for i:=1 to x do fac:=fac*i; end;function c(a,b:integer):real; begin c:=fac(a)/fac(b)*fac(a-b) end;begin writeln('c(9,3)=',c(9,3)); writeln('c(8,5=',c(8,5));end.四、递归 函数或过程调用它本身,称为递归。[例1]、用递归计算n! {=m!/n!(m-n)!}program fac_n(input,output);var n:integer;function fac(n:integer):integer; begin if n=1 then fac:=1 else fac:=n*fac(n-1); end;[例2]、用递归计算1)、function power(a,b:integer):integer; begin if b=1 then power:=a else power:=a*power(a,b-1); end; 2)、procedure power(a,b:integer;var c:integer); begin if b=1 then c:=a else power(a,b-1,c); c:=a*c; end; [例3]、输入一串字符串(以‘.’结束)按逆顺输出program revers(input,output);procedure rever; var c:char; begin read(c); if c<>'.' then rever; write(c); end;begin rever;end.五、标识符的作用域1、全局变量和局部变量 1)、全局变量:在主程序中被说明,作用域:整个程序; 2)、局部变量:在子程序中被说明,作用域:主程序及其下级的程序。2、子程序(function、precedure)的作用域 一个子程序可以调用它的下一级了程序,或可以调用在它之前定义的同级子程序。[例]写出程序运行的结果。
program range(input,output);var x,y:integer;procedure p1; var x,z:integer; begin x:=10; y:=y+1; z:=10; writeln(x,y,z); end;begin x:=1; y:=1; writeln(x,y); p1; writeln(x,y,z);end.结果为:(x y z)1 110 2 101 2 (error)3、在子程序中被改变值的变量可以回传的两种方法: a、变量参数 procedure(var 变量名); b、在上一级程序定义了的,且在下一级程序未被重新定义的。[注]如果主程序的变量在子程序被重新定义,在子程序中主程序的变量被稳藏,在主程序中子程序的变量无效。
freepascal怎样使用?介绍:http://baike.baidu.com/view/914208.htm下载:www.freepascal.org使用:1.Free Pascal的安装 Free Pascal是用户快捷安装Free Pascal开发环境的工具,该工具可以从网上搜索下载,也可以从OI爱好者(OIFans.cn)下载最新的版本。 如果已经安装过旧版本的Free Pascal,安装新版本前,务必将已安装版本卸载。
用户在下载完毕后,运行Free Pascal的安装文件,按照安装向导的提示即可完成安装过程。
注意,在安装完成以后需要重新启动Windows,使Free Pascal生效。 2.Free Pascal的启动 在安装过程完成后,用户点击“开始”菜单,选择“程序”菜单项可以发现“Free Pascal”的快捷菜单,其中包含:fp、卸载Free Pascal两项。 点击fp,可以直接进入Free Pascal IDE集成开发环境,屏幕上出现集成环境。用户可以在Free Pascal IDE开发环境下进行源代码编辑、程序编译、调试等开发工作,并可从Free Pascal IDE的在线文档中获取帮助。
卸载Free Pascal用于卸载Free Pascal,点击后出现卸载向导,用户可以根据向导的提示方便的卸载Free Pascal。 3. Free Pascal系统集成环境简介 (1)新建程序窗口 按F10进入主菜单或鼠标选择FILE菜单,执行其中New命令。建立一个新的程序窗口(默认文件名为Noname00.pas或Noname01.pas等)。
最顶上一行为主菜单。中间蓝色框内为编辑窗口,在这个编辑窗口内可以进行程序的编辑。最底下一行为状态说明行,显示出系统中常用命令的快捷键,如将当前编辑窗口中文件存盘的命令快捷键为F2,获得系统帮助的快捷键为F1,等等。
(2)程序的输入、编辑与运行 在当前程序编辑窗口中,一行一行的输入程序。事实上,程序窗口是一个全屏幕编辑器。程序的编辑与其它编辑器的编辑方法类似,这里不再重复。
当程序输入完毕之后,一般要先按Alt+F9(或执行compile菜单中compile命令)对程序进行编译。如果程序有语法错误,则会在程序窗口的第一行处显示第一个红色错误信息,按ESC键返回编辑窗口按照下面的错误信息提示修改程序。若无语法错误,则窗口正中央会出现一个对话框,提示编译成功。接下来,我们可以运行程序了。
程序的运行可以通过按ALT+R打开RUN菜单中的RUN命令,或直接按快捷键CTRL+F9。则可以在用户窗口中输出运行结果。通常在程序运行结束后系统回到Pascal系统的集成环境,因此要查看运行结果,要按ALT+F5打开DEBUG菜单中的USER SCREEN命令,将屏幕切换到用户屏幕,按任意键返回到编辑窗口。 4.程序的保存与打开 当我们想把程序窗口中的程序存入磁盘时,可以通过按F2键(或执行File菜单中的save命令)来保存程序。
第一次保存文件时屏幕上会出现一个对话框要求输入文件名(默认扩展名为.pas),用户可按自己的需要选择文件路径并输入文件名,然后按“OK”按钮确定。当我们要将磁盘上的程序文件中的PASCAL程序装入窗口时,可按F3(或执行File菜单中的Open命令)来装入程序,此时系统也会弹出一个对话框,要求输入要打开的文件名,或直接在文件对话框列表中选择所要的文件,然后回到打开文件。 5.程序的调试 我们先编一个比较简单的程序,看看程序是如何调试的。 program tiaoshi; var i:integer; a,b,c:boolean; begin for i:=1 to 300 do begin a:=false; b:=false; c:=false; if i mod 2 = 0 then a:=true; if i mod 3 = 0 then b:=true; if i mod 5 = 0 then c:=true; if a and b and c then writeln(i); end; end. 该程序是输出300以内同时能被2,3,5整除的整数。
现在我们开始调试。 调试有多种方法,这里主要介绍单步执行法和断点法。 1、先介绍一种单步执行法,单步执行法就是模拟计算机的运算,把程序每一步执行的情况都反映出来。
Free Pascal用F8即执行RUN 菜单下的Step over这个选项来实现,不断地按F8,计算机就会一步步地执行程序,直到执行到最后的“end.”为止。如果再配合另外的一种调试的工具Debug 菜单下的watches,你就会发现单步执行法的用处。watches窗口可以让我们观察变量的变化情况,具体操作是在watches窗口内按Insert键:这时,屏幕上弹出一个菜单,我们输入所需要观察的变量名,分别输入i,a,b,c这4个变量名,于是watches窗口内就有如下的4个变量的状态:这时,再次使用单步执行法,我们会发现,这4个变量的状态随着程序的执行而不断变化,这样我们就可以方便地知道执行每一步之后,程序的各个变量的变化情况,从中我们可以知道我们的程序是否出错,在哪里出错,方便我们及时地修改。
2、当我们遇到循环次数比较多或者语句比较多的时候,单步执行法用起来比较费时,下面我们介绍一种新的也是常用的调试方法——断点法。 所谓断点法,就是在程序执行到某一行的时候,计算机自动停止运行,并保留这时各变量的状态,方便我们检查,校对。我们还是以前面求同时能被2,3,5整除的3000以内的自然数为例,具体操作如下: 我们把光标移动到程序的第14行,按下ctrl+F8即执行Debug菜单中的BreakPoint选项,这时我们会发现,该行变成红色,这表明该行已经被设置成断点行,当我们每次运行到第14行的时候,计算机都会自动停下来供我们调试。注意:计算机是执行到断点行之前的一行,断点行并没有执行。
高分求free pascal的教程第一章 开始编写pascal语言程序1.下载Turbo Pascal6.0 (1)下载turbo pascal (2)属性设置 2.Turbo Pascal 6.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+F71.2 简单Pascal程序的结构 例1下列是一Pascal源程序:program lt1;{程序首部} 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.1 Pascal的字符与符号2.2 Pascal数据类型2.3 常量与变量2.4 标准函数2.5 运算符和表达式练习与作业 2.1 Pascal字符与符号 1.标识符 (1) 标识符的定义:标识符就是以字母开头的字母数字序列,有效长度为63个字符,并且大小写等效。可以用来标示常量、变量、程序、函数等。
例如例1.1中的Area(程序名),pi(符号常量),s、r(变量名)都是标识符。
(2) 标识符的分类: a.保留字(关键字) 所谓保留字是指在Pascal语言中具有特定的含义,你必须了解它的含义,以便于正确的使用,否则会造成错误。标准Pascal语言中的保留字一共有35个,Turbo Pascal语言一共有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语言预先定义的标识符,具有特殊含义。 以下列举了Turbo Pascal语言部分常用的标准表识符:标准常量 False Maxint True标准类型 Boolean Char Real Integer标准函数 Abs Arctan Chr Cos Eof Eoln Exp Ln Odd Ord Pred Round Sin Sqr Sqrt Succ Trunc标准过程 Dispose Get New Pack Page Put Read Readln Reset Rewrite Unpack Write Writeln标准文件 Input Outputc.用户自定义标识符:由你自己根据需要来定义。
(1)选用的标识符不能和保留字相同。 (2)语法上允许预定义的标准标识符作为你自己定义的标识符使用,但最好还是不要用。 以下列举了你自己在定义标识符时可以用的字符: A——Z;a——z;0——9;+,-,*,/,=,<>,<=,>=,<,>,(,),[,],{,},:=,,,;,.,:,..,',^2.2 Pascal数据类型 数据是程序设计的一个重要内容,其重要特征----数据类型,确定了该数据的形、取值范围以及所能参与的运算。
Turbo Pascal 提供了丰富的数据类型,这些数据类型可以分为三大类:简单类型、构造类型和指针类型,其中简单类型可以分为标准类型(整型、实型、字符型和布尔型)和自定义类型(枚举型和子界型),构造类型可以分为数组类型、集合类型、记录类型和文件类型。这些数据类型中除了指针类型是动态数据类型外,其他的都是静态数据类型。在这些数据类型中的简单类型都是有序类型,除了实型以外的简单类型都是顺序类型,所谓顺序类型就是他们的值不仅是有序的而且是有顺序号。
在这里主要介绍整型、实型、字符型和布尔型四种常用的数据类型。 1.整型 一个整型数据用来存放整数。Turbo Pascal支持五种预定义整型,它们是shortint(短整型)、 integer(整型)、 longint(长整型)、 byte(字节型)和 word(字类型),Turbo Pascal分别用相同的名字作为他们的标识符。
每一种类型规定了相应的整数取值范围以及所占用的内存字节数。 类型 数值范围 占字节数 格式 shortint -128..128 1 带符号8位 inteter -32768..32767 2 带符号16位 longint -2147483648..2147483647 4 带符号32位 byte 0..255 1 带符号8位 word 0..65535 2 带符号16位 Turbo Pascal规定了两个预定义整型常量标识符maxint和maxlonint,他们各表示确定的常数值,maxint为32767, longint为2147483647,他们的类型分别是integer 和longint 2.实型 一个实型数据用来存放实数。Turbo Pascal支持五种预定义实型,它们是real(基本实型)、 single(但精度实型)、double(双精度实型)、extended(扩展实型)、comp(装配实型),Turbo Pascal分别用相同的名字作为他们的标识符。每一种类型规定了相应的实数取值范围、所占用的内存字节数以及它们所能达到的精度 类型 数值范围 占字节数 有效位数 real 2.9e-39..1.7e38 6 11..12 single 1.5e-45..3.4e38 4 7..8 double 5.0e-324..1.7e308 8 15..16 Turbo Pascal支持两种用于执行实型运算的代码生成模式:软件仿真模式和80x87浮点模式。
除了real可以在软件仿真模式下直接运行以外,其他类型必须在80x87浮点模式下运行。 3.布尔型 一个布尔型数据用来存放逻辑值(布尔值)。布尔型的值只有两个:false和true,并且false的序号是0,true的序号是1。false 和true都是预定义常数标识符,分别表示逻辑假和逻辑真。
并且true<false。boolean是布尔型的标识符。 4.字符型 字符型用char作为标识符。字符型必须用单引号括起来,字母作为字符型时,大小写是不等价的,并且字符型只允许单引号中有一个字符,否则就是字符串。
2.3 常量与变量 1.常量 (1)常量:在某个程序的整个过程中其值不变的量。 (2)常量定义:常量定义出现在说明部分。它的语法格式是:const<常量标识符>=<常量>;...<常量标识符>=<常量>; 常量标识符的类型由定义它的常量的类型决定。
例如:const a=12 隐含说明a是整型;const r=3.21 隐含说明r是实型...... (3)常量定义部分必须以保留字const开头,可以包含一个或几个常量定义,而且每个常量均以分号结束。 (4)Turbo Pascal类型常量 类型常量,又称变量常数,它是Turbo Pascal的一个扩充特性。类型常量的定义与标准Pascal规定的常数定义和变量说明有所区别。
类型常量定义的语法格式:const<简单类型常量标识符>:简单类型=常数; 例如:constcounter:integer=0;flag:boolean=true;index:0..100=0; 2.变量 (1)变量:在某个程序中的运行过程中其值可以发生改变的量 (2)变量说明:变量说明出现在说明部分。它的语法格式是:var<变量标识符列表>:<类型>;...<变量标识符列表>:<类型>; 其中,保留字var表示开始一个变量说明部分。变量标识符列表是一个用逗号隔开的标识符序列,冒号后面的类型是类型标识符。每个变量说明均以分号结束。
例如:vara,b,c:integer;m,n:real;2.4 标准函数 1.算术函数 函数标识符 自变量类型 意义 结果类型 abs 整型、实型 绝对值 同自变量 arctan 整型、实型 反正切 实型 cos 整型、实型 余弦 实型 exp 整型、实型 指数 实型 frac 整型、实型 小数部分 实型 int 整型、实型 整数部分 实型 ln 整型、实型 自然对数 实型 pi 无自变量 圆周率 实型 sin 整型、实型 正弦 实型 sqr 整型、实型 平方 同自变量 sqrt 整型、实型 平方根 实型 例:abs(-4)=4 abs(-7.49)=7.49 arctan(0)=0.0 sin(pi)=0.0 cos(pi)=-1.0 frac(-3.71)=-0.71 int(-3.71)=-3.0 sqr(4)=16 sqrt(4)=2 2.标准函数 函数标识符 自变量类型 意义 结果类型 odd 整型 判断奇数 布尔型 pred 离散类型 求前趋 同自变量 succ 离散类型 求后继 同自变量 例:odd(1000)=false pred(2000)=1999 succ(2000)=2001 odd(3)=true pred('x')='w succ('x')='y' 3.转换函数 函数标识符 自变量类型 意义 结果类型 chr byte 自变量对应的字符 字符型 ord 离散类型 自变量对应的序号 longint round 实型 四舍五入 longint trunc 实型 截断取整 longint 例:chr(66)='B' ord('A')=65 round(-4.3)=-5 trunc(2.88)=2 4.杂类函数 函数标识符 自变量类型 意义 结果类型 random 无自变量 [0,1间的随机实数 real random word [0,自变量间的随机整数) word randomize 无自变量 初始化内部随机数产生器 longint upcase 字符型 使小写英文字母变为大写 字符型 downcase 字符型 使小写英文字母变为大写 字符型2.5 运算符和表达式 1.运算符和优先级 (1)运算符是实型,如果全部的运算对象都是整型并且运算不是除法,则结果为整型,若运算是除法,则结果是实型 a.算术运算符 运算符 运算 运算对象 结果类型 + 加 整型、实型 只要有一个运算对象是实型,结果就 - 减 整型、实型 是实型,如果全部的运算对象都是整 * 乘 整型、实型 型并且运算不是除法,则结果为整型, / 除 整型、实型 若运算是除法,则结果是实型。 div 整除 整型 整型 mod 取余 整型 整型 b.逻辑运算符 运算符 运算 运算对象 结果类型 not 逻辑非 布尔型 布尔型 and 逻辑与 布尔型 布尔型 or 逻辑或 布尔型 布尔型 xor 逻辑异或 布尔型 布尔型 c.关系运算符 运算符 运算 运算对象 结果类型 = 等于 简单类型 布尔型 <> 不等于 简单类型 布尔型 < 小于 简单类型 布尔型 > 大于 简单类型 布尔型 <= 小于等于 简单类型 布尔型 >= 大于等于 简单类型 布尔型 (2)优先级 运算符 优先级 not 1(高)*,/,div,mod,and 2xor,+,-,or 3in,=,<>,>=,<=,<> 4(低) 2.表达式 (1)算术表达式:算术表达式是由算术运算符连接常量、变量、函数的式子。算术表达式中各个运算符的次序为: ( )-->函数-->*,/,div,mod-->+,1 (2)布尔表达式:Turbo Pascal提供给布尔表达式以下基本操作:逻辑运算和关系运算。
(3)数学上的表达式与pascal语言表达式的区别数学表达式 PASCAL表达式 注意 2a 2*a *号不能省略 a÷b a/b 除号的写法 a≠b a<>b 不等号的写法 a≤b a<=b 小于等于号的写法思考与练习: 1、熟记Pascal的保留字和标准标识符,明确自定义标识符的定义要点。 2、取整函数int与截断取整函数trunc有什么区别?举例说明。 3、判断以下标识符的合法性: a3 3a a17 abcd ex9.5 α β λ 5、将下列的数学表达式改写成PASCAL表达式: b^2-4ac 6、求下列表达式的值: 20 mod 19 15 mod 9 7 div 8 19 div 3 (4>5) and (7<8) (8>9) or ( 9<10) 2 and ((3=3) or (3<7))第三章 顺序结构程序设计练习与作业 3.1 赋值语句 PASCAL有两个语句可以改变变量的值。赋值语句是其中之一(另一个是读语句)。
赋值,顾名思义,就是把一个值赋予某个量。可以这理解:变量相当于装东西的容器,赋值的过程就是把东西放进容器的过程。赋值语句格式如下: 变量:=表达式; 写赋值语句有以下几点要注意: 1、赋值号“:=” 赋值号由两个字符构成,是一个运算符。
如果把这两个字符拆开,那么这两个字符就是别的意思了:“:”是分隔符而“=”是关系运算符,判定两个对象是否相等。刚刚写程序的同学要特别注意这一点。 例:a,b:integer;——是一个说明语句。“:”是变量表和变量类型的分隔符 。
标签: freepar