delphi7基础知识.ppt
《delphi7基础知识.ppt》由会员分享,可在线阅读,更多相关《delphi7基础知识.ppt(71页珍藏版)》请在三一办公上搜索。
1、Pascal语言程序设计,寿光现代中学王桐林,【第一、二、三章】,本章要点,Free Pascal与Turbo Pascal的区别Pascal的程序结构基本符号、保留字、标识符数据类型、常量、变量及说明方法函数与表达式三种基本的程序结构 顺序结构 分支结构 循环结构,第一章 Free Pascal概述,一、Pascal 简介 PASCAL语言是瑞士苏黎世联邦工业大学的N沃思(Niklaus Wirth)教授于1968年设计完成的,1971年正式发表,它的命名是为了纪念法国数学家Pascal。在Pascal问世以来的三十余年里,先后产生了适合于不同机型的各种版本,其中,影响最大的莫过于Turbo
2、 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编译器,同时也提供了类似
3、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的数据类型
4、和变量,并且在DOS实模式下可以使用的内存总数只有640KB。3、Free Pascal是一个跨平台的编译器,而Turbo Pascal只在dos/windows上使用。4、FP函数和过程在使用时,参数的类型必须和定义时完全一致。原因是在Free Pascal中添加了函数重载功能。所以可以用相同的名字定义不同的函数,只要这些函数的参数不同,就是不同的函数 5、FP布尔表达式不一定要全部进行计算。只要最终结果已经能够确定,就不再计算其它还没有计算的部分了。比如布尔表达式exp1 AND exp2 AND exp3,如果已知exp1的结果是false,那么怎么表达式的结果肯定是false,exp2
5、和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系统对大小写不敏感,因此在程序中,文件名的大小写是无关的。但是对于其它大小写敏感的系
6、统,比如linux,程序中用到的文件名必须和系统中的文件名完全一致。但是由于信息学竞赛的评测系统一般是linux,因此要求程序中的文件名和系统中的文件名一样。11、FreePascal和TP语法兼容,但是最不同的就是调试过程。FP中对于数据类型的范围有一定改动,而且语法要求更苛刻。FP的帮助系统比较不好,尤其是和TP比,基本上没法用。FP调试系统分编译调试和执行时调试两种。编译调试在Compiler框内显示,基本上会给出错误的行和列,但是其定位效率却没有TP好,有的时候仅仅是少了一个分号,可能会因此给你五六个错误提示,而其原因就是那个分号。执行时错误就更惨。TP会给你诸如“Stack over
7、flow error等大家能看懂的,但是FP给的是“Exitcode。而且这个Exitcode现在还找不到一个完整的解释资料。我现在仅仅知道Exitcode2是找不到输入文件,其他的还看不懂呢。有一个好办法就是把程序弄回TP找错,再到FP中执行。,第二章 Pascal程序设计语言基础,一、概述1.Pascal是结构化的语言 Pascal语言全面清晰地体现结构化思想。不仅提供了直接实现“顺序结构”、“选择结构”和“循环结构”的语句,而且还可以定义子程序(“函数”和“过程”)。在编程时可以完全不使用转向语句“goto”,使程序的执行顺序与行文顺序保持一致,便于理解;2.Pascal的数据类型丰富
8、Pascal语言不仅提供了整型、实型、字符型、布尔型等标准数据类型,而且还允许用户按照语法规则自定义枚举型、子界型、数组型、集合型、记录型、指针类型和文件类型,便于数值计算和非数值信息处理;3.Pascal语言可以实现模块的独立化要求 Pascal语言允许在函数和过程内部定义局部变量,允许在主程序和子程序之间传递参数,使得每一个子程序模块都能反映一个相对独立的性质,模块之间的联系简单清晰,便于修改;由于Pascal语言精确地表达了程序设计的基本概念,结构性好,表达能力强,因此成为学校程序设计课程的教学语言,计算机会考和奥林匹克信息学竞赛的规定语言。,1、程序结构,Pascal语言具有严谨的程序
9、结构【例】已知圆的半径,求它的周长和面积。,从这个简单的程序可以看到:一个PASCAL程序分为两个部分:程序首部和程序体。程序首部 程序首部是程序的开头部分,有保留字program后接程序名及程序参数表组成,由分号结束。程序名是用户自己定义的标识符,参数表一般是文件变量名,用于该程序与外界的数据交流。最常用的参数为input和output。在turbo pascal语言中,首部中的参数表可以省略,首部也可省略。程序体 程序体是程序的主体部分,由说明部分和执行部分两部分组成。说明部分:用来描述程序中用到的变量、常量、类型、过程与函数等。本程序中第二行是变量说明,用来定义变量的名称、类型。PASC
10、AL规定,凡程序中用到所有变量、符号常量、数组、标号、过程与函数、记录、文件等数据都必须在说明部分进行定义(或称说明)。也就是说,不允许未说明先使用。执行部分:以begin开始,以end结束,其间有若干个语句,语句之间以分号隔开。一条语句执行一定的功能,所有语句完成程序设计的任务。允许一行写多个语句,也允许一个语句写几行,最后一行的end后加一.号表示结束。,2、完整的pascal程序框架:,program 程序名(程序参数表);label 标号说明;const 常量说明;type 类型说明;var 变量说明;function 函数说明;procedure 过程说明;begin 程序语句1;程
11、序语句n;end.,程序首部,程序体,说明部分,执行部分,二、基本符号、保留字、标识符:,1基本符号:是ASCII字符集,主要有:26个英文字母(不分大小写,字符串中的字母例外。十个数字符号。特殊符号+-*/=():=.,;:.,2保留字:保留字是指pascal语言中一些有特殊含义的英文单词,它们已被pascal语言自己使用,都有专门的用途。Pascal 语言中保留字有36个,可分为以下六种类型:程序、函数、过程的符号:program,function,procedure 说明部分的专用定义符号:array,const,file,label,packed,var,record,set,type
12、,of 语句专用符号:case,do,downto,else,for,goto,if,repeat,then,to,until,while,with,forward 运算符号:and,div,in,mod,not,or 分隔符号:begin,end 空指针常量:Nil7.PROTECTED,PUBLIC,PUBLISHED,TRY,FINALLY,EXCEPT,RAISE(fp新增保留字),3.标识符:标识符是以字母开头的字母数字序列(大小写等效,可跟下划线_),用来标识常量、变量、程序、函数等。Pascal中允许的标识符的有效长度为63。标识符分为两大类:标准标识符:标准常量:false,t
13、rue,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 自定义标识符 由用户自己在程序首部或说明部分进行定义,但要注意以下几点:不能与保留字同名;避免与标准标识符同名;最好有一定的含义,增加程序的可读
14、性。例如:在程序中如用到数学中的,则在定义该常量时可用PI表示。,三、数据类型、常量、变量及说明方法,数据类型确定了该类型数据项的表示、取值范围以及所能参与的运算。在pascal语言中,无论常量还是变量都必须属于一个确定的数据类型。Pascal 提供了丰富的数据类型,可以分为三大类:简单类型:分为标准类型(整型、实型、字符型和布尔型)和自定义类型(枚举型和子界型)构造类型:分为数组类型、集合类型、记录类型和文件类型 指针类型 这些数据类型中除了指针类型是动态数据类型外,其他的都是静态数据类型。另外,我们把整型、字符型、布尔型、枚举型和子界型称为顺序类型。,1标准数据类型:整数类型:,整数类型包
15、括正整数、负整数和零。整数只能由正负号和数字组成,不允许出现其他字符,“+”号可以省略。,名称 类型数值范围 占字节数 字节型 Byte 0.255 1 字型 Word 0.65535 2 短整型 Shortint-128.127 1 整型 Integer-32768.32767;2 长整型 Longint-2147483648.2147483647(9位)4 长字型 Longword 0.4294967295 4 整数INT64 Int64-9223372036854775808.9223372036854775807 8Q字型 QWord 0.18446744073709551615 8(
16、整数部分19位),Turbo Pascal规定了两个预定义整型常量表识符maxint和maxlonint,他们各表示确定的常数值,maxint为32767,longint为2147483647,他们的类型分别是integer 和longint。整数的运算符有+、-、*、div、mod,后三种运算符的优先级高于前两种,整数运算的结果也为整数。当两个整数用/相除时,结果为实型,只能赋给实型变量。,实数类型包括正实数、负实数和实数零。它的标识符是real。有两种表示实数的方法:十进制表示法;科学记数法:3.4E3表示3.4*103实数的绝对值在1E-38到1E38之间。,实数类型:,实数的运算有+、
17、-、*、/、结果也为实型。整数参与实数运算,系统自动将整数转化为实数再运算,结果为实数。,2)实数 名称 Type Range Significant digits Size 实型 Real platform dependant?4 or 8单精度型 Single 1.5E-45.3.4E38 7-8 4双精度型 Double 5.0E-324.1.7E308 15-16 8扩展型 Extended 1.9E-4951.1.1E4932 19-20 10装配十进制型Comp-2E64+1.2E63-1 19-20 8,字符类型:目前微机上广泛使用的ASCII码字符集满足PASCAL对字符集的要
18、求。字符型用char作为标识符。字符型必须用单引号括起来,字母作为字符型时,大小写是不等价的,并且字符型只允许单引号中有一个字符,否则就是字符串string。布尔类型:一个布尔型数据用来存放逻辑值(布尔值)。布尔型的值只有两个:false和true,并且false的序号是0,true的序号是1。false 和true都是预定义常数表识符,分别表示逻辑假和逻辑真。并且truefalse。boolean是布尔型的标识符。布尔类型的运算符有not(非)、and(与)、or(或)。参与布尔型运算的是布尔类型的数据,其结果也是布尔类型的数据。,2常量,常量:在程序执行过程中其值不能被改变的量。pasca
19、l除了maxint,true,false三个标准常量外,用户还可以使用常量定义语句定义新的常量。它的语法格式是:const=;.=;常量表识符的类型由定义它的常量的类型决定。例如:const a=12 隐含说明a是整型;const r=3.21 隐含说明r是实型。常量的定义具有单一性和不可改变性。,3变量,变量:在程序执行过程中可以改变值的数据。它的语法格式是:var:;.:;其中,保留字var表示开始一个变量说明部分。变量标识符列表是一个用逗号隔开的标识符序列,冒号后面的类型是类型标识符。每个变量说明均以分号结束。例如:vara,b,c:integer;m,n:real;,1标准函数:算术函
20、数:函数标识符 自变量类型 意义 结果类型Abs 整型、实型 绝对值 同自变量Arctan 整型、实型 反正切 实型Cos 整型、实型 余弦 实型Exp 整型、实型 指数 实型Int 整型、实型 整数部分 实型Ln 整型、实型 自然对数 实型Sin 整型、实型 正弦 实型Sqr 整型、实型 平方 同自变量Sqrt 整型、实型 平方根 实型Power(a,b)表示a的b次方,也可以写成a*b,兼容所有数结构,四、函数与表达式,2运算符和表达式,运算符和优先级 算术运算符:,表达式,表达式:是指由常量、变量、函数、括号、集合及运算符联结起来的式子。表达式中各运算符的优先级:,表达式有以下几种,a.
21、算术表达式:例如:写出一个整数能被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,则密码的表达式是 _。,第三章
22、 程序设计初步,前言:什么是程序设计?程序设计的步骤是什么?结构化程序设计的特点是什么?,一.什么是顺序结构:【例1】:键盘输入两个变量的值,交换值后输出。方法:间接交换法算法分析:(“自顶向下,逐步求精”的编程思想)s1:通过键盘给a,b两个变量赋值;s2:交换a,b的值;s2-1:引入中间变量c;s2-2:在c中存放的a值;s2-3:在a中存放的b值;s2-4:在b中存放的c值;s3:输出变量a,b的值。程序代码:program ex1(input,output);var a,b,c:integer;beginwrite(please input a,b:);read(a,b);write
23、ln(a=,a,b=,b);c:=a;a:=b;b:=c;writeln(a=,a,b=,b)end.,第一节 顺序结构程序设计,Pascal 语言的语句分为简单语句(也称基本语句)和复合语句(也称构造语句),二:几个简单语句:1赋值语句:格式:变量标识符:=表达式;功能:计算和赋值双重功能:【例2】写出程序执行后,变量的值。程序代码:program ex2(input,output);vara,b:integer;c:real;ch:char;bool:boolean;begin a:=3;b:=a;b:=a+1;a:=a+1;c:=a+b;ch:=h;bool:=true;bool:=no
24、t bool;end.说明:1)“:=”赋值号不同于“=”号,具有方向性,具有计算功能。2)赋值号两边的类型应该相同,但有一个例外。3)一个赋值语句只能给一个变量赋值,可以多次给一个变量赋值。4)被赋值的变量可以作为因子参与运算。,2输入语句(read,readln):格式:read(变量名表);readln read(a1,a2,a3);等价于 read(a1);read(a2);read(a3);readln(a1,a2,a3);等价于 read(a1);read(a2);read(a3);readln;功能:通过键盘,给指定的变量赋值。【例3】:写出程序运行后,变量的值。程序代码:pro
25、gram ex3(input,output);var a,b,c:integer;i,j,k:real;ch1,ch2,ch3:char;begin read(a,b,c);readln(i,j,k);read(ch1,ch2,ch3);writeln(a=,a,b=,b,c=,c);writeln(i=,i,j=,j,k=,k);writeln(ch1=,ch1,ch2=,ch2,ch3=,ch3);end.程序运行后,输入数据:1 2 3 4 56.1 7 8 9 0dos,说明:1)变量名表中的变量可以是一个变量,也可以是多个变量,多个变量之间用逗号隔开。2)程序运行后,执行到该语句时,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- delphi7 基础知识
链接地址:https://www.31ppt.com/p-5350469.html