pascal 习题 完善程序
更新时间:2023-10-01 00:03:01 阅读量: 综合文库 文档下载
- pascal推荐度:
- 相关推荐
第1题(14分)以下程序是将一组整数按从小到大的顺序排列。排序的方法是将长度为n的数a分为两个长度分别为(n div 2)与(n-n div 2)的子数组a1,a2。然后递归调用排序过程,将a1,a2分别排序,最后将a1,a2归并成数组a。例如a=(3,1,2,4),那么a1=(3,1),a2=(2,4)。调用排序过程将a1,a2排序,得到a1=(1,3),a2=(2,4),然后进行合并排序。
从键盘输入数的长度n以及n个整数,存在数组a中,调用子过程sort进行排序,最后输出排序结果。
program wsh; const maxn=100;.
type arr:array[1..maxn] of integer; var
a:array[1..maxn] of integer; n,i:integer;
procedure sort(n:integer; var a:arr); var
i, p1, p2, n1, n2: integer; a1,a2 :arr; begin
if n = 1 then exit;
fillchar(a1,sizeof(a1) ,0); fillchar(a2,sizeof(a2) ,0); n1:=0; n2:=0;
n1:=n div 2; n2:=(____(1)____); for i:= 1 to n1 do a1[i]:=a[i]; for i:= 1 to n2 do a2[i]:=____(2)____; ____(3)____; sort(n2, a2); p1:=1; p2:=1; n:=0;
while (p1 <= n1) and (____(4)____) do begin n:=n+1;
if ____(5)____
then begin a[n]:=a1[p1] ;inc(p1); end else begin ____(6)____; inc(p2) ;end; end; if p1 <= n1
then for i:= ____(7)____ to n1 do begin n:=n+1;a[n]:=a1[i] end else for i:=p2 to n2 do begin n:=n+1; a[n]:=a2[i]; end; end; begin
write('n = '); readln (n);
for i:= 1 to n do read(a[i]); readln; sort(n,a);
for i:=1 to n do write(a[i],''); writeln; end.
答案:
n-n1 a[n1+i] sort(n1,a1) (p2 < =n2) a1[p1] < a2[p2] a[n]:=a2[p2] p1
第2题(8分)有n(1≤n≤100)个同学种m(1≤n≤m≤100)种小树苗,例如:4个同学(1、2、3、4)每小时种4种树苗(A、B、C、D)的数量估算如下表所示,编程输出每人种1种苗所用的总时间最少的安
排方案和所花费的时间。
学 生 A 1 2 3 4
5 4 5 3
B 2 3 2 2
C 4 5 4 3
D 5 3 2 3
program wsh; const
maxn=100; maxm = 100; var
a: array[1..maxn, 1..maxm] of integer; m, n: integer; i, j, t: integer;
procedure work(k,t1: integer); var i: integer; begin
if ____(1)____ then begin
if t1 < t then t1:=t; exit; end;
for i:= ___(2)___ to ___(3)___ do work(k+1,___(4)___); end; begin
readln(n,m); for i:=1 to n do begin
for j:=1 to m do read (a[i,j]); readln
end; t:= maxint; work(1,0); writeln(t) end.
答案:
k>n 1 m
t1+t[k,i]
第3题(10分)程序的任务是用0?9中的数字填入如下乘法运算的*处,数字可重复使用,且所用的数字至少有一个是素数,要求输出满足下列算式的方案数。
* * * x * * ---------------- * * * * * * ---------------- * * * program wsh;
const p:set of 0...9 = [2,3,5,7]; var
s:set of 0..9; n: integer; ans: longint; f: text; procedure init;
var
i: integer; t:byte; begin readln(n); s:=[];
for i:=1 to n do begin read(t); s:=s+[t]; end; close(f); end;
function ok(x,l:integer):boolean; {此函数判断x是否符合条件} var t: byte; begin ok:=false;
if ___(1)___< > l then exit; while x< >0 do begin
t:=x mod 10;
if not ( t in s) then exit; x:=x div 10; end; ok:=true; end;
function inset(x:integer):boolean; {此函数判断x中是否包含素数字} var t: byte; begin
inset:= false;
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 习题
- 完善
- 程序
- pascal
- 版图复习题-解答(1)
- 18学年高中数学第二章函数2.1.1第1课时变量与函数的概念学案新人教B版必修1
- 走近俄罗斯空天防御部队
- 2015年“访惠聚”活动调研报告
- 教育学试卷(附答案)
- 商户部业务守则
- 2014年11月22日造园史
- 2012材料力学性能试题
- 2014精通中考说明文原文及答案
- 2013年“上外杯”上海市高三英语竞赛
- 2015年度监理工程师网络继续教育房屋建筑工程48考试试题7
- 一年级语文第一学期期末检测000
- 我的教育故事(3)
- 关于我国宏观税负的研究
- 缙云县翔奕电子有限公司年产15万平方米高密度印制电路板项目可行性研究报告
- 初一辅导员班主任工作总结与初一辅导班主任工作总结汇编 doc
- 2015天文学新概论随堂作业答案(南开苏宜)(三十七)
- 2019-2025年中国陶瓷纤维棉市场竞争力分析及投资战略预测研发报告
- 证券混沌操盘法学习体会
- 灌北泵站机组试运行工作报告0510