1、Pascal 语言第一章知识点一、 保留关键字(35 个)AND:(与) ARRAY:(数组定义标识)BEGIN:(开始)CASE:(情况) CONST(常量声明)DIV:(整除取商 )DO:(做)DOWNTO :(向下) ELSE:(否则)END:(结束) FILE:(文件)FOR: FUNCTION:(函数定义)GOTO IF IN LABEL MOD:(取模) NIL:(空)NOT:(非) OF OR PACKED PROCEGURE:(过程) RECORD:(记录)REPEAT:重复 SET THEN TO TYPE(类型)UNTIL(直到)VAR(变量声明) WHILE(当时)WIT
2、H 二、 数科 学 表 示 法小 学 表 示 法实 数整 数有 正 负 号 科 学 表 示 法小 数 表 示 法实 数整 数无 正 负 号数三、 标准数据类型1、 简单类型(1) 标准(需求)类型a、实数;b 、整数 c 字符; d、布尔(2) 用户自定义类型A、枚举型 B、子界(子域)类型。2、 构造类型(1)数组类型(2)集合(3)记录(4)文件(文卷)3、 指针类型四、 函数函数 含义 自变量类型 值类型Abs(x) |x|整型或实型 与 X 相同Sqr(x) x2 整型或实型 与 X 相同Sqrt(x) x 的平方根整型或实型 实型Sin(x) Sinx 整型或实型 实型Cos(x)
3、Cosx整型或实型 实型Arctan(x) Arctanx整型或实型 实型Exp(x) ex 整型或实型 实型Ln(x) Lnx 整型或实型 实型Trunc(x) 去尾法取整 实型 实型Round(x)四舍五入到整 实型 整型Ord(x) X 的序号顺序类型 整型Chr(x)序号为 X的字符 整型 整型Pred(x) X 的前趋值顺序类型 与 X 相同Succ(x) X 的后继值顺序类型 与 X 相同Odd(x)X 是否为奇数 整型 布尔型Eoln(x)读文件到是否到行末尾 文件型 布尔型Eof(x)读文件到是否到末尾 文件型 布尔型第一章练习题选择题:1、Pasic 程序必须包括( A )
4、。A、程序首部、说明部分、语句部分B、程序首部、说明部分C、说明部分、语句部分D、程序首部、语句部分2、Pascal 程序各部分的书写顺序是( C ) 。A、变量说明类型定义常量定义可执行语句B、类型定义变量说明常量定义可执行语句C、常量定义变量说明类型定义可执行语句D、常量定义类型定义常量说明可执行语句3、在结构化程序设计中,有三种基本结构,下面哪个是这三种基本功结构中的一种?(D)A、输入结构 B、输出结构 C、处理结构 D、顺序结构4.以下正确的 Pascal 实数是 B 。(A) 0.25E2.5 (B) 2.56E2 (C) .318E1 (D) 34.E55.设 X 是实变量,下列
5、哪一个表达式能将 X 四舍五入后保留二位小数。(C)(A)Round(x) (B)Round(x)/100.0 (C)Round(x*100.0)/100.0 (D)Trunc(x*100.0)100.06、把整数 7 转换为数字符7的表达式是哪一个?(C)A、Round(X) B、Chr(7-Ord(0)C、Chr(7+Ord(0) D、Chr(7+Ord(0)7、以下属非法用户自定义标识符是( D ) 。A、data B、DIR C、list D、type8、下列常量定义中,合法的是(C) 。A、CONST c=10 OR 20; B、CONST r:0.82;C、CONST s=2.87
6、9 D、CONST a:=(32)9、下列变量说明中,合法的是(D) 。A、VAR rate=Real B、VAR red,white:Integer;k1,k2:RealC、VAR a:Real; D、VAR i1,i2:Integer;number: 100; red,white:Real;10、字符串1234和字符串4321进行比较,如果让比较的结果为真,应选用关系运算符(A) 。A、 B、 C、 D、11、下列正确的关系表达式是(C) 。A、a50 D、1=150 B、100150 C、Abs(-200)(1.5/0.3)AND(1.5/0.5)-5) C、Round(18.5/2.0
7、)=1.05DIV5+10 D、DNT(ad)OR NOT(18 MOD 5=10)AND(x-2 and x1 and x-2 and x1 and x0) or (y mod 400=0)(7)表示点(x,y)在内径圆a,外径为 b 的圆环内部。(x*x+y*ya*a) and (x*x+y*yb*b)第二章 基本语句及顺序结构程序设计一、选择题1、设 a 是布尔变量,其它是整列变量,下面正确的赋值语句是(C)/a:=x=y MOD z/2、有变量说明:(A)/b2:=r1r2/3、设 a,b, c,d 均为整列变量,对于下面的程序段(B)/1,2,3,5/a:=0;b:=0;Read(a
8、,b ) ;Readln(c) ;Readln(d) ;若从键盘输入:12 3 45 6 7其中,表示回车,则a,b,c,d 中的数应取哪一组?(B)/1 ,2,3,5/4、设整型变量 i 的值为 12,实型变量 a 的值为 -47.28,执行语句 Writeln( i:4,a:8:2)的结果是什么?(可选答案中的每个 表示一个空格) 。(C)/ 12-47.28/5、PROGRAM exam(Input,Output) (C)/gec/VAR ch1,ch2,ch3 ,:char ;BEGINReadln(ch1 ,ch2,ch3) ;Readln(ch1 ,ch2) ;Readln(ch1
9、 ) ;Writeln( ch2,ch2,ch3)END运行以上程序时,若输入为:abcdefghi其中,为回车符,则输入为(C)/gec/6、设实型变量 x 已赋值为4.1876,下面能输出 4.188 的语句是(C)/Write(Round (x*1000)/1000:5:3)/7、已知只有变量说明VARi, j:110;r:Real;下列语句组中没有出错的是(B)i:=9;j:=i MOD 2;r:=i+2*j ;8、设 n 为整型变量,且已赋值为 1997,下面能将 n 的十位数字(即右边第 2 位数字)分离出来的语句是(D)/d:=(n MOD 100)DIV 10/9、如果变量说明
10、为:(D)/b:=x+y=z;/VAR s:Char ; b:Boolean; x,y,z:Integer; r1,r2:Real;下列语句中正确的是(D)/b:=x+y=z;/10、已知 a, b,c 都是整型变量,由键盘输入三行数据(每个数据间有一个空格符,表示回车符):1 2 34 5 67 8 9下列语组中不能使 a=1, b=7的是(D)Readln(a, c,c) ;Readln(b,c ,c) ;二、填空题1、Ax=arcsinx 的 Pascal 赋值语句是/Ax:arctan(x/sqrtdefghi其中,为回车,则变量ch1,ch2,ch3 的值顺序分别是/c,e,g/4、
11、已知 r=21.56,则写语句:Writeln(r=,r , ,r=r,r:9, ,r=,r:6:2)的输出是r=21.56,r=2.150E1,r=21.565、已知下列程序:PROGRAM circle(Input,Output) ;CONST pi=3.1416;VAR r,b:Real;BEGINRead(r) ;b:=pi*r;Writeln(r=,r :12, cm) ;Writeln(d=,2*r:12, cm) ;Writeln(c=,2*b:12 , cm) ;Writeln(a=,b*r:12, sq cm)END.写出程序的运行结果:a=_cmd=_cmc=_cma=_s
12、q cm6、设x,y,z,m,n,p,r ,s 都已说明为整型变量,程序中有下列输入语句:Readln(x,y,z ) ;Readln(m,n,p) ;Read(r,s ) ;若输入数据是这样安排的:第一行:234 746 932 836第二行:65 76第三行:801 402第四行:142 329则在执行了上述输入语句后,各变量取值为:x=234;y=746;z=932 ; m=65;n=76;p=801;r=142;s=329。2、编写一个程序,打印如下三角形:* * *duwv* * * * * * * * * * * * * * * * * * *答案:(两种)(一)program t
13、wo1 (oupput ) ;Beginwriteln( , , , , *) ;writeln( , , , *, *, *) ;writeln( , , *, *, *, *, *) ;writeln( , *, *, *, *, *, *, *) ;writeln(* , *, *, *, *, *, *, * , *, )END.(二)PROGRAM two2(Input,Output) ;Constch1=*;VARI,j,height :Integer;BeginReadln(height ) ;FOR i:=1 to 5 doBeginWrite( :height-i+1) ;F
14、OR j:=1 to 2*i-1 doWrite(ch1);WritelnEndEND.3、已知三角形三条边a,b,c,求三角形面积的公式为:F= )()(css,其中 s=(a+b+c )/2编写一个程序,读入 a, b,c的值,计算出三角形的面积F,打印输出三角形边长及面积的值。答案:Program tow3 (input ,output) ;Var a,b,c,s,F:real;BeginRead(a,b ,c) ;S:=(a+b+c)/2;F:=sqrt(s*(s-a)*(s-b)*(s-c) ) ;Writeln(a=,a ) ;Writeln(b=,b) ;Writeln(c=,c
15、 ) ;Writeln(F= ,F ) ;END.4、某工种接工时计算工资,每月总工资=每月劳动时间(小时)每小时工资。从总工资中扣除 10%作公积金,剩余的为应发工资,从键盘输入劳动时间和每小时工资数,要求编程序打印出应发工资。答案:Program two4 (input ,output) ;Var gongzi, t,a,b:real;BeginRead(t,a ) ;Gongzi:=t*a-0.1*t*a;Writeln(gongzi= ,gongzi) ;End.第三章:选择性语句及选择结构程序设计练习题:选择题1、有下面程序段:IF (k0) THENIF k5 THENIF k2
16、THEN x:=3ELSE x:=4设 k 为整型变量,k 取下列哪组值时,x 可以被赋值为 3?(A)3,4 (B)3,4,5 (C)4,5 (D)5,6,72、已知有说明“VARx:Real;t”和下列程序段CASE xc (B) cb (C) ca 且 c10+yTHEN WHILE xy DO x:=x-10ELSE WHILE yx DO y:=y-10 (错)(3)total:=0;WHILE(x3执行结果为:Hello!Hello!Hello!Hello!(3) i:=0;REPEATWriteln(Hello!);i:=i+1UNTIL I=o.5)AND(i=0.5)OR(I
17、=0.5)AND(i=0.5)OR(Ii则循环体执行的次数为(B) 。(A)1 (B)2 (C) 3 (D) 43、设有以下说明:VAR i:Integer; r:Real; c:Char;则下列 FOR 循环中合法的是(B) 。(A) FOR r:=1.5 TO 4.5 DO Write(c)(B) FOR c:=eDOWNTO b DO Write(c)(C) FOR i:=45 TO 5 DO Write(i)(D) FOR i+i:=1 TO 100 DO Write(i+i)4、有下面程序段m:=2;s:=0;FOR ch:=a TO f DOBEGINIF Odd(m)THEN s
18、:=s+m;M:=m+3END;假设所有变量均已说明,程序运行后 S 的值是( C) 。(A)72 (B)52 (C) 33 (D) 165、设有下面程序:PROGRAM p1(Output);VAR j,k,z:Integer;BEGINz:=0;FOR j:=1 TO 10 DOBEGINz:=z+1;for k:=1 to 10 do z:=a+1END;Writeln(z)END.执行此程序后的输出是(D) 。(A)10(B)20 (C) 100 (D) 1106、下列程序段执行后能打印两行 Very good!的是( A) 。(A)i:=0REPEATWriteln(Very goo
19、d!);i:=i+2UNTL i=4(B)i:=0REPEATWriteln(Very good!);i:=i+2UNTL i4(C)i:=0;REPEATWriteln(Very good!);i:=i+2UNTL ifemale 的值是false。2、将下列打印各枚举值全称的程序填写完全;PROGRAM WeekDays(Output);VAR wd:(Sun,Mon,Tue,Wed,Thu,Fri,Sat);BEGINWD:=sunCASE_WD_OFSun:Writeln(Sunday);Mon:Writeln(Monday);Tue:Writeln(Tuesday);Wed:Writ
20、eln(Wendnesday);Thu:Writeln(Thursday);Fri:Writeln(Friday);Sat:Writeln(Saturday)_End_END.Pascal 第七章练习题选择:1、 在下列数组类型定义中正确的是(C)TYPE a=ARRAYBoolean OF Real;2、 设数组变量 a 定义为:TYPEc=ARRAY15 OF Char;b=ARRAY15 OF c;var a:b;则它的分题个数是(C)25。3、 设有类型说明如下:VAR a:ARRAYae,14,Boolean OF Real;则数组 a 中包含元素的个数为(C)542=40。4、 设
21、有类型说明如下:VARA:ARRAY13,ac OF REAL;则 a3,a是(C)一个存放实型数据的数组元素;5、 下面有关数组分量的表达式中正确的表达式是(D)a4ROUND(8.81)。6、 下面有关数组分量的表达式中正确的表达式是(A)ax,y。7、 已有数组说明:VARa:ARRAY110 OF Integer;并且数组元素 a1,a2a10的值分别是7,8,20,12,6,14,18,9,10,17,那么执行:Writeln(ss7 mod 3);语名输出的结果是(A)14。8、 执行下面的程序PROGRAM prog7_14(Input,Output);VARa:ARRAY14,
22、14 OF Integer;i,j:Integer;BEGINFor i:=1 to 4 doFor j:=1 to 4 doai,j:=I;for j:=1 to 4 doBEGINfor i:=I to 4 doWrite(aI,j:3;Writeln;EndEnd.运行后的输出结果是(D)12341234123412349、 如果程序中出现比较两个字符串大小的表达式:abcdefghaabcdefg,则该布尔表达式的值是(B.False) 。填空题1、 程序填空:执行下面程序将从键盘输入 10 个实型数据存储到数组中,并计算这 10 个数据之和、平均值及平方和。PROGRAM emap1
23、(Input,Output);Var s,r,t:Real;I,j:Integer;x:ARRAY110 OF Real;BEGINs:= 0 ;i:=0.0;for i:=1 to 10 doread(xi);for j:=1 to 10 dobegins:=s+xj;t:=t+xj*xj;end;r:=s/10;writeln(s=,s:10:6,r:=,r:10:6,t=,t:10:6)end.2、 程序填空:下面的程序将完成输入和计算 55 矩阵对角线和的处理。PROGRAM emap1(Input,Output);VARI,j,s,t:integer;a:ARRAY15,15 OF
24、Integer;BEGINFor i:=1 to 5 do For j:=1 to 5 doRead(ai,j);s:=0;for i:=1 to 5 dobegins:=s+ai,i;j=6-i;t:=t+ ai,j ;end;writelnend.第八章 练习题 1231、下列数据类型中不能作为集合的类型的是(D)A、枚举类型 B、布尔类型C、子界类型 D 实型2、下面集合类型定义和集合变量说明中,正确的是(A)TYPEPro=ARRAY110 OF Real;A、ma=SET OF Boolean;B、data=SET OF Integer;C、sa=SET OF Real;D、tot=
25、SET OF pro;3、说明一个名为 bodies 的集合变量它包含下面各值:red,yellow,blue,white,black,green,在下面给出的类型定义变量说明中错误的是(A)A、TYPEMix=red,yellow,blue,white,black,green;VARBodies:mix;B、TYPEColor=(red,yellow,blue,white,black,green);Mix=SET OF color;VARBodies:mix;C、TYPEMix=SET OF(red,yellow,blue,white,black,green);VARBodies:mix;D、VARBodies=SET OF(red,yellow,blue,white,black,green);