PASCAL语言_复习题_FXT352064_1606
- 格式:doc
- 大小:81.50 KB
- 文档页数:12
PASCAL语言基础总成含题目PASCAL语言基础及基础训练第 1 页共 48页PASCAL语言基础第一章、什么是计算机语言计算机语言是计算机软件中非常独特的一部份,它属于系统软件,但又和应用软件息息相关。
它的作用是:使人类能够用某些命令、指令去让计算机为人类进行数值、逻辑运算。
计算机语言中,只有一种语言是计算机能自己识别的,就是最底层、最难的机器语言,这是一般人类所无法接受的语言,所以在此基础上,人们发展出了许多高级的语言,这些语言的共同特点是:人类无需去掌握高深的机器语言,只要掌握这些更容易理解、更贴近人类的高级语言,用高级语言编出程序后,再由语言解释、编译系统去把程序解释、编译成机器语言让计算机去执行。
目前最常用的高级语言大致有以下几种:BASIC语言:是一般计算机入门者的首选语言,命令少,容易掌握,从BASIC,BASICA,GWBASIC,TRUE BASIC,TURBO BASIC,QUICK BASIC等一直发展到目前的WINDOWS环境下的VB。
PASCAL语言:最适合科学计算、数据处理的语言,运行、编译速度最快,从TURBO PASCAL 5 .5, 6.0, 7.0一直到现在的WINDOWS环境下的DELPHI以及LAZARUS等面向对象的PASCAL,以及目前信息学竞赛使用的FREE PASCAL各个版本。
C语言:主要适用于应用软件的开发,是计算机人员的必修课,但在算法实现、建模方面不如PASCAL方便。
从C,C++,一直到现在的WIONDOWS环境下的VC、C++等。
实际上,我们日常所用的各种软件,包括Windows,WORD、EXCEL、各种游戏等等,全部都是使用程序设计语言编写出来的软件,我们只有掌握了程序设计语言,才能进行计算机软件的开发。
在我们的信息学竞赛中,所有的题目都是非常复杂的数值与逻辑运算,所以世界上广泛采用PASCAL语言作编程工具,我们采用的是FREE PASCAL2.0版本或者相近版本。
PASCAL练习题PASCAL练习题序号题目难度完成数1计算路程167 2摄氏温度转华氏温度165 3求一元二次方程的根265 4成绩评定266 5商场折扣268 6倒数数列和357 7阶乘和357 8求最大值和最小值362 9菲波拉契数列354 10求素数347 11百钱买百鸡363 12水仙花数362 13计算π的值355 14最大公约数和最小公倍数458 15完数461 16亲密数对455 17奖学金认定259 18计算年龄261 19汽车时速计算353 20猴子吃桃问题454 21验证哥德巴赫猜想435 22钞票兑换344 23成绩评定2225 24聪明的猪414 25插入排序47 26约瑟夫问题516 27不重复的随机数413 28侦察任务310 29猜数游戏218 30因式分解411 31砝码选择34 32电灯开闭36 33追查凶手34 34十进制转二进制315 35分糖216 36贮油点53 37运动会成绩统计45 38等式填空315 39验证尼科彻斯定理410 40回文字符串217 41中缀表达式转后缀表达式57 42二叉树的遍历313 43留学生应会的语言31 44绝对素数20 45互不相同的七位完全平方数30 46求数字的乘积根50 47纯粹素数30 58完全平方数40 49十六进制数转十进制数20 50楼梯的不同走法50 51计数排序30 52厄拉多赛筛法求素数20 53杨辉三角形30 54打印图形20 55扑克分发30 56统计单词个数40 57二叉排序树20 58按比例组数30 59数字三角形40 60最佳字符编码40 1.计算路程【题目描述】从键盘输入速度v和时间t,要求计算路程s。
2.摄氏温度转华氏温度【题目描述】读入摄氏温度c,将它转换成华氏温度f输出,写出程序。
已知:f=9/5*c+32 3.求一元二次方程的根【题目描述】输入a,b,c,求一元二次方程ax2+bx+c=0的根。
PASCAL程序设计语言基础一、选择题1、PASCAL程序的执行部分是_______。
A、程序体B、语句C、程序说明部分和语句部分D、整个程序2、标准PASCAL程序说明部分的正确顺序是________。
A、label-->const-->var-->typeB、var-->const-->label-->typeC、label-->const-->type-->varD、const-->var-->type-->label3、下列______是合法的标识符。
A、A23456B、X*YC、BEGIND、H(X)4、下列______是非法的标识符。
A、A17B、A_17C、3XD、P5Q5、下列_____不是保留字。
A、newB、programC、divD、var6、下面_______是PASCAL数。
A、73e4B、-e4C、36.74-e6D、1,742,2587、下面________是实数。
A、90B、0.0C、‘0’D、08、下面有效的PASCAL字符型数据是________。
A、‘This isB、6C、YD、''''9、下列常量定义中正确的是______。
A、const d=40 or d=100;B、const s:0.5;C、const s=2.15;D、const s:=(2>5);10、下列变量说明中,不合法的是______。
A、var a=real;B、var r:real;C、var red:integer;D、var i1,i2:integer;11、下列函数值是整型的是______。
A、CHR(23)B、ORD(FALSE)C、SUCC(FALSE)D、ODD(98)12、下列函数值不可能是布尔类型的是_______。
A、ODD(X)B、ORD(X)C、PRED(X)D、SUCC(X)13、设x是实型变量,下列表达式能将x四舍五入后保留两位小数的是______。
pascal语言试题及答案1. Pascal语言的创始人是谁?- A. Dennis Ritchie- B. Bjarne Stroustrup- C. Niklaus Wirth- D. Guido van Rossum答案: C2. 以下哪个选项不是Pascal语言的特性?- A. 结构化编程- B. 强类型- C. 面向对象- D. 编译型语言答案: C3. Pascal语言中,用于声明变量的关键字是什么?- A. var- B. let- C. def- D. declare答案: A4. 在Pascal中,以下哪个运算符用于比较两个变量是否不相等? - A. =- B. <>- C. ==- D. !=答案: B5. Pascal语言中,以下哪个关键字用于定义函数?- A. function- B. procedure- C. define- D. method答案: A6. 在Pascal中,如何声明一个整型数组?- A. var arr: array[1..10] of integer;- B. var arr: integer[1..10];- C. var arr: integer array[1..10];- D. var arr: integer[10];答案: A7. Pascal语言中,以下哪个语句用于循环执行一段代码? - A. loop- B. repeat- C. while- D. for答案: D8. 在Pascal中,以下哪个关键字用于定义过程?- A. function- B. procedure- C. subroutine- D. method答案: B9. Pascal语言中,以下哪个运算符用于取模运算?- A. %- B. mod- C. div- D. rem答案: D10. 在Pascal中,以下哪个关键字用于定义一个记录类型? - A. record- B. struct- C. type- D. class答案: A。
《PASCAL》复习题一、选择题1、下面语句中,可以使布尔型变量L的值为真的是___C____:A)L:=TB)L:=‘T’C)L:=TRUED)L:=‘TRUE’(2章赋值语句)2、下面的常量定义中正确的是__C___:A)CONST B) CONSTI=100 OR 200 R:12.5;C) CONST D) CONSTPI=3.14 J:=10(2章常量定义)3、循环语句FOR C:=‘X’DOWNTO ‘Z’DO writeln;的循环次数是___A___:A)0B)1C)2D)3(4章for语句)4、如果输入的数据是2,3,4,则下面程序的输出应为___C_______:PROGRAM SAM(INPUT,OUTPUT);V AR i, x, y:integer;BEGINFOR i:=1 TO 3 DOBEGINRead(x); y:=sqr(x)END;Writeln(‘x=’,x, ‘y=’,y)END.A) x=2 y=4 x=3 y=9 x=4 y=16B) x=4 y=16 x=4 y=16 x=4 y=16C) x=4 y=16D)x=2 y=4 x=2 y=4 x=2 y=4(2,4章for语句)5、选择适当内容填入下面的过程说明中,要求过程SWAP中的形式参数X 为值参,Y为变参____C______PROCEDURE swap( );…………A)CONST x: real;V AL y:realB)CONST x: real;y:realC)X:real;V AR y:realD)X,y:real(5章过程的语法)6、分析下面的一组语句,其中N为整型变量,这组语句执行的结果将输出字符串Good________D___个n:=0;repeatwriteln(‘Good’);n:=n+2;until n=5A)0B) 3C) 5D)无限(4章repeat循环语句)7、根据下面的变量说明V ARM, n, i, j:integer;bool:Boolean;则下面的赋值语句中正确的是______B_______A)m+n:=2*jB)bool:=n=i DIV jC)m=15 MOD 7D)m:=i+j:=n+8(2章赋值语句)8、对于PASCAL语言的记录类型,其开域语句用保留字____D____A)RECORDB)CASEC)WHILED)WITH(9章with 语句)9、设有如下的过程说明PROCEDURE wri;BEGINWriteln(‘Welcome to use pascal!!!’);End;则下面有关过程wri的叙述中正确的是____D_____A)过程说明有错,因为没有形式参数B)过程说明有错,因未说明过程的类型C)过程说明有错,因为在过程体内没有给过程名赋值的语句D)过程说明正确(2章赋值语句)10、已知变量ch是字符型变量,下面PASCAL赋值语句正确的是___D_____A)ch:=’ab cd’;B)ch:=chr(ord(succ(‘c’)+1));C)ch:=ord(‘b ’)+ord(‘a’);D)ch:=pred(succ(succ(‘f’)));(2章赋值语句)11、判断以下叙述,其中正确的是___A_______A) 在pascal程序中所用到的变量必须先说明后使用B) 在pascal程序中,允许使用的最小值是-maxintC) 在pascal程序中,分号是语句的一部分,在每个语句中不能省略D) 在pascal程序中,符号常数的值可根据需要随时修改(1,2章基本知识)12、以下不符合pascal规定的字符常量是___B_________A)‘2’B)‘pascal’C)’’’’D)‘a’(2章标准数据类型)13、以下属非法的pascal用户自定义标识是_____A____A)CONSTB)FORMATC)MAXD)NEXT(1章保留字)14、下面循环语句仅执行一次的是_____A_____A) I:=0; B) I:=0;Repeat while (I<3) doI:=I+1; I:=I+1;Writeln(i) writeln(i);Until I<3C)for I:=0 downto 3 do D) I:=0I:=I+1; while (I>0) or (I<3) doWriteln(i); I:=I+1;writeln(i);(4 章循环结构)15、下面函数首部或过程首部合法的是__B_______A)function sum;B)procedure next;C)function s(V AR s:real):integer;D)procedure f(a,b:real):char;(5章函数与过程)16、以下叙述不正确的是____D__________A)Pascal提供了一些标准函数和过程,用户使用时可直接调用,无需定义B)使用标准函数sin时,每调用一次都能得到唯一的一个值C)标准函数只能出现在表达式中,不能以一个调用语句的形式单独调用D)调用标准函数或标准过程均能通过一个函数名或过程名带回一个结果(5章函数与过程)17、设有过程首部procedure f (V AR x:integer;y:real);若a,b为整型变量,c为实型变量,则合法的过程调用语句是____D_____A)f(2,3)B)f(2,3.0)C)f(a+b,c)D)f(b,2)(4章过程调用语法)18、每个pascal程序都必须包括___D_____A) 常量说明B)类型定义C)变量说明D)程序首部(1章基本知识)19、已知实型变量r的值为32 .635,若要求按32 . 635的形式输出,应使用的写语句是___B__A)writeln(r );B)writeln(r:6:3);C)write(r:5:3);D)writeln(r:5);(2章write语句)20、以下标准数据类型中,____D______ 不能用读语句赋值A)整型B)实型C)字符型D)布尔型(2章基本类型)21、以下程序段共执行_____C______次循环I:=0.5;While I<2.5 doBeginI:=I+0.5;End;A) 1B) 3C) 4D) 5(4章for语句)22、以下pascal程序输出结果是____C______program tea(output);V AR i,j:integer;BeginFor i:=1 to 4 doBeginFor j:=4-i to 1 doWrite(‘*’);Writelnendend.A) * * * B) * C) * D) * ** * * * * * ** * * *(4章for语句,多重循环)23、下面循环语句能构成有限次循环的是____A_______A)I:=5;repeati:=i+1;until I>0B)I:=1;RepeatWriteln(i);Until I>1C)I:=5;While (I>0) doI:=I+1;Writeln(i);D)I:=1;While I<>0 doI:=I+2;Writeln;(4章for,while,repeat 循环语句)24、设a和b为同一类型枚举变量,以下语句合法的是:__A_______A) a:=b;B) read(a,b);C) a:=ord(b);D) writeln(a,b);(6章枚举类型)25、结构化程序的主要优点是(C )A)程序体积小,节省内存空间B)程序效率高,节省运行时间C)程序结构清晰,可读性高,易维护与修改,可靠性高D)容易实现巧妙的算法(1章概述)26、下列for 循环的次数是(A )a:=true ; b:=false ;for I:=a to b dowrite(i);A)0 B)1 C)A D)B(4章for语句)27、COS500 +e-X 的正确表达式为()A)cos (50.0) + exp(-x)B)cos (pi * 50.0/180) + exp(-x)C)cos (3.1416 * 50.0 /180) + exp(-x)D)cos (50.0) + 1.0/exp(-x)(2章表达式)28、一个完整的pascal 程序由程序首部,说明部分及执行部分组成,其说明部分的次序为( C )A)常量说明,类型说明,变量说明,标号说明,过程说明B)标号说明,类型说明,变量说明,常量说明,过程说明C)标号说明,常量说明,类型说明,变量说明,过程说明D)类型说明,变量说明,标号说明,过程说明,常量说明(1章概述)29、.Pascal 程序中无序类型是指(A )A)实型B)字符型C)整型D)布尔型(2章基本类型)30 A )head …….A)Q^.next:=P^.next; B)q^.next^.next:=next;Dispose(p); dispose(p);C) q^.next:=p; D) p:=q^.next;P^.next:=nil; q^:=p^.next;Dispose(P); p^.next:=q^.next;Dispose(p);(11章链表删除)31、.下列具有输出功能的是_____D______A) Assign B) Input C) Begin D) Write32、当n为任意正奇数时,值总为Ttre的表达式是_____D______A) n MOD 2=0B) DIV 2=1C) N-(n DIV 2)=1D) n-Trunc(n/2)*2=133、表达式Pred(Chr(Ord(‘A’)+4))的值是_____B______A) ‘C’ B) ‘D’ C) 69 D) 10134、程序段:FOR i:=1 TO 5 DOFOR j:=2 TO i DOWriteln(‘A’);输出字符A的个数是_____B______A) 5B) 10 C) 15 D) 2035、数学表达式Sin(60o)的正确PASCAL表达式是:______C_______A) Sin(60) B) Sin(3.14159*60)C) Sin(3,14159*60/180.0) D) Sin(60*3.14159/360.0)36、下列属PASCAL合法常数的是: _____A______A) 102 B) 1O.0 C) 35,000,000 D) 1/237、设x是一个实型变量,下面能将x四舍五入使小数部分精确到百分之一的PASCAL表达式是:_____A______A) Round(x*100.0)/100.0 B) Round(x/100,0)*100.0C) Trunc(x*100.0)/100.0 D) Trunc(x/100.0)*100.038、一个文件文件的基类型不可以是_____A______A) 文件B) 数组C) 实数D) 记录数组39、下列表达式中正确的是_____B______A) 8/2 MOD 2 B) NOT(1=0) AND(3<>2) C) ’a’+2 D) 2+False40、不能作为FOR语句循环控制变量的是下列哪种类型变量_____C______A) 整型B) 布尔型C) 实型D) 字符型二、填空题1、下面程序依次读入一个字符,以与读入相反的次序,建立以HEAD为头的单向链表,直到读入’!’为止。
pascal编程基础练习题一、不定项选择和填空题1、下列关于程序语言的叙述,不正确的是()A、编写机器代码不比编写汇编代码容易B、高级语言需要编译成目标代码或通过解释器解释后才能被CPU执行C、同样一段高级语言程序通过不同的编译器可能产生不同的可执行程序D、汇编代码可被CPU直接运行E、不同的高级语言语法略有不同2、下列哪一种程序设计语言是解释执行的()A、PascalB、GWBASICC、C++D、FORTRAN3、解释程序的功能是()A、将高级语言程序转换为目标程序B、将汇编语言程序转换为目标程序C、解释执行高级语言程序D、解释执行汇编语言程序4、下列中没有语法错误的PASCAL程序首都是()A、PROGRAM A1;B、PROGRAM A1(0utPut)C、PROGRAM (Input,OutPut);D、PROGRAM A1(Input OutPut);5、结构化程序的结构由三种基本结构组成,下面哪个不属于这三种基本结构()A、顺序结构B、输入输出结构构C、分支结构D、循环结构6、Pascal程序必须包括()A、程序首部、说明部分、语句部分B、程序首部、说明部分C、说明部分、语句部分D、程序首部、语句部分7、标准Pascal程序说明部分的正确顺序是()A、LABEL—CONST—V AR—TYPEB、V AR—CONST—LABEL—TYPE C、LABEL—CONST—TYPE—V ARD、CONST—V AR—TYPE—LABEL8、下面对Pascal程序组成结构的描述错误的是()A、程序体可以为空B、程序的注释部分只能写在程序中一条语句的最后C、程序首都的参数部分可有可无D、一个完整的PASCAL程序的主程序只能有一个9、要编写并执行—个PASCAL程序,—般的步骤是()A、①用编辑软件编写源程序②用PASCAL的编译程序把源程序转换成目标程序③用连接程序把目标程序转换为可执行程序④运行可执行程序B、①用编辑软件编写源程序②修改和调试源程序③用PASCAL的编译程序把源程序转换成可执行程序④运行可执行程序C、①用编辑软件编写源程序②用连接程序把源程序转换成可执行程序③试运行可执行程序④修改后再运行可执行程序D、①用编辑软件编写源程序②用连接程序把源程序转换为目标程序③用PASCAL的编译程序把目标程序转换为可执行程序④运行可执行程序10、PASCAL源程序中不止确的注释语句是()A、用一对“{”和“}”括起来的字符串B、用一对“/*”和“*/”括起来的字符串C、用—对“(*”和“*)”括起来的字符串D、A) 或B)11、以下正确的PASCAL实数是()A、0.56E2.5B、2.56E2C、.318E1D、34.E5E、E5F、3E-5G、.15H、15.12、每个Pascal程序的分程序中都必须包括()A、变量说明、语句B、语句C、类型定义、变量说明、语句D、常量说明、变量说明、语句13、下列中合法的Pascal标识符是()A、Char setB、RECORDC、AbsD、πE、A1B2C3 F、FOR G、2ab H、a[1]14、设a、b、c为整型变量,并有以下程序段Read(a);Readln(b,c);Readln(c,b);Readln(a,b);writeln(a,b,c)若运行时输入:123<ENTER>456<ENTER>789<ENTER>其中<ENTER>表示回车符,则输出是()A、123B、147C、78415、下列表达式中,其值为TRUE的是()A、150>=150B、100>150C、Abs(-200)<>200D、S ucc('A')<Succ('a')E、'ab'<'abc'F、Succ(False)=True G、0dd(35+1)=FaLse H、219<> 21916、有变量说明:V AR i1,i2:Integer;r1,r2:Real;b1,b2:Boolean;设各变量均已赋值,下列中错误的赋值语句是()A、b2:=Ord(r1>r2)B、i2:=i1+r1C、b1:=i1=i2 D、b1: =b1+b2E、i2:=i1+i2 DIV i1F、i1:=i1/i2G、r2:=3/5*Sqr(r1+r2)H、r1:=r 2+r117、下面一段程序是用())语言书写的int funcl (int n){int i,sum=0;for (i = 1;i<=n;i++)sum+= i*i;return sum;}A、FORTRANB、PASCALC、CD、PROLOGE、BASIC18、设全集E={1,2,3,4,5},集合A={1,4},B={l,2, 5},C={2,4),则集合(A∩B)∪~C为()A、空集B、{1}C、{3,5}D、{1,5}E、{1,3,5}19、运算17 MOD 4的结果是()A、7B、3C、1D、420、已知a、b、c、d、e、f、g均为整数变量,其值分别为2、4、6、8、10、12、14,若输出结果为2 4681012 14则输出语句应是()A、Write(a:3,b:3);write(c:3,d:3,e:3);Write(f:3,g:3)B、Writeln(a:3,b:3);Write(c:3,d:3,e:3);Writeln(f:3,g:3)C、Writeln(a:3,b:3);Writeln(c:3,d:3,e:3);Writeln;Writeln(f:3,g:3);D、Write(a:3,b:3);Writeln;Write(c:3);Writeln(f:3,g:3);Write(f:3,g:3)21、把整数7转换为字符‘7’的表达式是哪一个()A、Chr(7)-0rd('0')B、Chr(7-0rd(0))C、Chr(7+0rd('0'))D、Chr(7 +0rd(0))22、下列类型定义中,合法的是()A、TYPE a=10..10;B、TYPE b=0..Sqr(10);C、TYPE c=1.0..10.0;D、TYPE d=10..5;23、以下运算符中运算优先级最高的是()A、+B、ORC、>=D、DIV24、已知有如下说明:V ARa,b:Integer;c,d:Real;下面赋值语句合法的是()A、c:=a+bB、a:=Trunc(c)C、a:=a+b/cD、b:=a div d25、设有变量说明:V AR s:(C,G,A,J,K);则函数Succ(A)的取值是()A、GB、3C、JD、B26、表达式True AND NOT Odd(-202)<(7-3<=4)的值是()A、TrueB、FalseC、0D、127、下列常量说明中合法的是()A、CONST color=red..blue;B、CONST CONST=10*5;C、CONST x1:=3.9;D、CONST abc='abc';28、已知a、b、c、d是同类型简单变量,且都已有互不相同的值,执行下列语句b:=a;a:=c;d:=a;d:=b;后,其值相等的变量是()A、a,dB、a,cC、c,bD、b,d29、下面合法的常量是()A、.25B、"RED"C、'%'D、3E-2.530、设a、b、c、d、e均为整型变量,且s=13、b=2、c=10、d=3、e=2,则表达式a-b*c DIV d MOD e的值是:()A、13B、-7C、11D、0。
pascal 练习题Pascal练习题Pascal是一种结构化的编程语言,于20世纪70年代由Niklaus Wirth开发。
它以其简洁、易读和高效的特点而闻名。
由于Pascal语言的特殊性质,它被广泛用于教育和训练编程入门者。
本篇文章将为大家呈现一些适用于Pascal编程的练习题。
通过这些练习题,读者们可以增加他们的Pascal编程技能,深入了解Pascal语言的特性与用法。
下面列出了一些练习题,每个练习题都有对应的题目和要求。
练习题一:阶乘计算器题目:编写一个程序,实现阶乘的计算。
要求:用户输入一个正整数,程序将输出该数的阶乘。
练习题二:质数判断器题目:编写一个程序,判断一个数是否为质数。
要求:用户输入一个整数,程序将输出该数是否为质数。
练习题三:字符串翻转题目:编写一个程序,实现字符串的翻转。
要求:用户输入一个字符串,程序将输出该字符串的翻转结果。
练习题四:数列求和题目:编写一个程序,计算数列的和。
要求:给定一个正整数n,程序将计算1到n的所有整数的和。
练习题五:矩阵转置题目:编写一个程序,实现矩阵的转置。
要求:用户输入一个m×n的矩阵,程序将输出该矩阵的转置矩阵。
练习题六:冒泡排序题目:编写一个程序,实现冒泡排序算法。
要求:用户输入一个整数数组,程序将按照升序或降序的方式对数组进行排序。
通过上述练习题,我们可以锻炼Pascal编程的各个方面,包括基本的算术运算、条件语句、循环语句、字符串处理以及数组操作等。
通过编写这些程序,读者不仅可以提高他们的编程技能,还可以更好地理解算法的实现过程。
为了更好地完成这些练习题,以下是一些有用的提示:1. 阶乘计算器:使用一个循环结构,递增一个变量并与用户输入的数相乘,直到达到用户输入的数。
2. 质数判断器:使用一个循环结构,检查除了1和自身以外的数是否可以整除用户输入的数。
3. 字符串翻转:使用一个循环结构,从字符串的末尾开始逐个提取字符,然后将提取的字符逐个连接起来形成新的字符串。
pascal 练习题Pascal练习题Pascal是一种流行的编程语言,被广泛应用于科学计算、算法设计和软件开发等领域。
为了提高编程能力和熟练掌握Pascal语言的特性,练习题是一种非常有效的学习方法。
本文将介绍一些Pascal练习题,并探讨它们的解决方法和应用场景。
一、计算圆的面积和周长编写一个Pascal程序,根据用户输入的半径,计算并输出圆的面积和周长。
这个练习题可以帮助我们熟悉Pascal的基本语法和数学计算。
解决这个问题的关键是理解圆的面积和周长的计算公式,并正确地应用到程序中。
二、查找最大值和最小值给定一个整数数组,编写一个Pascal程序,找出数组中的最大值和最小值,并输出它们。
这个练习题可以帮助我们熟悉Pascal的数组操作和条件判断。
解决这个问题的关键是遍历数组,比较每个元素的值,并使用变量记录最大值和最小值。
三、猜数字游戏编写一个Pascal程序,实现一个猜数字的游戏。
游戏开始时,随机生成一个0到100之间的整数,玩家需要通过输入猜测的数字来猜出正确的答案。
程序会根据玩家的猜测给出提示,直到猜对为止。
这个练习题可以帮助我们熟悉Pascal的随机数生成和条件判断。
解决这个问题的关键是使用随机数生成器生成一个随机数,并与玩家的猜测进行比较。
四、斐波那契数列编写一个Pascal程序,计算并输出斐波那契数列的前N项。
斐波那契数列是一个非常经典的数列,每一项都是前两项的和。
这个练习题可以帮助我们熟悉Pascal的循环和递归。
解决这个问题的关键是使用循环或递归的方式计算数列的每一项,并将结果输出。
五、排序算法给定一个整数数组,编写一个Pascal程序,实现排序算法对数组进行排序,并输出排序后的结果。
常见的排序算法包括冒泡排序、插入排序和快速排序等。
这个练习题可以帮助我们熟悉Pascal的排序算法和数组操作。
解决这个问题的关键是理解排序算法的原理和实现方式,并正确地应用到程序中。
练习题不仅可以帮助我们巩固Pascal语言的知识,还可以提高我们的编程能力和解决问题的能力。
FreePascal程序设计语言基础练习题(三)在算法和程序设计中,数据的输入和输出是不可缺少的操作。
数据的输入解决如何获取问题中的原始数据,数据的输出解决如何输出处理后的结果数据。
一般地,输入设备指向键盘,通过与键盘交互方式输入原始数据。
输出设备指向显示器,程序运行结果输出在显示屏上。
如果仅以键盘和显示屏作为输入、输出设备,有许多的缺点,现实中需要计算机处理的问题往往数据量很大。
有时假人们需要长期保存原始数据和结果数据,这里,人们可以借助外存储器保存数据。
人们把数据的输入、输出设备指向存储器设备,实现在外存储器上读写数据。
1.文本文件文件是数据在外部存储器上存储的一种组织形式。
数据以文件的形式存储后,能够永久地存储,还可以被不同程序读写,成为共享数据。
在信息学奥林匹克中,程序的测试是采用“黑匣子”测试方式,测试时对程序的运行结果进行比对。
因此,一般情况下,程序中的数据都是以文件形式存放的。
(图,测试数据文件)文本文件中的数据是以文本方式存放,即以ASCII方式存放,是一种通用的文件。
文件文件一般可以用文字处理软件创建和打开,如记事本程序或写字板程序,文本文件的拓展名为“.txt”。
(图,文本文件的图符)文本文件由若干行须眉,行与行之间用行结束标记隔开,文件末尾有一个文件结束符<EOF>标记(不可见字符)。
文本文件的每一个元素均为字符型,但在将文件元素读入到一个变量(整型、实型或字符型)时,Pascal会自动将其转换为与变量相同的数据类型。
在将一个变量写入文件文件时,也会自动转换为字符型。
2.Pascal文本文件的操作Pascal提供了一批用于文本文件操作的标准过程和函数。
文本文件程序在操作过程中的基本步骤是:(1)将标准输入对象指向文件。
(2)将标准输出对象指向文件。
(3)设置文件的读或写的模式。
(4)在使用完文件后,关闭文件。
见课本P109-110。
3.建立测试数据文件[例]加法器程序[问题描述]加法器程序(add.pas/add.in/add.ou)星仔要给小学一年级的小朋友编写一个加法器程序,可以计算出3个30000以内的整数求和的结果。
PASCAL复习题(课程代码352064)一、选择题1、下面语句中,可以使布尔型变量L的值为真的是___C____:A)L:=TB)L:=‘T’C)L:=TRUED)L:=‘TRUE’(2章赋值语句)2、下面的常量定义中正确的是__C___:A)CONST B) CONSTI=100 OR 200 R:12.5;C) CONST D) CONSTPI=3.14 J:=10(2章常量定义)3、循环语句FOR C:=‘X’DOWNTO ‘Z’DO writeln;的循环次数是___A___:A)0B)1C)2D)3(4章for语句)4、如果输入的数据是2,3,4,则下面程序的输出应为___C_______:PROGRAM SAM(INPUT,OUTPUT);V AR i, x, y:integer;BEGINFOR i:=1 TO 3 DOBEGINRead(x); y:=sqr(x)END;Writeln(‘x=’,x, ‘y=’,y)END.A) x=2 y=4 x=3 y=9 x=4 y=16B) x=4 y=16 x=4 y=16 x=4 y=16C) x=4 y=16D)x=2 y=4 x=2 y=4 x=2 y=4(2,4章for语句)5、选择适当内容填入下面的过程说明中,要求过程SWAP中的形式参数X 为值参,Y为变参____C______PROCEDURE swap( );…………A)CONST x: real;V AL y:realB)CONST x: real;y:realC)X:real;V AR y:realD)X,y:real(5章过程的语法)6、分析下面的一组语句,其中N为整型变量,这组语句执行的结果将输出字符串Good________D___个n:=0;repeatwriteln(‘Good’);n:=n+2;until n=5A)0B) 3C) 5D)无限(4章repeat循环语句)7、根据下面的变量说明V ARM, n, i, j:integer;bool:Boolean;则下面的赋值语句中正确的是______B_______A)m+n:=2*jB)bool:=n=i DIV jC)m=15 MOD 7D)m:=i+j:=n+8(2章赋值语句)8、对于PASCAL语言的记录类型,其开域语句用保留字____D____A)RECORDB)CASEC)WHILED)WITH(9章with 语句)9、设有如下的过程说明PROCEDURE wri;BEGINWriteln(‘Welcome to use pascal!!!’);End;则下面有关过程wri的叙述中正确的是____D_____A)过程说明有错,因为没有形式参数B)过程说明有错,因未说明过程的类型C)过程说明有错,因为在过程体内没有给过程名赋值的语句D)过程说明正确(2章赋值语句)10、已知变量ch是字符型变量,下面PASCAL赋值语句正确的是___D_____A)ch:=’ab cd’;B)ch:=chr(ord(succ(‘c’)+1));C)ch:=ord(‘b ’)+ord(‘a’);D)ch:=pred(succ(succ(‘f’)));(2章赋值语句)11、判断以下叙述,其中正确的是___A_______A) 在pascal程序中所用到的变量必须先说明后使用B) 在pascal程序中,允许使用的最小值是-maxintC) 在pascal程序中,分号是语句的一部分,在每个语句中不能省略D) 在pascal程序中,符号常数的值可根据需要随时修改(1,2章基本知识)12、以下不符合pascal规定的字符常量是___B_________A)‘2’B)‘pascal’C)’’’’D)‘a’(2章标准数据类型)13、以下属非法的pascal用户自定义标识是_____A____A)CONSTB)FORMATC)MAXD)NEXT(1章保留字)14、下面循环语句仅执行一次的是_____A_____A) I:=0; B) I:=0;Repeat while (I<3) doI:=I+1; I:=I+1;Writeln(i) writeln(i);Until I<3C)for I:=0 downto 3 do D) I:=0I:=I+1; while (I>0) or (I<3) doWriteln(i); I:=I+1;writeln(i);(4 章循环结构)15、下面函数首部或过程首部合法的是__B_______A)function sum;B)procedure next;C)function s(V AR s:real):integer;D)procedure f(a,b:real):char;(5章函数与过程)16、以下叙述不正确的是____D__________A)Pascal提供了一些标准函数和过程,用户使用时可直接调用,无需定义B)使用标准函数sin时,每调用一次都能得到唯一的一个值C)标准函数只能出现在表达式中,不能以一个调用语句的形式单独调用D)调用标准函数或标准过程均能通过一个函数名或过程名带回一个结果(5章函数与过程)17、设有过程首部procedure f (V AR x:integer;y:real);若a,b为整型变量,c为实型变量,则合法的过程调用语句是____D_____A)f(2,3)B)f(2,3.0)C)f(a+b,c)D)f(b,2)(4章过程调用语法)18、每个pascal程序都必须包括___D_____A) 常量说明B)类型定义C)变量说明D)程序首部(1章基本知识)19、已知实型变量r的值为32 .635,若要求按32 . 635的形式输出,应使用的写语句是___B__A)writeln(r );B)writeln(r:6:3);C)write(r:5:3);D)writeln(r:5);(2章write语句)20、以下标准数据类型中,____D______ 不能用读语句赋值A)整型B)实型C)字符型D)布尔型(2章基本类型)21、以下程序段共执行_____C______次循环I:=0.5;While I<2.5 doBeginI:=I+0.5;End;A) 1B) 3C) 4D) 5(4章for语句)22、以下pascal程序输出结果是____C______program tea(output);V AR i,j:integer;BeginFor i:=1 to 4 doBeginFor j:=4-i to 1 doWrite(‘*’);Writelnendend.A) * * * B) * C) * D) * ** * * * * * ** * * *(4章for语句,多重循环)23、下面循环语句能构成有限次循环的是____A_______A)I:=5;repeati:=i+1;until I>0B)I:=1;RepeatWriteln(i);Until I>1C)I:=5;While (I>0) doI:=I+1;Writeln(i);D)I:=1;While I<>0 doI:=I+2;Writeln;(4章for,while,repeat 循环语句)24、设a和b为同一类型枚举变量,以下语句合法的是:__A_______A) a:=b;B) read(a,b);C) a:=ord(b);D) writeln(a,b);(6章枚举类型)25、结构化程序的主要优点是(C )A)程序体积小,节省内存空间B)程序效率高,节省运行时间C)程序结构清晰,可读性高,易维护与修改,可靠性高D)容易实现巧妙的算法(1章概述)26、下列for 循环的次数是(A )a:=true ; b:=false ;for I:=a to b dowrite(i);A)0 B)1 C)A D)B(4章for语句)27、COS500 +e-X 的正确表达式为()A)cos (50.0) + exp(-x)B)cos (pi * 50.0/180) + exp(-x)C)cos (3.1416 * 50.0 /180) + exp(-x)D)cos (50.0) + 1.0/exp(-x)(2章表达式)28、一个完整的pascal 程序由程序首部,说明部分及执行部分组成,其说明部分的次序为( C )A)常量说明,类型说明,变量说明,标号说明,过程说明B)标号说明,类型说明,变量说明,常量说明,过程说明C)标号说明,常量说明,类型说明,变量说明,过程说明D)类型说明,变量说明,标号说明,过程说明,常量说明(1章概述)29、.Pascal 程序中无序类型是指(A )A)实型B)字符型C)整型D)布尔型(2章基本类型)30 A )head …….A)Q^.next:=P^.next; B)q^.next^.next:=next;Dispose(p); dispose(p);C) q^.next:=p; D) p:=q^.next;P^.next:=nil; q^:=p^.next;Dispose(P); p^.next:=q^.next;Dispose(p);(11章链表删除)31、.下列具有输出功能的是_____D______A) Assign B) Input C) Begin D) Write32、当n为任意正奇数时,值总为Ttre的表达式是_____D______A) n MOD 2=0B) DIV 2=1C) N-(n DIV 2)=1D) n-Trunc(n/2)*2=133、表达式Pred(Chr(Ord(‘A’)+4))的值是_____B______A) ‘C’ B) ‘D’ C) 69 D) 10134、程序段:FOR i:=1 TO 5 DOFOR j:=2 TO i DOWriteln(‘A’);输出字符A的个数是_____B______A) 5B) 10 C) 15 D) 2035、数学表达式Sin(60o)的正确PASCAL表达式是:______C_______A) Sin(60) B) Sin(3.14159*60)C) Sin(3,14159*60/180.0) D) Sin(60*3.14159/360.0)36、下列属PASCAL合法常数的是: _____A______A) 102 B) 1O.0 C) 35,000,000 D) 1/237、设x是一个实型变量,下面能将x四舍五入使小数部分精确到百分之一的PASCAL表达式是:_____A______A) Round(x*100.0)/100.0 B) Round(x/100,0)*100.0C) Trunc(x*100.0)/100.0 D) Trunc(x/100.0)*100.038、一个文件文件的基类型不可以是_____A______A) 文件B) 数组C) 实数D) 记录数组39、下列表达式中正确的是_____B______A) 8/2 MOD 2 B) NOT(1=0) AND(3<>2) C) ’a’+2 D) 2+False40、不能作为FOR语句循环控制变量的是下列哪种类型变量_____C______A) 整型B) 布尔型C) 实型D) 字符型二、填空题1、下面程序依次读入一个字符,以与读入相反的次序,建立以HEAD为头的单向链表,直到读入’!’为止。