pascal 练习

合集下载

2019-2020年初中组PASCAL语言信息学竞赛初赛模拟试题附参考答案

2019-2020年初中组PASCAL语言信息学竞赛初赛模拟试题附参考答案

2019-2020年初中组PASCAL语言信息学竞赛初赛模拟试题附参考答案一、选择题:(选出每题正确的一个答案代码,填在横线上,每题1.5分,共30分)1、执行下列二进制算术加运算11001001+00100111()。

A. 11101111B. 11110000C. 00000001D. 101000102、假设a1,a2,a3是布尔变量,且值均为True,则下列表达式中值为False的是______A. NOT a1 AND NOT a2B. a1 OR a2 AND a3C. (NOT a1 OR a2)AND (a2 OR a3)D. False OR a1 AND a2 OR NOT a33、若一个问题的求解既可以用递归算法,也可以用递推算法,则往往用_____算法。

A.先递归后递推B. 先递推后递归C.递归D.递推4、表达式8 MOD (2*(5-3*(4*(5 DIV 2))DIV 10))的值是_____A. 0B. 1C. 2D. 35、贪婪法是一种______的算法。

A.不求最优,只求满意B.只求最优C.求取全部可行解D.求取全部最优解6、称一种语言为低级程序语言是由于它_____。

A.离机器特性近B.离自然语言近C.编程难度低D.通用性强7、排序方法中,从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素作比较,将其放入已排序序列的正确位置上的方法,称为_____.A. 归并排序B. 二分法排序C. 冒泡排序D.插入排序8、若进栈序列为3,5,7,9,进栈过程中可以出栈,则_____不可能是一个出栈序列。

A. 7,5,3,9B. 9,7,5,3C.7,5,9,3D. 9,5,7,39、中缀表达式(a-b)*(cd)的后缀表达式是_____.A. abcd*-B. ab-cdC. ab-*cdD. a-bcd *10、字符A、B、C依次进入一个栈,按出栈的先后顺序组成不同的字符串,至多可以组成多少个不同的字符串?_____A. 5B. 4C. 6D. 111、一个字长的二进制位数是_____A.8B.16C.32D.随计算机系统而不同的12、当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值为_____if(a<b) then if(c<d) then x=1else if(a<c) thenif(b<d) then x=2;else x=3;else x=6;else x=7;A. 1B.2C. 3D. 613、若一个存储器的周期为200ns,且每个周期可访问4个字节,则该存储器带宽为____bit/s。

pascal入门测试3(答案)

pascal入门测试3(答案)

心系南方灾区【问题描述】现在我国南方正在承受百年不遇的大雪、冻雨灾害。

北京市已经开始了面向全体市民的捐款捐物活动,并组织运力,以最快速度将这些救灾物资运送到灾区人民的手中。

已知救灾物资中有m件大衣(10000<=m<=2000000 ),一辆卡车一次最多可以运走n件大衣(2000<=n<=10000)。

请你编写程序计算一下,要将所有的大衣运走,北京市政府最少需要调动多少辆卡车参与运送。

输入:只有两个整数m、n 。

【输出】只有一个整数,表示需要的卡车数量。

【样例输入】10000 2000【样例输出】5Delphi语言: Codee#10155program help;vara,b:longint;beginassign(input,'help.in');assign(output,'help.out');reset(input);rewrite(output);readln(a,b);if a mod b=0 then write(a div b) else write(a div b+1);close(input);close(output);end. 50000 4000 (13) 85000 5600(16)【入门】偶数和Description 读入班里两位同学的生日,即两行年y、月m、日d(1990≤y≤2000,1≤m≤12,1≤n≤31,数据保证合法,不需判断),数据之间用空格隔开,求两位同学生日中的‘日’之间的偶数和。

Input 两行,每行三个数,即年月日Output 一行,一个整数。

Sample Input1996 6 51997 10 10Sample Output24Hint因为5到10之间有三个偶数:6、8、10Source 武进区中级班测验program ex1284;var y1,m1,d1,y2,m2,d2,t,s,i:integer;beginreadln(y1,m1,d1);readln(y2,m2,d2);s:=0;if d1>d2 then begin t:=d1;d1:=d2;d2:=t; end;for i:=d1 to d2 doif i mod 2=0 then s:=s+i;write(s);end.1998 7 4 1998 9 15 (54)1998 7 15 1999 6 24 (100).手机的键盘是这样的:1 2 abc 3 def4 ghi5 jkl6 mno7 pqrs 8 tuv 9 wxyz* 0 #要按出英文字母就必须要按数字键多下。

PASCAL-函数教程+练习.ppt

PASCAL-函数教程+练习.ppt

a1:=GCD(a1,a4);
a1:=GCD(a1,a5);
Writeln(a1);
readln
End.
函数小结
函数的结果是一个具体的值, 在函数体中必须将所得到的 运算结果赋给函数名;主程序通过调用函数得到函数的运算结 果。调用函数的一般格式为:
函数名 (实在参数表) 调用函数时, 函数名后面圆括号内的参数必须有确定的 值, 称为实在参数。调用时即把这些实际值传送给函数形参表 中的相应形参变量。函数不是单独的语句, 只能作为运算赋值 或出现在表达式中。
Pascal程序设计基础
第四章 过程与函数
子程序是什么
在程序设计中,我们会发现一些程序 段在程序的不同地方反复出现,此时 可以将这些程序段作为相对独立的整 体,用一个标识符给他起一个名字, 凡是程序中出现该程序段的地方,只 要简单地写上其标识符即可。这样的 程序段,我们称之为子程序。 Pascal中的子程序有两种形式:函数 和过程。
Readln(n1,n2,n3,n4,n5); T1 := n1; T1 := Max(t1,n2); T1 := Max(t1,n3); T1 := Max(t1,n4); T1 := Max(t1,n5); Writeln(‘Max number : ‘,t1); End.
从上例看出,引入函数实际上是将一个复杂的 问题划分成若干个易于处理的子问题,将编程化简 的一种有效办法,而化简的方法是多种多样的,如 前面已经做过求三个数中的最大数,所以可定义一 个专门求三个数中最大数的函数(Max)。第一次用 这个函数求出n1,n2,n3三个数中的最大数t1;第二次 调用这个函数求出t1与n4,n5三个数中的最大数,也 就是前三个数的最大数(已在t1中)和后面二个数再求 一次,就得到五个数的最大数。因此,需要两次使 用“求三个数中的最大数”,步骤如下: ①调用函数Max ( n1, n2, n3), 求出n1,n2,n3中 的最大者 t1; ②调用函数Max ( t1, n4, n5 ),求出t1, n4, n5中的 最大者t2; ③输出最大数 t2。

信息学竞赛--pascal知识点小结和练习

信息学竞赛--pascal知识点小结和练习

信息学竞赛——pascal知识点小结和练习pascal介绍一、pascal的基本语法单位1、基本符号(教材第页)注意:pascal语言除了能使用以上规定的基本符号外,不得使用任何其它符号。

2、保留字(教材第页)注意:所起的文件名不能与保留字相同。

3、标识符(教材第页)以字母打头的字母数字串,中间可以有下划线,长度小于等于8。

标准标识符(共三十九个)了解各标准函数的作用二、程序结构1、由三大部分组成:程序首部,说明部分,语句部分。

(教材第页)2、大量使用标点符号,保留字后不加标点符号(END除外)。

顺序结构程序设计一、标准数据类型1、实型(real)小数表示法、科学记数法2、整型(integer)正、负整数和零maxint=327673、字符型(char)是指在两个单引号中的一个字符。

4、布尔型(boolean)false;true二、常量和变量的定义常量的定义:(教材第页)变量的定义:(教材第页)三、表达式及赋值语句[例]:b2-4ac 写成:sqt(b)-4*a*c赋值语句:<变量>:=<表达式>;四、输入输出语句1、输入语句:(教材第页)read(<变量表>);readln(<变量表>)注:表达式里面变量与变量之间用逗号隔开;readln表示下一个语句将从下一行开始操作;输入时,整型或实型用空格或回车隔开,字符型之间无需分隔,一个接一个输入。

2、输出语句:(教材第页)write(<输出表>);writeln(<输出表>)注:对Real或Integer限定场宽:write('a=',a:2:0) {a为real型}选择结构程序设计一、if 语句格式:IF<条件>THEN<语句1>ESLE<语句2>注:1、ELSE与最近的并且未被配对的ELSE配对;2、复合,如果THEN或ELSE带有多个语句,则要用BEGIN——END括起来。

Pascal百题练习

Pascal百题练习

1、有一数字如下:65436543654365436543………循环排列,(1)输入一个数字n,输出第n个数字。

如输入3则输出为4,输入1则输出为6。

(2)输入一个数字n,在屏幕上输出如题数字,每行30个数字。

(3)输入一个数字n,输出所有数字4所在的位数。

如输入15,输出4所在的位置,即3 7 11 152、有一字符串如下:EDCBAEDCBAEDCBA……..循环排列,(1)输入一个整数n,输出第n位字符。

如输入3输出为C,输入1则输出为E。

(2)输入一个整数n,在屏幕上输出如题字母,每行30个字母。

(3)输入一个数字n,输出所有1-n范围内字母C所在的位数,场宽4。

如输入15,输出D所在的位置,即2 7 123、输入一字符,如该字符为小写字母,则转换成大写并输出;如该字符为大写字母,则转换成小写并输出,如果输入是数字则将该数字转成整数并输出该整数。

否则输出‟Error‟,即错误。

如输入a则输出为A,如输入为B则输出为b,如输入9则转成整数9并输出。

(提示:‟a‟≤小写字母≤‟z‟,‟A‟≤大写字母≤‟Z‟)4、输入三个数,判断这三个数能否作为边长组成三角形,如果能组成则输出TRUE,不能组成三角形则输出FALSE。

5、输入三个数,按从大到小的顺序输出。

如,输入15 20 16 ,输出为20 16 156、输入一个三位整数,输出一个新三位数,使其百位数最大,个位数最小。

如,输入315,输出531。

7、输入四个整数,输出四个数中的最大值和最小值。

(分两行输出)8、输入一个秒数,转换成小时、分、秒并输出。

如输入4500,输出为1:15:0。

9、有鸡兔同笼,现发现有头30个脚90只,试编程算出鸡兔各多少只并输出。

10、有五个好朋友相聚,第一个朋友带来很多糖块赠送给各位好友,使每人的糖块在原来的基础上增加了一倍,第二个朋友也向各位朋友分发糖块,使每人在已有糖块的基础上又增加了一倍,第三、第四、第五位朋友都照此办理,最终每人刚好都有32块糖,请编程算出原来每位好友各有多少糖块。

PASCAL题集

PASCAL题集

PASCAL题集1、给一个不多于三位的正整数,求出它是几位数,并分别打印出各位上的数字。

vara,b,c,d,e:integer;beginreadln(a);b:=a div 100;c:=(a div 10) mod 10;d:=a mod 10;if b<>0 then e:=3 else if c<>0 then e:=2 else e:=1;writeln(e);if (e=1) then writeln(d)else if (e=2) then writeln (c,' ',d)else writeln(b,' ',c,' ',d);end.2、编写程序求出下式中n的最大值2*2+4*4+6*6+''''''''''+n*n<1500var a,s:integer;begina:=0;s:=0;repeata:=a+2;s:=s+a*a;until s>=1500;writeln(a-2); readln;end.3、古印度国王要褒奖他的聪明能干的宰相达依尔(国际象棋的发明者),问他要什么.达依尔回答:“殿下只要在棋盘(横竖个8行8列,共64个格)的第一个格子中放1粒麦子,在第二个格子中放2粒,在第三格中放4粒,以后每个格子中放的麦粒数都是前一个的两倍.如此放满64格,我就满足了。

”请你计算出输入格数(麦粒数或体积)后的麦粒数和体积(格数和体积或格数和麦粒数)提示:1立方米麦子约为1.42乘以10的8次方varsum,t:double;i,j:longint;begint:=0;for i:=0 to 63 dobeginsum:=1/142000000;for j:=1 to i dosum:=sum*2;t:=t+sum;end;writeln(t:10:10);end. 答案:129906648406.4054、已知一对兔子,每个月可以生一对小兔,而小兔子过一个月后也可以生一对小兔,即兔子的对数是:第一个月1对,第二月2对,第三个月3对,第四个月5对,……假设兔子的生育期是12个月,并且不死, 问一年后,这对兔子有多少对活着的后代?program t0101;constn=12;vari,l,p,x:integer;beginp:=1;l:=2;for i:=3 to n dobeginx:=l+p;p:=l;l:=x;end;writeln('total:',x);readlnend. 答案:即数列1,2,3,5,8……,结果为233。

Pascal填空题试题详解1

Pascal填空题试题详解1—52作者:老胡1.Pascal语言的数据类型按其特点可以分为3大类,即简单类型、——、指针类型。

解答:本题答案是构造类型。

2.Pascal中整数类型数据包括正整数、负整数和——。

解答:本题正确答案为整数零。

3.Pascal语言中顺序类型是指整数类型、字符类型、布尔类型、枚举类型、——。

解答:本题正确答案为子界类型。

4.Pascal语言的5种基本运算是算术运算、——、逻辑运算、集合运算和赋值运算。

解答:本题正确答案为关系运算。

5.在Pascal语言中,有一个特殊的整数,用——表示。

它代表某一个计算机系统允许的最大整数值。

解答:在数学中,整数是一个无限集合。

但是计算机只能表示它的一个有限子集。

Pascal系统预定义了一个标准常量,它代表所使用计算机系统Pascal 允许使用的最大整数值,由具体的编译器决定。

本题正确答案为MAXINT。

6.枚举类型只能进行两种运算,即赋值运算和——。

解答:Pascal中算术运算和逻辑运算对枚举类型无意义。

本题正确答案为关系运算。

7.如果一个记录有固定和变体两部分,必须首先定义——部分。

解答:本题正确答案为固定。

8.枚举类型的值是有序号的,序号从——开始,自左到右,从小到大排列。

解答:本题正确答案为0。

9.在Pascal中,若i>j,则[i..j]表示——。

解答:用子界方式表示集合中的元素时,子界的下界应不大于上界,否则集合为空集本题正确答案为“空集”。

10.在Pascal中,表达式[4..9]=[4..6,7..9]的值为——。

解答:本题目是用不同子界表示集合元素,但所表示的是整数类型的同一范围。

所以结果为true。

本题正确答案为true。

11.变量说明如下VARCh1,Ch2:'A'..'F';week:(sun,mon,tue,wed,thu,fri,sat);且ch1:='D';Ch2:='G';week:=tue;则表达式ord(week) MOD (ord(ch2)-ord(ch1))的值是——。

PASCAL12


练习题
6. 有一列数据:3、12、21、30、39、48、57、66、……,求 第102个数为多少?它们的和为多少?这一列数据中数字0的个 数有多少个?(912、H=46665、GS=20) 7.任意输入一组数据,以999作为结束标志,统计其中整数和小数 各占的百分比?如输入76、-24.5、36.5、200、1.8、-2、 95、10、70.8、60、0,则输出ZSZ:60.0 XSZ:40.0保留 一位小数。 8.从键盘输入一批自然数,以99999作为结束标志,输出所有奇数 的平均值和偶数的平均值(均保留一位小数),如输入一批数 据为15、20、7、8、12、3、4、99999,则输出QPJS=8.3 OPJS=11.0.
习题解答 6.求五位数54[]7[]中被5整除,也被3整除,并且各位数字之和 小于26的最大五位数。(54870) var a,b,n,x,x1,x2,x3,x4,x5:longint; begin n:=0;a:=9; while n<>1 do begin for b:=0 to 9 do begin x:=54000+a*100+70+b; x1:=x div 10000;x2:=x div 1000 mod 10;x3:=x div 100 mod 10; x4:=x div 10 mod 10;x5:=x mod 10; if (x mod 15=0) and (x1+x2+x3+x4+x5<26) then begin write(x:6);n:=1 end; end; a:=a-1; end; end.
习题解答
4.任意输入一个表达式,以“=”作为结束标志,如果左圆括号 大于右圆括号个数则输出“L”,若右圆括号大于左圆括号 个数则输出“R”,若左圆括号等于右圆括号个数,则输出 “D”,如输入((X+3-2B)))=则输出R,若输入 ((X+3)=则输出L。 var c:char; s1,s2:integer; begin while c<>'=' do begin read(c); if c='(' then s1:=s1+1; if c=')' then s2:=s2+1; end; if s1>s2 then write('L'); IF S1<S2 THEN write('R'); IF S1=S2 THEN WRITE('D'); END.

Pascal基础题100道合集(全)

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,请把这三个数由小到大输出。

PASCAL练习题

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的根。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

漂亮的图像
image.pas/c/cpp
【题目描述】
Jzj某次出去郊游,沿路捡了N块小木板(不知道jzj想干什么……)
Jzj回了家后,把这些小木板砍成了相同的长度,这样jzj就有了N块长度相同的长条木板啦~ Jzj把每块木板分成了N个小单元,在这N*N个小单元上选了一些涂成了黑色。

不过这样涂完了以后,jzj发现把这N块小木板摆在一起实在是太丑了,东一块黑西一块白的,所以jzj想交换其中的一些木板,把这些木板排的漂亮一点。

怎么排才漂亮呢?jzj想了半天,最后觉得让所有的黑色小单元都尽量聚集在一起比较好,所以他想让最后重新排列的木板的所有的黑色单元都聚集在左下角的三角形里,也就是在以(1,1)(2,2)……(N,N)这条对角线以下的三角形区域里(可以包含对角线)。

由于jzj也是和yk一样不喜欢动的人,所以他想用最少的次数将原来的N个木板排成满足要求的样子,每一次操作可以交换N块木板中任意两个相邻的木板。

【输入格式】
第一行一个正整数N,表示木板数量。

下面N行,每行N个数0或1。

第i+1行描述第i块木板的染色信息,第j列的数为0,表示这个单元为白色,为1表示这个单元为黑色。

【输出格式】
一行一个整数,表示最少的操作次数是原图像变为漂亮图像。

【样例】
image.in
3
111
110
100
image.out
3
样例解释
唯一一种合法的最终图形为
100
110
111
显然不论如何交换相邻两行,步骤数不会低于3步。

【数据规模】
对于40%的数据满足1≤N≤8
对于100%的数据满足1≤N≤1000。

相关文档
最新文档