当前位置:文档之家› jsoiB_1(2011doc)

jsoiB_1(2011doc)

jsoiB_1(2011doc)
jsoiB_1(2011doc)

江苏省信息学奥赛(JSOI)网络函授B层次教学

进制转换及应用

一、十进制数

人们通常使用的是十进制数。十进制数的特点是有十个不同的数字:0,1,2,3,4,5,6,7,8,9,并且是“逢十进一”。

在十进制中,各位数字所表示的值不仅与该数字有关,而且与它所在的位置有关。例如在数33中,十位上的3表示3个10,各位上的3表示3个1。每个数位被赋于一定的位值,称为权。十进制中,个、十、百、千……各位的权,依次为1,10,100,1000,…。每个数位的数字所表示的值是这个数字与它相应权的乘积。

对于任意一个十进制数,都可以表示成按权展开的多项式。例如:

1804=1×103+8×102+0×101+4×100

48.25=4×101+8×100+2×10-1+5×10-2

一般地,对于一个十进制数a n a n-1…a1a0a-1…a-m(这里不考虑其正负),它可表示为:

a n a n-1…a1a0a-1…a-m=a n10n+a n-110n-1+…+a1101+a0100+a-110-1+…+a-m10-m

其中,a i是0—9十个数字中的任意一个,m,n为正整数。

这里的10被称为基数,它是相邻数位的权之比。各数位的权是基数10的整数次幂。有时,在一个数的下方注上基数10,来更明确地指出它是一个十进制数。例如:(13)10,(8.2)10等。

二、二进制数

在计算机中采用的是二进制。二进制只需要两个不同的数字:0和1,并且是“逢二进一”。它的基数是2,各数位的权也是基数的整数次幂。对于二进制数,其整数部分各数位的权,从最低位开始依次是1,2,4,8,…;其小数部分各数位的权,从最高低位开始依次是0.5,0.25,0.125,…。

与十进制相仿,一个二进制数也可以表示成按权展开的多项式。例如:(101)2=1×22+0×21+1×20

(10.11)2=1×21+0×20+1×2-1+1×2-2

这里要注意,不要把二进制(101)2读作“一百零一”,而应该读成“一零一”。

计算机的一个重要理论基础就是二进制思想。任何信息最终都是以二进制数的形式存储在计算机中的。计算机采用二进制,而不采用十进制,是因为二进制具有以下一些主要特点:

(1)二进制数只含有两个数字0和1,因此可用大量存在的具有两个不同的稳定物理状态的元件来表示。例如,可用指示灯的不亮和亮,继电器的断开和接通,晶体管的截止和导通,磁性元件的反向和正向剩磁,脉冲电位的低和高等等,来分别表示二进制数字0和1。计算机中采用具有两个稳定状态的元件来表示,实现起来要容易得多。同时,由于表示二进制数的元件的状态数少,因而数据传送不易出错,工作稳定可靠。

(2)二进制数的运算规则简单,使得计算机中的运算部件结构相应变得比较简单。

二进制数的加法和乘法的运算规则,都比十进制数简单得多。它的加法工资额和乘法规则只有四条:

0+0=0 0+1=1 1+0=1 1+1=1

0×0=0 0×1=0 1×0=0 1×1=1

实际上,二进制数的乘法可通过简单的移位和相加来实现。由于二进制数的运

算规则简单,它的算术运算都可通过移位、相加这种简单的操作来实现。这就使计算机的运算部件的结构简单,运行可靠。

(3)二进制数的两个数字0和1与逻辑代数的逻辑变量取值一样,从而可采用二进制数进行逻辑运算。这样就可以应用逻辑代数作为工具来分析和设计计算机中的逻辑电路,使得逻辑代数成为计算机设计的数学基础。

三、不同进制数之间转换的基本算法是:

在计算机中除了用到二进制以外,有时还用到十进制、八进制和十六进制。所以,在实际应用中,经常需要将一个十进制数转换成二进制、八进制或十六进制的数,有时又需逆向转换,将二进制、八进制或十六进制的数转换成十进制数,有时还需要在二进制、八进制和十六进制数之间进行相互转换(2,8,10,16等一般称为“基”)。

不同进制数之间转换的基本算法是:

(1)十进制整数转换成n进制数的方法:将十进制整数不断除以n取余,最后反序输出即可。

(2) n进制数(整数、实数都可以)转换成十进制数方法:按“权n”展开,即表示成若干项形如a i*n i的累加和即可。

(3)二进制、八进制、十六进制之间的转换方法:利用3位二进制表示1位八进制数,4位二进制数表示1位十六进制数的基本思想,3位一段(或4位一段)分别转换即可。

注:一般2≤n≤16,十进制以上、十六进制以下的数制除了0~9十个字符外,还用到A、B、C、D、E、F几个字符,分别表示10~15。对于十进制,我们称它的基数为10,而二进制的基数就是2,十六进制的基数就是16。对于十进制数1234.56,我们可以表示成1*103+2*102+3*101+4*100+5*10-1+6*10-2,我们把10i称之为十进制各个位的“权”。对于二进制数11001.01001,我们也可以类似地表示成1*24+1*23+1*20+1*2-2+1*2-5,即二进制各个位的权为2i。这一方法(按权展开)同样可以用在任意n进制中。

四、不同进制数之间的相互转换

1、十进制正整数转换成任意n进制数

[方法介绍]

就是模拟小学学过的除法运算,比如要把十进制整数39转换成二进制数,则转换方法如下左图,即不断除以2,直到商为0,再倒序输出即可,结果一般表示为(39)10 =(100111)2 。而要把十进制整数245转换成八进制数,方法一样,只要不断地除以8即可,如下右图所示,结果可以表示为:(245)10 = (365)8。一定要注意的是“倒序输出”。

图1 十进制整数转换成n进制方法示意图

[算法描述]

设十进制数为Y,要转换成n进制,用数组a存放最后的转换结果,i为数组下

标,则算法描述如下:

i:=0;

重复做:

i:=i+1;

a[i]:=Ymod n

Y:= Ydiv n

直到Y=0为止。

依次输出最高位a[i]到最低位a[1]。

[参考程序] 将十进制整数Y转换成任意n进制数(设n<10)。

Program ex1(input,output);

var a: array [1..100] of integer;

n,y,i,j:longint;

begin

write('input number y: ');

readln(y);

write('input number n: ');

readln(n);

write('(',y,')10=','(');

i:=0;

repeat

i:=i+1;

a[i]:=y mod n;

y:=y div n;

until y=0;

for j:=i downto 1 do write (a[j]);

writeln(')',n);

readln

end.

[程序样例]

输入:245

8

输出:(245)10=(365)8

[思考练习]

如果n超过了10,比如要转换成十六进制数,可以用字符A、B、C、D、E、F分别表示数10~15,转换方法一样,只要在输出时把余数转换为字符(A~ F)即可。这个程序请大家完成。

2、任意n进制数(整数、实数)转换成十进制数

[方法介绍]

我们知道一个十进制数1234.56,按权展开可以表示成1*103+2*102+3*101+4*100+5*10-1+6*10-2,同样,对于任意n进制数X,按权展开的方法是:

(1101.01)2 = 1*23+1*22+0*21+1*20+0*2-1 +1*2-2= 8+4+0+1+0+0.25 = 13.25 (165)8 = 1*82 + 6*81 + 5*80 = 64+48+5 = 117

这儿计算出来的13.25和117就是(1101.01)2和(165)8所对应的十进制

数。

[参考程序] 将任意n进制整数X转换成十进制数(设n<10)。

Program ex2(input,output);

const m=100;

var str:string;

n,i,weight,total:longint;

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

begin

write('input number n: ');

readln(n);

write('input number x: ');

readln(str);

write('(',str,')',n , '=(');

for i:= 1 to Length(str) do

a[i]:= ord (str[i])-ord ('0'); {取出数中的每一位}

weight:=1;

total:=a[Length(str)];

for i:=Length(str)-1 downto 1 do

begin

if a[i] > n then {判断输入的数是否合法}

begin

writeln('input error! ');

exit;

end;

weight:=weight*n; {累乘计算出每一位的权}

total:=total+a[i]*weight; {按权展开每一位,累加求和} end;

writeln(total,’)10’);

readln

end.

[程序样例]

输入:2

100110

输出:(100110)2=(38)10

[思考练习]

如果n超过了十进制,则程序怎么修改呢?

这个方法也适用于把任意n进制小数转换成十进制小数,方法基本一样。

因此,我们对一个n进制的实数,就可以把整数和小数部分截取出来后,分别进行转换,最后再加起来输出即可。请大家完成。

3、将十进制小数转换为其它进制的小数

[方法介绍]

将十进制小数转换为其它进制的数,其基本算法是:将小数乘以待转换的进制数,正向取整。例如把(0.325)10转换成二进制小数的过程如下图2所示:

图2 十进制小数转换成其它进制小数方法示意图

所以,运算结果是:(0.325)10≈(0. 0101)2

大家发现,这种转换有时是一个近似值。思考:为什么?

[参考程序]

程序请大家完成。

对于一个十进制的实数,我们就可以把整数和小数分解出来,分别转换成其它进制的整数和小数,最后再加起来输出结果。

4、二进制和十六进制之间的转换

如要把二进制数(1111011001.01111)2转换成十六进制数,则我们以小数点为准,向前4位一段转换整数部分,不足则高位补0;再向后4位一段转换小数部分,不足则低位补0。如下图,最后相加输出即可得到答案:(3D9.78)16。

图3 二进制数转换成十六进制数的方法示意图

反之也一样,如要把十六进制数(A1F5.2)16二进制数,则结果为(1010 0001 1111 0101.0010)2。注意:一定要补齐4位,为什么?

[参考程序]

程序请大家完成。

五、进制转换原理的应用

在有些实际问题中,巧妙地应用“进制转换”思想,可以起到很好的效果,下面举例说明。

例1、用质量为1,3,9,27和81的五种砝码各1个(假如单位为克)称物体的质量,最大可称121,在实验室我们一般要求“物左砝右”。如果砝码允许放在天平的两边,编程输出称不同质量(1~121)物体时,砝码应该怎样安排?

例如要称一个m=14克的物体,我们知道14=27-9-3-1,即14+9+3+1=27。所以我们可以把天平一端放置该和9、3、1的砝码,而另一端放27的砝码,这样即可称出。

[问题分析]

被称物体的质量计算的数学原理:设被称物体m放在天平左边,根据天平平衡原理,左边质量应等于右边质量。问题关键在于算法中如何体现砝码放在天平左边、右边或没有参加称量。这里可以用-1、1、0表示砝码放在天平左、右和没有参加称量,再没有其它数,所以称为三进制数,每个砝码都有这样的三种状态。被称物体质量计算为:m = a*81 + b*27 + c*9 + d*3 + e。这里a,b,c,d,e分别表示81,27,9,3,1克的砝码是放在天平的左边、右边或是没用。

[参考程序]

Program ex3(input,output);

var a,b,c,d,e,m:integer;

Begin

for m:=1 to 121 do

for a:= 0 to 1 do

for b:= -1 to 1 do

for c:= -1 to 1 do

for d:= -1 to 1 do

for e:= -1 to 1 do

if m = a*81+b*27+c*9+d*3+e then

begin

write(m,'=',a*81);

if b<0 then write(b*27) else write('+',b*27);

if c<0 then write(c*9) else write('+',c*9);

if d<0 then write(d*3) else write('+',d*3);

if e<0 then writeln(e) else writeln('+',e);

end;

readln

End.

[程序样例] 运行程序,得到结果如下(共121行):

1=0+0+0+0+1

……

31=0+27+0+3+1

……

121=81+27+9+3+1

例2、01圈

将2n个0和2n个1排成一圈。从任意一个位置开始,每次按逆时针的方向以长度为

n+1的单位计数二进制数。要求给出一种排法,用上面的方法产生出2n+1个不相同的二

进制数。如当n=2时,有22个0和22个1排列如下图4所示。如果从a位置开始,逆时针

方向取三个数000,然后再从b位置上开始取三个数001,接着取010,……,可以得到8个不同的二进制数。设n<8。

图4

[问题分析]

(1)若要产生n位二进制数,则有2n-1个0和2n-1个1,由这些0,1组成n位的二进制数,所以用数组记录2n-1个0和2n-1个1的排列方法。

(2)若要产生3位二进制数,即n=3时,则有:a[1]=0,a[2]=0,……,

a[8]=1,表示为:

a1a2a3=0,a2a3a4=1,a3a4a5=2,……,a7a8a1=6,a8a1a2=4

所以数组多定义2位。为此,一般情况多定义n-1位。

(3)所产生的不同二进制数的判断方法:将产生的二进制转换成十进制数,其范围是0 ~ 2n–1的整数,判断所产生的二进制数是否在此范围内。

(4)从后向前产生数据t。t= a i-1 * 2n-1+ t/2 ,若t在s中则可以接受,否则不可以接受,应另换一个值。

(5)本题输入的n小于8,这样可以用集合判断是否出现过某个数;否则要换成数组判断。

[参考程序]

program ex4(input,output);

const maxn=16;m=127;

type ts=set of 0..m;

var n: 1..maxn;

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

s: ts;

p,y,i:integer;

function bbb(k,t:integer):boolean;

var b:boolean;

begin

if k=0 then bbb:=true {k 表示位数}

else begin

t:=t div 2; {产生一个数}

if t in s then begin

s:=s - [t]; {从集合s中除去t}

a[k]:=0; {n个 0}

b:=bbb(k-1,t);

if not b then s:=s+[t]; {添加到集合中} end

else b:=false;

if not b then begin

t:=t + p div 2; {产生下一个数}

if t in s then begin

s:=s -[t];

a[k]:=1; {n 个1} b:=bbb(k-1,t);

if not b then s:=s + [t] end

else b:=false;

end;

bbb:=b;

end;

end;

begin {主程序}

readln(n);

p:=1;

for i:=1 to n do p:=p*2; {计算2n}

for i:=1 to p+n-1 do a[i]:=0; {数组a 初始化}

s:=[1..p-1];

if bbb(p-1,0) then

for i:=1 to p do write(a[i]:2) {输出每一位}

else write('no solution !');

writeln;

end.

[程序样例]

输入:4

输出: 0 0 0 1 1 1 1 0 1 0 1 1 0 0 1 0

例3、求B P mod K 的值。其中B,P,K为自然数,B,P和K×K为长整形数。

[问题分析]

如果将B,P的范围缩小,这道题不难,难就难在它的数据大,所以要另想巧妙的办法。

先介绍一个原理:A×B mod K=(A mod K)×(B mod K) mod K 显然,有了这个原理,就可以把较大的幂分解成较小的,因而免去高精度计算等负责过程。那么怎样分解最有效?显然对任何一个自然数P,有P=2×P div 2+P mod 2,如P=19,有19=2×9+1,利用上述原理就可以把求B的19次方除以K的余数转化为求B的9次方除以K的余数,即B19=B2×9+1=B×B9×B9,再进一步分解下去,就不难求得整个问题的解。如P=19,有19=2×9+1,9=2×4+1,4=2×2+0,2=2×1+0,1=2×0+1,反过来,我们可以从0出发,通过乘以2再加上一个0或1而推出1,2,4,9,19,这样就逐步得出了原来的指数,进而递推出以B为底,依次以这些数为指数的自然数除以K的余数。不难看出这里每一次乘以2后腰加的数就是19对应的二进制数的各位数字,即1,0,0,1,1,而19=(10011)2,求解的过程也就是将二进制数还原成十进制数的过程。

[算法设计]

程序中用数组binary存放P对应的二进制数,总位数为len,binary[1]存放最低位。变量rest记录每一步求得的余数。

[参考程序]

program mod(input,output);

var b,p,k,i,len,rest,temp:longint;

binary:array[1..32] of longint;

begin

assign(input,’mod.in’);

assign(output,’mod.out’);

reset(input);rewrite(output);

readln(b,p,k); {输入三个数}

len:=0;

temp:=p;

while temp<>0 do {存放p的二进制转换}

begin

len:=len+1;

binary[len]:=temp mod 2;

temp:=temp div 2

end;

rest:=1;

for i:=len downto 1 do {用二分法实现b^p mod k}

begin

temp:=rest*rest mod k;

if binary[i]=1 then rest:=b mod k * temp mod k {如果是奇数,就多乘b}

else rest:=temp {否则就是rest*rest}

end;

writeln(b,'^',p,' mod ',k,' = ',rest); {输出b^p mod k}

close(input);close(output)

end.

例4、乘数与全排列

所谓阶乘数是指其最低位的基为1,即逢一进一,每高一位则基加一,即进位依次为二、三…,n位阶乘数共有n!个。如三位阶乘数从小到大依次为:000,010,100,110,200,210。

设n元集合S={a 0 , a1 , a2, … a n-1},则S的全排列与n位阶乘数一一对应。对应方式为:从n个元素中选取第一个元素有n种方法,被选取的元素的下标值为0到n-1之间的一个整数,将这个数作为n位阶乘数的最高位,将剩下的元素按下标从0到n-2重新编号,重新编号时不改变它们的相对次序,则选取第二个元素有n-1种方法,被选取的元素的下标值为0到n-2之间的一个整数,将这个数作为n位阶乘数的次高位,…,选取最后一个元素只有1种方法,被选取的元素的下标值为0,将这个数作为n位阶乘数的最低位,这样任何一种排列必可对应一个n位阶乘数,显然这种对应关系是一一对应的。

问题:请用阶乘数法生成1到n的全排列。

[算法设计]

首先用最低位加一的方法依次产生所有的n位阶乘数,对任意一个 n位阶乘数

用上述方法求出其对应的排列。

[参考程序]

program ex5(input,output);

const maxn=9;

type arraytype=array[0..maxn] of integer;

var i,j,n:integer;

a,b,p:arraytype;

begin

write('Input n:');

readln(n);

for i:=0 to n-1 do b[i]:=0;

while b[n]=0 do

begin

for i:=0 to n-1 do a[i]:=i+1;

for i:=n-1 downto 0 do

begin

p[i]:=a[b[i]];

for j:=b[i] to i-1 do a[j]:=a[j+1]

end;

for i:=n-1 downto 0 do write(p[i],' ');

write(' ':20-2*n);

b[0]:=b[0]+1;

i:=0;

while b[i]>i do

begin

b[i]:=0;

b[i+1]:=b[i+1]+1;

i:=i+1

end

end;

writeln

end.

[程序样例]

输入:4

输出:

1 2 3 4 1 2 4 3 1 3 2 4 1 3 4 2

1 4

2

3 1

4 3 2 2 1 3 4 2 1 4 3

2 3 1 4 2 3 4 1 2 4 1 3 2 4 3 1

3 1 2

4 3 1 4 2 3 2 1 4 3 2 4 1

3 4 1 2 3 4 2 1 4 1 2 3 4 1 3 2

4 2 1 3 4 2 3 1 4 3 1 2 4 3 2 1

例5、已知x的值和系数a0,a1,……,a n,计算y=a n x n+a n-1x n-1+a n-2x n-2+……+a1x+a0的值。

[问题分析]

该问题看似很容易。其实随着n越大,计算量也越大,乘积和累加的次数也愈多,这里的n就是“问题的规模”。在此,我们想通过这个例子说明一些“算法复杂度”的问题,同时使大家认识到:一些看似简单的问题,其实是可以做很多优化的。

[算法设计]

算法1:

y=a[0];

for k:=1 to n do

begin

s:=a[k];

for j:=1 to k do s:=s*x

y:=y+s;

end;

writeln (‘y=’,y );

该运算中用到的存储单元有a[0],a[1],……,a[n],以及固定的几个简单变量,所以其空间复杂性与规模n成正比,即为O(n)。而时间复杂性是内循环乘法计算和外循环的累加计算,计算y共用乘法次数是:1+2+3+……+n=n(n+1)/2,加法仅n次,而在计算机内部实现乘法要比加法花费更多的时间,所以该算法的时间复杂性为O(n(n+1)/2)≈O(n*n/2)≈O(n^2)。

算法2:

算法1中的乘法运算有重复计算:x k不需要每次从1,x, x2,x3,……,x k乘法去实现,只要在原先x k-1基础上再做一次乘法就可以得到x k的结果,多用一个b数组存放1,x, x2,x3,……,x n,该问题的空间复杂性为O(2n)≈O(n)。

b[0]:=1;

for k:=1 to n do b[k]:= n[k-1]*x;

y:=a[0];

for k:=1 to n do y:=y+a[k]*b[k];

writeln(‘y=’,y);

此算法用了两次单循环命令,共用了2n次乘法和n次加法,时间复杂性为O

(2n)≈O(n)。

算法3:

利用我国古代数学家秦九邵提出的一个公式(秦九邵公式),将y 的计算公式改写为:

y=(…(((a n*x+a n-1)*x+a n-2) …+a1)*x+a0

a[0],a[1],……,a[n]存放系数,x为初始数据,则其程序为:

y:=a[n];

for k:=n-1 downto 0 do y:=y*x+a[k];

writeln(‘y=’,y);

该算法所用的存储空间为n个单元,即空间复杂性为O(n),而只用了n次乘法和n次加法,所以时间复杂性为O(n)。

由此,我们可以看到,在以上3个求多项式值的算法中,算法3可以获得最好效果。

例6、必胜策略。

输入n及n个整数n1,n2, …,nk表示有k堆火柴棒,第i堆火柴棒的根数为ni;接

着便是你和计算机对弈游戏,取的规则如下:每次可以从一堆中取走若干根火柴,也可以一堆全部取走,但不允许跨堆取,也不允许不取。

谁取走最后一根火柴为谁胜利。

例如:k=2,n1=2,A代表你,P代表计算机,若决定A先取:

A:(2,2)→(1,2)

P:(1,2)→(1,1)

A:(1,1)→(1,0)

P:(1,0)→(0,0)

如果决定A后取

P:(1,2,3)→(0,2,3)

A:(0,2,3)→(0,2,2)

A已将游戏归结为(2,2)的情况,不管P如何取A都必胜。

编一个程序,在给出初始状态之后,判断是先取必胜还是先取必败,如果是先取必胜,请输出第一次该如何取。

[问题分析]

从问题的描述分析,可以将问题中的n堆火柴棒抽象为n个非负整数,而每取一次火柴棒可抽象为使其中的一个自然数变小,当所有的数都变为0时,游戏结束,最后一次取火柴棒的人为胜方。为了解决这个问题,首先引进关于n个非负整数的奇偶状态的定义,如果把n个非负整数都化成二进制数,然后对n个二进制数安位相加(不进行进位),若每一位相加的结果都为偶数,则称这n个非负整数的状态为偶状态,否则称之为奇状态。可以证明:任何一个偶状态在某一个数变小后一定成为奇状态,而对任何一个奇状态,必定可以通过将某一个数的值变小,是的改变后的状态成为偶状态。前一种情况是显然的,因为一个数变小以后其对应的二进制数至少有一位发生改变,这一位的改变就破坏了原来的偶状态。后一种情况可以通过构造的方法来证明,首先对任何一个奇状态,从高位向低位寻找到第一位安位加之和为奇数的二进制位,设这一位为第k位,则n个数对应的二进制数中至少存在一个数,其第k位为1,将这个二进制数的第k位,则所有二进制数的第k位上的数字之和就变成了偶数。然后再对这个数的比k位低的所有位作如下调整:如果所有二进制数在该位安位加之和为偶数,则不改变该位的值,若原来的值为0,则改为1,若原来的值为1,则改为0,这样就构造出了一个偶状态,并且被改变的那个数一定变小了,因为这个数被改变的所有二进制位中的最高位从1变成了0。如n=3时,三堆火柴棒的数量分别为3,6,9,则3=(0011)2,6=(0110)2,9=(1001)2,最高位之和为1,其中9对应的二进制数的最高位为1,将其变为0,次高位之和也是1,9对应的二进制数的次高位为0,根据证明过程将其变为1,最后二位数字之和均为偶数,无需作任何改变,这样9=(1001)2被变成了(0101)2=5,显然,3=(0011)2,6=(0110)2,5=(0101)2是一个偶状态。

[算法设计]

有了前面的分析,算法就十分简单了。程序中用n个包含16个元素的数组(线性表)来存放对每个非负整数对应的二进制数,如b[i,0]存放第i个数的最低位,n 个数的状态取决于它们对应的二进制数的各位数字之和的奇偶性,而各位数字之和的奇偶性只需用0和1来表示,0表示偶,1表示奇。最后的状态(全0)为偶状态,所以开始状态为偶状态时,先取必败,因为先取后局面变成了奇状态,后取方一定可将它取成偶状态,直至取光为止。反之则先取必胜。

[参考程序]

program ex6(input,output);

const maxn=100;

var i,j,k,n,s:integer;

heap:array[1..maxn] of integer;

b:array[1..maxn,0..15] of integer;

sum,temp:array[0..15] of integer;

begin

read(n);

for i:=1 to n do read(heap[i]);

for i:=0 to 15 do sum[i]:=0;

for i:=1 to n do

for j:=0 to 15 do b[i,j]:=0;

for i:=1 to n do

begin

k:=heap[i];

j:=0;

while k<>0 do begin

b[i,j]:=k mod 2;

k:=k div 2;

j:=j+1;

end;

end;

for i:=1 to n do

for j:=0 to 15 do sum[j]:=sum[j]+b[i,j];

for j:=0 to 15 do sum[j]:=sum[j] mod 2;

s:=0;

for j:=0 to 15 do s:=s+sum[j];

if s=0 then writeln(‘you will lose when you take first!’)

else begin

j:=15;

while sum[j]=0 do j:=j-1;

i:=1;

while b[i,j]=0 do i:=i+1;

for j:=0 to 15 do temp[j]:=(b[I,j]+sum[j]) mod 2;

k:=0;

for j:=15 downto 0 do k:=k*2+temp[j];

k:=heap[i]-k;

heap[i]:=heap[i]-k;

write(‘you will win when you take’,k);

writeln(‘stick from heap’,i,’!’);

writeln(‘the state after first take is:’);

for i:=1 to n do write(heap[i]:8);

writeln;

end

end.

六、作业(只要交源程序)

1、N进制乘法口诀表(table.pas,table.in,table.out)

从table.in中读入一个自然数N(2≤N≤16),打印出N进制乘法口诀表,输出到table.out中。

请注意格式(大写字母、右对齐,除了最左列外,每个数据项占4列),以下是N=16时的结果:

* 0 1 2 3 4 5 6 7 8 9 A B C D E F

0 0

1 0 1

2 0 2 4

3 0 3 6 9

4 0 4 8 C 10

5 0 5 A F 14 19

6 0 6 C 12 18 1E 24

7 0 7 E 15 1C 23 2A 31

8 0 8 10 18 20 28 30 38 40

9 0 9 12 1B 24 2D 36 3F 48 51

A 0 A 14 1E 28 32 3C 46 50 5A 64

B 0 B 16 21 2

C 37 42 4

D 58 63 6

E 79

C 0 C 18 24 30 3C 48 54 60 6C 78 84 90

D 0 D 1A 27 34 41 4

E 5B 68 75 82 8

F 9C A9

E 0 E 1C 2A 38 46 54 62 70 7E 8C 9A A8 B6 C4

F 0 F 1E 2D 3C 4B 5A 69 78 87 96 A5 B4 C3 D2 E1

2、二进制数(binary.pas,binary.in,binary.out)

Kendy是一个疯狂的程序员,当他在表示数字的时候,会根据心情实用不同的进制来表示数字,比如他高兴的时候会使用二进制,伤心的时候会使用四进制。随着时间的流逝,Kendy也觉得这种随心所欲的表示方法太过疯狂,常常使自己都反应不过来,于是Kendy决心将所有的数字都转化成统一的二进制来表示。但是由于需要转换的数字太多了,因此,Kendy想请你帮忙帮他把所有的数字都转成二进制的形式。

输入格式:

输入文件binary.in共2行,第1行一个整数R(<=10);第2行一个R进制数(其值小于231)。

输出格式:

输出文件binary.out仅1行,表示转换后的二进制数。

样例输入:

7

203

样例输出:

1100101

3、进制转换(exchange.pas,exchange.in,exchange.out)

我们可以用这样的方式来表示一个十进制数:将每个阿拉伯数字乘以一个以该数字所处位置的(值减1)为指数,以10为底数的幂之和的形式。例如:123可表示为1*102+2*101+3*100这样的形式。

与之相似的,对二进制数来说,也可表示成每个二进制数码乘以一个以该数字所处位置的(值-1)为指数,以2为底数的幂之和的形式。一般说来,任何一个

正整数R或一个负整数-R都可以被选来作为一个数制系统的基数。如果是以R或-R为基数,则需要用到的数码为0,1,....R-1。例如,当R=7时,所需用到的数码是0,1,2,3,4,5和6,这与其是R或-R无关。如果作为基数的数绝对值超过10,则为了表示这些数码,通常使用英文字母来表示那些大于9的数码。例如对16进制数来说,用A表示10,用B表示11,用C表示12,用D表示13,用E表示14,用F表示15。

在负进制数中是用-R作为基数,例如-15(十进制)相当于110001(-2进制),并且它可以被表示为2的幂级数的和数:

110001=1*(-2)5+1*(-2)4+0*(-2)3+0*(-2)2+0*(-2)1+1*(-2)0

要求:设计一个程序,读入一个十进制数和一个负进制数的基数, 并将此十进制数转换为此负进制下的数:-R∈{-2,-3,-4,...,-20}

输入格式:

输入的每行有两个输入数据。

第一个是十进制数N(-32768<=N<=32767);第二个是负进制数的基数-R。

输出格式:

结果显示在屏幕上,相对于输入,应输出此负进制数及其基数,若此基数超过10,则参照16进制的方式处理。

样例输入:

30000-2

-20000-2

28800-16

-25000-16

样例输出:

30000=11011010101110000(base-2)

-20000=1111011000100000(base-2)

28000=19180(base-16)

-25000=7FB8(base-16)

4、计算阶层(fac.pas,fac.in,fac.out)

对给定的N(2<=N<=15)和M(2<=M<=16),以M进制形式计算并输出N!的全部有效数字。

因N!的值通常超出整型数的最大值,故程序应采用一维数组存储计算结果。数组A每一个元素存放N!的M进制表示形式的一位数值。例如:当N=9,M=10时,则9!=362880(10)

其存储形式为:

下标 1 2 3 4 5 6 7 8 …

值 0 8 8 2 6 3 0 0 …

当N=3,M=4时,则3!=12(4)

其存储形式为:

下标 1 2 3 4 5 …

值 2 1 0 0 0 …

输入格式:

仅一行,分别为N和M。

输出格式:

一行,为值,每两个数字之间有一个空格,行末无多余空格。

样例输入:

9 10

样例输出:

0 8 8 2 6 3

附加题:波浪数(num.pas,num.in,num.out)

波浪数是在一对数字之间交替转换的数,如1212121,双重波浪数则是指在两种进制下都是波浪数的数,如十进制数191919是一个十进制下的波浪数,它对应的十一进制数121212也是一个波浪数,所以十进制数191919是一个双重波浪数。

类似的可以定义三重波浪数,三重波浪数在三种不同的进制中都是波浪数,甚至还有四重波浪数,如十进制300=606(七进制)=363(九进制)=454(八进制)=1A1(十三进制)。你的任务就是在指定范围内找出双重、三重、四重波浪数。

输入格式:

输入文件num.in中仅包含一行,包含五个用空格隔开的十进制整数,前两个数表示进制的范围(2~32),第三与第四个数表示指定的范围(1~1000000),第五个数为2,3,4中的一个,表示要找的波浪数的重数。

输出格式:

输出文件num.out包括若干行,每行一个数,从小到大,以十进制形式输出指定范围内的指定重数的波浪数。

样例输入:

10 11 190000 960000 2

样例输出:

191919

383838

575757

767676

959595

作业说明:

1、请在3月 31日之前提交作业,否则按“未交”处理;

2、提交作业时,要把自己的两个源程序放在一个文件夹里(文件夹的名字为“Level_City_UserName”),压缩成一个压缩文件后通过JSOI网站上的“上传作业”提交。如苏州的张三同学(注意张三的用户名为zhangsan,就是登陆网站的名字),提交的压缩文件应该是:b_su_zhangsan.rar,解压后得到的文件夹应该是“b_su_zhangsan”,里面有table.pas、binary.pas、exchange.pas、fac.pas和num.pas五个文件。

施工进度计划表及进度保证措施

、施工进度计划表及进度保证措施 1、施工进度计划表 附表 2、进度保证措施 工期进度控制保证措施 施工项目进度控制是指在既定的工期内,编制出最优的施工进度计划,在执行进度计划的施工中,经常检查施工实际进度情况,并将其与计划进度相比较,若出现偏差,便分析产生的原因及对工期的影响程度,找出必要的调整措施,修改原计划,不断地如此循环,直至工程竣工验收。 1.施工项目进度控制方法 施工项目进度控制方法主要是规划、控制和协调。规划是指确定施工项目总进度控制目标和分进度控制目标,并编制其进度计划。控制是指在施工项目实施的全过程中,进行施工实际进度与施工计划进度的比较,出现偏差及时采取措施调整。协调是指协调与施工进度有关的单位、部门和工作队组之间的进度关系。 2.施工项目进度控制措施 施工项目进度控制采取的主要措施有组织措施、技术措施、合同措施、经济措施和信息措施等。 (l)组织措施 建立由项目经理任组长、主任工程师为主要成员的工期保证管理小组,小组

成员主要完成以下任务: l)检查各层次的计划,形成严密的计划保证系统,首先检查是否协调一致,计划目标是否层层分解,互相衔接,组成一个计划实际的保证体系,以施工任务书的方式下达施工队,以保证实施。 2)计划全面交底,发动群众实施计划。施工进度计划是全体工作人员的共同的行动目标,要使有关人员都明确各项计划的目标、任务、实施方案和措施,使管理层和作业层协调一致,将计划变成群众的自觉行动,充分发动群众,发挥群众的干劲和创造精神。 3)在施工开始前和过程中,将规定的任务结合现场施工条件和施工的实际进度,不断的编制本月(周)作业计划,在计划中要明确本月(周)应完成的任务,所需要的各种资源量,提高劳动生产率和解决措施。 4)编制好月(周)作业计划后,将每项具体任务通过签发施工任务书的方式使其进一步落实,施工任务书是向施工队下达任务实行责任承包、全面管理和记录的综合性文件。施工队必须保证指令任务的完成。 5)做好施工中的调度工作,主要内容有:监督作业计划的实施,调整,协调各方面的进度关系,监督检查碰上准备工作,督促资源供应单位按计划供应劳动力、施工机具、运输车辆、材料、设备筹,并对临时出现问题采取调配措施,按施工平面图管理施工现场,结合实际情况进行必要调整,保证文明施工,了解气候、水、电、汽的情况,采取相应的防范和保证措施,及时发现和处理施工中各种事故和意外事件,调节各薄弱环节,定期召开现场调度会议,贯彻施工项目主管人员的决策,发布调度命令。

工程项目进度计划表

工程施工进度计划表 工程名称: 备注: 单位工程施工进度计划表 工程名称: 工程负责:审核:制表: 单位工程施工进度计划表 工程名称: 工程负责:审核:制表:篇二:工程施工进度计划表 曲塘水利管理服务站水政综合楼工程施工进度计划表 曲塘水利管理服务站水政综合楼工程施工进度计划表篇三:施工进度计划书 施工工期及进度安排 第一节工期安排 外墙面贴砖,楼梯踏步找平,厕所沉箱找平三个工序计划工期为:从2014年5月21日算起,2014年6月24日完成(若甲方原因或不可抗力因素使工程停工,竣工时间将按照实际情况向后延迟),总工期34日,满足合同文件要求。本栋管理人员将会加大人员,加强后勤保障工作,保证在规定的工期内完成本标段的所有施工任务,现对各主要分项(节点)工程施工进度计划分述如下,详见《施工进度计划横道图》。 第二节施工阶段划分与安排 根据本工程所在的施工环境、施工内容、施工工期等方面的综合考虑,现将工程划分为三个施工阶段,具体如下: 第一施工阶段 完成三号楼19层以下外墙面贴砖工程 2、第二施工阶段 完成三号楼24层以下厕所沉箱找平工程 3、第三施工阶段 完成三号楼33以下楼梯踏步找平工程 第三节工期保证体系 工期保证体系框图见下图。 工期保证体系框图 第四节工期进度保证措施 根据合同的要求,结合工程的特点和本楼层的人员情况,施工中将采取以下措施确保总进度计划的实施。 一、从组织管理上保证工期 1、本工程实行项目法施工,为便于管理和组织施工,满足施工需要,项目部下辖三个工区。我将组织精干的人员投入到本工程项目之中,成立由主管生产副经理领导的,由有栋号长担任生产指挥调度员,加强施工现场的协调和指导,以各施工队为生产实施对象,形成一个从上而下的主管施工进度的组织体系。 2、建立以项目为核心的责权制体系,定岗、定人、授权,各负其责。 3、各施工队应坚持每天一次的生产布置会,做到当天的问题不留到下一天,并让每个生产者清楚明天的工作,及时安排布置,不耽误每一天。 4、生产调度室每周定期召开一次由各施工队负责人参加的生产调度会,及时协调各队伍之间的生产关系,物资和人力,及时解决施工生产中出现的问题,并积极参与协调好工程施工外部的关系。

周施工进度计划表

周施工进度计划表 TPMK standardization office【 TPMK5AB- TPMK08- TPMK2C- TPMK18】

编号:_____________ 木工班组承包协议 发包方:________________________________________________ 承包方:___________________________ 签订日期:_______年______月______日 发包方(全称)(以下简称:甲方) 承包方(全称)(以下简称:乙方) 第一条:工程概况 工程名称: 结构类型: 建筑面积:平米(结算时以图纸变更后的实际面积为准) 第二条:劳务承包内容 1、承包内容:一至三层的石膏板吊顶及其它零星项目。 第三条:承包要求 1、工期要求:根据甲方施工任务单要求,乙方承包的部分(分项)工程于年月日开工,年月日交工,由乙方自身原因造成工期延误,甲方不予工期顺延,且乙方承担一切由此而造成的损失。

2、质量要求:乙方承包的分部(项)工程,其质量管理按国家规定质量验评标准评定,必须达到合格等级,必须遵守甲方的技术质量管理制度。否则,不仅不结算劳务,而且要承担材料损失费,机械、用具租赁费用。 3、安全要求:乙方在整个施工过程中一定要注意安全生产,并承担一切安全责任,所有进场施工人员必须经甲方同意并提交身份证复印件后方可进场施工。 第四条:验收与保修 工程验收 1、乙方必须按照施工验收规范和施工图纸施工,在施工中发现设计有误,须立即通知甲方,取得甲方同意后方可施工,因乙方原因造成返工和返修的,发生的费用(材料费、人工费、机械租赁费)由乙方承担。 2、隐蔽工程具备隐蔽条件的,由乙方提前通知甲方进行隐蔽工程验收,验收合格后,乙方方可进行下道工序施工,验收不合格的乙方须在甲方规定的时间内整改完毕,重新验收。 工程保修:按国家建设工程质量保修制度和保修期限保修。 第五条:文明施工 1、在施工现场要求乙方所用的工具、材料应堆放整齐,在施工过程中或搬运工具、材料时应注意成品保护不能碰损其他器物。若达不到要求,工地负责人有权给予处罚。 2、在施工过程中对其他工种的成品损坏,应无条件的给予赔赏,并进行处罚。 本合同经双方法定或委托代理人签字(盖章)后生效,在完成承包工作内容,结清工程价款后终止。本合同一式两份,甲乙双方各执一份。

施工周进度计划表

施工周进度计划表 工程名称:裕隆苑小区施工计划时间:2012年4月19日——2012年4月25日建设单位:潍坊龙德晟置业有限公司施工单位:潍坊昌大建设集团二分公司 月度主要施工计划:4#、9#、11#主楼清槽清完,坡道硬化,塔吊基础浇筑完成 上 周 施 工 计 划 完 成 情 况 4#、9#、11#楼主楼清槽完成,塔吊基础浇筑完成 本周施工计划8#、10#楼主楼清槽清完 4#、9#楼垫层打完 10#楼南侧、11#楼东侧车库底槽清完 需 甲 方 协 调 事 项 集水坑降水、地基验槽 昌大建设集团二分公司 2012年4 月18 日

工程名称:裕隆苑小区施工计划时间:2012年4月26日——2012年5月1日建设单位:潍坊龙德晟置业有限公司施工单位:潍坊昌大建设集团二分公司 月度主要施工计划:车库垫层打完 上周施工计划完成情况8#、10#楼主楼清槽完成, 4#、9#楼垫层打完,并完成8#、10#、11#垫层 10#楼南侧、11#楼东侧车库土已倒完,因下雨未清完槽 本 周 施 工计 划4#、10#楼南侧车库垫层完成, 4#、8#、9#、10#、11#楼砖模、抹灰完成 需 甲 方 协 调 事 项 昌大建设集团二分公司 2012年4 月25 日

工程名称:裕隆苑小区施工计划时间:2012年5月2日——2012年5月9日建设单位:潍坊龙德晟置业有限公司施工单位:潍坊昌大建设集团二分公司 月度主要施工计划:车库垫层打完 上周施工计划完成情况4#、10#楼南侧车库垫层完成 4#、8#、9#、11#楼砖模、抹灰完成 10#楼因地下水,集水坑部分砖模未完成 本周施工计划4#、10#楼钢筋进场 4#、8#防水做完 车库土全拉完,垫层全部完成 需 甲 方 协 调 事 项 昌大建设集团二分公司 2012年5 月2日

施工周进度计划表

施工周进度计划表

施工周进度计划表 工程名称:裕隆苑小区 施工计划时间:2012年4月19日——2012年4月25日 建设单位:潍坊龙德晟置业有限公司 施工单位:潍坊昌大建设集团二分公司 月度主要施工计划:4#、9#、11#主楼清槽清完,坡道硬化,塔吊基础浇筑完成 上周施 工计 划完成情况 4#、9#、11#楼主楼清槽完成,塔吊基础浇筑完成 本 周施工计划 8#、10#楼主楼清槽清完 4#、9#楼垫层打完 10#楼南侧、11#楼东侧车库底槽清完

需甲方协调事项 集水坑降水、地基验槽 昌大建设集 团二分公司 2012年 4 月18 日 施工周进度计划表 工程名称:裕隆苑小区 施工计划时间:2012年4月26日——2012年5月1日 建设单位:潍坊龙德晟置业有限公司 施工单位:潍坊昌大建设集团二分公司 月度主要施工计划:车库垫层打完 上周施工计 划完成情况 8#、10#楼主楼清槽完成, 4#、9#楼垫层打完,并完成8#、10#、11#垫层 10#楼南侧、11#楼东侧车库土已倒完,因下雨未清完槽

本周施工计划4#、10#楼南侧车库垫层完成, 4#、8#、9#、10#、11#楼砖模、抹灰完成 需 甲 方 协 调 事 项 昌大建设集团二分公司 2012年4 月25 日 施工周进度计划表 工程名称:裕隆苑小区施工计划时间:2012年5月2日——2012年5月9日

建设单位:潍坊龙德晟置业有限公司 施工单位:潍坊昌大建设集团二分公司 月度主要施工计划:车库垫层打完 上周施 工计划完成情况 4#、10#楼南侧车库垫层完成 4#、8#、9#、11#楼砖模、抹灰完成 10#楼因地下水,集水坑部分砖模未完成 本 周施工计划 4#、10#楼钢筋进场 4#、8#防水做完 车库土全拉完,垫层全部完成 需甲方协 调事项 昌大建设集 团二分公司

周施工进度计划表定稿版

周施工进度计划表 HUA system office room 【HUA16H-TTMS2A-HUAS8Q8-HUAH1688】

编号:_____________ 木工班组承包协议 发包方:________________________________________________ 承包方:___________________________ 签订日期:_______年______月______日 发包方(全称)(以下简称:甲方) 承包方(全称)(以下简称:乙方) 第一条:工程概况 工程名称: 结构类型: 建筑面积:平米(结算时以图纸变更后的实际面积为准) 第二条:劳务承包内容 1、承包内容:一至三层的石膏板吊顶及其它零星项目。 第三条:承包要求

1、工期要求:根据甲方施工任务单要求,乙方承包的部分(分项)工程于年月日开工,年月日交工,由乙方自身原因造成工期延误,甲方不予工期顺延,且乙方承担一切由此而造成的损失。 2、质量要求:乙方承包的分部(项)工程,其质量管理按国家规定质量验评标准评定,必须达到合格等级,必须遵守甲方的技术质量管理制度。否则,不仅不结算劳务,而且要承担材料损失费,机械、用具租赁费用。 3、安全要求:乙方在整个施工过程中一定要注意安全生产,并承担一切安全责任,所有进场施工人员必须经甲方同意并提交身份证复印件后方可进场施工。 第四条:验收与保修 工程验收 1、乙方必须按照施工验收规范和施工图纸施工,在施工中发现设计有误,须立即通知甲方,取得甲方同意后方可施工,因乙方原因造成返工和返修的,发生的费用(材料费、人工费、机械租赁费)由乙方承担。 2、隐蔽工程具备隐蔽条件的,由乙方提前通知甲方进行隐蔽工程验收,验收合格后,乙方方可进行下道工序施工,验收不合格的乙方须在甲方规定的时间内整改完毕,重新验收。 工程保修:按国家建设工程质量保修制度和保修期限保修。 第五条:文明施工

工程进度计划周报表

工程进度计划周报表 致:宜昌市城市建设投资开发有限公司 湖北清江工程管理咨询有限公司 项目名称:平湖半岛沙河村拆迁安置房C区1#、2#楼及基坑支护工程 承包商:中基建设有限公司 一、本周施工完成计划情况 日期:2014年3月15日~2014年3月22日 序号内容计划完成情况备注 1 1#楼二层梁板浇筑完成未完成推迟一天 2 2#楼1单元二层内架、楼梯模板完成 已完成 60% 3 2#楼东单元二层内架搭设完成已完成 4 外脚手架完成80%已完成 5 文明施工、现场清理、建设90% 未完成 二、下周施工计划情况 日期:2014年3月22日~2014年3月29日 序号内容计划完成情况备注 1#楼二层顶梁板浇筑完成完成 1 2 1#楼三层柱、钢筋绑扎、内架搭设 完成 完成 3 2#楼西单元柱、梁、钢筋绑扎、 完成 模板搭设完成 4 2#楼东单元梁、钢筋绑扎、模板搭设 完成 完成 5 文明施工完成90% 完成

完成 6 外脚手架跟进施工 完成 7 场内清理、整理完成90% 三、本周计划投入作业人员及设备 序号工种出勤人数工种出勤人数 1 瓦工5人砼工5人 2 钢筋工25人电工3人 3 杂工5人架子工7人 4 木工64人 四、现场安全文明施工: 1、对现场道路进行清扫,将模板等材料分堆安放。 4、无安全事故发生。 5、对电线绝缘全面检查,对有问题电源开关、配电箱进行更换 6、对进场工人进行安全教育 五、安全施工方面: 1、电路电机方面,电工班组对接零,防触电、漏电、开关、闸刀进行检查, 对有问题设备进行更换。 六、质量方面 1、严格控制模板标高。 2、模板支撑系统检查,对薄弱部位进行补充支撑。 3、对已拆模构件进行检查,尺寸偏差有问题部位要求班组查看并总结原因。 中基建设有限公司 2014年3月21日

施工单位周进度计划表样板

施工周进度计划表 工程名称重庆恒大金碧天下大二期工程施工单位重庆建工第三建设有限责任公司 上周完成内容: 1.81、82、96#楼正负零层介入施工。 2.100#楼外墙底漆完成。 3.101#楼砌体、屋面保温完成。 4.110#楼正负零层介入施工。 5.111#楼主体封顶。 6.100#楼砌体完成完成。 7.112、113#楼外墙腻子完成。 8.127、145#楼主体封顶。 9.151#楼砌体完成10%. 10.1154#楼一层结构完成。 11.155、156、157#楼外墙腻子完成。 12.160、161、162楼砌体完成20%。 13.181#楼8层结构完成。 14.182#楼9层结构完成。 15.183#楼12层结构完成,2、3层砌体完成 30%。 16.184#楼13层结构完成。 17.水电安装同步。下周计划完成内容: 1.63-65、79、80、94、95、126、143#楼正负零 层介入施工。 2.81、82、96、110#楼正负零层完成30%。 3.133#楼三层结构完成50%。 4.144#楼三层结构完成。 5.153#楼一层、154#楼二层结构完成50%。 6.101#楼贴瓦完成。 7.111#楼屋面保温完成50%,砌体介入施工。 8.112-116、155-157#楼外墙底漆完成50%。 9.127-132#楼砌体介入施工。 10.145-151#楼砌体介入施工。 11.158#、159#楼外墙腻子完成。 12.160-162#楼砌体完成50%。 13.181#楼10层结构完成。 14.182#楼11层结构完成。 15.183#楼14层结构完成,2、3层砌体完成,4、 5层砌体完成10%,11层砌体准备工作完成。 16.184#楼15层结构完成。 17.水电安装同步。 实际劳动力情况: 钢筋工:50人;砼工:30人; 平工:30人;外架工:28人; 抺灰工:15人;木工:100人; 砖工:60人;水电工:40人;涂料工10人;塔吊操作工,指挥工26人;维护电工4人。劳动力安排情况: 钢筋工:60人;砼工:40人; 平工:35人;外架工:30人; 抺灰工:30人;木工:150人; 砖工:80人;涂料工15人;水电工:70人;塔吊操作工,指挥工26人;维护电工4人。 安全文明及质量情况: 1、现场安全工作一切正常,对班组进行了入场三级教育,加强高边坡基础开挖的安全管理,防范于未然。 2、加强材料管理、材料入场报验,材料堆码整齐。 3、加强设备管理,进行日常安全检查及维护。 材料、机械设备情况: 1、各材料进场及时,外观尺寸、见证取样,复检均为合格。 2、2#、3#、4#、5#、6#、7#、21#、22#塔吊运行正常。 需协甲方及监理协调解决的问题: 1、塔吊基础台班签证未回复。 2、GRC正式施工图未下发。 3、恒大标准[2012]第02号正式版未下发。 4、高层施工升降机基础签证未返回。 5、钢筋马凳、管线加强筋方案未返回。 6、配合高层样板房销售的一系列工作委托程序何时下发。 7、高层图纸会审第二部分未返回。 填报单位(章)重庆建工第三建设有限责任公司第二十二工程项目部 时间2013年3月1日填报人冯永均

项目施工进度计划及保证措施管理手册

项目施工进度计划及保证措施管理手册

11.3.1施工进度安排 注:本总体进度计划表是按单项工程而编制的,施工阶段时限需根据甲方约定进度工期在提前10%时限完工。 11.3.1.1工程前期准备 施工现场的考察:了解施工现场及机房的特殊要求,考察沿线地理环境、土质情况,与高压电力线的交越,需要报建协调点,以及机房接地、接电施工等情况的考察。 设计图纸现场复核:依据设计图纸进行现场复核,复核的内容包括:安装位置、数量是否准确有效;保护接地的位置是否有冗余。 安排设备、仪表的存放地:落实施工现场的设备、材料存放地,是否需要防护(防潮、防水、防曝晒)配备必要的消防设备,仪器仪表的存放地要求安全可靠。 环境卫生的保障措施:了解现场的卫生环境,制定保洁及防尘措施,配备必要的设施。 做好冬雨期施工准备工作:包括施工人员的防护措施;施工设备运输及搬运的防护措施;施工机具、仪表安全使用措施。

11.3.1.2工程进度控制流程图

11.3.1.3文档编制及提交

11.3.1.4工程验收阶段 采取自验-初验-试运行-终验-保修等措施保障工程质量。 1、自验措施 每工段完工后,由随工人员对该工段的施工质量进行检查。工程竣工后由项目经理组织工程验收小组逐项自验,工程不合格处,出示整改方案,限期整改完成。 2、初验 (1)初验依据 设计文件。 批复的工程设计及概预算。 签订的施工及其它服务合同。 国家、工信部、地方、广东分公司的施工与验收规范、办法、细则。 国家、工信部、广东分公司有关工程建设财务、档案的管理办法。 (2)初验条件 工程的各项前期手续符合国家有关电信建设的法律、法规以及广东分公司的规章制度要求。 工程项目已按任务书要求、设计或技术方案完成所有工作内容。 施工过程中所有测试项目的结果满足设计指标和工程验收指标要求。 施工单位已完成工程物资标签的粘贴,完成竣工资料及资产资源的归档,甲供工程物资平衡表,以及工程结算文件。 委托监理的项目,应由监理公司组织预验,出具了合格的质量评定及同意初验意见。 建设单位的项目经理对施工单位提交的文档和资料进行了检查,相应签名、盖章的手续已经完成(其中开工报告、完工报告、工程量表必须签名盖章)。 提交完工报告(委托监理的项目须先由监理单位签署同意验收意见)并审核同意后,根据甲方投资规模确定验收时限,组织初验。 在工程初验前五个工作日将资源管理系统所需要的资产资源类表格提交甲方运维部门。 在工程初验前三个工作日将工程竣工固定资产接收明细表提交运维部门的资产管理部门。 (3)验收规范 系统性能指标测试以及安装工艺检查 工程硬件施工完毕后,由施工、督导、监理、运维、工程部门按照《中华人民共和国通

相关主题
文本预览
相关文档 最新文档