512(7)=5*7^2+1*7^1+2*7^0=245+7+2=254(10)
254(10)=100102(3)
<u>PascalABC.NET 3.3.5, сборка 1662 от 29.04.2018</u>
<u>Внимание! Если программа не работает, обновите версию!</u>
begin
var s:=ReadlnString.OrderBy(c->c).ToArray;
var i:=s.FindIndex(t->t<>'0'); Swap(s[0],s[i]);
s.Println
end.
<u>Пример</u>
54560345345601323451233903454658345034521212
10000111222223333333334444444455555555566689
Если ".1." несёт 4 бита информации, а ".2." в 2 раза меньше, то получается, что:
Кол-во информации в сообщении ".2." = 4 бита (оно же 0,5 байт) / 2 = 2 бита (0,25 байт).
Program n2;
const n=10;
var a: array [1..n] of integer;
i,k,j,temp: integer;
begin
randomize;
writeln('исходный массив');
k:=0;
for i:=1 to n do
begin
a[i]:=random(201)-100;
write(a[i],' ');
end;
writeln;
writeln('полученный массив: ');
for i:=1 to n do
for j:=i to n do
if a[j]>a[i] then
begin
temp:=a[i];
a[i]:=a[j];
a[j]:=temp
end;
for i:=1 to n do begin
write(a[i],' ');
if (a[i]<0) and (i mod 2=0) then k:=k+1;
end;
writeln;
write('кол-во отрицательных элементов на четных местах: ',k);
end.
program poezd;
var
s, v, vm, t : real;
begin
WriteLn('Введите скорость поезда(км/ч)');
read(v);
writeln('Введите время(в секундах)');
read(t);
vm := v * 1000 / 3600; //переводим км/ч в м/с
S := vm * t;
if S > 200 then
begin
writeln('Да, больше.');
end;
if S < 200 then
begin
writeln('Нет, меньше.');
end;
end.