资源预览内容
第1页 / 共72页
第2页 / 共72页
第3页 / 共72页
第4页 / 共72页
第5页 / 共72页
第6页 / 共72页
第7页 / 共72页
第8页 / 共72页
第9页 / 共72页
第10页 / 共72页
亲,该文档总共72页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Pascal语言程序设计寿光现代中学 王桐林【第一、二、三章】本章要点nFree Pascal与Turbo Pascal的区别nPascal的程序结构n基本符号、保留字、标识符n数据类型、常量、变量及说明方法n函数与表达式n三种基本的程序结构顺序结构分支结构循环结构第一章 Free Pascal概述 一、 Pascal 简介PASCAL语言是瑞士苏黎世联邦工业大学的N沃思(Niklaus Wirth)教授 于1968年设计完成的,1971年正式发表,它的命名是为了纪念法国数学家 Pascal。在Pascal问世以来的三十余年里,先后产生了适合于不同机型的各 种版本,其中,影响最大的莫过于Turbo Pascal系列软件。Turbo Pascal 是由美国Borland公司设计、研制的一种微机的Pascal语言 应用开发集成环境。该产品由1983年推出的1.0版本发展到1992年推出的 7.0版本,随着版本的不断更新,功能也更趋完善,Turbo Pascal是NOIP在 2004年以前使用的主要软件之一。从NOIP2004开始,中国计算机协会要求联赛使用freepascal,停止使用 turbo pascal。 Freepascal分为Windows和linux两个版本,NOIP大多使用 Windows版,它提供了Windows环境下兼容Turbo Pascal的Pascal编译器, 同时也提供了类似Turbo Pascal的集成开发环境Freepascal IDE。软件下载地址:http:/162.105.81.201/noip/env.htmlFree Pascal与Turbo Pascal的区别1、从主办方的角度上说,TP有版权,FP没有版权限制,TP已经12年没有更新,而 FP一直在更新,IOI、NOI使用的都是FP。 2、Free Pascal理论上可以使用4GB的内存,因此实际上几乎可以使用系统中的所 有剩余内存(除非赛题中有内存限制)。这是Free Pascal由于32位的编译器。 但是对于Turbo Pascal来说,由于是16位的编译器,因此不能定义大小超过 64KB的数据类型和变量,并且在DOS实模式下可以使用的内存总数只有640KB 。 3、Free Pascal是一个跨平台的编译器,而Turbo Pascal只在dos/windows上使用。 4、FP函数和过程在使用时,参数的类型必须和定义时完全一致。原因是在Free Pascal中添加了函数重载功能。所以可以用相同的名字定义不同的函数,只要 这些函数的参数不同,就是不同的函数 5、FP布尔表达式不一定要全部进行计算。只要最终结果已经能够确定,就不再计 算其它还没有计算的部分了。比如布尔表达式exp1 AND exp2 AND exp3,如果 已知exp1的结果是false,那么怎么表达式的结果肯定是false,exp2和exp3就不 用进行计算了。 6、在Free Pascal中,集合中的元素都是4个字节长的。 7、FP表达式执行的顺序不确定。如表达式a:=g(2)+f(3); 不保证g(2)一定在f(3)之 前执行。补充8、在FP中,如果用Rewrite打开文件,那么文件就只能被写入了。如果需要读取这个 文件,要对文件执行Reset。 9、FP在程序结束之前一定要关闭输出文件,否则输出文件可能不能被正确的写入。 10、Free Pascal在windows 95及其以上的windows版本上支持长文件名。对 于文件名,由于windows系统对大小写不敏感,因此在程序中,文件名的 大小写是无关的。但是对于其它大小写敏感的系统,比如linux,程序中用 到的文件名必须和系统中的文件名完全一致。但是由于信息学竞赛的评测 系统一般是linux,因此要求程序中的文件名和系统中的文件名一样。 11、FreePascal和TP语法兼容,但是最不同的就是调试过程。FP中对于数据 类型的范围有一定改动,而且语法要求更苛刻。FP的帮助系统比较不好, 尤其是和TP比,基本上没法用。FP调试系统分编译调试和执行时调试两 种。编译调试在Compiler框内显示,基本上会给出错误的行和列,但是 其定位效率却没有TP好,有的时候仅仅是少了一个分号,可能会因此给你 五六个错误提示,而其原因就是那个分号。执行时错误就更惨。TP会给你 诸如“Stack overflow error“等大家能看懂的,但是FP给的是“Exitcode“。 而且这个Exitcode现在还找不到一个完整的解释资料。我现在仅仅知道 Exitcode2是找不到输入文件,其他的还看不懂呢。有一个好办法就是 把程序弄回TP找错,再到FP中执行。 第二章 Pascal程序设计语言基础 一、概述 1.Pascal是结构化的语言Pascal语言全面清晰地体现结构化思想。不仅提供了直接实现“顺序结 构”、“选择结构”和“循环结构”的语句,而且还可以定义子程序(“ 函数”和“过程”)。在编程时可以完全不使用转向语句“goto”,使程 序的执行顺序与行文顺序保持一致,便于理解; 2.Pascal的数据类型丰富Pascal语言不仅提供了整型、实型、字符型、布尔型等标准数据类型 ,而且还允许用户按照语法规则自定义枚举型、子界型、数组型、集合型 、记录型、指针类型和文件类型,便于数值计算和非数值信息处理; 3.Pascal语言可以实现模块的独立化要求Pascal语言允许在函数和过程内部定义局部变量,允许在主程序和子 程序之间传递参数,使得每一个子程序模块都能反映一个相对独立的性质 ,模块之间的联系简单清晰,便于修改;由于Pascal语言精确地表达了程序设计的基本概念,结构性好,表达 能力强,因此成为学校程序设计课程的教学语言,计算机会考和奥林匹克 信息学竞赛的规定语言。1、程序结构Pascal语言具有严谨的程序结构【例】已知圆的半径,求它的周长和面积。从这个简单的程序可以看到:一个PASCAL程序分为两个部分:程序首部和程序体。 程序首部程序首部是程序的开头部分,有保留字program后接程序名及 程序参数表组成,由分号结束。程序名是用户自己定义的标识 符,参数表一般是文件变量名,用于该程序与外界的数据交流 。最常用的参数为input和output。在turbo pascal语言中,首 部中的参数表可以省略,首部也可省略。 程序体程序体是程序的主体部分,由说明部分和执行部分两部分组成 。说明部分:用来描述程序中用到的变量、常量、类型、过程与函数等 。本程序中第二行是“变量说明“,用来定义变量的名称、类型 。PASCAL规定,凡程序中用到所有变量、符号常量、数组、 标号、过程与函数、记录、文件等数据都必须在说明部分进行 定义(或称“说明“)。也就是说,不允许未说明先使用。执行部分:以“begin“开始,以“end“结束,其间有若干个语句,语句之 间以分号隔开。一条语句执行一定的功能,所有语句完成程序 设计的任务。允许一行写多个语句,也允许一个语句写几行, 最后一行的end后加一.号表示结束。 2、完整的pascal程序框架:program 程序名(程序参数表 );label标号说明;const 常量说明;type类型说明;var变量说明;function函数说明;procedure 过程说明; begin程序语句1;程序语句n; end.程序首部程 序 体说 明 部 分执 行 部 分二、基本符号、保留字、标识符:1基本符号: 是ASCII字符集,主要有: 26个英文字母(不分大小写,字符串中的字母例外。 十个数字符号。 特殊符号 + - * / = false。boolean 是布尔型的标识符。布尔类型的运算符有not(非)、and(与)、or(或)。参与 布尔型运算的是布尔类型的数据,其结果也是布尔类 型的数据。 2常量常量:在程序执行过程中其值不能被改变的量。 pascal除了maxint,true,false三个标准常量外,用户还可以使用常量 定义语句定义新的常量。 它的语法格式是: const =; . =; 常量表识符的类型由定义它的常量的类型决定。例如:const a=12 隐 含说明a是整型;const r=3.21 隐含说明r是实型。常量的定义具有 单一性和不可改变性。3变量变量:在程序执行过程中可以改变值的数据。 它的语法格式是: var :; . :; 其中,保留字var表示开始一个变量说明部分。变量标识符列表是 一个用逗号隔开的标识符序列,冒号后面的类型是类型标识符 。每个变量说明均以分号结束。 例如: var a,b,c:integer; m,n:real;1标准函数: 算术函数:函数标识符 自变量类型 意义 结果类型nAbs 整型、实型 绝对值 同自变量nArctan 整型、实型 反正切 实型nCos 整型、实型 余弦 实型nExp 整型、实型 指数 实型nInt 整型、实型 整数部分 实型nLn 整型、实型 自然对数 实型nSin 整型、实型 正弦 实型nSqr 整型、实型 平方 同自变量nSqrt 整型、实型 平方根 实型nPower(a,b)表示a的b次方,也可以写成a*b,兼容所有数结构四、函数与表达式2运算符和表达式 运算符和优先级算术运算符: 表达式n表达式:是指由常量、变量、函数、括号、集合 及运算符联结起来的式子。n表达式中各运算符的优先级: 表达式有以下几种a.算术表达式: 例如:写出一个整数能被3整除所得余数 的表达式 b.关系表达式: 例如:写出一个能表示正数的表达式 c.逻辑表达式: 例如:写出一个数既能被3整除又能被5 整除的表达式 习 题 1.ax2+bx+c的PASCAL的表达式是_ 2.一元二次方程的根的PASCAL的表达式是 _ 3.表达式2/4*5的值是_, 表达式10*4 mod 5*22/4*5的值是_ 4.i是j的整数倍的布尔表达式是_,m是偶数的布尔 表达式是_,y在-2至-1之间的布尔表达式是 _,y是闰年的布尔表达式是 _ _。 5.有一编码规则如下:原码:A B C X Y Z密码:Z Y X C B A已知原码变量x,则密码的表达式是 _
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号