资源预览内容
第1页 / 共72页
第2页 / 共72页
第3页 / 共72页
第4页 / 共72页
第5页 / 共72页
第6页 / 共72页
第7页 / 共72页
第8页 / 共72页
第9页 / 共72页
第10页 / 共72页
亲,该文档总共72页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Pascal语言程序设计,寿光现代中学 王桐林,【第一、二、三章】,本章要点,Free Pascal与Turbo Pascal的区别 Pascal的程序结构 基本符号、保留字、标识符 数据类型、常量、变量及说明方法 函数与表达式 三种基本的程序结构 顺序结构 分支结构 循环结构,第一章 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.html,Free 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个英文字母(不分大小写,字符串中的字母例外。 十个数字符号。 特殊符号 + - * / = = ( ) := . , ; : ,2保留字: 保留字是指pascal语言中一些有特殊含义的英文单词,它们已被pascal语言自己使用,都有专门的用途。 Pascal 语言中保留字有36个,可分为以下六种类型: 程序、函数、过程的符号: program,function,procedure 说明部分的专用定义符号: array,const,file,label,packed,var,record,set,type,of 语句专用符号: case,do,downto,else,for,goto,if,repeat,then,to,until,while,with,forward 运算符号: and,div,in,mod,not,or 分隔符号: begin,end 空指针常量: Nil 7. PROTECTED, PUBLIC, PUBLISHED, TRY, FINALLY, EXCEPT, RAISE (fp新增保留字),3. 标识符: 标识符是以字母开头的字母数字序列(大小写等效,可跟下划线_),用来标识常量、变量、程序、函数等。Pascal中允许的标识符的有效长度为63。 标识符分为两大类: 标准标识符: 标准常量:false,true,maxint(32767) 标准类型:integer,real,char,boolean,text 标准文件:input,output 标准函数:abs,arctan,chr,cos,eof,eoln,exp,ln,odd, ord,pred,round,sin,sqr,sqrt,succ,trunc 标准过程:get,new,pack,page,put,read,readln,reset,rewrite,unpack,write,writeln 自定义标识符 由用户自己在程序首部或说明部分进行定义,但要注意以下几点:不能与保留字同名;避免与标准标识符同名;最好有一定的含义,增加程序的可读性。 例如:在程序中如用到数学中的,则在定义该常量时可用PI表示。,三、数据类型、常量、变量及说明方法,数据类型确定了该类型数据项的表示、取值范围以及所能参与的运算。在pascal语言中,无论常量还是变量都必须属于一个确定的数据类型。 Pascal 提供了丰富的数据类型,可以分为三大类: 简单类型:分为标准类型(整型、实型、字符型和布尔型)和自定义类型(枚举型和子界型) 构造类型:分为数组类型、集合类型、记录类型和文件类型 指针类型 这些数据类型中除了指针类型是动态数据类型外,其他的都是静态数据类型。另外,我们把整型、字符型、布尔型、枚举型和子界型称为顺序类型。,1标准数据类型: 整数类型:,整数类型包括正整数、负整数和零。整数只能由正负号和数字组成,不允许出现其他字符,“+”号可以省略。,名称 类型 数值范围 占字节数 字节型 Byte 0 255 1 字型 Word 065535 2 短整型 Shortint -128 127 1 整型 Integer -3276832767; 2 长整型 Longint -2147483648 2147483647 (9位) 4 长字型 Longword 04294967295 4 整数INT64 Int64 -9223372036854775808 9223372036854775807 8 Q字型 QWord 0 18446744073709551615 8
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号