文档库 最新最全的文档下载
当前位置:文档库 › PASCAL语言笔试试题 姓名

PASCAL语言笔试试题 姓名

PASCAL语言笔试试题   姓名
PASCAL语言笔试试题   姓名

PASCAL语言笔试试题姓名______________

一、单选题(每小题2分,共60分)

1、在结构化程序设计中所说的程序的三种基本结构是指()。

A)主函数、函数、过程 B)顺序、选择、循环

C)程序首部、说明部分、语句部分 D) WHILE、REPEAT、FOR

2、以下各组运算中运算优先级最低的一组是()。

A) +,-,or B) *, / C) div, mod, and D) >=, in

3、数学表达式sin(60o)的正确PASCAL表达式是 ( )。

A) sin(60) B) sin(3.14159*60)

C) sin(3.14159*60/180) D) sin(60*3.14159/360)

4、下列表达式中正确的是 ( )。

A) 8/2 mod 2 B) not(1=0) and (32) C) 'a'+2 D) 2+false

5、当n为任意正奇数时,值总为true的表达式是( )。

A) n mod 2=0 B) n div 2=1 C) n-(n div 2)=1 D) n-trunc(n/2)*2=1

6、表达式Pred(Chr(Ord('A ')+4))的值是 ( )。

A) 'C ' B) 'D ' C) 69 D) 70

7、下列表达式值为5的是( )。

A) pred(8 div 2) B) abs(round(23/4))

C) succ(trunc(22/(26 mod 7))) D) ((8 mod 5)*3+1) div 3

8、下面变量说明中错误的是()。

A) var s:set of char; B) var s:set of integer;

C) var s:set of 1..100; D) var s:set of (sun,mon,tue,wed,thu,fri,sat);

9、不能作为FOR语句循环控制变量的是下列哪种类型变量()。

A) 整型 B) 布尔型 C) 实型 D) 字符型

10、至少被执行一次的循环语句是()。

A) FOR语句 B) REPEAT-UNTIL语句

C) WHILE语句D) FOR、REPEAT-UNTIL和WHILE语句

11、下面关于FOR循环不正确的叙述是()。

A)在循环体中不能改变循环控制变量的值

B)在执行过程中初值和终值不会改变

C) 分为递增型和递减型两种

D) 循环控制变量不必在程序的说明部分说明

12、设m,n均为整数类型变量,且两者的数值均不大于1000。下面语句

m:=m+n; n:=m-n; m:=m-n; 执行后,产生的结果是()。

A)m,n的值保持不变 B)m,n的值进行了交换

C)m,n的值均为原来M的值 D)m,n的值均为原来N的值

13、一个文件文件的基类型不可以是()。

A) 文件 B) 数组 C) 实数 D) 记录数组

14、下列过程中,其功能是创建并打开一个文件的是()。

A) Assign B) Reset C) Rewrite D) Write

15、已知有说明

const a=1; b=2; c=3; d=4;

var w,x,y,z:integer;

执行语句 x:=a; x:=c; y:=a+2; z:=b; w:=d-a+b; 后,其值相等的变量是()。

A) x,y B) x,z C) x,w D) y,z

16、程序段: for i:=1 TO 5 do

for j:=2 TO i do w riteln(‘A’);

输出字符A的个数是()。

A) 10 B) 15 C) 20 D) 25

17、设数组a和变量i,j,k,m,n,均已说明,且各自赋值如下

i=1; j=2; k=3; m=4; for n:=1 to 9 do a[n]:=n;

下面数组元素的值等于3的是()。

A) a[i*j] B) a[m div j] C) a[a[j+k-2]] D) a[a[k-i]+3]

18、有下面程序段:

a:=false; b:=false; c:=false; x:=15;

if a then x:=x-10

else if b then x:= x-5

else if c then x:=20 else x:=25;

假设所有变量均已说明,程序运行后x的值是()。

A) 25 B) 20 C) 15 D)5

19、程序段

i:=1;

REPEAT

n:=i*i; i:=i+1;

UNTIL n>i

中循环体执行的次数是()。

A)1 B)2 C)3 D)4

20、设有如下定义

type set=(male,female);

var x,y:set;

则下列合法的语句是()。

A) read(y,x) B) write(x,y) C) x:=y D) x:=succ(female)

21、以下表达式结论正确的是()

A) [sun,fri]*[mon,tue] 的值为 [sun,fri,mon,tre]

B) x in [i,j,k,m] 等价于 (x=i) or (x=j) or (x=k) or (x=m)

C) [sun,sat]-[mon,tue] 的值为[sat,mon,tue]

D) [mon]-[mon,tue] 的值为[tue]

22、有下列程序段

for i:=1 to 10 do

case i mod 4 of

0: ch[i]:=’a’;

1: ch[i]:=’b’;

2: ch[i]:=’c’;

3: ch[i]:=’d’

end;

for i:=10 downto 1 do write(ch[i]:1); writeln;

运行后输出结果是()。

A)abcdabcdab B) bcdabcddcb C) cbadcbadcb D) dcbadcbadc

23、有下面程序

VAR a:array[1..2,1..3]of integer;

i,j:Integer;

BEGIN

for i:=1 to 2 do for j:=1 to 3 do read(a[i,j]);

readln;

for i:=1 to 3 do for j:=1 to 2 do write(a[j,i]:3);

writeln

END.

此程序执行时若从键盘输入1 2 3 4 5 6,则输出是()。

A) 1 2 3 4 5 6 B) 1 4 2 5 3 6

C) 4 5 6 1 2 3 D) 5 3 6 1 4 5

24、下列符合Pascal语法规则的过程或函数是()。

A)FUNCTION f(x:integer):integer; B) PROCEDURE p(var x:integer):integer; VAR y:Integer; VAR y:Integer;

BEGIN BEGIN

y:=3*x+2; x:=y+1;

f:=y writeln(x)

END; END;

C) PROCEDURE p(x:integer); D) FUNCTION f(x:integer);

BEGIN BEGIN

p: =x+10 f:=x+10

END; END;

25、有如下程序

VAR a:array[1..3] of integer;

i,j:integer;

BEGIN

for i:=1 to 3 do a[i]:=i;

i:=1; j:=3;

repeat

a[i]:=a[j]+l; i:=i+l; j:=j-1;

until i>3;

for i:=1 to 3 do write(a[i]:5);

END.

该程序的运行结果是()。

A) 4 3 2 B) 2 3 4 C) 4 5 3 D) 4 3 5

26、设有下列函数说明

FUNCTION func(n:integer):integer;

begin

if n=0 then func:=0

else if n=1 then func:=2

else func:=func(n-1)+func(n-2)

END;

表达式func(5)的值是()。

A) 6 B) 8 C) 10 D)12

27、有下列程序

VAR a,b,c:integer;

PROCEDURE p(a,b:integer; var c:integet);

BEGIN

c:=a+b+c;

END;

BEGIN

a:=5;b:=8;c:=3;

p(a,b,c); writeln(a:4,b:4,c:4);

END.

该程序执行后,正确的输出结果是()。

A) 5 3 8 B) 5 8 16 C) 5 8 5 D) 5 8 8

28、设有类型说明type arr=array[1..10] of char;请阅读下面过程PROCEDURE proc(var a:arr);

VAR n,k:Integer;

BEGIN

n:=o rd(‘a’)-o rd(‘A’);

for k:=1 to 10 do

if a[k] in [‘a’..’z’] then a[k]:=chr(ord(a[k]-n);

此过程的功能是( )。

A)把a中的所有小写字母变成大写字母

B)把a中的所有小写字母变成大写,大写字母变成小写

C) 把a中的所有大写字母变成小写字母

D) 把a中的每个字符按ASCII码顺序改为它前面的第n个字符

29、按文件存储方式可以把文件分为()。

A)类型文件和文本文件B)顺序文件和随机文件

C)内部文件和外部文件D)程序文件和数据文件

30、有如下函数

FUNCTION s(var f:text): integer;

var num:Integer;

BEGIN

reset(f); num:=0;

while not eof(f) do

begin readln(f); num:=num+1 end;

s:=num

END;

该函数的功能是( )。

A)统计文本文件中文本的行数

B)统计文本文件中每行的字符数

C)将文件指针调整到文件的最后一行开始位置,并返回该行的字符个数

D)统计文本文件中字符总数

二、程序填空题(每空4分,共40分)

请将每空的正确答案写在试卷后[1]至[10]序号的横线上。

1、下面程序段打印101—200之间所有既能被3整除也能被8整除的数,请填空完成。

x:=101;

while x<=200 do

begin

if [ 1 ] then write(x:3);

[ 2 ]

end;

2、下面程序可以把从键盘输入的一个小于32767的十进制正整数转换为字符形式的十六进制数输出,请填空完成。

var k,i:integer; a:longint;

s:array[1..10] of char;

function ntoc(a:integer):char;

begin

if a>9 then ntoc:=[ 3 ] else ntoc:= [ 4 ]

end;

k:=0; readln(a);

repeat

k:=k+1;

s[k]:=ntoc(a mod 16); a:= [ 5 ];

until [ 6 ] ;

for i:= k downto 1 do write(s[i]);

writeln

END.

3、输出图形, 请填空完成。如:

输入: 7 4 8 9 1 5

输出: 7 4 8 9 1 5

5 7 4 8 9 1

1 5 7 4 8 9

9 1 5 7 4 8

8 9 1 5 7 4

4 8 9 1

5 7

var i,j:integer;

a:array[1..6] of integer;

b:array[1..6, 1..6] of integer;

begin

write('input the array a:');

for i:=1 to 6 do read(a[i]);

for i:=1 to 6 do

begin

for j:=1 to 6 do b[i,j]:=[ 7 ];

for j:=1 to i-1 do b[i,j]:=[ 8 ] ;

end;

for i:=1 to 6 do

begin

for j:=1 to 6 do write(b[i,j]:3);

writeln

end;

end.

4、输入正整数,如1234567,输出7654321。递归编程如下,请填空完成:var n:longint;

procedure down(n:integer);

begin

[ 9 ];

n:=n div 10;

if [ 10 ] then down;

begin

write('n=:'); readln(n);

down(n);

end.

请将每空的正确答案写在答题卡上[1]至[10]序号的横线上。

[1] _______________________ [2] _______________________ [3] _______________________ [4] _______________________ [5] _______________________ [6] _______________________ [7] _______________________ [8] _______________________ [9] _______________________ [10] _______________________

第十六届青少年信息学奥林匹克联赛初赛试题(附答案)

第十六届全国青少年信息学奥林匹克联赛初赛试题 (普及组Pascal语言两小时完成) 一、单项选择题(共20题,每题1.5分,共计30分。每题有且仅有一个正确选项。) 1.2E+03表示()。 A.2.03 B.5 C.8 D.2000 2.一个字节(byte)由()个二进制组成。 A.8 B.16 C.32 D.以上都有可能 3.以下逻辑表达式的值恒为真的是()。 A.P∨(┓P∧Q)∨(┓P∧┓Q) B.Q∨(┓P∧Q)∨(P∧┓Q) C.P∨Q∨(P∧┓Q)∨(┓P∧Q) D.P∨┓Q∨(P∧┓Q)∨(┓P∧┓Q) 4.Linux下可执行文件的默认扩展名是()。 A.exe https://www.wendangku.net/doc/875070990.html, C.dll D.以上都不是 5.如果树根算第1层,那么一颗n层的二叉树最多有()个结点。 A.2n-1 B.2n C.2n+1 D.2n+1 6.提出“存储程序”的计算机工作原理的是()。 A.克劳德?香农 B.戈登?摩尔 C.查尔斯?巴比奇 D.冯?诺依曼 7.设X、Y、Z分别代表三进制下的一个数字,若等式XY+ZX=XYX在三进制下成立,那么同样在三进制下,等式XY*ZX=()也成立。 A.YXZ B.ZXY C.XYZ D.XZY 8.Pascal语言、C语言和C++语言都属于()。 A.面向对象语言 B.脚本语言 C.解释性语言 D.编译性语言 9.前缀表达式“+3*2+512”的值是()。 A.23 B.25 C.37 D.65 10.主存储器的存取速度比中央处理器(CPU)的工作速度慢的多,从而使得后者的效率受到影响。而根据局部性原理,CPU所访问的存储单元通常都趋于一个较小的连续区域中。于是,为了提高系统整体的执行效率,在CPU中引入了()。 A.寄存器 B.高速缓存 C.闪存 D.外存 11.一个字长为8位的整数的补码是11111001,则它的原码是()。 A.00000111 B.01111001 C.11111001 D.10000111 12.基于比较的排序时间复杂度的下限是(),其中n表示待排序的元素个数。 A.O(n) B.O(n log n) C.O(log n) D.O(n2) 13.一个自然数在十进制下有n位,则它在二进制下的位数与()最接近。 A.5n B.n*log210 C.10*log2n D.10n log2n 14.在下列HTML语句中,可以正确产生一个指向NOI官方网站的超链接的是()。 A.欢迎访问NOI网站 B.欢迎访问NOI网站 C.http://www.noi,cn D.欢迎访问NOI网站 15.元素R1、R2、R3、R4、R5入栈的顺序为R1、R2、R3、R4、R5。如果第1个出栈的是R3,那么第5个出栈的不可能是()。 A.R1 B.R2 C.R4 D.R5 16.双向链表中有两个指针域llink和rlink,分别指向该结点的前驱及后继。设p指向链表

Pascal语言编程基础程序

Pascal语言编程基础程序 (常州市) 十进制转二进制 var i,n,j:longint; a:array[1..100] of longint; begin readln(n); i:=1; while n<>0 do begin a[i]:=n mod 2; i:=i+1; n:=n div 2; end; write('Bin:'); for j:= i-1 downto 1 do write(a[j]) end. 数组元素删除 var a:array[1..10]of longint; i,t,x:longint; begin read(x); for i:=1 to 10 do a[i]:=2*i-1; t:=a[x]; for i:=x+1 to 10 do a[i-1]:=a[i]; for i:=1 to 9 do write(a[i]:4); end. 数组元素删除2 var a:array[1..11]of longint; i:longint; begin for i:=1 to 10 do a[i]:=i; a[11]:=a[1]; for i:= 1 to 10 do a[i]:=a[i+1]; for i:= 1 to 10 do write(a[i]:4); end. 数组元素的移动 var a:array[1..10] of longint; s,n,i,x,t:longint; begin readln(n); for i:=1 to n do read(a[i]); readln(x); s:=a[x]; for i:=x+1 to n do a[i-1]:=a[i]; for i:=1 to n-1 do write(a[i],' '); write(s); end. 排除所有异形基因 var a:array[1..100] of longint; n,g,j,i,wz:longint; begin readln(n); for i:=1 to n do read(a[i]); g:=0; for i:=1 to n do if sqr(a[i]) mod 7=1 then begin wz:=i; for j:=wz+1 to n do a[j-1]:=a[j]; g:=g+1 end; write(a[1]); for i:=2 to n-g do write(' ',a[i]); writeln; end. 排除第一个异形基因 var a:array[1..100] of longint; n,i,wz:longint; begin readln(n); for i:=1 to n do read(a[i]); for i:=1 to n do if sqr(a[i]) mod 7=1

NOIP2013初赛提高组Pascal试题及答案汇总

第十九届全国青少年信息学奥林匹克联赛初赛 提高组Pascal 语言试题 竞赛时间:2013 年10 月13 日14:30~16:30 选手注意: ●试题纸共有12 页,答题纸共有2 页,满分100 分。请在答题纸上作答,写在试题纸上 的一律无效。 ●不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。 一、单项选择题(共15 题,每题1.5 分,共计22.5 分;每题有且仅有一个正确选项) 1. 一个32 位整型变量占用()个字节。 A. 4 B. 8 C. 32 D. 128 2. 二进制数11.01 在十进制下是()。 A. 3.25 B. 4.125 C. 6.25 D. 11.125 3. 下面的故事与()算法有着异曲同工之妙。 从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:?从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:‘从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事....’? A. 枚举 B. 递归 C. 贪心 D. 分治 4. 1948 年,()将热力学中的熵引入信息通信领域,标志着信息论研究的开端。 A. 冯·诺伊曼(John von Neumann) B. 图灵(Alan Turing) C. 欧拉(Leonhard Euler) D. 克劳德·香农(Claude Shannon) 5. 已知一棵二叉树有2013 个节点,则其中至多有()个节点有2 个子节点。 A. 1006 B. 1007 C. 1023 D. 1024 6. 在一个无向图中,如果任意两点之间都存在路径相连,则称其为连通 图,至少要删去其中的()条边。

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语言的特点 以法国数学家命名的PASCAL语言是世界上使用最广泛,最有效的语言之一。其主要特点是:严格的结构化形式;丰富完备的数据类型;运行能力、效率高;查错能力强等等。与BASIC、C等语言相比,PASCAL语言更适合科学计算,运行速度最快,编译能力最强,编译成的可执行文件也最小。 PASCAL语言是编译执行的语言(BASIC语言是解释执行),因此在速度与效率上都比BASIC语言提高了一个档次。所谓解释执行,是在程序环境下编写好程序后,执行它时是一句一句地由语言解释器翻译成机器语言,由计算机去执行,计算机能在程序编辑时就发现程序中错误,但程序运行速度慢;而编译执行是在程序环境中编写好程序后,执行时先由编译器把整个程序编译成机器语言,然后再由计算机执行,计算机必须在编译程序时才能发现程序中的错误,但程序运行速度快。 第二节、FREE PASCAL的集成环境

Pascal语言精要

Pascal 语言精要 基本概念:标识符、保留字、常量、变量、运算符、表达式、标准数据类型 Pascal 数 据 类 型 简单类型 标准类型 整型 integer -32768~32767 shortint -128~127 longint -2147483648~2147483647 byte 0~255 word 0~65535 实型 real 绝对值在1E-38~1E38间 singel (单精度型) double (双精度型) extended (扩展型) comp (装配十进制型) 字符型 char (字符) string (字符串) boolean 只有两个值true 和false 用户自定义类型 枚举型 子界型 构造类型 数组类型 记录类型 集合类型 文件类型 指针类型 PASCAL 标准数据类型一共有4个:整型、实型、字符型、布尔型,分别用保留字integer 、real 、char 、boolean 来标记它们。其取值范围和运算如下: 整型(integer):范围 -32768—32767(16位运算);运算 + - * / mod div 实型(real): 范围 运算 + - * / 字符型(char): 范围 可显示的ASCII 字符 布尔型(boolean):范围 true false ;运算 and or not 1.整型 类型 数值范围 占字节数 格式 shortint -128..128 1 带符号8位 integer -32768..32767 2 带符号16位 longint -2147483648..2147483647 4 带符号32位 byte 0..255 1 带符号8位 word 0..65535 2 带符号16位 Pascal 规定了两个预定义整型常量标识符maxint 和maxlongint ,他们各表示确定的常数值,maxint 为32767, maxlongint 为2147483647,他们的类型分别是integer 和longint 2.实型 Pascal 支持五种预定义实型,它们是real (基本实型)、 single (单精度实型)、double (双精度实型)、extended (扩展实型)、comp (装配实型),Pascal 分别用不相同的名字

pascal语言基础知识

2.1 Pascal程序基本组成 例1.1计算半径为R的圆面积S program Area; {程序首部} {已知半径求圆的面积} const pi=3.14159; {说明部分——数据描述} var s,r:real; begin{执行部分} readln(r); s:=pi*sqr(r); writeln('s=',s); end. 上述程序第一行称为程序首部。其中用花括号(注释可以用{ }或(* *)来表示)括起来的内容是注释,程序第二行就是一个注释,注释除了给人看,增加程序的可读性外,对程序编译和运行不起作用。一个程序可以包含多个出现在不同处注释,亦可无注释。程序第三行是常量说明,程序第四行是变量说明。程序从begin到end都是执行(语句)部分 (1)程序首部 例1.1的第一行称为程序首部。program是保留字,接着是程序名(由你依据“标示符”规则自行定义),最后以分号表示程序首部结束,下面是程序主体的开始。程序首部在一个Turbo Pascal(仅在Turbo Pascal中有效)程序中并非必须出现,它是可选的。写上它仅起了文档作用。因此,在时间有限的情况下,如果用Turbo Pascal编程完全可以省略程序首部。 (2)程序体 a.说明部分 说明部分用于定义和说明程序中用到的数据,由单元说明、标号说明、常量说明、类型说明、变量说明、函数或过程说明组成,并且这些数据的说明次序必须按照以上次序。但是一个简单的Turbo Pascal程序也可以不包含说明部分,也就是说说明部分是可选的。 b.执行部分

执行部分描述了程序要执行的操作。它必须以一个Turbo Pascal保留字begin开始,以保留字end后跟句点结束,其间是一些执行具体操作的语句,并且以分号作为语句之间的分隔符。begin 和end必须成对出现,这是一个Turbo Pascal程序所必须有的。紧跟end之后的句号表示执行部分的结束,也表示整个程序的结束。此后的任何语句都无效。Turbo Pascal规定紧随end之前出现的分号允许省略。 (3)一个完全的Pascal程序结构 program 程序名; uses 已知单元说明; label 标号说明; const 常量说明; type 类型说明; var 变量说明; function 函数说明; procedure 过程说明; begin 语句; 语句;

(PASCAL)信息学竞赛初级篇题库

(PASCAL)信息学竞赛初级篇题库 1. 输入10个正整数,计算它们的和,平方和; 2. 输入20个整数,统计其中正、负和零的个数; 3. 在1——500中,找出能同时满足用3除余2,用5除余3,用7除余2的所有整数; 4. 输出1——999中能被3整除,且至少有一位数字是5的数; 5. 输入20个数,求出它们的最大值、最小值和平均值。 6. 甲、乙、丙三人共有384本书,先由甲分给乙、丙,所给书数分别等于乙、丙已有的书数,再由乙分给甲、丙,最后由丙分给甲、乙,分法同前,结果三人图书数相等。编程求甲、乙、丙三人原各有书多少本? 7. 某养金鱼爱好者,决定出售他的金鱼。第一次卖出了全部金鱼的一半加2分之一条金鱼;第二次卖出剩金鱼的三分之一加三分之一条金鱼;第三次卖出剩金鱼的四分之一加四分之一条金鱼;第四次卖出剩金鱼的五分之一加五分之一条金鱼,最后还剩11条。问原来有多少条金鱼?(每次卖的金鱼都是整数条) 8. 猴子吃桃子问题:猴子第一天摘下若干个桃子,当即吃了一半还不过瘾,又多吃了一个;第二天又将剩下的桃子吃掉一半又多吃了一个;以后每天早上都吃了前一天剩下的一半零一个。到了第十天想再吃时,见只剩下一个桃子,求第一天共摘了多少个桃子? 9. 从键盘输入整数l,统计出边长为整数的周长为l的不等边三角形的个数。 10. 输入三个整数,以这三个数为边长,判断是否构成三角形;若构成三角形,进一步判断它们构的是:锐角三角形或直角三角形或钝角三角形。 11. 1*2*3*...*1000结果是一个很大的数,求这个数末尾有多少个连续的零。 12. 任意输入两个整数,求这两个整数的最大公约数,并求这两个整数的最小公倍数。 13. 一个整数的立方可以表示为两个整数的平方差,如19853=19711052-19691202。 编程:输入一个整数N,自动将其写成N3=X2-Y2。 14. 求100以内的所有素数。纯粹素数是这样定义的:一个素数,去掉最高位,剩下的数仍为素数,再去掉剩下的数的最高位,余下的数还是素数。这样下去一直到最后剩下的个位数也还是素数。求出所有小于3000的四位的纯粹素数。 15. 验证回文数的猜测:左右对称的自然数称回文数。如121,4224,13731等,有人猜测:从任意一个两位或两位以上的自然数开始,将该数与它的逆序数(如1992的逆序数是2991)相加,得到一个新数,再用这个新数与它的逆序数相加,不断重复上述操作,经过若干步的逆序相加之后,总可以得到一个回文数,例如:从1992开始,1992+2991=4983;4983+3894=8877;8877+7788=16665;16665+56661=73326;73326+62337=135663;135663+366531=502194;502194+491205=993399。经过七步就得到了回文数。 设计一个程序,由计算机在局部范围内验证回文数的猜测,并将寻找回文数的每一个步骤都显示出来。16. 已知一个正整数的个位数为7,将7移到该数的首位,其它数字顺序不变,则得到的新数恰好是原数的7倍,编程找出满足上述要求的最小自然数。 17. 任意一个大于9的整数减去它的各位数字之和的差,一定能被9整除。 18. 有一个六位数,其个位数字7,现将个位数字移至首位(十万位),而其余各位数字顺序不变,均后退一们,得到一个新的六位数,假如旧数为新数的4倍,求原来的六位数。 19. 任意给定平面上三个点A(X1,Y1),B(X2,Y2),C(X3,Y3),试判断这三个点能否构成三角形。能则求出它的面积。 20. 将1至9这几个数字排成3x3方阵,并使每一横行的三个数字组成一个三位数。如果要使第三行的三位数是第一行的两倍,第三行的三位数是第一的三倍,应怎样排法?编程找出所有排法。 21. 一个合数(质数的反数),去掉最低位,剩下的数仍是合数,再去掉剩下的数的最低位,余留下来的数还是合数,这样反复,一直到最后公剩下的一位数仍是合数;我们把这样的数称为纯粹合数。求所有的三位纯粹合数。 22. 输入一个大于1的整数,打印出它的素数分解式。如输入75,则打印:"75=3*5*5"。 23. 某自然数n的所有素数的平方和等于n,(1<100),请找出二个这样的自然数n。

Pascal语言编译器的设计与实现

Pascal语言编译器的设计与实现我们设计的编译程序涉及到编译五个阶段中的三个,即词法分析器、语法分析器和中间代码生成器。编译程序的输出结果包括词法分析后的二元式序列、变量名表、状态栈分析过程显示及四元式序列程序,整个编译程序分为三部分: (1) 词法分析部分 (2) 语法分析处理及四元式生成部分 (3) 输出显示部分 一.词法分析器设计 由于我们规定的程序语句中涉及单词较少,故在词法分析阶段忽略了单词输入错误的检查,而将编译程序的重点放在中间代码生成阶段。词法分析器的功能是输入源程序,输出单词符号。我们规定输出的单词符号格式为如下的二元式:(单词种别,单词自身的值) #define ACC -2 #define sy_if 0 #define sy_then 1 #define sy_else 2 #define sy_while 3 #define sy_begin 4 #define sy_do 5 #define sy_end 6 #define a 7 #define semicolon 8 #define e 9 #define sharp 10 #define S 11 #define L 12 #define tempsy 15 #define EA 18 //E and #define EO 19 //E or #define plus 34 #define subtract 35 #define times 36 #define divide 37 #define becomes 38 #define op_and 39 #define op_or 40 #define op_not 41 #define rop 42

1-语言基础习题

《Delphi 语言基础》习题 一、填空 1. Delphi 应用程序中项目文件的扩展名是 。 2. Delphi 中与窗体文件对应的文件是单元文件,其最常用的文件扩展名是 *. 。 3. 在Delphi 集成开发环境中,如果想要直接设置或者修改对象的属性,可以通过对象查 看器(Object Inspector )中的 窗口直接进行设置。属性 或 Properties 4. 在Delphi 中新建一个工程后,用户需要保存.pas 文件和 文件。 5. 对象查看器由对象列表、属性选项卡和 三部分组成。 6. 与数学表达式 ab y b a -++2 3)sin(对应的Object Pascal 表达式是 。 7. 与数学表达式 a xy a b a +++22)(cos 对应的Object Pascal 表达式是 。 8. 结构化程序设计的基本原则是取消goto 语句,程序中仅采用顺序、 和循环三 种控制结构。 9. 与数学表达式 ) sin()(sin 222y x y x ++对应的Object Pascal 表达式是 。 10. 结构化程序设计要求程序中仅采用顺序、分支和循环三种控制结构,其中每种结构只能 有 个入口和一个出口。 11. 与数学表达式 a x a by a ++22)(sin 对应的Object Pascal 表达式是 。 12. 与数学表达式 53)(cos 2++x b a 对应的Object Pascal 表达式是 。 13. 对于下面的条件表达式: ((3 <= x )AND (x < 0)) OR (x in [1..10]) 当x = 3 时, 该表达式的值为 。True 14. 与数学表达式 ab y b a ++3)(sin 2对应的Object Pascal 表达式是 。 15. 表达式Trunc (12345.6789*100+0.5)/100的值为 。 12345.68

PASCAL语言复习题

《Pascal》复习题 一、选择题 1、设有如下的过程说明 PROCEDURE wri; BEGIN Writeln(‘Welcome to use pascal!!!’); End; 则下面有关过程wri的叙述中正确的是____D_____ A)过程说明有错,因为没有形式参数 B)过程说明有错,因未说明过程的类型 C)过程说明有错,因为在过程体内没有给过程名赋值的语句 D)过程说明正确 (2章赋值语句) 2、已知变量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章赋值语句) 3、判断以下叙述,其中正确的是___A_______ A) 在pascal程序中所用到的变量必须先说明后使用 B) 在pascal程序中,允许使用的最小值是-maxint C) 在pascal程序中,分号是语句的一部分,在每个语句中不能省略 D) 在pascal程序中,符号常数的值可根据需要随时修改 (1,2章基本知识) 4、以下不符合pascal规定的字符常量是___B_________

A)‘2’ B)‘pascal’ C)’’’’ D)‘a’ (2章标准数据类型) 5、以下属非法的pascal用户自定义标识是_____A____ A)CONST B)FORMAT C) MAX D) NEXT (1章保留字) 6、下面循环语句仅执行一次的是_____A_____ A) I:=0; B) I:=0; Repeat while (I<3) do I:=I+1; I:=I+1; Writeln(i) writeln(i); Until I<3 C)for I:=0 downto 3 do D) I:=0 I:=I+1; while (I>0) or (I<3) do Writeln(i); I:=I+1; writeln(i); (4 章循环结构) 7、下面函数首部或过程首部合法的是__B_______ A)function sum; B)procedure next; C)function s(VAR s:real):integer;

PASCAL语言函数集

Pascal语言函数集(含Delphi控件属性) abort函数 引起放弃的意外处理 abs函数绝对值函数 addexitproc函数将一过程添加到运行时库的结束过程表中 addr函数返回指定对象的地址 adjustlinebreaks函数将给定字符串的行分隔符调整为cr/lf序列align属性使控件位于窗口某部分 alignment属性控件标签的文字位置 allocmem函数在堆栈上分配给定大小的块 allowgrayed属性允许一个灰度选择 ansicomparestr函数比较字符串(区分大小写) ansicomparetext函数比较字符串(不区分大小写) ansilowercase函数将字符转换为小写 ansiuppercase函数将字符转换为大写 append函数以附加的方式打开已有的文件 arctan函数余切函数 assignfile函数给文件变量赋一外部文件名 assigned函数测试函数或过程变量是否为空 autosize属性自动控制标签的大小 backgrounddi2001.jpg属性背景色 beginthread函数以适当的方式建立用于内存管理的线程 bevelinner属性控件方框的内框方式 bevelouter属性控件方框的外框方式 bevelwidth属性控件方框的外框宽度 blockread函数读一个或多个记录到变量中 blockwrite函数从变量中写一个或多个记录 borderstyle属性边界类型 borderwidth属性边界宽度 break命令终止for、while、repeat循环语句 brush属性画刷 caption属性标签文字的内容 changefileext函数改变文件的后缀 chdir函数改变当前目录 checked属性确定复选框选中状态 chr函数返回指定序数的字符 closefile命令关闭打开的文件

Pascal程序基本组成与符号

Pascal程序基本组成与符号 hb007 发表于 2006-3-22 8:55:50 一、Pascal程序基本组成 例1计算半径为r的圆的周长C和面积S。 上述程序第一行称为程序首部。用花括号(注释可以用{ }或(* *)来表示)括起来的内容是注释,注释除了给人看,增加程序的可读性外,对程序编译和运行不起作用。一个程序可以包含多个出现在不同处注释,亦可无注释。程序第二行是变量说明。程序从begin到end都是执行(语句)部分。 (1)程序首部 例1的第一行称为程序首部。program是保留字,接着是程序名(由你依据“标示符”规则自行定义),最后以分号表示程序首部结束,下面是程序主体的开始。程序首部在一个Turbo Pascal(仅在Turbo Pasca l中有效)程序中并非必须出现,它是可选的。写上它仅起了文档作用。因此,时间有限的情况下,如果用Turbo Pascal编程完全可以省略程序首部。 (2)程序体 ①说明部分 说明部分用于定义和说明程序中用到的数据,由单元说明、标号说明、常量说明、类型说明、变量说明、函数或过程说明组成,并且这些数据的说明次序必须按照以上次序。但是一个简单的Turbo Pascal程序也可以不包含说明部分,也就是说说明部分是可选的。 ②执行部分 执行部分描述了程序要执行的操作。它必须以一个Turbo Pascal保留字begin开始,以保留字end后跟句点结束,其间是一些执行具体操作的语句,并且以分号作为语句之间的分隔符。begin和end必须成对出现,这是一个Turbo Pascal程序所必须有的。紧跟end之后的句号表示执行

部分的结束,也表示整个程序的结束。此后的任何语句都无效。Turbo Pascal规定紧随end之前出现的分号允许省略。 (3)一个完全的Pascal程序结构 program 程序名; uses 已知单元说明; label 标号说明; const 常量说明; type 类型说明; var 变量说明; function 函数说明; procedure 过程说明; begin 语句; 语句; …… 语句 end. 二、Pascal字符与符号 1、保留字(关键字) 所谓保留字是指在Pascal语言中具有特定的含义,你必须了解它的含义,以便于正确的使用,否则会造成错误。Turbo Pascal语言一共有5 0多个。下面是Pascal语言的保留字:

NOIP2004普及组初赛pascal试题及答案

2004年第十届全国青少年信息学奥林匹克联赛初赛试题 (普及组 Pascal语言二小时完成) 一、选择一个正确答案代码(A/B/C/D/E)填入每题的挂号内 1.美籍匈牙利数学家冯·诺依曼对计算机科学发展所做出的贡献是:() A、提出理想计算机数学模型,成为计算机科学理论基础 B、是世界上第一个编写计算机程序的人 C、提出存储程序工作原理,并设计出第一台具有存储程序功能的计算机EDV AC D、采用集成电路作为计算机的主要功能部件 E、指出计算机性能将以每两年翻一番的速度向前发展 2.下列哪个不是CPU(中央处理单元)() A、Intel Itanium B、DDR SDRAM C、AMD Athlon64 D、AMD Opteron E、IBM Power 5 3、下列网络中常用的名字缩写对应的中文解释错误的是() A、WWW(World Wide Web):万维网 B、URL(Uinform Resource Locator):统一资源定位器 C、HTTP(Hypertext Transfer Protocol):超文本传输协议 D、FTP (File Transfer Protocol):快速传输协议 E、TCP (Transfer Control Protocol):传输控制协议 4、下面哪个部件对于个人桌面电脑的正常运行不是必需的() A、cpu B、显卡(图形卡) C、光驱 D、主板 E、内存 5、下列哪个软件属于操作系统软件() A、Microsoft Word B、金山词霸 C、Foxmail D、WinRAR E、Red Hat Linux 6、下列哪个不是计算机存储设备()、 A、文件管理器 B、内存 C、高速缓存 D、硬盘 E、U盘 7、下列说法中错误的是() A、CPU的基本功能就是执行指令 B、CPU访问内存的速度快于访问高速缓存的速度 C、CPU的主频是指CPU在1秒内完成的指令周期数 D、在一台计算机内部,一个内存地址编码对应唯一的一个内存单元 E、数据中线的宽度决定了一次传递数据量的大小 8、彩色显示器所显示的五彩斑斓的色彩,是由红色,蓝色和()色混合而成的 A、紫色 B、白色 C、黑色 D、绿色 E、橙色 9、用静电吸附磨粉后转移到纸张上,是那种输出设备的工作方式() A、针式打印机 B、喷墨打印机 C、激光打印机 D、笔式绘图仪 E、喷墨绘图仪 10、一台计算机如果要利用电话线上网,就必须配置能够对数字信号和模拟信号进行互相转换的设备,这种设备是() A、调制解调器 B、路由器 C、网卡 D、网关 E、网桥 11、下列哪个不是数据库软件的名称() A、MYSQL

PASCAL语言简介

第一个程序 Pascal 语言的编译器有很多,我们这里以Dev-Pascal 为主要编程工具。该软件界面如下: 我们输入如下代码后编译运行。 如果没有输入错误的话,计算机应能在黑色背景上显示“Hello,World ”。 例:计算a+b 的值。 3.编译并运行

Pascal字符与符号 1.标识符 (1) 标识符的定义:标识符就是以字母开头的字母数字序列,有效长度为63个字符,并且大小写等效。可以用来标示常量、变量、程序、函数等。 (2) 标识符的分类: a.保留字(关键字) 所谓保留字是指在Pascal语言中具有特定的含义,你必须了解它的含义,以便于正确的使用,否则会造成错误。下面是Pascal语言的保留字: 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 b.标准标识符:指Pascal语言预先定义的标识符,具有特殊含义。 以下列举了Turbo Pascal语言部分常用的标准表识符: 标准常量False Maxint True 标准类型Boolean Char Real Integer 标准函数Abs Arctan Chr Cos Eof Eoln Exp Ln Odd Ord Pred Round Sin Sqr Sqrt Succ Trunc 标准过程Dispose Get New Pack Page Put Read Readln Reset Rewrite Unpack Write Writeln 标准文件Input Output Pascal数据类型 Pascal 提供了丰富的数据类型,在这里主要介绍整型、实型、字符型和布尔型四种常用的数据类型。 1.整型 一个整型数据用来存放整数。Pascal支持五种预定义整型,它们是shortint(短整型)、integer (整型)、longint(长整型)、byte(字节型)和word(字类型)。每一种类型相应的整数取值范围以及所占用的内存字节数见下表:

pascal语言笔试试题答案

girl873 pascal语言笔试题及答案 楼 2013-01-21 pascal语言笔试题及答案 一、单选题(每小题2分,共60分) 1、在结构化程序设计中所说的程序的三种基本结构是指()。 a)主函数、函数、过程 b)顺序、选择、循环 c)程序首部、说明部分、语句部分 d) while、repeat、for 2、以下各组运算中运算优先级最低的一组是()。 a) +,-,or b) *, / c) div, mod, and d) >=, in 3、数学表达式sin(60o)的正确pascal表达式是 ( )。 a) sin(60) b) sin(3.14159*60) c) sin(3.14159*60/180) d) sin(60*3.14159/360) 4、下列表达式中正确的是 ( )。 a) 8/2 mod 2 b) not(1=0) and (32) c) \a\+2 d) 2+false 5、当n为任意正奇数时,值总为true的表达式是( )。 a) n mod 2=0 b) n div 2=1 c) n-(n div 2)=1 d) n-trunc(n/2)*2=1 6、表达式pred(chr(ord(\a \)+4))的值是 ( )。 a) \c \ b) \d c) 69 d) 70

7、下列表达式值为5的是( )。 a) pred(8 div 2) b) abs(round(23/4)) c) succ(trunc(22/(26 mod 7))) d) ((8 mod 5)*3+1) div 3 8、下面变量说明中错误的是()。 a) var s:set of char; b) var s:set of integer; c) var s:set of 1..100; d) var s:set of (sun,mon,tue,wed,thu,fri,sa t); 9、不能作为for语句循环控制变量的是下列哪种类型变量()。 a)整型 b) 布尔型 c) 实型 d) 字符型 10、至少被执行一次的循环语句是()。 a) for语句 b) repeat-until语句 c) while语句 d) for、repeat-until和while语句 11、下面关于for循环不正确的叙述是()。 A)在循环体中不能改变循环控制变量的值 B)在执行过程中初值和终值不会改变 c)分为递增型和递减型两种 d)循环控制变量不必在程序的说明部分说明 12、设m,n均为整数类型变量,且两者的数值均不大于1000。下面语句 m:=m+n; n:=m-n; m:=m-n;执行后,产生的结果是()。 a)m,n的值保持不变 b)m,n的值进行了交换 c)m,n的值均为原来m的值 d)m,n的值均为原来n的值

Pascal基本教程

Pascal基本教程 Pascal基本教程第一章 第一章 Pascal语言概述与预备知识 1 关于Turbo Pascal Pascal是一种计算机通用的高级程序设计语言。它由瑞士Niklaus Wirth 教授于六十年代末设计并创立。 以法国数学家命名的Pascal语言现已成为使用最广泛的基于DOS的语言之一,其主要特点有:严格的结构化形式;丰富完备的数据类型;运行效率高;查错能力强。 正因为上述特点,Pascal语言可以被方便地用于描述各种算法与数据结构。尤其是对于程序设计的初学者,Pascal语言有益于培养良好的程序设计风格和习惯。IOI(国际奥林匹克信息学竞赛)把Pascal语言作为三种程序设计语言之一, NOI(全国奥林匹克信息学竞赛)把Pascal语言定为唯一提倡的程序设计语言,在大学中Pascal语言也常常被用作学习数据结构与算法的教学语言。 在Pascal问世以来的三十余年间,先后产生了适合于不同机型的各种各样版本。其中影响最大的莫过于Turbo Pascal系列软件。它是由美国Borland公司设计、研制的一种适用于微机的Pascal编译系统。该编译系统由1983年推出1.0版本发展到1992年推出的7.0版本,其版本不断更新,而功能更趋完善。 下面列出Turbo Pascal编年史 出版年代 版本名称 主要特色 1983 Turbo Pascal 1.0 Turbo Pascal 2.0 Turbo-87 Pascal 提高实数运算速度并扩大值域

1985 Turbo Pascal 3.0 增加图形功能 Turbo BCD Pascal 特别适合应用于商业 1987 Turbo Pascal 4.0 提供集成开发环境(IDE),引入单元概念 1988 Turbo Pascal 5.0 增加调试功能 1989 Turbo Pascal 5.5 支持面向对象的程序设计(OPP) 1990 Turbo Pascal 6.0 提供面向对象的应用框架和库(Turbo Vision) 1992 Turbo Pascal 7.0 面向对象的应用系统、更完善的IDE Turbo Vision 2.0 1993 Borland Pascal 7.0 开发 Object Windows库、 (For Windows) 提供对OLE多媒体应用开发的支持 1995 Delphi Visual Pascal Turbo Pascal语言是编译型程序语言,它提供了一个集成环境的工作系统,集编辑、编译、运行、调试等多功能于一体。 1.2 Turbo Pascal 或 Borland Pascal 的启动

NOIP2017普及组初赛试题(Pascal)-信息学竞赛

第二十三届全国青少年信息学奥林匹克联赛初赛 普及组 pascal语言试题 竞赛时间:2017 年 10 月 14 日 14:30~16:30 选手注意: 试题纸共有 7 页,答题纸共有 2 页,满分 100 分。请在答题纸上作答,写在试题纸上的一律无效。 不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。 一、单项选择题(共 20 题,每题 1.5 分,共计 30 分;每题有且仅有一个正确选项) 1. 在 8 位二进制补码中,10101011 表示的数是十进制下的()。 A. 43 B. -85 C. -43 D. -84 2. 计算机存储数据的基本单位是()。 A. bit B. Byte C. GB D. KB 3. 下列协议中与电子邮件无关的是()。 A. POP3 B. SMTP C. WTO D. IMAP 4. 分辨率为 800x600、16 位色的位图,存储图像信息所需的空间为()。 A. 937.5KB B. 4218.75KB C. 4320KB D. 2880KB 5. 计算机应用的最早领域是()。 A. 数值计算 B. 人工智能 C. 机器人 D. 过程控制 6. 下列不属于面向对象程序设计语言的是()。 A. C B. C++ C. Java D. C# 7. NOI 的中文意思是()。 A. 中国信息学联赛 B. 全国青少年信息学奥林匹克竞赛 C. 中国青少年信息学奥林匹克竞赛 D. 中国计算机协会 8. 2017 年 10 月 1 日是星期日,1999 年 10 月 1 日是()。 A. 星期三 B. 星期日 C. 星期五 D. 星期二

pascal语言语法大全

第七课:pascal专题-pascal语言语法大全及应用配套视频 ★qq语音课主讲内容★: 1.pascal语法专用字符:a~z,a~z,0~9,+,-,*,/,=,<>,<=,>=,<,>,(,),[,],{,},:=,,,;,.,:,..,’,^ ; 【解说】 a~z:大写的26个英文字母; a~z:小写的26个英文字母; 0~9:10个数字; +:加法运算符; -:减法运算符; *:乘法运算符; /:除法运算符; =:比较运算符:等于; <>:比较运算符:不等于; <=:比较运算符:小于等于; >=:比较运算符:大于等于; <:比较运算符:小于; >:比较运算符:大于; (,):优先级和参数表达符:左右括号; [,]:索引号表达符:中括号; {,}:段落屏蔽和备注符:大括号; :=:赋值运算符; ,:排列式表达符:逗号; ;:代码(功能)行结束符; .:主从代码分隔符:点号; ::变量定义分隔符:冒号; ..:子界定义表达符; ’:字符串标识符:单引号; ^ :指针定义符:尖号。 2. pascal语法保留字:and,array,begin,case,const,div,do,downto,else,end,file,for,function,goto,if,in,label,mod,nil,not,of,or,packed,procedure,program,record,repeat,set,then,to,type,until,var,while,with,exports,shr,string,asm,object,unit,constructor,implementation,destructor,uses,inherited,inline,interface,library,xor,shl ; 【解说】 and:逻辑运算符:逻辑与; array:数组定义符:array of …; begin:程序“块”的开始标识符;

相关文档