2006/9/1集里中学:徐晨辉信息学奥赛培训教程(第二课)主要内容:Pascal语言的基本字符集和标识符种基本数据类型各类型的运算、表达式、及常用函数介绍一、Pascal语言的基本字符集和标识符标识符的定义英文字母:大写A—Z,小写a—z。在Pascal语言中,除非是出现在字符串中的字母,字母无大小写之分。如abc与ABC、Abc、aBC、aBc等是相同的。数字:0—9特殊符号:+,-,*,/,=,,,,=,=,(,),[,],{,},:=,.,,:,;,‘,^..其他符号:空格?标识符就是以字母开头的字母数字序列,有效长度为63个字符,并且大小写等效。可以用来标示常量、变量、程序、函数等。基本字符集标识符的分类:A.保留字(关键字)所谓保留字是指在Pascal语言中具有特定的含义,你必须了解它的含义,以便于正确的使用,否则会造成错误。标准Pascal语言中的保留字一共有35个,TurboPascal语言一共有51个。下面是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等B.标准标识符:指Pascal语言预先定义的标识符,具有特殊含义。例如:标准常量FalseMaxintTrue标准类型BooleanCharRealInteger标准函数AbsArctanChrCosEofEolnExpLnOddOrdPredRoundSinSqrSqrtSuccTrunc标准过程DisposeGetNewPackPagePutReadReadlnResetRewriteUnpackWriteWriteln标准文件InputOutputC、自定义标识符3、最好有一定的含义,增加程序的可读性。由用户(程序员)根据程序要求自行选定的名字。自定义标识符时要注意以下几点:自定义标识符1、不能与保留字同名。2、避免与标准标识符同名。如果用户定义了和标准标识符同名的标识符,便强行改变了标准标识符的原来含义,失去了原定的特殊功能,容易引起混淆。例如:计算面积area最大值max最小值min数据类型在程序设计的过程中主要的操作对象———数据的一个重要特征———数据类型数据整数、实数、字符、数组………………标准类型:整型,实型,字符型,布尔型。补:所有的简单类型都是有序类型,除了实型以外的类型都是顺序类型有序类型:可以比较大小的数据类型。例如:5318.623.6字母’B’在字母‘A之后’一、整型用来表示整数数据的数据类型pascal中五种预定义的整型类型取值范围占字节数格式Shorint-128...1271带符号8位Integer-32768...327672带符号16位Longint-2147483648...21474836474带符号32位Byte0...2551无符号8位word0...655352无符号8位十进制整数表示二、实型用来表示实数数据的数据类型Turbopascal中五种预定义的实型类型取值范围占字节数有效位数real611-12single47-8double815-16extended1019-20comp819-20383910*7.1........10*9.2384510*4.3.......10*5.130832410*7.1.......10*0.512.......1263634932493210*1.1.......10*4.31)带小数点的表示方法2)科学记数法+0.268E-5=0.268*10-5数字E整数如果|a-b|1E-6;那么a=b用浮点方式存储整数运算:实数运算:整型与实型的运算+-*DIV(整除)MOD(求余)+-*/(实数除)DIV(整除)/(实数除)MOD(求余)结果为商9Div2=415mod5=0-4mod3=-1结果为余数整数div整数整数mod整数整数/整数实数/整数整数/实数9/2=4.54/2=2.0结果为实数pascal规定:①相同优先级的运算符,按从左到右顺序计算;②不同优先级的运算符,按从高到低顺序计算;③括号优先级最高,从内到外逐层降低;在算术运算中运算符的优先顺序与数学上的四则运算一致,即“先乘除后加减”(注:“MOD”、“DIV”运算的优先级与“*”、“/”相同)。运算优先顺序三、字符型例如:’E’,’b’,字符‘表示为’’’’关于ASCII码,有如下关系:‘0’‘1’..‘9’‘A’‘B’..‘Z’‘a’‘b’..‘z’ord(‘A’)=65ord(‘a’)=97‘A’’a’字符型数据必须用单引号括起来Pascal支持ASCⅡ码,所以每一个字符与一个整数相对应。美国标准信息交换标准码(AmericanStandardCodeforInformationInterchange,ASCII)四、布尔型用来表示逻辑值(false,true)的数据类型布尔值:false(与0相对应),true(与1相对应)所以:truefalse关系运算符:,=,,=,=,关系运算的结果为布尔类型898656false490=100false‘A’’a’‘C’’B’falsetrue关系运算:即比较运算,进行两个值的比较,成立时为true,不成立时为false标准函数1、算术函数AbsSqrSqrtSinConArctanExpLnAbs(-18.6)=18.6Abs(-16)=16Sqr(-6)=36Sqr(1.3)Sqrt(2.25)=1.5Sqrt(9)=3.0Sin(3.14159)=0.0sin(30*3.14159/180)=0.5Arctan(1.0)=0.785398Exp(0.7419373)=2.1Ln(2.1)=0.7419373Log102.1=Ln(2.1)Ln(10)xn=en*lnx=Exp(n*Ln(x))2、转换函数TruncRoundOrdChrTrunc(4.9)=4Trunc(-5.7)=-5Round(4.3)=4Round(-5.7)=-6Ord(‘A’)=65Ord(False)=0Chr(65)=‘A’3、进退函数PredSuccPred(8)=7Pred(-5)=-4Pred(‘B’)=‘A’Pred(True)=FalseSucc(7)=8Succ(-6)=-5Succ(‘A’)=‘B’Succ(False)=True4、逻辑判断函数OddEolnEofOdd(9)=TrueOdd(66)=False把下列代数式写成Pascal表达式:(1)ax2+bx+c(2)½(xy+)3xz(3)ln1+a1-a(4)½(eu+e-u)(5)sin2(x+0.5)+3cos(2x+4)(1)a*Sqr(x)+b*x+c(2)0.5*(x*y+z/(3*x))(3)ln((1+a)/(1-a))(4)0.5*(Exp(u)+Exp(-u))(5)Sqr(Sin(x+0.5))+3*Cos(2*x+4)表达式