信息学竞赛辅导资料Pascal语言基础知识(一) 标签:信息学
<p><strong>导读</strong>:青少年信息学竞赛辅导资料Pascal语言:第一章 Pascal语言基础知识</p><p><strong>优学合肥奥数网讯</strong>:青少年信息学竞赛辅导资料:Pascal语言。</p><p><strong>第一章:Pascal语言基础知识</strong></p><p>Pascal字符与符号</p><p>1.标识符</p><p>(1)标识符的定义:标识符就是以字母开头的字母数字序列,有效长度为63个字符,并且大小写等效。可以用来标示常量、变量、程序、函数等。例如例1.1中的Area(程序名),pi(符号常量),s、r(变量名)都是标识符。</p><p>(2)标识符的分类:</p><p>a.保留字(关键字)</p><p>所谓保留字是指在Pascal语言中具有特定的含义,你必须了解它的含义,以便于正确的使用,否则会造成错误。标准Pascal语言中的保留字一共有35个,TurboPascal语言一共有51个。下面是Pascal语言的保留字:</p><p>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等</p><p>b.标准标识符:指Pascal语言预先定义的标识符,具有特殊含义。</p><p>以下列举了TurboPascal语言部分常用的标准表识符:</p><p>标准常量FalseMaxintTrue</p><p>标准类型BooleanCharRealInteger</p><p>标准函数AbsArctanChrCosEofEolnExp</p><p>LnOddOrdPredRoundSinSqr</p><p>SqrtSuccTrunc</p><p>标准过程DisposeGetNewPackPagePutRead</p><p>ReadlnResetRewriteUnpackWriteWriteln</p><p>标准文件InputOutput</p><p>c.用户自定义标识符:由你自己根据需要来定义。</p><p>(1)选用的标识符不能和保留字相同。</p><p>(2)语法上允许预定义的标准标识符作为你自己定义的标识符使用,但最好还是不要用。</p><p>以下列举了你自己在定义标识符时可以用的字符:</p><p>A——Z;a——z;0——9;+,-,*,/,=,<>,<=,>=,<,>,(,),[,],{,},:=,,,;,.,:,..,',^</p><p><strong>下一页阅读</strong>:<strong>Pascal数据类型</strong></p><p>2.2 Pascal数据类型</p><p>数据是程序设计的一个重要内容,其重要特征----数据类型,确定了该数据的形、取值范围以及所能参与的运算。</p><p>TurboPascal提供了丰富的数据类型,这些数据类型可以分为三大类:简单类型、构造类型和指针类型,其中简单类型可以分为标准类型(整型、实型、字符型和布尔型)和自定义类型(枚举型和子界型),构造类型可以分为数组类型、集合类型、记录类型和文件类型。这些数据类型中除了指针类型是动态数据类型外,其他的都是静态数据类型。在这些数据类型中的简单类型都是有序类型,除了实型以外的简单类型都是顺序类型,所谓顺序类型就是他们的值不仅是有序的而且是有顺序号。</p><p>在这里主要介绍整型、实型、字符型和布尔型四种常用的数据类型。</p><p>1.整型</p><p>一个整型数据用来存放整数。TurboPascal支持五种预定义整型,它们是shortint(短整型)、integer(整型)、longint(长整型)、byte(字节型)和word(字类型),TurboPascal分别用相同的名字作为他们的标识符。每一种类型规定了相应的整数取值范围以及所占用的内存字节数。</p><p>类型数值范围占字节数格式</p><p>shortint-128..2023带符号8位</p><p>inteter-20238..202372带符号16位</p><p>longint-2023202348..20232023474带符号32位</p><p>byte0..2023带符号8位</p><p>word0..202352带符号16位</p><p>TurboPascal规定了两个预定义整型常量标识符maxint和maxlonint,他们各表示确定的常数值,maxint为20237,longint为2023202347,他们的类型分别是integer和longint</p><p>2.实型</p><p>一个实型数据用来存放实数。TurboPascal支持五种预定义实型,它们是real(基本实型)、single(但精度实型)、double(双精度实型)、extended(扩展实型)、comp(装配实型),TurboPascal分别用相同的名字作为他们的标识符。每一种类型规定了相应的实数取值范围、所占用的内存字节数以及它们所能达到的精度</p><p>类型数值范围占字节数有效位数</p><p>real2.9e-39..1.7e20231..12</p><p>single1.5e-45..3.4e2023..8</p><p>double5.0e-324..1.7e202315..16</p><p>TurboPascal支持两种用于执行实型运算的代码生成模式:软件仿真模式和80x87浮点模式。除了real可以在软件仿真模式下直接运行以外,其他类型必须在80x87浮点模式下运行。</p><p>3.布尔型</p><p>一个布尔型数据用来存放逻辑值(布尔值)。布尔型的值只有两个:false和true,并且false的序号是0,true的序号是1。false和true都是预定义常数标识符,分别表示逻辑假和逻辑真。并且true<false。boolean是布尔型的标识符。</p><p>4.字符型</p><p>字符型用char作为标识符。字符型必须用单引号括起来,字母作为字符型时,大小写是不等价的,并且字符型只允许单引号中有一个字符,否则就是字符串。</p><p><strong>下一页阅读</strong>:<strong>常量与变量</strong></p><p>2.3常量与变量</p><p>1.常量</p><p>(1)常量:在某个程序的整个过程中其值不变的量。</p><p>(2)常量定义:常量定义出现在说明部分。它的语法格式是:</p><p>const</p><p><常量标识符>=<常量>;</p><p>...</p><p><常量标识符>=<常量>;</p><p>常量标识符的类型由定义它的常量的类型决定。例如:consta=12隐含说明a是整型;constr=3.21隐含说明r是实型......</p><p>(3)常量定义部分必须以保留字const开头,可以包含一个或几个常量定义,而且每个常量均以分号结束。</p><p>(4)TurboPascal类型常量</p><p>类型常量,又称变量常数,它是TurboPascal的一个扩充特性。类型常量的定义与标准Pascal规定的常数定义和变量说明有所区别。类型常量定义的语法格式:</p><p>const</p><p><简单类型常量标识符>:简单类型=常数;</p><p>例如:</p><p>const</p><p>counter:integer=0;</p><p>flag:boolean=true;</p><p>index:0..100=0;</p><p>2.变量</p><p>(1)变量:在某个程序中的运行过程中其值可以发生改变的量</p><p>(2)变量说明:变量说明出现在说明部分。它的语法格式是:</p><p>var</p><p><变量标识符列表>:<类型>;</p><p>...</p><p><变量标识符列表>:<类型>;</p><p>其中,保留字var表示开始一个变量说明部分。变量标识符列表是一个用逗号隔开的标识符序列,冒号后面的类型是类型标识符。每个变量说明均以分号结束。</p><p>例如:</p><p>var</p><p>a,b,c:integer;</p><p>m,n:real;</p><p><strong>下一页阅读</strong>:<strong>标准函数</strong></p><p>2.4标准函数</p><p>1.算术函数</p><p>函数标识符自变量类型意义结果类型</p><p>abs整型、实型绝对值同自变量</p><p>arctan整型、实型反正切实型</p><p>cos整型、实型余弦实型</p><p>exp整型、实型指数实型</p><p>frac整型、实型小数部分实型</p><p>int整型、实型整数部分实型</p><p>ln整型、实型自然对数实型</p><p>pi无自变量圆周率实型</p><p>sin整型、实型正弦实型</p><p>sqr整型、实型平方同自变量</p><p>sqrt整型、实型平方根实型</p><p>例:abs(-4)=4abs(-7.49)=7.49arctan(0)=0.0</p><p>sin(pi)=0.0cos(pi)=-1.0frac(-3.71)=-0.71</p><p>int(-3.71)=-3.0sqr(4)=16sqrt(4)=2</p><p>2.标准函数</p><p>函数标识符自变量类型意义结果类型</p><p>odd整型判断奇数布尔型</p><p>pred离散类型求前趋同自变量</p><p>succ离散类型求后继同自变量</p><p>例:odd(2023)=falsepred(2023)=2023succ(2023)=2023</p><p>odd(3)=truepred('x')='wsucc('x')='y'</p><p>3.转换函数</p><p>函数标识符自变量类型意义结果类型</p><p>chrbyte自变量对应的字符字符型</p><p>ord离散类型自变量对应的序号longint</p><p>round实型四舍五入longint</p><p>trunc实型截断取整longint</p><p>例:chr(66)='B'ord('A')=65round(-4.3)=-5trunc(2.88)=2</p><p>4.杂类函数</p><p>函数标识符自变量类型意义结果类型</p><p>random无自变量[0,1间的随机实数real</p><p>randomword[0,自变量间的随机整数)word</p><p>randomize无自变量初始化内部随机数产生器longint</p><p>upcase字符型使小写英文字母变为大写字符型</p><p>downcase字符型使小写英文字母变为大写字符型</p><p><strong>下一页阅读</strong>:<strong>运算符和表达式</strong></p><p>2.5运算符和表达式</p><p>1.运算符和优先级</p><p>(1)运算符</p><p>是实型,如果全部的运算对象都是整型并且运算不是除法,则结果为整型,若运算是除法,则结果是实型a.算术运算符</p><p>运算符运算运算对象结果类型</p><p>+加整型、实型只要有一个运算对象是实型,结果就</p><p>-减整型、实型是实型,如果全部的运算对象都是整</p><p>*乘整型、实型型并且运算不是除法,则结果为整型,</p><p>/除整型、实型若运算是除法,则结果是实型。</p><p>div整除整型整型</p><p>mod取余整型整型</p><p>b.逻辑运算符</p><p>运算符运算运算对象结果类型</p><p>not逻辑非布尔型布尔型</p><p>and逻辑与布尔型布尔型</p><p>or逻辑或布尔型布尔型</p><p>xor逻辑异或布尔型布尔型</p><p>c.关系运算符</p><p>运算符运算运算对象结果类型</p><p>=等于简单类型布尔型</p><p><>不等于简单类型布尔型</p><p><小于简单类型布尔型</p><p>>大于简单类型布尔型</p><p><=小于等于简单类型布尔型</p><p>>=大于等于简单类型布尔型</p><p>(2)优先级</p><p>运算符优先级</p><p>not1(高)</p><p>*,/,div,mod,and2</p><p>xor,+,-,or3</p><p>in,=,<>,>=,<=,<>4(低)</p><p>2.表达式</p><p>(1)算术表达式:算术表达式是由算术运算符连接常量、变量、函数的式子。算术表达式中各个运算符的次序为:()-->函数-->*,/,div,mod-->+,1</p><p>(2)布尔表达式:TurboPascal提供给布尔表达式以下基本操作:逻辑运算和关系运算。</p><p>(3)数学上的表达式与pascal语言表达式的区别</p><p>数学表达式PASCAL表达式注意</p><p>2a2*a*号不能省略</p><p>a÷ba/b除号的写法</p><p>a≠ba<>b不等号的写法</p><p>a≤ba<=b小于等于号的写法</p><p>思考与练习:</p><p>1、熟记Pascal的保留字和标准标识符,明确自定义标识符的定义要点。</p><p>2、取整函数int与截断取整函数trunc有什么区别?举例说明。</p><p>3、判断以下标识符的合法性:</p><p>a33aa17abcdex9.5αβλ</p><p>5、将下列的数学表达式改写成PASCAL表达式:</p><p>b^2-4ac</p><p>6、求下列表达式的值:</p><p>20mod2023mod97div819div3</p><p>(4>5)and(7<8)</p><p>(8>9)or(9<10)</p><p>2and((3=3)or(3<7))</p><p>更多内容,请参加优学合肥奥数网“<strong>杯赛竞赛</strong>”频道。</p><p>》》“<strong>信息学竞赛</strong>”</p><p> 青少年信息学竞赛语言教程一:简单程序 </p><p>信息学编程语言教程二:顺序结构程序与基本数据类型</p><p>信息学奥赛语言教程PASCAL函数表</p><p>安徽省合肥市青少年信息学竞赛注意事项</p>
页:
[1]