




已阅读5页,还剩264页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Pascal基本教程第1章概述与预备知识1第2章Pascal语言基础知识19第3章顺序结构程序设计36第4章选择结构程序设计46第5章循环结构程序设计55第6章枚举型和子界型88第7章数组95第8章字符和字符串116第9章函数和过程138第10章集合与记录155第11章指针167第12章文件182第13章 参考答案20043第1章 概述与预备知识1.1 关于Turbo PascalPascal是一种计算机通用的高级程序设计语言。它由瑞士Niklaus Wirth教授于六十年代末设计并创立。以法国数学家命名的Pascal语言现已成为使用最广泛的基于DOS的语言之一,其主要特点有:严格的结构化形式;丰富完备的数据类型;运行效率高;查错能力强。正因为上述特点,Pascal语言可以被方便地用于描述各种算法与数据结构。尤其是对于程序设计的初学者,Pascal语言有益于培养良好的程序设计风格和习惯。IOI(国际奥林匹克信息学竞赛)把Pascal语言作为三种程序设计语言之一, NOI(全国奥林匹克信息学竞赛)把Pascal语言定为唯一提倡的程序设计语言,在大学中Pascal语言也常常被用作学习数据结构与算法的教学语言。在Pascal问世以来的三十余年间,先后产生了适合于不同机型的各种各样版本。其中影响最大的莫过于Turbo Pascal系列软件。它是由美国Borland公司设计、研制的一种适用于微机的Pascal编译系统。该编译系统由1983年推出1.0版本发展到1992年推出的7.0版本,其版本不断更新,而功能更趋完善。Turbo Pascal编年史详见表1.1所示。表1.1Turbo Pascal编年史出版年代版本名称主要特色1983Turbo Pascal 1.0Turbo Pascal 2.0Turbo-87 Pascal提高实数运算速度并扩大值域1985Turbo Pascal 3.0Turbo BCD Pascal增加图形功能特别适合应用于商业1987Turbo Pascal 4.0提供集成开发环境(IDE),引入单元概念1988Turbo Pascal 5.0增加调试功能1989Turbo Pascal 5.5支持面向对象的程序设计(OPP)1990Turbo Pascal 6.0提供面向对象的应用框架和库(Turbo Vision)1992Turbo Pascal 7.0Turbo Vision 2.0面向对象的应用系统、更完善的IDE1993Borland Pascal 7.0开发 Object Windows库、(For Windows) 提供对OLE多媒体应用开发的支持1995Delphi Visual PascalTurbo Pascal语言是编译型程序语言,它提供了一个集成环境的工作系统,集编辑、编译、运行、调试等多功能于一体。1.2 Free Pascal的安装双击“pascal for noi&2000xp.exe”的图标,出现如图1.1所示的警告对话框。图1.1 警告对话框单击图1.1所示的“下一步”按钮,出现如图1.2所示的许可协议条款对话框。图1.2 许可协议条款对话框在图1.2图中,选择所示“我同意该许可协议的条款”的选项,单击“下一步”按钮,出击如图1.3所示的安装目录对话框。图1.3 安装目录对话框不必更改安装目录,直接单击图1.3中的“下一步”按钮,出现如图1.4所示的磁盘安装空间检查完成对话框。图1.4 磁盘安装空间检查完成对话框单击图1.4所示的“下一步”按钮,程序开始安装,程序安装完成,会出现如图1.5所示的重启动计算机对话框。图1.5 重启动计算机对话框在图1.5所示中,选择“是,立即重启我的计算机。”,使小方框内出现“”,单击“完成”按钮,出现如图1.6所示的完成安装对话框。图1.6 完成安装对话框在图1.6所示中,单击“完成”按钮,计算机将重启,完成安装。1.3 Pascal的启动1.3.1 Turbo Pascal的启动1.DOS下的启动(适用于MS-DOS6.22之前的版本或Win 9X & Win2000 的Command Mode)DOS下,在装有Turbo Pascal的文件目录下,键入turbo即可进入Turbo Pascal集成环境。2.Win9X或Win2000模式下的启动(适用于Turbo Pascal 3.0以后的版本)如果在Win9X或Win2000的“资源管理器”装有Turbo Pascal的目录中,双击turbo.exe或在“开始”“程序”菜单中通过MS-DOS方式来运行turbo.exe,它会提示你“该程序设置为MS-DOS方式下运行,并且其他程序运行时,无法运行它。如果选择继续所有其他程序将关闭”,所以在Win9X或Win2000下无法直接运行它,这时你可以在你希望的地方 (比如说桌面上)单击鼠标右键“新建”“快捷方式”,单击“浏览”,找到turbo.exe选中,然后单击“打开”,再单击“下一步”,再单击“完成”;这还没完,选中前面新建的快捷方式(应该叫Turbo Pascal吧),单击右键,单击“属性”,选择“程序”,然后再单击“高级”,把“MS-DOS方式”前面的那个勾去掉,也就是不要选“MS-DOS方式”,然后单击“确定”,在单击“确定”就大功告成了,以后你运行Turbo Pascal的时候,只要双击那个你建立起的快捷方式就可以直接在Win9X或Win2000下运行Turbo Pascal。1.3.2 Free Pascal的启动1.Win2000下的启动单击“开始”“程序”“Freepascal For NIO” “fp”,即可打开Free Pascal程序。2.WinXP下的启动单击“开始”“所有程序”“Freepascal For NIO” “fp”,即可打开Free Pascal程序。FPC启动后,有时鼠标不能使用,只能使用键盘进行操作,这样会造成操作上很不方便。FPC在全屏情况下是能用鼠标进行操作的,而在窗口情况下鼠标很有可能不能用。其实全屏与窗口之间的切换是很方便的:用键盘的组合键Alt + 回车键即可。1.4 Free Pascal的配置1.4.1 Free Pascal的首次配置第一次Free Pascal启动后,会出现如图1.7所示的要进行配置的对话框。图1.7 进行配置的对话框在图1.7所示中,系统默认值是“Yes”,如果你不想进行配置,可按键盘上的“Tab”键,则光标会在“No”上,如图1.8所示。图1.8 选择光标在“No”上按回车键,完成配置,进入程序的集成主界面(IDE界面),如图1.9所示。图1.9 Free Pascal的集成界面(IDE)在图1.7所示的对话框中,如果选择的是“Yes”,则出现如图1.10所示的对话框。图1.10 选择配置对话框在图1.10所示中,“Copy existing”是拷贝一个已经存在的配置,“Create new”是创建一个新的配置。可选择第一个选项“Copy existing”,按回车键即可。按键盘上的“Tab”键可进行二个选项间的切换。不管选择哪一项,系统进入如图1.9所示的IDE界面。1.4.2 Free Pascal的目录路径更改第二次启动Free Pascal时,不会再出现要进行配置的对话框了,但系统配置的文件直接是在C盘的根目录下,保存的文件路径也默认在C盘的根目录下。这样文件显得有些混乱,为我们以后的管理方便起见,我们应该为FPC的运行提供一个专用的目录,如D:FPC,下面以D:FPC为例来讲解如何更改目录路径。在WinXP操作情况下,打开D盘,新建一个文件夹,命名为FPC。启动FPC程序,出现如图1.9所示的IDE界面,打开“File”菜单,选择“Change dir”,如图1.11所示。图1.11 FileChange dir菜单选择“Change dir”后,出现如图1.12所示的更改目录对话框(在“Directory tree”中显示的内容会因各人的电脑不同而不同)。图1.12 更改目录对话框在图1.12所示中,可以看到目录名是C盘根目录(“Directory name”的项目),用鼠标双击目录树(“Directory tree”)中的“Drives”,会出现如图1.13所示的所有驱动器对话框。图1.13 所有驱动器对话框在图1.13所示的“Directory tree”中,双击D,出现如图1.14所示的对话框(在“Directory tree”中显示的内容会因各人的电脑不同而不同)。图1.14 更改驱动器后的对话框选择“FPC”,单击右边的“Chdir”按钮,出现如图1.15所示的对话框。图1.15 已经选择了D:FPC 目录的对话框单击“Ok”按钮完成目录的更改。1.5 Free Pascal的IDE界面简介1.5.1 IDE界面启动后的IDE界面如图1.16所示。图1.16 启动后的IDE界面在屏幕顶行是主菜单,包括十项子菜单,见表1.2及表1.3所示。表1.2Free Pascal 集成界面(IDE)的十项菜单FileEditSearchRunCompileDebugToolsOptionWindowHelp文件编辑搜索运行编译调试工具选项窗口帮助表1.3集成界面(IDE)十项菜单的具体命令菜单名菜单内容功能File(Alt +F)(注:表中* *为099的数字)New打开名为Noname*.pas的新文件New from templateOpen (F3)打开源程序Save (F2)将当前编辑源文件存盘Save as以用户指定路径存源文件Save all 将所有修改过的源文件存盘Change dir修改当前文件操作路径Command shell暂时退出IDEExit (Alt +X)退出IDEEdit(Alt +E)Undo (Alt+BkSp)恢复对上一行操作命令的结果RedpCut (Shift +Del)删除正文块并置于ClipboardCopy (Ctrl +Ins)将正文块拷贝至Clipboard中Paste (Shift +Ins)将Clipboard正文块插至光标处Clear (Ctrl +Del)删除正文块Show clipboard打开Clipboard窗口Search(Alt +S)Find键入欲查正文、设置方式选项Replace键入待查的和用以替换的正文Search again重复上一次Find或Replace操作Go to line number提示用户欲查行号Find procedure查找过程或函数声明Find error定位运行错误ObjetsModulesGlobalsSymbol表1.3 集成界面(IDE)十项菜单的具体命令(续1)Run(Alt +R)Run (Ctrl+F9)运行用户错误Step over (F8)执行当前过程的下一条语句Trace into (F7)单步运行程序Go to cursor (F4)执行到光标所在位置Until returnParameters为运行程序输入参数Program reset (Ctrl+F2)中止当前调试过程,释放所占内存空间,关闭程序,打开文件Compile(Alt +C)Compile (Alt+F9)编译活动EDIT窗口的文件Make (F9)启动内部项目管理程序Build重构所有文件,不管其过时否Primary file被编译文件设定Clear Primary file执行代码存盘或置于内存选择Information程序的信息Compile message (F12)Debug(Alt +D)Output打开Output窗口并使其活动User screen (Alt+F5)浏览程序的全部屏幕输出Registers打开register窗口并使其活动Floating Point UnitAdd Watch (Ctrl+F7)将表达式插入窗口Watches弹出一个命令集Breakpoint (Ctrl+F8)断点使用控制Breakpoint ListCall stack (Ctrl+F3)打开一个窗口列出到目前为止用户程序所调用的所有过程GDB windowTools(Alt +T)Messages (F11)Goto next (Alt+F8)Goto previous (Alt+F7)Grep (Shift +F2)Calculator计算器Ascii tableASCII码表表1.3 集成界面(IDE)十项菜单的具体命令(续2)Options(Alt +O)Mode DebugCompiler打开编译选项设置窗Memory size配制程序隐含内存需求量Linker链接过程选项设置Debugger调试器选项设置Directories编译、链接和输出文件子目录BrowserToolsEnvironment弹出修改环境设置菜单Open打开已有的配置Save保存当前当已修改的配置Save as另存为当前当已修改的配置Window(Alt +W)Tile浏览打开的所有编辑窗口Cascade叠加所有打开的编辑窗口Close all关闭活动窗口Size/Move (Ctrl +F5)修改活动窗口的大小和位置Zoom (F5)放大/还原活动窗口Next (F6)使下一个窗口成为活动窗口Previous (Shift +F6)使前一窗口成为活动窗口HideClose (Alt +F3)List (Alt +F1)列出已打开的所有窗口Refresh display恢复IDE屏幕Help(F1或Alt+H)ContentsIndex (Shift+F1)列出全部帮助信息Topic search (Ctrl+F1)显示关于当前所选项的语言帮助信息Previous Topic (Alt+F1)打开Help窗口,并重新显示上次浏览过的正文Using help帮助系统使用指南FilesAboutFree Pascal 版权、版本信息表1.3 集成界面(IDE)十项菜单的具体命令(续3)Option/Environment(Alt +Space bar)Preference部分IDE工作参数设置选择Editor控制如何处理编辑窗口中的正文CodeCompleteCodeTomplatesDesktopMouse关于使用鼠标的各种设置 Startup选择IDE工作环境设置Color改变IDE色彩以适应用户需要1.5.3 进入菜单的方法用下述方法之一进入相应的子菜单:1)用F10功能键进入主菜单,按“”、“”将光标移至子菜单处,回车。 2)用F10功能键进入主菜单,按子菜单命令的首字母F、E、S、R、C、D、T、O、W、H之一。3)用组合键Alt + 子菜单命令首字母。 4)用鼠标直接操作。进入子菜单后,会出现一个下拉式菜单,这时的子菜单又含有多项命令功能供选择。选择的方法是:按命令的首字母或按、键将光标移至命令处回车。有些命令还有多级子菜单供选择。 在有子菜单出现时,按Esc键可返回上级子菜单或主菜单。在任何时候均可按F10键进入主菜单。 屏幕底行提示了各快捷键(在当前状态下生效的键)对应的功能。例如按F1键可以进入帮助,F2保存,F3打开,Alt + F9编译等。 屏幕中除顶行和底行外的中间大部分窗口为编辑窗口,用于编辑显示程序文本。1.5.4 程序的运行1.输入一个Pascal程序在菜单中选择“File”“New”命令,打开一个新窗口(原来有窗口则不需要上述操作),输入如图1.17所示的程序代码。图1.17 没有保存过的程序样例2.进入编辑状态 1)进入编辑状态 只要有新程序窗口(或原有的程序被打开),就可进入编辑状态,这时光标位于编辑窗口的左上角。l 在编辑状态下,可按、键上下左右移动光标;l 按退格键删光标前字符,按Del键删光标所指字符;l 按回车键换行;l 按组合键:Ctrl + y删除光标所在的行。 2)编辑窗口的说明(如图1.17所示)l 在窗口的左上角的小方块是关闭按钮,用于关闭窗口;l 中间的noname01.pas是当前编辑的文件名;l 右上角的“1”表示当前窗口是第一个窗口;l 其右边的上下箭头用于恢复窗口的大小;l 在整个窗口的右边和下边设有上下左右滚动条(非最大化状态下)。3.保存文件 1)以当前文件名为名存盘,在菜单中选择“File”“Save”命令,系统以当前文件名noname01.pas为名存盘。 2)在菜单中选择“File”“Save As ”命令,系统将按指定的盘符、路径、文件名存盘,例如:d:fpcarea.pas,如图1.18所示。图1.18 已保存成area.pas的程序样例4.编译源文件在菜单中选择“Compile”“Compile”命令(或按组合键:Alt + F9),系统自动会对当前打开的源程序进行编译。如源程序代码有语法错误,则在编译结果对话框中会显示出有多少条错误(“Total errors:”后面的数值),按二次回车键返回编辑窗口,光标指在错误行,窗口顶部显示错误信息。只有在编译无错误情况下(“Total errors: 0”),才可以对已编程序进行运行。编译后产生同名的.exe文件,如:area.exe,如图1.19所示。图1.19 编译结果对话框5.在集成环境(IDE)内运行程序在菜单中选择“Run”“Run”命令,出现如图1.20所示的运行窗口。图1.20 运行窗口(窗口已被缩小)输入10回车,出现运行结果,如图1.21所示。图1.21 运行结果窗口(窗口已被缩小)然后按回车返回集成环境。如果上例中无readln语句,系统运行后迅速返回编辑状态,使输出结果看不清,但这时在菜单中选择“Debug”“User screen”命令或Alt + F5又可回到输出屏幕,按任意键又返回编辑状态。在运行窗口可知,程序运行的是已被编译的area.exe文件,并非area.pas源文件。当然,在Windows下双击D:FPCarea.exe也可以运行,只不过程序运行的界面有点不同。6.检查存盘文件 1)退出Free Pascal返回Dos,用DOS命令DIR检查。l 在菜单中选择“File”“Exit”命令:完全退出,因系统所占的内存完全释放,无法再返回Pascal。l 在菜单中选择“File”“Command shell”命令:暂时退出,这时系统暂驻内存,在DOS状态下,可用DOS命令DIR检查文件的情况,键入Exit命令还可返回Pascal的IDE界面。2)选择“File”“Open”命令,选择或键入已存盘文件名即可将所指文件装入编辑窗口。3)在WinXP(或Win2000)操作系统下,直接检查文件的情况。第2章 Pascal语言基础知识2.1 Pascal程序基本组成2.1.1 举例说明【例0201】:计算半径为R的圆面积Sprogram sam0201; 程序首部已知半径求圆的面积const pi=3.1415926; 说明部分数据描述var r:integer;s:real;begin执行部分readln(r);s:=pi*sqr(r);writeln(s=,s);readln;end.上述程序第一行称为程序首部。其中用花括号(注释可以用 或(* *)来表示)括起来的内容是注释,程序第二行就是一个注释,注释除了给人看,增加程序的可读性外,对程序编译和运行不起作用。一个程序可以包含多个出现在不同处注释,亦可无注释。程序第三行是常量说明,程序第五行是变量说明。程序从“begin”到“end.”都是执行(语句)部分。2.2.2 程序语句的分析1.程序首部【例0201】的第一行称为程序首部。“program”是保留字,接着是程序名(由你依据“标识符”规则自行定义),最后以分号表示程序首部结束,下面是程序主体的开始。程序首部在一个Turbo Pascal(仅在Turbo Pascal中有效)程序中并非必须出现,它是可选的。写上它仅起了文档作用,因此,在时间有限的情况下,如果用Turbo Pascal编程完全可以省略程序首部。但考虑到其他的Pascal,还是要求把程序首部写上。2.程序体 1)说明部分说明部分用于定义和说明程序中用到的数据,由单元说明、标号说明、常量说明、类型说明、变量说明、函数或过程说明组成,并且这些数据的说明次序必须按照以上次序。但是一个简单的Turbo Pascal程序也可以不包含说明部分,也就是说说明部分是可选的。2)执行部分执行部分描述了程序要执行的操作。它必须以一个Turbo Pascal保留字“begin”开始,以保留字“end”后跟句点结束,其间是一些执行具体操作的语句,并且以分号作为语句之间的分隔符。“begin” 和“end”必须成对出现,这是一个Turbo Pascal程序所必须有的。紧跟“end”之后的句号表示执行部分的结束,也表示整个程序的结束。此后的任何语句都无效。Turbo Pascal规定紧随“end”之前出现的分号允许省略。3.一个完全的Pascal程序结构program 程序名;uses已知单元说明;label标号说明;const常量说明;type类型说明;var变量说明;function函数说明;procedure过程说明;begin语句;语句;end. 2.2 Pascal字符与符号2.2.1 保留字(关键字)所谓保留字是指在Pascal语言中具有特定的含义,你必须了解它的含义,以便于正确的使用,否则会造成错误。标准Pascal语言中的保留字一共有35个,Turbo Pascal语言一共有51个。下面是Pascal语言的保留字(括号内是Turbo 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,(EXPORTS,SHR,STRING,ASM,OBJECT,UNIT,CONSTRUCTOR,IMPLEMENTATION,DESTRUCTOR,USES,INHERITED,INLINE,INTERFACE,LIBRARY,XOR,SHL)2.2.2 标识符1.标识符的定义标识符就是以字母(或下划线)开头的字母数字序列,有效长度为63个字符,并且大小写等效。可以用来表示常量、变量、程序、函数等。例如在【例0201】中的“sam0201”(程序名),“pi”(符号常量),“s”、“r”(变量名)都是标识符。2.标识符的分类1)标准标识符:指Pascal语言预先定义的标识符,具有特殊含义。以下列举了Turbo Pascal语言部分常用的标准标识符:标准常量 False Maxint MaxlongintTrue标准类型 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 Output 2)用户字定义标识符:由你来根据需要定义。l 选用的标识符不能和保留字相同。l 语法上允许预定义的标准标识符作为你定义的的标识符使用,但最好还是不要用。l 以下列举了你在定义标识符时可以用的字符: AZ;az;09;_l 标识符只能以字母或下划线开始,不允许以数字开始,标识符不能有空格。以下的标识符是合法的:b,a1,Ab,c_1,_bc,_3,d_2_v,beginend,abs_1等;以下的标识符是非法的:1b数字开始;c 2中间有空格;ex3.7含有“.”。2.3Pascal数据类型数据是程序设计的一个重要内容,其重要特征数据类型,确定了该数据的形、取值范围以及所能参与的运算。Turbo Pascal 提供了丰富的数据类型,这些数据类型可以分为三大类:简单类型、构造类型和指针类型,其中简单类型可以分为标准类型(整型、实型、字符型和布尔型)和自定义类型(枚举型和子界型),构造类型可以分为数组类型、集合类型、记录类型和文件类型。这些数据类型中除了指针类型是动态数据类型外,其他的都是静态数据类型。在这些数据类型中简单类型都是有序类型,除了实型以外的简单类型都是顺序类型,所谓顺序类型就是它们的值不仅是有序的而且是有顺序号。在这里主要介绍整型、实型、字符型和布尔型四种常用的数据类型。2.3.1 整型一个整型数据用来存放整数。Pascal支持五种预定义整型:l shortint(短整型)l integer(整型)l longint(长整型)l byte(字节型)l word(字类型)Pascal分别用相同的名字作为它们的标识符。每一种类型规定了相应的整数取值范围以及所占用的内存字节数。类型数值范围占字节数格式shortint-128.127 (-2727-1)1带符号8位integer-32768.32767 (-215215-1)2带符号16位longint-2147483648.2147483647(-231231-1)4带符号32位byte0.255 (028-1)1不带符号8位word0.65535 (0216-1)2不带符号16位Longword0.4294967295 (0232-1)4不带符号32位Int64 -9223372036854775808 . (-263263-1)+9223372036854775807 8带符号64位QWord 0 . 18446744073709551615 (0264-1)8不带符号64位Pascal规定了两个预定义整型常量标识符maxint和maxlongint,它们各表示确定的常数值,maxint为32767, maxlongint为2147483647,它们的类型分别是integer 和longint。Int64虽然是整形,但它“不是有序的”(用Pred和succ函数可以证明Int64是有序的,但把Int64形作为计数循环的控制变量时,会发生错误!并且,直接给一个Int64类型的变量赋值一个超过longint范围的整数是非法的,这是因为Free Pascal在表达式的计算过程中用来存储整数的最大默认类型是longint)。2.3.2 实型一个实型数据用类存放实数。Turbo Pascal支持五种预定义实型:l real(基本实型)l single(单精度实型)l double(双精度实型)l extended(扩展实型)l comp(装配实型)Turbo Pascal分别用相同的名字作为它们的标识符。每一种类型规定了相应的实数取值范围、所占用的内存字节数以及它们所能达到的精度。 类型数值范围占字节数有效位纯整数有效位纯小数有效位real2.9e-39.1.7e38611.121616single1.5e-45.3.4e3847.87.87double5.0e-324.1.7e308815.161616extended3.4e-4932.1.1e49321019.201717comp-263.263-1819.2019.200Turbo Pascal支持两种用于执行实型运算的代码生成模式:软件仿真模式和80x87浮点模式。除了real可以在软件仿真模式下直接运行以外,其他类型必须在80x87浮点模式下运行(在程序首部的前面一行写“$n+”,用于打开编译开关,否则不能使用)。但在FPC中已不需要“$n+”的编译开关了。在需要尽量高的精度时,我们可以使用extended型,这样有效位可达17位。纯整数有效位、纯小数有效位已在FPC1.0中调试通过,extended型的最后一位会进行四舍五入,real型、double型和single型最后一位没有进行四舍五入,特别注意single型的最后一位是一个“随机数”,在程序中最好不用single型。2.3.3 布尔型一个布尔型数据用来存放逻辑值(布尔值)。布尔型的值只有两个:false和true,并且false的序号是0,true的序号是1。false 和true都是预定义常数标识符,分别表示逻辑假和逻辑真,并且truefalse。boolean是布尔型的标识符。2.3.4 字符型字符型用char作为标识符。字符型必须用两个单引号括起来,字母作为字符型时,大小写是不等价的,字符型只允许单引号中有一个字符,并且必须要有一个字符。否则不是错误,就是字符串,字符串和标识符是string。如:A表示字符为大写字母A;a表示字符为小写字母a(大写字母A和小写字母a是二个不同的字符)。2表示字符为数字字符2; 表示字符为空格。但不是字符型的,它是字符串型(没有字符);Aa也不是字符型,它是字符串型的(有二个字符)。2.4 常量与变量2.4.1 常量1.常量在某个程序的整个过程中其值不变的量。2.常量定义常量定义出现在说明部分。它的语法格式是:const=;.=;常量标识符的类型由定义它的常量的类型决定。例如:const a=12; 隐含说明a是整型 r=3.21; 隐含说明r是实型常量定义部分必须以保留字const开头,可以包含一个或几个常量定义,而且每个常量均以分号结束。3.标准常量Pascal有四个标准常量:maxint(整形最大值215-1=32767),maxlongint(长整形最大值231-1=2147483647)、true(逻辑真)、false(逻辑假)。标准常量不需要用户定义(系统已经为用户进行了定义),可以直接使用。4.Turbo Pascal类型常量(了解)类型常量,又称变量常数,它是Turbo Pascal的一个扩充特性。类型常量在程序的运行中是可以当作“变量”来使用,它可被重新赋值,但不能改变它的类型。类型常量的定义与标准Pascal规定的常数定义和变量说明有所区别。类型常量定义的语法格式:const:简单类型=常数;例如:constcounter:integer=1;flag:boolean=true;index:0.100=2;定义了3个类型常量:counter为整形,初始值为1;flag为布尔型,初始值为真(true);index可以是5种整形中的任何一种,即短整形(shortint)、整形(integer)、长整形(longint)、字节型(byte)、字类型(word)都可以,它的范围为0100,初始值为2。此3个类型常量在以下的程序中是合法的。类型常量需用户在程序中定义后才能使用,即先定义后使用。【例0202】:类型常量的使用。program sam0202;constcounter:integer=1;flag:boolean=true;index:0.100=2;vara:integer;f:boolean;begina:=5;counter:=a*2;flag:=f;index:=a;writeln(counter=,counter);writeln(flag=,flag);writeln(index=,index);readln;end.此程序的运行结果为:counter=10flag=FALSEindex=52.4.2 变量1.变量在某个程序中的运行过程中其值可以发生改变的量。2.变量定义变量说明出现在说明部分。它的语法格式是:var:;.:;其中,保留字var表示开始一个变量说明部分。变量标识符列表是一个用逗号隔开的标识符序列,冒号后面的类型是类型标识符。每个变量说明均以分号结束。例如:vara,b,c:integer;m,n:real;flag:boolean;变量有三个要素:变量名、变量类型、变量值。变量需用户在程序中定义后才能使用,即先定义后使用。2.5标准函数2.5.1 算术函数函数自变量类型意义结果类型例abs(x)整型、实型绝对值同自变量abs(-7.49)7.49arctan(x)整型、实型反正切实型(real)arctan(0)0.0cos(x)整型、实型余弦实型(real)cos(pi)-1.0exp(x)整型、实型指数ex实型(real)exp(1)2.718ln(x)整型、实型自然对数实型(real)ln(2.718)1.0pi无自变量圆周率实型(real)pi3.1415926sin(x)整型、实型正弦实型(real)sin(pi)0.0sqr(x)整型、实型平方同自变量sqr(4)16sqrt(x)整型、实型平方根实型(real)sqrt(4)2.02.5.2 顺序函数函数自变量类型意义结果类型例pred(x)离散类型求前趋同自变量pred(2000)1999,pred(x)wsucc(x)离散类型求后继同自变量succ(2000)2001,succ(x)y2.5.3 转换函数函数自变量类型意义结果类型例chr(x)字节型(byte)顺序号转换成字符字符型(char)chr(65)Aord(x)离散类型字符转换成顺序号长整形(longint)ord(9)57round(x)实型(real)四舍五入长整形(longint)round(3.6)4trunc(x)实型(real)截断取整长整形(longint)trunc(3.6)3int(x)整型、实型取整数部分实型(real)int(-3.7)-3.0frac(x)整型、实型取小数部分实型(real)frac(-3.7)-0.7upcase(x)字符型(char)小写变为大写字符型(char)upcase(b)Bdowncase(x)字符型(char)大写变为小写字符型(char)upcase(B)b 2.5.4 逻辑函数函数自变量类型意义结果类型例odd(x)整型判断奇数布尔型odd(10)false,odd(3)trueeoln(x)文件查检文本文件当前行是否结束布尔型eof(x)文件查检文本文件是否结束布尔型2.5.5 杂类函数函数自变量类型意义结果类型例random无自变量0,1)之间的随机实数实型(real)random0.03137random(x)字类型(word)0,自变量)之间的随机整数字类型(word)random(10)09整数randomize无自变量随机种子数,用于随机数的开始长整形(longint)randomize结果直接被系统使用2.6运算符和表达式2.6.1 运算符和优先级1.运算符1)算术运算符 运算符运算意义运算对象类型结果类型例*乘整型、实型同自变量2*2.55.0/ 除整型、实型实型(real)4/22.0div整除整型整型(integer)15 div 62mod取余整型整型(integer)15 mod 63+加整型、实型同自变量5+2.07.0-减整型、实型同自变量5-41从算术运算符的表格中可以得到:只要有一个运算对象是实型,结果就是实型。如果全部的运算对象都是整型并且运算不是除法,则结果为整型。除法运算结果是实型。在进行取模运算时,当左边的操作数为正时结果为正,左边的操作数为负的结果为负,与除数无关。取模运算结果可用如下的表达式表示: 取模运算结果 = 被除数 - 被除数 div abs(除数) * abs(除数)例如:-28 Mod 3 结果为-1, -28 Mod -3 结果为-1, 28 Mod -3 结果为1 。2)逻辑运算符运算符运算意义运算对象结果类型运算规则速记口诀not()逻辑非布尔型布尔型(Boolean)not truefalsenot falsetrue非真即假非假即真and()逻辑与布尔型布尔型
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 济南市2024-2025学年八年级上学期语文期中模拟试卷
- 电解铝电解车间QC课件
- 电脑绣花设计知识培训班课件
- 高能量姿势课件
- 高考成语使用课件
- 电脑无法显示课件页面问题
- revit工程师考试及答案
- pets考试试题及答案
- 湖南省郴州市永兴县三校联考2023-2024学年四年级上学期期中科学试题(含答案)
- 电站典型故障课件
- 2025年保山辅警考试题库(附答案)
- 合同基础知识培训课件教学
- 福建省泉州市晋江市2024-2025学年七年级(下)期末语文试卷(含解析)
- 2025年浙江省慈溪市辅警招聘考试试题题库带答案详解
- 2025成人高考政治试题及答案专升本
- 安全生产事故分级标准
- 1.1.1观察周边环境中的生物 课件 人教版生物七年级上册
- 110kV变电站通信系统施工方案与技术要求
- 多系统联合仿真平台在燃气轮机设计与开发中的应用
- 工程造价专业成长路径与技能提升
- 1.1坚持改革开放 课件 统编版道德与法治 九年级上册
评论
0/150
提交评论