У природы нет плохой погоды. (с)
К 22 числу надо написать три программы... Казалось бы мелочь... Ха! А у меня слезы...
1. Перевод чисел из 10-ой системы счисления в р-ичную (при том что р принадлежит [2;16]) и обратно.
2. Представление с одинарной точностью туда и обратно
3. Реализовать алгоритмы сложения и вычитания длинных чисел, т.е. чисел формата longint.
И еще надо будет объяснить каждую строчечку и буковку в программе!
Если кто-нить (косится на длинный список ПЧ из 7ми человек) знает паскаль настолько хорошо, чтобы решить хоть одну задачу полностью и полностью ее объяснить, то ПОМОГИТЕ ПОЖАЛУЙСТА!!!!
1. Перевод чисел из 10-ой системы счисления в р-ичную (при том что р принадлежит [2;16]) и обратно.
2. Представление с одинарной точностью туда и обратно
3. Реализовать алгоритмы сложения и вычитания длинных чисел, т.е. чисел формата longint.

И еще надо будет объяснить каждую строчечку и буковку в программе!
Если кто-нить (косится на длинный список ПЧ из 7ми человек) знает паскаль настолько хорошо, чтобы решить хоть одну задачу полностью и полностью ее объяснить, то ПОМОГИТЕ ПОЖАЛУЙСТА!!!!
Выкладываю пока. Посмотри, может что понравится
program stolbik;
type
st=string;
arr=array[1..255] of integer;
tom1=object
a,b:st;
procedure init(a1:st;var c:arr;var ss,i,s_:integer);
procedure dop(var zz,i:integer;ss,j,s_,z_:integer;var c,d:arr);
procedure sum(zz,i:integer;c,d:arr;var rr:st);
procedure raz(zz,i:integer;c,d:arr;var rr:st);
procedure vvod(var rr:st);
end;
var a1,rr:st;
stl,aa,bb:tom1;
c:arr;
ss,i,f,s:integer;
procedure tom1.init(a1:st;var c:arr;var ss,i,s_:integer);
var s,osh:integer;
h:st;
begin
s:=length(a1);
i:=0;
ss:=0;
s_:=s;
while s>=1 do
begin
h:=copy(a1,1,1);
s:=s-1;
i:=i+1;
a1:=copy(a1,2,s);
if h='.' then
begin
ss:=length(a1);
h:=copy(a1,1,1);
s:=s-1;
a1:=copy(a1,2,s);
end;
val(h,c[i],osh);
end;
s_:=s_-ss
end;
procedure tom1.dop(var zz,i:integer;ss,j,s_,z_:integer;var c,d:arr);
var i_,j_:integer;
begin
If s_<>z_ then begin
if s_<z_ then
begin
while s_<z_ do begin
i:=i+1;
for i_:=i downto 2 do C[i_]:=c[i_-1];
s_:=s_+1;
c[1]:=0
end
end
else
begin
while s_>z_ do begin
j:=j+1;
for j_:=j downto 2 do d[j_]:=d[j_-1];
z_:=z_+1;
d[1]:=0
end
end
end;
if ss<>zz then begin
if ss<zz then
begin
while ss<zz do begin
i:=i+1;
c[i]:=0;
ss:=ss+1
end
end
else
begin
while ss>zz do begin
j:=j+1;
d[j]:=0;
zz:=zz+1
end
end
end
end;
procedure tom1.sum(zz,i:integer;c,d:arr;var rr:st);
var v1,v2,r:st;
s:arr;
k,g1,osh,n,t:integer;
begin
k:=i;
g1:=0;
t:=1;
while k>=1 do
begin
n:=(c[k]+d[k]+g1);
str(n,v1);
if length(v1)=1 then v1:='0'+v1;
v2:=copy(v1,2,1);
v1:=copy(v1,1,1);
val(v1,g1,osh);
val(v2,s[t],osh);
t:=t+1;
k:=k-1
end;
s[t]:=g1;
rr:=' ';
for k:=1 to t do begin
str(s[k],r);
rr:=r+rr
end;
insert('.',rr,(t-zz+1));
while (copy(rr,1,1)='0') and (copy(rr,2,1)<>'.') do delete(rr,1,1)
end;
procedure tom1.raz(zz,i:integer;c,d:arr;var rr:st);
var k,t:integer;
s:arr;
r:st;
begin
k:=i;
t:=1;
while k>=1 do
begin
if c[k]<d[k] then begin c[k]:=10+c[k]; c[k-1]:=c[k-1]-1 end;
s[t]:=(c[k]-d[k]);
t:=t+1;
k:=k-1
end;
rr:=' ';
for f:=1 to t-1 do begin
str(s[f],r);
rr:=r+rr
end;
insert('.',rr,(t-zz));
while (copy(rr,1,1)='0') and (copy(rr,2,1)<>'.') do delete(rr,1,1);
end;
procedure tom1.vvod(var rr:st);
var b0,b1,b2,w:boolean;
x,y,p:st;
s,m1,m:real;
zz,ss,i,j,s_,z_,osh:integer;
c,d:arr;
begin
b0:=false;b1:=false;b2:=false;
readln(x);
{x:='123.66363453643646';}
val(x,s,osh);
if s<0 then begin b1:=true;delete(x,1,1) end;
readln(p);if p='+' then b0:=true;
readln(y);
{y:='53.1168413544165456686165454545';}
{if ((i+j)/2)>=20 then write ('error');}
val(y,s,osh);
if s<0 then begin b2:=true;delete(y,1,1) end;
w:=false;
val(x,m,osh);
val(y,m1,osh);
if m1>m then begin
p:=y;
y:=x;
w:=true;
x:=p
end;
tom1.init(x,c,ss,i,s_);
tom1.init(y,d,zz,j,z_);
tom1.dop(zz,i,ss,j,s_,z_,c,d);
if (b0 and b1 and b2) or ((not b0) and b1 and (not b2))
then begin
tom1.sum(zz,i,c,d,rr);
rr:='-'+rr
end;
if (b0 and b1 and (not b2)) or ((not b0) and b1 and b2)
then begin
tom1.raz(zz,i,c,d,rr);
if not w then rr:='-'+rr
end;
if (b0 and (not b1) and b2) or ((not b0) and (not b1) and (not b2))
then begin
tom1.raz(zz,i,c,d,rr);
if w then rr:='-'+rr
end;
if (b0 and (not b1) and (not b2)) or ((not b0) and (not b1) and b2)
then tom1.sum(zz,i,c,d,rr);
end;
begin
stl.vvod(rr);
write(rr);
readln
end.
так... а теперь пиши все эти системы. потому что мну их считать лень) Примерно до 50-го числа)