您好,欢迎访问三七文档
当前位置:首页 > 医学/心理学 > 药学 > 计算机竞赛精华版 1基本知识
奥赛网页:192.168.1.9存放文件地址:用户名:noip2009密码:2009PASCAL基本知识1.2程序的组成1.3字符集和符号1.4数据类型的感念1.5常量和变量1.6标准数据类型1.7表达式1.8上机操作1.9调试程序1.2TURBOPASCAL程序的组成Program程序名(参数表);说明部分;begin语句1;语句2;……语句n;end.{执行部分}{说明部分}{程序首部}实例程序首部:程序的第一行称为程序的首部,它包括pascal的专用词汇program,接着是用户给该程序取的名字,最后以分号表示程序的结束。如:programhello;programsample(input,output);返回说明部分:用于定义和说明程序中要用到的数据,如常数、变量等。如:constR=3.14;i,j:integer;返回执行部分:描述了程序要执行的操作。它必须以一个pascal专用词汇begin开始,以另一个专用词汇end跟句点结束,其间是一些执行具体操作的语句,以分号作为语句的分隔符。返回例1:Programhello;Beginwrite(‘howdoyoudo?’);readln;End.作用:打印出‘howdoyoudo?’这个句子。例2:Programsample;Constpai=3.14;Varr:integer;area,a:real;Beginwrite(’inputr=’);Readln(r);a:=2*pai*r;Area:=pai*r*r;Writeln(‘area=’,area:8:2);writeln(a:8:2);End.1.3.1基本符号1、字母:A到Z,a到z,和下划线_2、数字:0,1,2,3,4,5,6,7,8,93、特殊符号:+,-,*,/,(,),[,],{,}#,$等关系符号:,,,=,=赋值语句::=注解语句:{}或*,*1.3字符集和符号字界分隔符:..1、保留词(具有固定意义和用法的专用单词)beginendanddoelse等等。2、标识符(1)标准函数abs--求绝对值sqr--求平方根1.3.2符号(2)标识符标识符是编程者自己命名的。注意:*不要使用保留词或标准符作为标识符;*命名的标识符考虑其它人阅读、修改的方便,要有代表性;*标识符要以字母开头,后面跟以字母或数字;*标识符不能多长,一般是8个以内下列那些是非法的标识符:myname;bwo;ex4545;3xy;b[3];end;abc.xyz;y11.5常量和变量1.5.1常量1.整型数:如3、-5、0等2.实型数:如3.1、-6.1E+23.字符串:’book’、’*’、’===’1.5.2常量定义Const常量标识符1=常量1;常量标识符2=常量2;…常量标识符n=常量n;例:ConstA=60;pi=3.14;name=‘jennie’;1.5.3变量说明在程序执行过程中其值可以改变的数据,称为变量。一般格式:Var变量说明1;变量说明2;…变量说明n;例:Vara,b:integer;x,y:real;ch1:char;t,f:boolean;1.4数据类型的概念计算机处理的数据对象是一个广义的概念。数值数据:125,45,…非数值数据:‘A’,’hello’,…整型过程类型数据类型简单类型子界类型枚举类型用户自定义类型标准类型字符串类型布尔型实型指针类型对象类型文件类型记录类型数组类型集合类型构造类型数据类型的分类1.6标准数据类型整型integer实型real字符型char布尔型boolean1.6.1整型(integer)一个整型数据用来存放整数,整型数据可以是正整数、负整数和整数零。TurboPascal支持五种预定义整型:短整型(shortint)、整型(integer)、长整型(longint)、字节型(byte)和字类型(word)。两个预定义整型常量标识符maxint和maxlongint。类型取值范围占字节数格式Shortint-128…1271带符号8位Integer-32768..327672带符号16位Longint-2147483648..21474836474带符号32位Byte0..2551无符号8位Word0..655352无符号16位整型常量标识符值类型Maxint32767IntegerMaxlongint2147483647longint1、允许两个整型数使用下列运算符进行运算。(1)算术运算符:+、-、*、DIV、MOD整型数据可以进行如下操作:3div2=15div7=06div(-2)=-3(-12)div(-5)=23mod2=15mod7=5(-14)mod(-4)=-2(-18)mod(-6)=018mod(-5)=3Mod余数的符号与被除数符合相同例1:n为四位数8531,可用分离法求出个、十、百、千位。8531mod10=18531div1000=8(8531mod1000)div100=5(8531mod100)div10=3(2)关系运算符:=、、、、=、=1515结果是False75=75结果是True1817结果是False87结果是True2、标准函数。有顺序函数、算术函数和转换函数等。(1)前趋函数:pred(x)函数值为x-1,例如:pred(6)=5,pred(-21)=22,pred(-maxlongint)无意义。(2)后继函数:succ(x)函数值为x+1,例如:succ(15)=16,succ(-114)=-113,succ(maxlongint)无意义(3)绝对值函数:abs(x)函数值为|x|,例如:abs(-119)=119,abs(101)=101(4)平方函数:sqr(x)函数值为x*x,如:sqr(-5)=25sqr(10)=100(5)奇函数odd(x),函数的结果为布尔型。当x为奇数时,函数值为true;x为偶数时为flase。如:odd(13)=trueodd(16)=false(6)字符函数:chr(x),函数值是序号为ASCII字符,属字符型。如:chr(65)=‘A’chr(32)=‘’1.6.2实型(real)一个实型数据用来存放实数。实型数据可以是正实数、负实数和实数零。实型数据一般用小数或指数(即科学表示法)形式表示。TurboPascal支持一种预定义实型:基本实型(real)、单精度实型(single)、双精度实型(double)、扩展实型(extended)和装配实型(comp)。+1993,3.5E+8=(3.5*10^8),-1.5E-3=(-1.5*10^-3)类型取值范围占字节数有效位数Real2.9*10-39~1.7*1038611-12Single1.5*10-45~3.4*103847-8Double5.0*10-324~1.7*10308815-16Extended1.9*10-4951~1.1*1049321019-20Comp-263+1~263-1819-20实型数据可进行如下的操作:(1)允许实型数使用下列运算符进行运算。运算符:+、-、*、/6个关系运算均符合实型运算。(2)自变量为实型的函数:a.算术函数:绝对值函数:abs(x);函数值为x的绝对值;平方函数:sqr(x);函数值为x的平方;小数函数:frac(x);函数值为x的小数部分;整数函数:int(x);函数值为x的整数部分;正弦函数:sin(x);函数值为x的正弦;余弦函数:cos(x);函数值为x的绝对值;反正切函数:arctan(x);函数值为x的绝对值;(2)自变量为实型的函数:a.算术函数:平方根函数sqrt(x);指数函数exp(x);对数函数ln(x);随机函数random:无自变量时,函数值取(0,1)间随机小数;有自变量且为word类型时,函数值取(0,自变量)间的随机整数。如:random(256)=0至256(但不包括256)之间的一个随机整数;random=0至1之间的一个随机小数。(2)自变量为实型的函数:b.转换函数:在下面的转换函数中,x是实型数,函数的结果类型是整形。截尾函数trunc(x);舍去实数x的小数部分,并转换为整型。舍入函数round(x):对实数x作4舍5入,并转换为整型。字符型标准函数upcase(x),函数仅对英文小写字母返回其对应的大写字母,对其它字符不作改变而返回原值。如:upcase(‘x’)=X;upcase(‘?’)=’?’函数名称函数标识符自变量类型函数类型说明绝对值ABS(X)INTEGERREALINTEGERREAL求X的绝对值平方值SQR(X)INTEGERREALINTEGERREAL求X的平方值平方根SQRT(X)非负整数非负实数非负实数求X的平方根正弦SIN(X)INTEGERREALREAL求X的正弦值余弦COS(X)INTEGERREALREAL求X的余弦值反正切ARCTAN(X)INTEGERREALREAL求X的反正切指数EXP(X)INTEGERREALREALEXP(X)=EX自然对数LN(X)正整数正实数REAL求X的自然对数算术函数函数名称函数标识符自变量类型函数类型说明前趋PRED(X)INTEGERCHARBOOLRAN枚举型INTEGERCHARBOOLRAN枚举型取自变量X的前一个数据若自变量X是第一项,则函数无意义后继SUCC(X)INTEGERCHARBOOLRAN枚举型INTEGERCHARBOOLRAN枚举型取自变量X的后一个数据若自变量X是最后一项,则函数无意义顺序函数1.6.3字符型(char)字符型数据可以是字母、符号、数据(0~9)等ASCII码的所有字符。每个字符型数据在内存中占一个字节。将字符用单引号括起来,即成字符常量。如:’X’、’7’、’?’字符常量可按字符的序数值确定大小关系,也就是说它们的大小由它们所对应的ASCII码确定。如:’Y’’Z’’A’’a’Goback字符型数据可进行如下的操作:(1)可使用六个关系运算进行运算操作,运算结果是布尔型。如:’12’’21’结果是True’a’’b’结果是False(2)提供如下自变量为字符型的标准函数,其中ch为字符型。后继函数Succ(ch):如,Succ(’8’)=’9’Succ(’E’)=’F’前趋函数Pred(ch):如,Pred(’7’)=’6’Pred(’B’)=’A’序数函数Ord(ch):给出字符ch在ASCII字符集中的序号,结果为整数。如:Ord(’7’)7Ord(’7’)=Ord(’0’)+7=48+7=55字符函数Chr(i)是Ord的逆函数如:Chr(55)=’7’Chr(Ord(’A’))=’A’1.6.4布尔型(boolean)一个布尔型数据用来存放逻辑值,或称布尔值。布尔型数据的值只有两种:True(逻辑真)和False(逻辑假)布尔型是顺序类型,规定:FalseTrueFalse的序号为0,True的序号为1设A、B是两个布尔量,逻辑运算的真值如下表:ABNotAAandBAorBAxorBFFTFFFFTTFTTTFFFTTTTFTTF(1)允许两个布尔型的数据使用下列逻辑运算符not(逻辑非)and(逻辑与)or(逻辑或)xor(逻辑异或)布尔型数据可进行如下的操作:(2)可使用六个关系运算进行运算操作,结果仍是布尔型值。如:True=False结果是FalseTrueFalse结果是True(3)可使用如下标准函数,其中B为布尔型数值:Ord(B):Ord(false)=0Ord(True)=1Pred(B):Pred(true)=FaslePred(false)无意义Succ(B):Succ(false)=TrueSucc(true)无意义1.7表达式表达式是描述计算机规则的一种算法结构。程序中的所有运算都是在表达式中完成的,它与数学中的表达
本文标题:计算机竞赛精华版 1基本知识
链接地址:https://www.777doc.com/doc-3971448 .html