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章参考答案………………………………………2002第1章概述与预备知识1.1关于TurboPascalPascal是一种计算机通用的高级程序设计语言。它由瑞士NiklausWirth教授于六十年代末设计并创立。以法国数学家命名的Pascal语言现已成为使用最广泛的基于DOS的语言之一,其主要特点有:严格的结构化形式;丰富完备的数据类型;运行效率高;查错能力强。正因为上述特点,Pascal语言可以被方便地用于描述各种算法与数据结构。尤其是对于程序设计的初学者,Pascal语言有益于培养良好的程序设计风格和习惯。IOI(国际奥林匹克信息学竞赛)把Pascal语言作为三种程序设计语言之一,NOI(全国奥林匹克信息学竞赛)把Pascal语言定为唯一提倡的程序设计语言,在大学中Pascal语言也常常被用作学习数据结构与算法的教学语言。在Pascal问世以来的三十余年间,先后产生了适合于不同机型的各种各样版本。其中影响最大的莫过于TurboPascal系列软件。它是由美国Borland公司设计、研制的一种适用于微机的Pascal编译系统。该编译系统由1983年推出1.0版本发展到1992年推出的7.0版本,其版本不断更新,而功能更趋完善。TurboPascal编年史详见表1.1所示。表1.1TurboPascal编年史出版年代版本名称主要特色1983TurboPascal1.0TurboPascal2.0Turbo-87Pascal提高实数运算速度并扩大值域1985TurboPascal3.0TurboBCDPascal增加图形功能特别适合应用于商业1987TurboPascal4.0提供集成开发环境(IDE),引入单元概念1988TurboPascal5.0增加调试功能1989TurboPascal5.5支持面向对象的程序设计(OPP)1990TurboPascal6.0提供面向对象的应用框架和库(TurboVision)1992TurboPascal7.0TurboVision2.0面向对象的应用系统、更完善的IDE1993BorlandPascal7.0开发ObjectWindows库、(ForWindows)提供对OLE多媒体应用开发的支持1995DelphiVisualPascalTurboPascal语言是编译型程序语言,它提供了一个集成环境的工作系统,集编辑、编译、运行、调试等多功能于一体。1.2FreePascal的安装双击“pascalfornoi&2000xp.exe”的图标,出现如图1.1所示的警告对话框。3图1.1警告对话框单击图1.1所示的“下一步”按钮,出现如图1.2所示的许可协议条款对话框。图1.2许可协议条款对话框在图1.2图中,选择所示“我同意该许可协议的条款”的选项,单击“下一步”按钮,出击如图1.3所示的安装目录对话框。4图1.3安装目录对话框不必更改安装目录,直接单击图1.3中的“下一步”按钮,出现如图1.4所示的磁盘安装空间检查完成对话框。图1.4磁盘安装空间检查完成对话框单击图1.4所示的“下一步”按钮,程序开始安装,程序安装完成,会出现如图1.5所示的重启动计算机对话框。5图1.5重启动计算机对话框在图1.5所示中,选择“是,立即重启我的计算机。”,使小方框内出现“√”,单击“完成”按钮,出现如图1.6所示的完成安装对话框。图1.6完成安装对话框在图1.6所示中,单击“完成”按钮,计算机将重启,完成安装。61.3Pascal的启动1.3.1TurboPascal的启动1.DOS下的启动(适用于MS-DOS6.22之前的版本或Win9X&Win2000的CommandMode)DOS下,在装有TurboPascal的文件目录下,键入turbo即可进入TurboPascal集成环境。2.Win9X或Win2000模式下的启动(适用于TurboPascal3.0以后的版本)如果在Win9X或Win2000的“资源管理器”装有TurboPascal的目录中,双击turbo.exe或在“开始”—“程序”菜单中通过MS-DOS方式来运行turbo.exe,它会提示你“该程序设置为MS-DOS方式下运行,并且其他程序运行时,无法运行它。如果选择继续所有其他程序将关闭”,所以在Win9X或Win2000下无法直接运行它,这时你可以在你希望的地方(比如说桌面上)单击鼠标右键“新建”—“快捷方式”,单击“浏览”,找到turbo.exe选中,然后单击“打开”,再单击“下一步”,再单击“完成”;这还没完,选中前面新建的快捷方式(应该叫TurboPascal吧),单击右键,单击“属性”,选择“程序”,然后再单击“高级”,把“MS-DOS方式”前面的那个勾去掉,也就是不要选“MS-DOS方式”,然后单击“确定”,在单击“确定”就大功告成了,以后你运行TurboPascal的时候,只要双击那个你建立起的快捷方式就可以直接在Win9X或Win2000下运行TurboPascal。1.3.2FreePascal的启动1.Win2000下的启动单击“开始”→“程序”→“FreepascalForNIO”→“fp”,即可打开FreePascal程序。2.WinXP下的启动单击“开始”→“所有程序”→“FreepascalForNIO”→“fp”,即可打开FreePascal程序。FPC启动后,有时鼠标不能使用,只能使用键盘进行操作,这样会造成操作上很不方便。FPC在全屏情况下是能用鼠标进行操作的,而在窗口情况下鼠标很有可能不能用。其实全屏与窗口之间的切换是很方便的:用键盘的组合键Alt+回车键即可。1.4FreePascal的配置1.4.1FreePascal的首次配置第一次FreePascal启动后,会出现如图1.7所示的要进行配置的对话框。图1.7进行配置的对话框在图1.7所示中,系统默认值是“Yes”,如果你不想进行配置,可按键盘上的“Tab”键,则光标会在“No”上,如图1.8所示。7图1.8选择光标在“No”上按回车键,完成配置,进入程序的集成主界面(IDE界面),如图1.9所示。图1.9FreePascal的集成界面(IDE)在图1.7所示的对话框中,如果选择的是“Yes”,则出现如图1.10所示的对话框。图1.10选择配置对话框在图1.10所示中,“Copyexisting”是拷贝一个已经存在的配置,“Createnew”是创建一个新的配8置。可选择第一个选项“Copyexisting”,按回车键即可。按键盘上的“Tab”键可进行二个选项间的切换。不管选择哪一项,系统进入如图1.9所示的IDE界面。1.4.2FreePascal的目录路径更改第二次启动FreePascal时,不会再出现要进行配置的对话框了,但系统配置的文件直接是在C盘的根目录下,保存的文件路径也默认在C盘的根目录下。这样文件显得有些混乱,为我们以后的管理方便起见,我们应该为FPC的运行提供一个专用的目录,如D:\FPC,下面以D:\FPC为例来讲解如何更改目录路径。在WinXP操作情况下,打开D盘,新建一个文件夹,命名为FPC。启动FPC程序,出现如图1.9所示的IDE界面,打开“File”菜单,选择“Changedir…”,如图1.11所示。图1.11File→Changedir菜单选择“Changedir…”后,出现如图1.12所示的更改目录对话框(在“Directorytree”中显示的内容会因各人的电脑不同而不同)。图1.12更改目录对话框在图1.12所示中,可以看到目录名是C盘根目录(“Directoryname”的项目),用鼠标双击目录树(“Directorytree”)中的“Drives”,会出现如图1.13所示的所有驱动器对话框。9图1.13所有驱动器对话框在图1.13所示的“Directorytree”中,双击D,出现如图1.14所示的对话框(在“Directorytree”中显示的内容会因各人的电脑不同而不同)。图1.14更改驱动器后的对话框选择“FPC”,单击右边的“Chdir”按钮,出现如图1.15所示的对话框。图1.15已经选择了D:\FPC目录的对话框10单击“Ok”按钮完成目录的更改。1.5FreePascal的IDE界面简介1.5.1IDE界面启动后的IDE界面如图1.16所示。图1.16启动后的IDE界面在屏幕顶行是主菜单,包括十项子菜单,见表1.2及表1.3所示。表1.2FreePascal集成界面(IDE)的十项菜单FileEditSearchRunCompileDebugToolsOptionWindowHelp文件编辑搜索运行编译调试工具选项窗口帮助表1.3集成界面(IDE)十项菜单的具体命令菜单名菜单内容功能File(Alt+F)(注:表中**为0~99的数字)New打开名为Noname*.pas的新文件Newfromtemplate…Open…(F3)打开源程序Save(F2)将当前编辑源文件存盘Saveas…以用户指定路径存源文件Saveall将所有修改过的源文件存盘Changedir…修改当前文件操作路径Commandshell暂时退出IDEExit(Alt+X)退出IDEEdit(Alt+E)Undo(Alt+BkSp)恢复对上一行操作命令的结果RedpCut(Shift+Del)删除正文块并置于ClipboardCopy(Ctrl+Ins)将正文块拷贝至Clipboard中Paste(Shift+Ins)将Clipboard正文块插至光标处Clear(Ctrl+Del)删除正文块Showclipboard打开Clipboard窗口11Search(Alt+S)Find…键入欲查正文、设置方式选项Replace…键入待查的和用以替换的正文Searchagain重复上一次Find或Replace操作Gotolinenumber…提示用户欲查行号Findprocedure…查找过程或函数声明Finderror…定位运行错误ObjetsModulesGlobalsSymbol…表1.3集成界面(IDE)十项菜单的具体命令(续1)Run(Alt+R)Run(Ctrl+F9)运行用户错误Stepover(F8)执行当前过程的下一条语句Traceinto(F7)单步运行程序Gotocursor(F4)执行到光标所在位置UntilreturnParameters…为运行程序输入参数Programreset(Ctrl+F2)中止当前调试过程,释放所占内存空间,关闭程序,打开文件Compile(Alt+C)Compile(Alt+F9)编译活动EDIT窗口的文件Make(F9)启动内部项目管理程序Build重构所有文件,不管其过时否Primaryfile…被编译文件设定ClearPrimaryfile…执行代码存盘或置于内存选择Information…程序的信息Compilemessage(F12)Debug(Alt+D)Output打开Output窗口并使其活动Userscreen(Alt+F5)浏览程序的全部屏幕输出Registers打开register窗口并使其活动FloatingPointUnitAddWatch(Ctrl+F7)将表达式插入窗口Watches弹出一个命令集Break