Pascal数组习题
- 格式:doc
- 大小:24.00 KB
- 文档页数:2
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语言考试及答案一、选择题(每题2分,共20分)1. Pascal语言中,以下哪个是合法的变量名?A. 2variableB. variable2C. _variableD. variable-2答案:B2. 在Pascal语言中,以下哪个是正确的字符常量?A. 'A'B. "A"C. '123'D. "123"答案:A3. Pascal语言中,以下哪个是正确的整型常量?A. 123B. 123.0C. 123.5D. 0x1A答案:A4. Pascal语言中,以下哪个是正确的布尔型常量?A. trueB. TrueC. TRUED. 1答案:C5. Pascal语言中,以下哪个是正确的数组声明?A. var a: array [1..10] of integer;B. var a: array [1..10] of int;C. var a: array [10..1] of integer;D. var a: array [1..10] of real;答案:A6. Pascal语言中,以下哪个是正确的函数声明?A. function max(a, b: integer): integer;B. function max(a, b: integer): real;C. function max(a, b: integer): string;D. function max(a, b: integer): boolean;答案:A7. Pascal语言中,以下哪个是正确的过程声明?A. procedure swap(var a, b: integer);B. procedure swap(a, b: integer);C. procedure swap(a, b: integer): integer;D. procedure swap(a, b: integer): real;答案:A8. Pascal语言中,以下哪个是正确的条件语句?A. if a > b then begin a := b; b := a; end;B. if a > b then a := b; b := a;C. if a > b then a := b; b := a; end;D. if a > b then begin a := b else b := a; end;答案:A9. Pascal语言中,以下哪个是正确的循环语句?A. repeat a := a + 1; until a > 10;B. repeat a := a + 1; while a > 10;C. repeat a := a + 1; while a > 10;D. repeat a := a + 1; until a > 10;答案:A10. Pascal语言中,以下哪个是正确的文件操作语句?A. var f: file of integer;B. var f: text;C. var f: file;D. var f: file of real;答案:B二、填空题(每题2分,共20分)1. Pascal语言中,整型常量的范围是________。
pascal语言考试及答案一、选择题(每题2分,共20分)1. Pascal语言中,以下哪个是正确的字符串声明?A. var s: string(10)B. var s: stringC. var s: string[10]D. var s: string(20)答案:B2. 在Pascal语言中,以下哪个是合法的变量名?A. 2variableB. variable2C. _variableD. variable!答案:B3. Pascal语言中,以下哪个是正确的数组声明?A. var arr: array[1..10] of integer;B. var arr: array[10..1] of integer;C. var arr: array[1..10] of real;D. var arr: array[1..10, 1..10] of integer;答案:A4. Pascal语言中,以下哪个是正确的函数声明?A. function sum(a, b: integer): integer;B. function sum(a, b: integer): real;C. function sum(a, b: integer): string;D. function sum(a, b: integer): boolean;答案:A5. Pascal语言中,以下哪个是正确的条件语句?A. if a > b then writeln('a is greater');B. if a > b: writeln('a is greater');C. if a > b then begin writeln('a is greater'); end;D. if a > b then writeln('a is greater') end;答案:C6. Pascal语言中,以下哪个是正确的循环语句?A. repeat writeln('Hello'); until a > b;B. while a > b do writeln('Hello');C. for i := 1 to 10 do writeln('Hello');D. for i := 1 downto 10 do writeln('Hello');答案:C7. Pascal语言中,以下哪个是正确的过程声明?A. procedure print;B. procedure print(a: integer);C. procedure print(a: integer): integer;D. procedure print(a: integer): real;答案:B8. Pascal语言中,以下哪个是正确的枚举类型声明?A. type color = (red, green, blue);B. type color = red, green, blue;C. type color = integer;D. type color = (1, 2, 3);答案:A9. Pascal语言中,以下哪个是正确的集合声明?A. var s: set of 1..10;B. var s: set of integer;C. var s: set of [1..10];D. var s: set of real;答案:A10. Pascal语言中,以下哪个是正确的记录声明?A. type point = record x, y: integer; end;B. type point = record x, y: real; end;C. type point = record x, y: string; end;D. type point = record x, y: boolean; end;答案:A二、填空题(每题2分,共20分)1. Pascal语言中,用于声明整型变量的关键字是________。
一、填空题(每空1分,共14分)1.如果希望将参数作为过程处理的结果传递至过程外,那么这种参数应作为()。
2.一个PASCAL程序由程序首部与()两部分组成,以“.”结束。
3.设有说明var a,b,c,d,e:integer则对于待输入数据12345678执行下列语句后,d=___________。
readln(a,b,d);readln;readln(c,d)4.动态变量与静态变量的关键区别在于动态变量_____________。
5.程序中的错误一般分为语义错误、_____________与___________三类。
6.succ(round(38.5/5))-(ord('D')-ord('A'))mod 4 =______________7 PASCAL语言的标准简单类型是整型、实型、_________与字符型,标准构造类型是_______8 设有说明var a:array['a'..'z']of char,则下标变量a[c](c为字符类型)的值集为_____________,c的有效取值_____________9 在三种重复语句中,______________的重复次数在开始执行该重复语句时是已知的。
10 正文文件的特征是该文件的成分为字符并具有_________,用标准标识符_____表示。
二、单项选择题(在每小题的四个备选答案中选择一个正确的答案,并将正确答案的号码写在题干的括号内,每小题2分,共16分)1 在下面的四个符号串中,()可以作为标识符。
回本页(1) Packed(2) INTEGER(3) -cct(4) #BUS2 在下述四种类型中,只有()可作为函数的结果类型。
(1) 数组类型(2) 记类类型(3) 指针类型(4) 文件类型3 下述四个实数表示法中,只有()是正确的PASCAL表示法。
(1) E9 (2) 3E9.0(3) 3.0E9.0 (4) 0.125E-44 各个高级语言的()。
数组必会的题目的解题思路1、有一组数(设有n个),其排列顺序如下:3,6,11,45,23,70,67,34,26,89,90,15,56,20,10。
编程交换序列中任意指定的两段(相等个数)不重合数据。
program ex3;const n=16;a:array[1..n]of integer=(3,6,11,45,23,70,67,34,26,89,90,15,56,50,20,10); varnum,i,k,b1,e1,b2,e2:integer;b:array[1..n]of integer;beginreadln(b1);readln(e1);readln(b2);readln(e2);if b1>b2then begini:=b1;b1:=b2;b2:=i;i:=e1;e1:=e2;e2:=i;end;num:=e1-b1;for i:=1to b1-1do b[i]:=a[i];for i:=e2+1to n do b[i]:=a[i];for i:=e1+1to b2-1do b[i]:=a[i];for k:=0to num do beginb[b1+k]:=a[b2+k];b[b2+k]:=a[b1+k];end;for i:=1to n do writeln(i:7,a[i]:7,b[i]:7);end.2、给定一串整数数列,求出所有的递增和递减子序列的数目。
如数列7,2,6,9,8,3,5,2,1可分为(7,2),(2,6,9),(9,8,3),(3,5),(5,2,1)5个子序列,答案就是5。
我们称2,9,3,5为转折元素。
program ex1_1231;varp:array[1..100]of integer;i,n,t1,t2,t3,s:integer;begins:=1;readln(n);for i:=1to n do readln(p[i]);for i:=1to n dobegint1:=p[i];t2:=p[i-1];t3:=p[i+1];if((t2>t1)and(t3>t1))or((t2<t1)and(t3<t1))then s:=s+1;end;writeln(s);end.3、输出集合m的最小的n个数。
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语言的知识,还可以提高我们的编程能力和解决问题的能力。
1题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?var i,j,a,b,c:integer;beginfor i:=1 to 4 dofor j:=1 to 4 dofor a:=1 to 4 dofor b:=1 to 4 dobeginif (i<>j) and (i<>a) and (i<>b) and (j<>a) and (j<>b) and (a<>b) then writeln(i,j,a,b);end;end.2题目:企业发放的奖金根据利润提成。
利润(i)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润i,求应发放奖金总数?vara:longint;s:real;beginreadln(a);if a<100000 then s:=a*0.1;if a>100000 thenbeginif (a>100000)and(a<=200000) then s:=s+(a-100000)*0.075+100000*0.1;if (a>200000)and(a<=400000) then s:=s+(a-200000)*0.05+100000*0.1+100000*0.075;if (a>400000)and(a<=600000) then s:=s+(a-400000)*0.03+100000*0.1+200000*0.05;if (a>600000)and(a<=1000000) then s:=s+(a-600000)*0.015+100000*0.1+200000*0.05+200000*0.03;if (a>1000000) then s:=s+(a-1000000)*0.01+100000*0.1+200000*0.05+200000*0.03+400000*0.015;end;writeln(s:5:2);end.3题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?var i:longint;a,b:real;beginfor i:=1 to 1000000 dobegina:=sqrt(i+100);b:=sqrt(i+268);if ((a*a)=(i+100)) and ((b*b)=(i+268)) then writeln(i);end;end.4题目:输入某年某月某日,判断这一天是这一年的第几天?var a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a,b,c,d:integer;beginread(a,b,c);a1:=0;a2:=31;a3:=59;a4:=90;a5:=120;a6:=151;a7:=181;a8:=212;a9:=243;a10:=273;a11: =304;a12:=334;if (b=1) then d:=a1 elseif (b=2) then d:=a2 elseif (b=3) then d:=a3 elseif (b=4) then d:=a4 elseif (b=5) then d:=a5 elseif (b=6) then d:=a6 elseif (b=7) then d:=a7 elseif (b=8) then d:=a8 elseif (b=9) then d:=a9 elseif (b=10) then d:=a10 elseif (b=11) then d:=a11 elseif (b=12) then d:=a12;d:=d+c;if (a mod 1000=0) and (c mod 400=0) and (b>3) then d:=d+1;if (a mod 1000<>0) and (c mod 4=0) and (b>3) then d:=d+1;writeln(d);end.5题目:输入三个整数x,y,z,请把这三个数由小到大输出。
1.读入10个数,输出偶数项及它们的和,输出奇数项及它们的平均数。
2.读入n个数,打印其中的最大数、最小数及它们的位置。
3.有一组数(设有n个),编一程序交换这组数中任意指定的两段不重合数据。
4.给定一串整数数列,求出所有的递增和递减子序列的数目。
如数列7,2,6,9,8,3,
5,2,1可分为(7,2),(2,6,9),(9,8,3),(3,5),(5,2,1)5个子序列,其中递增数列2个,递减数列3个。
5.将1~9这9个数字分成三组(每个数字只能使用一次),分别组成三个三位数,且这三
个三位数的值构成1:2:3的比例,试求出所有满足条件的三个三位数。
6.设数组a是一个有n个元素的整数数组,从中找出最大和的子序列。
(数组中有负数)。
7.已知数组a中含n个整型元素,求a中有多少个最大数?多少个次大数?…,多少个互
不相同的数?编程实现之。
8.将一个十进制整数转化为二进制数。
9.编程,打印1000以内二进制和十进制正读和反读都一样的整数清单。
10.读入n个正整数,将其按从小到大的顺序排列,说明该数出现的次数及其在原序列中的
位置。
11.圆盘找数,找出4个相邻的数,使其相加之和最大和最小的是哪4个数?并给出它们的
起始位置。
12.约瑟夫问题:n个人围成一圈,从第一个人开始报数,数到k的人出圈。
再由下一个人开
始报数,数到k的人出圈,依次输出出圈人的编号。
n的值预先设定,k的值由键盘读入。
比如:n=8,k=6出圈顺序为:6、4、3、5、8、7、2、1。
13.输入矩阵a(m行n列)和矩阵b(n行h列),计算并输出c=a*b。
14.求n*n数阵中的马鞍数,输出它的位置。
所谓马鞍数,是指在行上最小
而在列上最大的数。
如下:(n=5)
5 6 7 8 9
4 5 6 7 8
3 4 5 2 1
2 3 4 9 0
1 2 5 4 8
则1行1列上的数就是马鞍数。
15.大部分元素是0的矩阵称为稀疏矩阵,假设有k个非零元素,则可把稀疏矩阵用k×3
的矩阵简记之,其中第一列是行号,第二列是列号,第三列是该行、该列下的非零元素的值。
如:
00000
0100
0025
000 可简记为 1
23212541
16. 数学黑洞6174。
已知:一个任意的四位正整数。
将数字重新组合成一个最大的数和最
小的数相减,重复这个过程,最多七步,必得6174。
即:7641-1467=6174。
将永远出不来。
求证:所有四位数数字(全相同除外),均能得到6174。
输出掉进黑洞的步数。