Pascal程序设计初步练习题(含答案)
- 格式:doc
- 大小:148.00 KB
- 文档页数:10
1、输入a,b两个变量的值,打印输出a+b的横式与竖式。
2、编写程序,任意输入一个三位正整数,然后倒序输出。
比如输入的是285 ,输出的就该是582。
3、请看图3-2,判断任意一点A(x,y)是否在圆环内。
如果在的值。
提示:首先推导出判别式为2<=x2+y2<=254、某服装店对售货员发放奖金的办法是:日营业额在1000元以下的,只能拿到基本工资,没有奖金;超过1000元的,奖金为超出部分的2%。
编写程序输入营业额,计算并输出奖金。
5、编写程序计算y的值。
Sqrt(a+b)+sin(a-b) a>0,b>0Y= 1 a=0,b=0a2+b2其他6、从键盘输入三个整数,输出最大数max和最小数min。
7、已知三角形的三条边长为a,b,c,求三角形面积。
提示:用海沦公式求三角形面积s=sqrt(p*(p-a)*(p-b)*(p-c)) p=(a+b+c)/28、输入年号、月份,输出该月的天数。
1、3、5、7、8、10、12月为31天,4、6、9、11月为30天,2月平年28天,润年29天。
润年判别式为:(y mod 4=0)and (y mod 100<>0) or (y mod 400=0)9、模拟一个有加、减、乘除运算的简单计算器。
当输入一个实型数,再输入一个运算符,再输入一个实型数后马上输出运算结果。
比如:输入3.5*4.0后程序运行结果应该是14.0。
10、求n!(即1*2*..*n),n由键盘输入。
11、求1-1/2+1/3-1/4…+1/99-1/100的值。
12、利用双重循环编写出打印出右边数字方阵的程序。
1 2 3 4 5 62 3 4 5 6 73 4 5 6 7 85 6 7 8 9 106 7 8 9 10 1113、写程序打印右图。
11 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 5 6 5 4 3 2 114、编程打印出右图12 34 5 67 8 9 101112 13 14 1515、打印输入的n个整数中的最大、最小数及其序号。
小学复赛集训11.学生人数问题描述:向阳小学五年级共有N个班,每个班的人数已知,现在请你统计五年级共有多少人。
全年级的人数等于各班人数的和。
数据输入:共有N+1行,第一行为班数N(n<=10),接下来有N 行,每行一个正整数,表示各班的人数(小于等于60)。
数据输出:只有一个数,表示全年级的人数。
输入输出样例:输入3364038输出114var n,i,j,s,x:integer;begin repeatwrite('n=');readln(n);until (n>0) and (n<=10);for i:=1 to n dobegin readln(x);if x<=60 then s:=s+x else write('error'); end;writeln(s);end.2.本次复赛共有6道试题(包括本题),选手分成甲乙两组评定成绩。
做了5题或5题以上的选手,不管正确与否,自动进入甲组,反之为乙组。
编程对键盘输入的已做的题号(以0表示结束),统计题数,根据已做的题数输出组别。
当题数为5或6,则输出“Jia”;题数为1、2、3或4,则输出“Yi”;题数或题号超过规定的范围,则要求重新输入。
输入输出样例:输入:3↙1↙2↙5↙6↙0↙输出:Jia输入:5↙6↙0↙输出:Yi输入:1↙7↙0↙输出:Cuo Le,Chong Shu Ru!VAR TI,X:INTEGER;BEGIN READ(X); TI:=0;WHILE (X<>0) DO BEGINIF ((X<1) OR (X>6)) THEN WRITE('Cuo Le, Chong Shu Ru!')ELSE TI:=TI+1;READ(X);END;CASE TI OF5,6 :WRITE('JIA');1,2,3,4 :WRITE('YI')ELSE WRITE('Cuo Le, Chong Shu Ru!');END;end.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程序设计语言基础一、选择题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、将输入的三个整数按从大到小的顺序输出。
program exam(input,output);vara,b,c:integer;procedure exchange(var x,y:integer);vart:integer;begint:=x;x:=y;y:=tend;beginwrite('请输入三个整数:');readln(a,b,c);if a<b then exchange(a,b);if a<c then exchange(a,c);if b<c then exchange(b,c);writeln('从大到小排列为:',a:6,b:6,c:6)end.2、求出1000以内的所有质数并输出。
program exam(input,putput);varflag:boolean;i,j:integer;beginwriteln('1000以内的所有质数如下:');i:=2;write(i:4);for i:=3 to 1000 dobeginflag:=true;j:=2;repeatif i mod j=0 then flag:=false;j:=j+1until (i=j) or not flag;if flag then write(i:4)end;writelnend.3、已知某月一号为星期三,试根据输入的该月某日期判断当天为星期几。
program exam(input,output);varweek:(Sun,Mon,Tues,Wed,Thur,Fri,Sat);day:1..31;i:integer;beginwrite('已知某月一号为星期三,请输入该月某日期:');readln(day);week:=Sun;for i:=0 to (day+1) mod 7 do week:=succ(week);write('该日期为星期');case week ofSun: writeln('日');Mon: writeln('一');Tues:writeln('二');Wed: writeln('三');Thur:writeln('四');Fri: writeln('五');Sat: writeln('六')endend.4、输入一个0~30之间的整数,用递归法求其阶层并输出。
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。
第1题:完善下列程序:问题:给出半径R=100,高H=30,求圆周长、圆面积、圆柱全面积。
源程序:program lx1(input,output);var(1):real;beginlen:=2*pi*r;s:=(2);qs:=len*h+2*s;writeln('len=',len,'s=',sm,'qs=',qs);end.解:我们可以看到变量pi,r,s,qs,len,h均未定义。
则(1)为pi,r,s,qs,len,h由圆面积公式可以很容易得到(2):pi*r*r注:这一题题目有错,pi,r,h变量未定义。
同学们可以自行加上,但不可以不加。
如在begin下加pi:=3.;r:=100;h:=30;第2题:编写一程序,当程序执行时,输入以秒为单位的时间,输出形式为:“小时:分:秒”解:这一题用到两个标准函数:mod和div,mod指取余,div指取整商。
用puts表输入,用hours表小时,用minutes表分钟,用seconds表秒。
程序如下:program name;var puts,hours,minutes,seconds:integer;beginread(puts);hours:=puts mod 3600;puts:=puts div 3600;minutes:=puts mod 60;seconds:=puts div 60;writeln(hours,':',minutes,':',seconds)end.同学们可以看到puts是输入变量,也是临时变量,变了两次值,仔细想想是如何变化的。
第3题:编写一程序,输入一个三位数的正整数,输出时反向输出。
如:输入456,输出654。
解:这一题如果学了数组很简单,没有的话就要用mod和div函数,请同学们在理解上一题的基础上看下面的程序。
program name;var three:integer;beginread(three);for i:=1 to 3 dobeginwrite(three mod 10);three:=three div 10;end;end.本程序用到一个for循环,指循环执行三次。
小学复赛集训21.问题描述:某科技展教馆的团体入场费30人为50元,超过30人后,每增加1 人增加费用1元,为了使所有人平均后的每人费用不超过某个指定的费用m(1<m≤1.7)元,问最少以几个人入场为好?指定费用m用键盘输入。
例如:输入:m = 1.65输出:ZuishaoRenshu:31var i,j : longint; m,n : real;begin write('M = '); readln(m);i := 30; j := 50; n := 50/30;while n > m do begin i:=i+1;j:=j+1; n := j/i;end;writeln(i); readln;end.2.三位数345,3<4<5,称这个三位数为“迎春花”数,输出三位数中所有既是“迎春花”数又是质数的数,并统计个数。
(127、137、……、569,S=20)var x,a,b,c,s,y,h:integer;begin for x:=100 to 999 dobegin a:=x div 100;b:=x div 10 mod 10;c:=x mod 10;s:=0;for y:=1 to x doif x mod y=0 then s:=s+1;if (s=2) and (a<b) and (b<c) then begin write(x:4);h:=h+1 end;end; write('s=',h);end.3.所有的正整数均可以表示为一个、两个或者多个连续的正整数之和,给定一个不超过30000的正整数,求出它可以用几种不同的方法表示成连续正整数之和。
如给出9,则有三种方法:9,4+5,2+3+4。
(注:方法5+4与方法4+5视为是相同的)用键盘输入一个正整数n(1≤n≤30000),输出与之相应的不同方法种数。
输入输出样例:输入:n=9↙输出:3var s,n,i,j,c:integer;begin write('n=');readln(n);c:=0; for i:=1 to n dobegin s:=0;j:=i;while s<n do begin s:=s+j; j:=j+1; end;if s=n then c:=c+1;end; writeln(c);end.4.任意输入一个自然数X,输出它对应的汉语拼音。
小猪上幼儿园的时候,报名参加了折纸兴趣小组。
他表现出了极大的热情,折出了n 件折纸作品。
他的作品只有3种,分别是长方形、正方形和三角形。
小猪很想知道他的n 件折纸的周长之和。
【输入】输入文件folding.in 的第一行只有一个整数n ,表示共有n 件作品。
接下来n 行,每行有若干个以空格分隔的整数,表示一件作品的情况。
其中第一个整数k (k=1或2或3),表示小猪制作的这件作品的类型,1表示长方形,2表示正方形,3表示三角形。
如果k 为1,后面会跟二个正整数a 和b ,表示长方形的二条相邻边的长度分别为a 和b ;如果k 为2,后面会跟一个正整数a ,表示正方形的四条边的长度均为a 。
如果k 为3,后面会跟三个正整数a 、b 和c ,表示三角形三条边的长度分别为a 、b 和c (输入数据保证a,b,c 能构成三角形,不需验证)。
【输出】输出文件folding.out 中仅有一行,该行只有一个整数,表示所有作品的周长之和。
【样例输入】31 2 32 43 6 7 8【样例输出】47【样例说明】 ab c 三边长度分别为a,b,c 的三角形,周长为a+b+c相邻边长度分别为a 和b 的长方形,周长为2a+2b b 形,周长为4a a a共有3件作品:第一件作品:二条相邻边长度分别为2和3的长方形;第二件作品:边长为4的正方形;第三件作品:三条边长度分别为6、7、8的三角形。
这3件作品的周长分别为10、16、21,它们的周长之和为47。
【数据规模】50%的数据,1≤n≤50,所有边长为不超过100正整数。
100%的数据,1≤n≤100000,所有边长为不超过100000的正整数。
var n,a,b,c,k,I,S:LONGint;begin read(n);for i:=1 to n dobegin read(k);case k of1:begin read(a,b);s:=s+2*(a+b); end;2:begin read(a);s:=s+4*a; end;3:begin read(a,b,c); s:=s+a+b+c;end;end;end;write('s=',s);end.输入62 503 100 130 1401 80 901 300 5003 500 600 7002 90S=4670输入101 9000 100002 500002 800003 8000 9000 100003 20000 30000 400001 35000 450003 3000 4000 50002 5000001 9000 95002 678900S=5599600数学家总是喜欢研究有关数字的一些奇怪的性质。
pascal 练习题Pascal练习题Pascal是一种结构化的编程语言,于20世纪70年代由Niklaus Wirth开发。
它以其简洁、易读和高效的特点而闻名。
由于Pascal语言的特殊性质,它被广泛用于教育和训练编程入门者。
本篇文章将为大家呈现一些适用于Pascal编程的练习题。
通过这些练习题,读者们可以增加他们的Pascal编程技能,深入了解Pascal语言的特性与用法。
下面列出了一些练习题,每个练习题都有对应的题目和要求。
练习题一:阶乘计算器题目:编写一个程序,实现阶乘的计算。
要求:用户输入一个正整数,程序将输出该数的阶乘。
练习题二:质数判断器题目:编写一个程序,判断一个数是否为质数。
要求:用户输入一个整数,程序将输出该数是否为质数。
练习题三:字符串翻转题目:编写一个程序,实现字符串的翻转。
要求:用户输入一个字符串,程序将输出该字符串的翻转结果。
练习题四:数列求和题目:编写一个程序,计算数列的和。
要求:给定一个正整数n,程序将计算1到n的所有整数的和。
练习题五:矩阵转置题目:编写一个程序,实现矩阵的转置。
要求:用户输入一个m×n的矩阵,程序将输出该矩阵的转置矩阵。
练习题六:冒泡排序题目:编写一个程序,实现冒泡排序算法。
要求:用户输入一个整数数组,程序将按照升序或降序的方式对数组进行排序。
通过上述练习题,我们可以锻炼Pascal编程的各个方面,包括基本的算术运算、条件语句、循环语句、字符串处理以及数组操作等。
通过编写这些程序,读者不仅可以提高他们的编程技能,还可以更好地理解算法的实现过程。
为了更好地完成这些练习题,以下是一些有用的提示:1. 阶乘计算器:使用一个循环结构,递增一个变量并与用户输入的数相乘,直到达到用户输入的数。
2. 质数判断器:使用一个循环结构,检查除了1和自身以外的数是否可以整除用户输入的数。
3. 字符串翻转:使用一个循环结构,从字符串的末尾开始逐个提取字符,然后将提取的字符逐个连接起来形成新的字符串。
说明:本练习题一共10题,均选自正式考试题目,有较高的难度,供给大家参考使用。
有的是需要大家读懂程序,写出程序运行结果;有的是需要大家把程序补充完整;有的是需要大家自己编写程序。
1、program Program1;var a,b,c,d,sum : longint;beginread(a,b,c,d);a := a mod 23;b := b mod 28;c := c mod 33;sum := a * 5544 + b * 14421 + c * 1228 - d;sum := sum + 21252; sum := sum mod 21252;if (sum = 0 ) then sum := 21252;writeln(sum);end.输入:283 102 33 20输出__838___2、program progam1;varu: array [0..3] of integer;a, b, c, x, y, z: integer;beginread(u[0], u[1], u[2], u[3]);a := u[0] + u[1] + u[2] + u[3] - 5;b := u[0] * (u[1] - u[2] div u[3] + 8);c := u[0] * u[1] div u[2] * u[3];x := (a + b + 2) * 3 - u[(c + 3) mod 4];y := (c * 100 - 13) div a div (u[b mod 3] * 5);if((x+y) mod 2 = 0) then z := (a + b + c + x + y) div 2;z := (a + b + c – x - y) * 2;writeln(x + y - z);end.输入:2 5 7 4输出: 263 。
3、varn : longint;function g(k : longint) : longint;beginif k <= 1 then g := kelse g := (2002 * g(k - 1) + 2003 * g(k - 2)) mod 2005;end;beginread(n);writeln(g(n));end.输入:2005输出:34、.Program ex402;constm:array[0..4] of integer=(2,3,5,7,13);var i,j:integer; t: longint; beginfor i:=0 to 4 do begint:=1;for j:=1 to m[i]-1 do t:=t*2;t:=(t*2-1)*t; write (t,' '); end;writeln;end.输出:___33550336 13_5、念数字:编一个“念数字”的程序,它能让计算机完成以下工作:当你输入一个0至99之间的数后,计算机就会用汉字拼音印出这个数的念结束。
一、熟悉Pascal的集成环境,了解主菜单的各项功能二、完成下面程序的输入、编译、运行、保存,并注意观察程序的运行结果1、程序代码如下:program exe1 (input ,output) ;varh , k : integer ;beginfor h := 1 to 8 do beginwrite( ' ': 20-h);for k := 1 to 2*h-1 do write(' * ');writeln;end;end.2、编程计算半径为R的圆的面积和周长程序代码如下:Program Exe2; {程序首部 }Const Pi=Var R,S,C: Real; {变量说明部分 }BeginWrite ('R='); {提示输入半径 }Readln(R); {输入半径值 }S:=Pi*R*R;{利用圆面积公式s=Πr2面积}C:=2*Pi*R;{利用圆周长公式c=2πr求周长}Writeln('S=',S); {输出结果 }Writeln('C=',C);Readln;{等待输入回车键}End.3、编程在屏幕上显示“Hello World!”。
程序代码如下:Program exe3;BeginWriteln( ‘ Hello World!’);Readln;End.4、下面是一道猜数的趣味程序,程序运行后,由计算机随机地产生一个100以内的整数,用户有十次猜数的机会,并且计算机会根据你猜的数给你相应的提示。
程序代码如下:program caishu (input ,output) ;varx,n,k :integer;beginrandomize;x:=random( 100) ;repeatwrite('Please input a number(0- 100) : ' ) ;readln( k) ;n:=n+l;if k=x then writeln( 'You are right ! ');if k>x then writeln( 'Too big. Please try again!' ) ;if k<x then writeln( 'Too small. Please try again!') ;until (k=x) or (n= 10) ;if ( n=10) and ( k<>x) then writeln( ' You are fail. The number is :' ,x) ;end.四、练习:工人每工作一小时可得工资80元,求工作130小时的工资。
Pascal练习一1. 工人每工作一小时可得工资80元,求工作130小时的工资。
进入Qpascal,并打入以下程序:1program Wages (input, output);2var h, r, w : integer;3begin4h := 130;5r := 80;6w := h * r;7writeln (w)8end.a)程序中三个变量代表甚么资料?b)将程序编译(Make-Compile)后,执行程序(Run-Go),写下屏幕所看到输出。
c) 如果将行7改为…Total wages = ‟,如下列所示:writeln ( …Total wages = ‟, w )将程序编译(Make-Compile)后,执行程序(Run-Go),写下屏幕所看到输出。
d)试在行6和行7之间加多两程序语句,使程序产生以下的输出。
Total working hours = 130Hourly rate = 80Total wages =10400writeln(…Total working hours= ‟, h);writeln(…Hourly rate= ‟, r);e)用有意义的变量名称,将(d)部份的程序重写。
将程序储存于A磁盘。
Pascal练习二1. 计算某学生在三次考试所得的平均分。
进入Qpascal,并打入以下程序:1 program AverageMark (input, output);2 var Exam1, Exam2, Exam3 : integer;3 begin4 Exam1 := 65;5 Exam2 := 80;6 Exam3 := 72;7 Average := (Exam1 + Exam2 + Exam3) / 3;8 writeln (… The average mark is ‟, Average)9 end.a) 程序中四个变量代表甚么资料?b) i) 执行程序时, 计算机显示器显示出一程序错误讯息, 这讯息是甚么?Unknown Identifier …Average‟ii)程序有甚么错误?在程序说明部分欠缺了变量…Average‟ 的宣告。
1. 输入N组测试数据,每组两个自然数,求绝对差最小的值及第几组数。
样例N=610 20 30 35 12 15 100 101 1000 1100 5 8输出1 4ABS(X-Y)Var n,I,x,y,z,min,p:longint;Begin read(n);min:=99999;For i:=1 to n do beginRead(x,y);z:=abs(x-y);If z<min then begin min:=z;p:=I end;End;write(‘min=’,min,’p=’,p);End.输入10100 120 99 300 900 800 5000 5500 1 2 30 40 555 666 777 888 800 810 10 12 输出1 5陶陶很喜欢数学,尤其喜欢奇怪的数。
一天,他突然发现,有的整数拥有的因子数是很有个性的,决定找到一个具有n个正因子数的最小的正整数。
例如:n=4,则m=6,因为6有4个不同正整数因子1,2,3,6;而且是最小的有4个因子的整数。
【输入文件】仅一个数 n(1≤n≤60)【输出文件】仅一个数 m【样例输入】4【样例输出】6var x,t,n,i:longint;begin readln(n);for x:=1 to maxlongint dobegin t:=0;for i:=1 to x doif x mod i=0 then t:=t+1;if t=N then begin write(x);break end;end;end.输入 12 输出 60 输入30 输出 720输入 60 输出 5040 输入 45 输出 3600请统计某个给定范围[L, R]的所有整数中,数字 2 出现的次数。
比如给定范围[2, 22],数字 2 在数2中出现了1次,在数12中出现 1 次,在数20 中出现1 次,在数21 中出现 1 次,在数22 中出现 2 次,所以数字 2 在该范围内一共出现了6次。
2PASCAL 程序设计基础训练题2pascal程序设计基础训练题Pascal编程基础培训问题第1课(基本格式)1、已知圆的半径,求它的周长和面积。
参考答案:项目xxy001;康斯特pi:=3.14159;varr、 l,s:真的;开始write(‘r=?’);readln(r);l:=2*r*pi;s:=r*r*pi;写('l=',l:6:2);writeln('s=',s:=6:3);雷登;终止2、已知长方形的长和宽,求它的周长和面积。
参考答案:项目xxy002;变量a,b,l,s:integer;begin写('a,b=?');readln(a,b);l:=(a+b)*2;s:=a*b;writeln(‘l=’,l);writeln(‘s=’,s);readln;end.3.输入盒子的长度、宽度和高度,以计算其表面积和体积。
参考答案:programxxy003;vara、 b,h,s,v:整数;开始readln(a,b,h);s:=(a*b+b*h+h*a)*2;v:=a*b*h;writeln(‘s=’,s);writeln(‘v=’,v);readln;终止4、x,y,z的值分别为1,23,456,将它们按三行输出,分别用左对齐和右对齐方式显示。
123456123345参考答案:programxxy004;varx、 y,z:整数;beginx:=1;y:=23;z:=456;writeln(x);writeln(x);writeln(x);书面材料(x:78);书面材料(x:78);书面材料(x:78);雷登;终止5、输入a,b二个变量的值,分别打印出a与b加法的横式与竖式运算式子。
参考答案:样例:输入:45237输出:45+237=28245+237------282参考答案:programxxy005;vara、 b,da:整数;开始readln(a,b);da:=a+b;写(a,“+”,b,“=”,da);writeln(a:6);writeln(“+”,b:5);书面语('----');书面记录(da:6);雷登;终止说明:编程时,使用英文字母大写和小写作用是相同的。
pascal程序练习题一、编写程序1、分别用字符打印如下图形。
***** #***** ##***** ###*****Program px;BeginWriteln(‘*****’:10);Writeln(‘*****’:9);Writeln(‘*****’:8);End.Program sj;BeginWriteln(‘#’);Writeln(‘##’);Writeln(‘###’);End.2、写出执行下面程序后,写出变量a,b的值。
Program lx1;Var a,b:integer;Begina:=1;b:=2;a:=b;b:=a;write(a,b);end.3、执行如下程序,给出b,c,d的值。
Program lx2: Const a=128;Var b,d:integer;c:real;beginb:=a div 16;c:=a/b;d:=a;writeln(b,d);writeln(c:5:0);end. 4、交换两个变量a,b的值。
Program lx4;Var a,b,c:integer;BeginRead(a,b);c:=a;a:=b;b:=c;writeln(a:5,b:5);end.5、输入三个变量a、b、c的值,将它们交换后打印出来。
本例中,将a的值赋给b,b的值赋给c,c的值赋给a. Program lx5;Var a,b,c,t:integer;BeginReadln(a,b,c);t:=a;a:=b;b:=c;c:=t;writeln(a:6,b:6,c:6);end.6、输入两个整数,输出其中的较大者。
Program lx6; Var x,y:integer;BeginWrite(‘please input x,y:’);Readln(x.y);If x>y then writeln(‘x=’,x)Else writeln(‘y=’,y);End..if语句的一般形式:格式1:if 条件then 语句;格式2:if 条件then 语句1 else 语句2;7、任意输入3个数x,y和z,按由大到小的顺序输出。
4、判断两个数a,b,输出较大数的平方值。
5、某市的士费起步价8元,可以行使3公里。
3公里以后,按每公里2.3元计算,输入的士的公里数,请你计算顾客需付费多少元?
6、某服装公司为了推销产品,采取这样的批发销售方案:凡订购超过100 套的,每套定价为50元,否则每套
价格为80元。
编程由键盘输入订购套数,输出应付款的金额数。
7、已知某圆的半径R=139,求该圆的周长C与面积S?
8、加法计算器:编程由键盘输入两个整数a和b,将它们的和输出到屏幕上。
9、假设邮局规定寄邮件时若每件重量在1公斤以内(含1公斤),按每公斤1.5元计算邮费,如果超过1公斤时,其超出部分每公斤加收0.8元。
请编程序计算邮件收费。
10、从键盘读入一个数,判断它的正负。
是正数,则输出“+”,是负数,则输出“-”。
PASCAL入门测验2(附答案)小学复赛集训21.问题描述:某科技展教馆的团体入场费30人为50元,超过30人后,每增加1人增加费用1元,为了使所有人平均后的每人费用不超过某个指定的费用m(1< p="">输出:ZuishaoRenshu:31var i,j:longint;m,n:real;begin write('M=');readln(m);i:=30;j:=50;n:=50/30;while n>m do begin i:=i+1;j:=j+1;n:=j/i;end;writeln(i);readln;end.2.三位数345,3<4<5,称这个三位数为“迎春花”数,输出三位数中所有既是“迎春花”数又是质数的数,并统计个数。
(127、137、……、569,S=20)var x,a,b,c,s,y,h:integer;begin for x:=100to999dobegin a:=x div100;b:=x div10mod10;c:=x mod10;s:=0;for y:=1to x doif x mod y=0then s:=s+1;if(s=2)and(a<b)and(bend;write('s=',h);end.3.所有的正整数均可以表示为一个、两个或者多个连续的正整数之和,给定一个不超过30000的正整数,求出它可以用几种不同的方法表示成连续正整数之和。
如给出9,则有三种方法:9,4+5,2+3+4。
(注:方法5+4与方法4+5视为是相同的)用键盘输入一个正整数n(1≤n≤30000),输出与之相应的不同方法种数。
输入输出样例:输入:n=9↙输出:3var s,n,i,j,c:integer;begin write('n=');readln(n);c:=0;for i:=1to n dobegin s:=0;j:=i;while sif s=n then c:=c+1;end;writeln(c);end.4.任意输入一个自然数X,输出它对应的汉语拼音。
Pascal练习一1. 工人每工作一小时可得工资80元,求工作130小时的工资。
进入Qpascal,并打入以下程序:1program Wages (input, output);2var h, r, w : integer;3begin4h := 130;5r := 80;6w := h * r;7writeln (w)8end.a)程序中三个变量代表甚么资料?b)将程序编译(Make-Compile)后,执行程序(Run-Go),写下屏幕所看到输出。
c) 如果将行7改为…Total wages = ‟,如下列所示:writeln ( …Total wages = ‟, w )将程序编译(Make-Compile)后,执行程序(Run-Go),写下屏幕所看到输出。
d)试在行6和行7之间加多两程序语句,使程序产生以下的输出。
Total working hours = 130Hourly rate = 80Total wages =10400writeln(…Total working hours= ‟, h);writeln(…Hourly rate= ‟, r);e)用有意义的变量名称,将(d)部份的程序重写。
将程序储存于A磁盘。
Pascal练习二1. 计算某学生在三次考试所得的平均分。
进入Qpascal,并打入以下程序:1 program AverageMark (input, output);2 var Exam1, Exam2, Exam3 : integer;3 begin4 Exam1 := 65;5 Exam2 := 80;6 Exam3 := 72;7 Average := (Exam1 + Exam2 + Exam3) / 3;8 writeln (… The average mark is ‟, Average)9 end.a) 程序中四个变量代表甚么资料?b) i) 执行程序时, 计算机显示器显示出一程序错误讯息, 这讯息是甚么?Unknown Identifier …Average‟ii)程序有甚么错误?在程序说明部分欠缺了变量…Average‟ 的宣告。
iii)如何修改这程序?在第2与第3行中间加入以下:Average : real;c)将程序编译(Make-Compile)后,执行程序(Run-Go),写下屏幕所看到输出。
d) 该名学生在新一次考试四取得83分, 请修改程序以计算新的平均分。
program AverageMark;var Exam1, Exam2, Exam3, Exam4 : integer; Average : real;beginExam1 := 65;Exam2 := 80;Exam3 := 72;Exam4 := 83;Average := (Exam1 + Exam2 + Exam3 + Exam4) / 4;writeln (… The average mark is ‟, Average)end.Pascal练习三1. 计算某消售所得的盈利。
进入Qpascal,并打入以下程序:1 program FindProfit (input, output);2 var Cost, SellPrice, Profit : real;3 begin4 Cost := 45000;5 SellPrice := 52500.5;6 Profit := SellPrice - Cost;7 writeln (… The profit is ‟, Profit : 9 :2)8 end.a)在说明部分中, 变量宣告采用了甚么数据类型?实数类realb)将程序编译(Make-Compile)后,执行程序(Run-Go),写下屏幕所看到输出。
c)假如将行7的输出语句改写为: writeln (… The profit is ‟, Profit )再将程序编译(Make-Compile)后,执行程序(Run-Go),写下屏幕所看到输出。
d)在行7输出语句中的:9:2 是甚么意思?: 9 表示总显示长度为9个字符位,:2 表示小数字为2个。
e)试修改程序以产生以下输出:Selling Price 52500.50Cost 45000.00-----------------------------------------Profit 7500.50行7以后需改为:writeln (…----------------------------------------‟);writeln (…Profit ‟, Profit:9:2)Pascal练习四1.进入Qpascal,并打入以下程序:1 program OutputTest1 (input, output);2 begin3 writeln(135);;4 writeln(135:10);5 write(…Testing Printout‟);6writeln;7writeln(135.7:1);8writeln(135.7:10);9writeln(135.7:0:1);10writeln(135.7:8:2);11writeln(0.001357:10:4)12 end.将程序编译(Make-Compile)后,执行程序(Run-Go),写下屏幕所看到输出。
2.进入Qpascal,并打入以下程序:1 program OutputTest2 (input, output);2 var A, B, C : integer; D : real;3 begin4 A := 2;5 B := 4;6 C := 6;7 D := (A+B)*C/2;8 write(…A=‟, A);9 writeln(…B=‟ : 4, B);10 write(…C=‟, C);11 writeln(…D=‟ : 4, D: 6)12 end.将程序编译(Make-Compile)后,执行程序(Run-Go),写下屏幕所看到输出。
Pascal练习五1.进入Qpascal,并打入以下程序:1 program InputTest (input, output);2 var a, b, c, d, e, f, g, h : integer;3 begin4 readln(a);5 readln(b, c);6 readln(d, e, f);7readln(g, h);8writeln (a, ',' , b, ',', c, ',', d, ',', e, ',', f, ',', g, ',', h)9 end.将程序编译(Make-Compile)后,执行程序(Run-Go),并以下列四行作为数据输入,1 2 3 4 55 6 7 8 911 12 13 14 1515 16 17 18 19最后写下屏幕所看到的输出。
2.进入Qpascal,并打入以下程序:1 program InputTest (input, output);2 var a, b, c, d, e, f, g, h : integer;3 begin4 read(a);5 readln(b, c);6 read(d, e, f);9readln(g, h);10writeln (a, ',' , b, ',', c, ',', d, ',', e, ',', f, ',', g, ',', h)9 end.将程序编译(Make-Compile)后,执行程序(Run-Go),并以第一部分之四行输入作为数据输入,最后写下屏幕所看到的输出。
Pascal练习六1.某人想编写一个有下列输出的PASCAL程序:他所编写的程序如下(内有多处错误):10) program Bugs(input, output)20)const times := 10,30)var N2; integer;40)N3: char;50)begin60)writeln('Please enter an integer: ');70)readln(N1);80)writeln('Please enter another integer: ');90)readln(N2);100)writeln(N1*N2*times);110)write('Please enter a real number: ');120)readln(N3);130)writeln(N3:1:1)140)end.程序中有几处错误,试找出来并加以订正。
Pascal练习七1.他所编写的程序如下(内有多处错误):1)program Polynomial(input, output);2)var coef0, coef1, coef2 : integer;3)x : real;4)begin5)write(What is the coefficient of the x^2 term?);6)readln(coef2);7)write('What is the coefficient of the x term? ');8)readln(coef1);9)write('What is the constant term? ');10)readln(coef0);11)writeln('What is the value of x? ');12)readln(coef1);13)writeln;14)writeln('The polynomial is ', coef1, 'x^2 + ', coef2,15)'x + ', coef0);16)writeln('When x = ', x, ', the polynomial = ',17)coef2*x*x + coef1*x + coef0)18)end.Pascal 练习八 .试写PASCAL 程序计算通过两点的直线的斜率(slope),而两点的坐标是由使用者自行输入。
(所有在 “:” 号后的数字皆由使用者自行输入)斜率的计算公式如下:斜率 = )()(1212x x y y --将以下程序打入QPascal 内 (并尝试在横线上填上适当答案):program FindSlope (input, output);var x1, x2, y1, y2 : integer;slope : real; begin write (…What is x -coordinate of first point: ‟);readln (x1);write (…What is y -coordinate of first point: ‟);readln (y1);write (…What is x -coordinate of second point: ‟);readln (x2);write (…What is y -coordinate of second point: ‟);readln (y2);slope := (y2-y1)/(x2-x1);writeln;writeln (…The slope of the straight line is ‟, slope)end.Pascal练习九试写一个程序,其能跟据用者所输入的半径去计算圆形的面积圆形面积的计算公式如下:圆形面积=2r假设π=3.14如果输入的半径是30.0,屏幕输出会如以下:(所有在“:”号后的数字皆由使用者自行输入)将以下程序打入QPascal 内(并尝试在横线上填上适当答案):以下是一个PASCAL 程序:1) program FindAreaOfCircle(input, output);2) const Pi = 3.14;3) var radius , area :real ;4) begin5) write ( …Enter the radius of the circle: ‟ );6) readln(radius);7) writeln;8) area := Pi * radius * radius;9) writeln(…The area of the circle is‟, area)9) end.如果输入的半径是225.0,屏幕输出会是甚么﹖1、用字符输出一个等边三角形。