宁波计算机程序设计备考:PASCAL中所有单元常用过程及函数列表 标签:程序设计
<p>Pascal是一种计算机通用的高级程序设计语言。Pascal语言语法严谨,层次分明,程序易写,具有很强的可读性,是第一个结构化的编程语言。下面是优学宁波奥数网小编整理的Pascal常用过程和函数列表,希望这些资料对大家有所帮助。</p><p><strong>QUOTE:</strong></p><p>SYSTEM TP的运行库,包括常用的标准函数和过程,可以在程序中直接使用,不需USES语句说明。</p><p>DOS 具有日期、时间、目录查找、程序执行等功能</p><p>CRT 具有屏幕模式控制、扩展键盘码、颜色、窗口、声音等功能</p><p>PRINTER 支持打印输出操作。</p><p>GRAPH 高级图形软件包,支持多种图形适配器。</p><p>GRAPH3 实现TP3.0的图形软件包。</p><p>TURBO3 兼容TP3.0的源程序。</p><p>OVERLAY 实现高级覆盖管理</p><p><strong>一、子程序设计的需要:</strong></p><p>细化算法的过程,可以将每一个子问题运用一段相对独立的小程序来解决;</p><p>一些具有相同或功能相似的程序段在程序中的不同位置反复出现,可以将这样的程序段做成一个整体,用一个标识符给它起一个名字,凡是需要这个程序段的地方只要简单地引用其标识符即可。</p><p>子程序包括过程和函数两种形式。</p><p><strong>二、函数</strong></p><p>标准函数 :由Pascal定义的函数。如我们熟悉的ord,chr等,程序员编程时直接引用就行了。</p><p>自定义函数:由程序员在程序中定义后再使用。</p><p>(1)自定义函数的定义</p><p>function 函数名(形参表):函数类型; { ————函数首部}</p><p>var {————局部变量说明部分}</p><p>begin {————函数体}</p><p>... {————函数语句}</p><p>...</p><p>函数名:=表达式</p><p>end;</p><p>(2)函数的调用:函数在语法上相当于一个表达式,所以,调用时,函数不能独立成为一个语句;它可以出现在任何表达式可以出现的地方。</p><p>例如赋值语句的右边:</p><p>X:=函数名(实在参数表); {————X的类型与函数类型必须一致}</p><p>又,如果函数类型是boolean,则还可以出现在条件语句中,充当条件表达式:</p><p>if 函数名(实在参数表) then ……</p><p><strong>三、过程</strong></p><p>标准过程:由Pascal定义的过程。如我们熟悉的read,write等,程序员编程时直接引用就行了。</p><p>自定义过程:由程序员在程序中定义后再使用。</p><p>(1)过程的定义</p><p>procedure 过程名(形式参数表); {————过程首部}</p><p>var {————说明部分}</p><p>begin {————过程体}</p><p>...</p><p>...</p><p>end;</p><p>(2)过程的调用:过程在语法上相当于一个语句,所以,调用时,直接写下就行:</p><p>过程名(实在参数表);</p><!--分页--><p><strong>四、子程序中的参数</strong></p><p>局部变量和全局变量</p><p>在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。</p><p>变量的作用域</p><p>(1)变量的作用域和它被定义的位置有关:</p><p>在哪里被定义,它的作用范围就在那里:全局变量作用域是整个程序;局部变量作用域是定义该变量的子程序</p><p>(2)全局变量与局部变量同名时:</p><p>在定义局部变量的子程序内,局部变量起作用;在其它地方全局变量起作用。</p><p>值形参和变量形参</p><p>值形参——传值</p><p>变量形参——传地址</p><p>以下为部分函数、过程列表(按字母表顺序排列):</p><p><strong>求绝对值函数abs(x)</strong></p><p>定义:function Abs(X): (Same type as parameter);</p><p>说明:X可以是整型,也可以是实型;返回值和X的类型一致例子:</p><p>CODE:</p><p>var</p><p>r: Real;</p><p>i: Integer;</p><p>begin</p><p>r := Abs(-2.3); { 2.3 }</p><p>i := Abs(-157); { 157 }</p><p>end.</p><p><strong>打开文件Append过程</strong></p><p>定义:procedure Append(f:file of 类型);</p><p>说明:打开一个存在的文本文件,并将文件指针指向文件末尾准备添加元素</p><p>例子:</p><p>CODE:</p><p>var f:file of 类型;</p><p>begin</p><p>assign(f,'文件完全路径');</p><p>append(f);</p><p>end.</p><p><strong>建立文件联系Assign过程</strong></p><p>定义:procedure Assign(f:file of 类型;c:string);</p><p>说明:将字符串C所表示的外部文件名赋给文件变量F</p><p>例子:</p><p>CODE:</p><p>var f:text;</p><p>begin</p><p>assign(f,'C:pascal.txt');</p><p>end.</p><p><strong>终止循环Break过程</strong></p><p>定义:procedure Break;</p><p>说明:中止或结束循环</p><p>例子:</p><p>CODE:</p><p>var i:integer;</p><p>begin</p><p>for i:=1 to 10 do</p><p>begin</p><p>if i<=5 then write(i)</p><p>else break;</p><p>end;</p><p>end.</p><p>输出结果为:20235</p><!--分页--><p><strong>将ASCII码值转为字符Chr函数</strong></p><p>定义:function chr(x:integer):char;</p><p>说明:求ASCII码值为X的字符</p><p>例子:</p><p>CODE:</p><p>var i:integer;</p><p>begin</p><p>for i:=1 to 255 do</p><p>write(i:4,chr(i));</p><p>end.</p><p><strong>关闭文件Close过程</strong></p><p>定义:procedure Close(f:file of 文件类型);</p><p>说明:关闭文件</p><p>注意:在完成文件操作后,必须将此文件用Close关闭,否则数据将丢失!</p><p>例子:</p><p>CODE:</p><p>var f:text;</p><p>begin</p><p>assign(f,'C:Pascal.txt');</p><p>close(f);</p><p>end.</p><p><strong>复制子串copy</strong></p><p>定义: function Copy(S: String; Index: Integer; Count: Integer): String;</p><p>注意:S 是字符串类型的表达式。Index和Count是整型表达式。Copy 返回S中从Index开始,Count个字符长的一个子串。</p><p>例子:</p><p>CODE:</p><p>var S: String;</p><p>begin</p><p>S := 'ABCDEF';</p><p>S := Copy(S, 2, 3); { 'BCD' }</p><p>end.</p><p><strong>递减Dec过程</strong></p><p>定义:procedure Dec(x,y:integer);</p><p>说明:表示x:=x-y,当y=1时,其表达式可以写为Dec(x)</p><p>例子:</p><p>CODE:</p><p>var i:integer;</p><p>begin</p><p>i:=10;</p><p>repeat</p><p>dec(i);</p><p>write(i);</p><p>until i=0;</p><p>end.</p><p>输出结果:2023202310</p><p><strong>删除子串delete</strong></p><p>定义:procedure Delete(var S: String; Index: Integer; Count:Integer);</p><p>注意:S 是字符串类型变量。 Index和Countare是整型表达式。Delete 删除S中从Index开始的Count个字符。如果Index大于S的长度,则不删除任何字符;如果Count大于S中从Index开始的实际字符数,则删除实际的字符数。</p><p>例子:</p><p>CODE:</p><p>var</p><p>s: string;</p><p>begin</p><p>s := 'Honest Abe Lincoln';</p><p>Delete(s,8,4);</p><p>Writeln(s); { 'Honest Lincoln' }</p><p>Delete(s,9,10);</p><p>Writeln(s); { 'Honest L' }</p><p>end.</p><!--分页--><p><strong>取小数函数frac(x)</strong></p><p>定义:function Frac(X: Real): Real; 注意:X 是实型表达式. 结果返回 X 的小数部分; 也就是说,Frac(X) = X - Int(_X). 例子:</p><p>CODE:</p><p>var</p><p>R: Real;</p><p>begin</p><p>R := Frac(123.456); { 0.456 }</p><p>R := Frac(-123.456); { -0.456 }</p><p>end.</p><p><strong>插入子串insert</strong></p><p>定义:procedure Insert(Source: String; var S: String; Index: Integer);</p><p>注意:Source 是字符串类型的表达式。 S 是任意长度字符串类型变量。Index 是整型表达式。Insert 把 Source插在S中Index处。如果结果字符串的长度大于255,那么255之后的字符将被删除。</p><p>例子:</p><p>CODE:</p><p>var</p><p>S: String;</p><p>begin</p><p>S := 'Honest Lincoln';</p><p>Insert('Abe ', S, 8); { 'Honest Abe Lincoln' }</p><p>end.</p><p><strong>取整函数int(x)</strong></p><p>定义:function Int(X: Real): Real; 注意:X是实型数,返回值也是实型的;返回的是X的整数部分,也就是说,X被截尾了(而不是四舍五入)例子:</p><p>CODE:</p><p>var R: Real;</p><p>begin</p><p>R := Int(123.567); { 123.0 }</p><p>R := Int(-123.456); { -123.0 }</p><p>end.</p><p>求长度length</p><p>定义:function Length(S: String): Integer;</p><p>例子:</p><p>CODE:</p><p>var</p><p>S: String;</p><p>begin</p><p>Readln (S);</p><p>Writeln('"', S, '"');</p><p>Writeln('length = ', Length(S));</p><p>end.</p><p><strong>求子串起始位置pos</strong></p><p>定义:function Pos(Substr: String; S: String): Byte;</p><p>注意:Substr和S字符串类型表达式。Pos在S中搜索Substr并返回一个integer值。这个值是Substr的第一个字符在S中的位置。如果在S中没有找到Substr,则Pos返回0。</p><p>例子:</p><p>CODE:</p><p>var S: String;</p><p>begin</p><p>S := ' 123.5';</p><p>{ Convert spaces to zeroes }</p><p>while Pos(' ', S) > 0 do</p><p>S := '0';</p><p>end.</p><p><strong>四舍五入函数round(x)</strong></p><p>定义:function Round(X: Real): Longint; 注意:X是实型表达式. Round 返回Longint型的X的四舍五入值.如果返回值超出了Longint的表示范围,则出错. 例子:</p><p>CODE:</p><p>begin</p><p>Writeln(1.4, ' rounds to ', Round(1.4)); { 1 }</p><p>Writeln(1.5, ' rounds to ', Round(1.5)); { 2 }</p><p>Writeln(-1.4, 'rounds to ', Round(-1.4));{ -1 }</p><p>Writeln(-1.5, 'rounds to ', Round(-1.5));{ -2 }</p><p>end.</p><!--分页--><p><strong>求平方根函数sqrt(x)和平方函数sqr(x)</strong></p><p>定义:</p><p>平方根:function Sqrt(X: Real): Real;</p><p>注意:X 是实型表达式. 返回实型的X的平方根. 平方:function Sqr(X): (Same type as parameter);</p><p>注意:X 是实型或整型表达式.返回值的类型和X的类型一致,大小是X的平方,即X*X.</p><p>例子:</p><p>CODE:</p><p>begin</p><p>Writeln('5 squared is ', Sqr(5)); { 25 }</p><p>Writeln('The square root of 2 is ',Sqrt(2.0)); { 1.414 }</p><p>end;</p><p><strong>数值转为字符串str</strong></p><p>定义: procedure Str(X [: Width [: Decimals ]]; var S:string);</p><p>注意:将数值X转成字符串形式。</p><p>例子:</p><p>CODE:</p><p>var</p><p>S: string;</p><p>begin</p><p>Str(I, S);</p><p>IntToStr := S;</p><p>end;</p><p>begin</p><p>Writeln(IntToStr(-2023));</p><p>Readln;</p><p>end.</p><p><strong>截尾函数trunc(x)</strong></p><p>定义:function Trunc(X: Real): Longint; 注意:X是实型表达式. Trunc 返回Longint型的X的整数部分例子:</p><p>CODE:</p><p>begin</p><p>Writeln(1.4, ' becomes ', Trunc(1.4)); { 1 }</p><p>Writeln(1.5, ' becomes ', Trunc(1.5)); { 1 }</p><p>Writeln(-1.4, 'becomes ', Trunc(-1.4)); { -1 }</p><p>Writeln(-1.5, 'becomes ', Trunc(-1.5)); { -1 }</p><p>end.</p><p><strong>字符串转为数值val</strong></p><p>定义: procedure Val(S; var V; var Code: Integer);</p><p>在这里:</p><p>S 是由一系列数字字符构成的字符串类型变量;。</p><p>V 是整型或实型变量;</p><p>Code 是Integer型变量</p><p>注意:Val将S转为它的数值形式。</p><p>例子:</p><p>CODE:</p><p>var s:string;I, Code: Integer;</p><p>begin</p><p>s:='2023';</p><p>val(s,i,code);</p><p>writeln(i); { 2023 }</p><p>end.</p><p><strong>字符完全串连+</strong></p><p>定义:操作符+把两个字符串联在一起。</p><p>例子:</p><p>CODE:</p><p>var s1,s2,s:string;</p><p>begin</p><p>s1:='Turbo ';</p><p>s2:='pascal';</p><p>s:=s1+s2; { 'Turbo pascal' }</p><p>end.</p><p><strong>字符串压缩空格串连-</strong></p><p>定义:操作符-去掉第一个字符串最后的空格后,将两个字符串联在一起。</p><p>例子:</p><p>CODE:</p><p>var s1,s2,s:string;</p><p>begin</p><p>s1:='Turbo ';</p><p>s2:='pascal';</p><p>s:=s1-s2; { 'Turbopascal' }</p><p>end.</p>
页:
[1]