All pastes #974335 Raw Edit

Anonymous

public text v1 · immutable
·published 2008-04-06 18:57 UTC
rendered paste body
program laba7;

uses math;

type dopkod = record
	psign:integer;
	poryadok:string;
	msign:integer;
	mantisa:string;
	      end;

var A,B,C:longint;
    A2,B2,C2:dopkod;

procedure convert(X:longint;var X2:dopkod);
var i,i3,temp:longint;
    k,i2:real;
begin
   if X <> 0 then
   begin
	if X>1 then X2.psign:=0
	else X2.psign:=1;
	if X>0 then X2.msign:=0
	else X2.msign:=1;
	if X<0 then X:=abs(X);
	k:=Log2(X)+1;
	i:=0;
	X2.mantisa:='';
	X2.poryadok:='';
	while i <= k do
	begin
		i:=i+1;
		temp:=X mod 2;
		X:=X div 2;
		if temp=1 then X2.mantisa:='1'+X2.mantisa
		else X2.mantisa:='0'+X2.mantisa;
	end;
	X2.mantisa:=copy(X2.mantisa,2,i);
	i2:=Log2(length(X2.mantisa)-1);
	i3:=length(X2.mantisa)-1;
	while i2>=0 do
	begin
		i2:=i2-1;
		temp:=i3 mod 2;
		i3:=i3 div 2;
		if temp=1 then X2.poryadok:='1'+X2.poryadok
		else X2.poryadok:='0'+X2.poryadok;
	end;
   end
   else begin
	X2.mantisa:='0';
	X2.poryadok:='0';
	end;
end;

begin
	writeln('input A');
	read(A);
	writeln('input B');
	read(B);
	convert(A,A2);
	convert(B,B2);
	writeln('I step ');
	writeln('A     ',A2.psign,'  ',A2.poryadok,'  ',A2.msign,'  ',A2.mantisa);
	writeln('B     ',B2.psign,'  ',B2.poryadok,'  ',B2.msign,'  ',B2.mantisa);
	writeln;
	writeln('II step ');
	writeln('A     ',A2.psign,'  ',A2.poryadok,'  ',A2.msign,'  ',A2.mantisa);
	writeln('B     ',B2.psign,'  ',B2.poryadok,'  ',B2.msign,'  ',B2.mantisa);
	C:=A+B;
	convert(C,C2);
	writeln;
	writeln('III step ');
	writeln('A     ',A2.psign,'  ',A2.poryadok,'  ',A2.msign,'  ',A2.mantisa);
	writeln('B     ',B2.psign,'  ',B2.poryadok,'  ',B2.msign,'  ',B2.mantisa);
	writeln('C     ',C2.psign,'  ',C2.poryadok,'  ',C2.msign,'  ',C2.mantisa,'  C   ',C);
end.