PascalABC.NET
type mass = array [1..4] of integer;
var a : mass;
i : integer;
function min(c : mass) : integer;
var
i,minim : integer;
begin
minim := c[1];
for i := 2 to 4 do
if c[i] < minim then
minim := c[i];
result := minim;
end;
begin
for i := 1 to 4 do
readln (a[i]);
writeln ('min = ',min(a));<span>
end.
Как параметр я использовал массив из четырех элементов. Можно использовать просто переменные и через IF все прописать</span>
Префиксный код, допускающий однозначное декодирование, соответствует условию Фано: "Ни одно кодовое слово не может быть началом другого слова".
Даны коды 101, 01, 11.
Код буквы А не может быть 0 или 1, так как в этом случае он будет началом кодов других букв.
Рассмотрим двузначные коды: 00 01 10 11
01 10 и 11 не подходит, так как это начала других букв (или сами буквы), зато подходит код 00, причем он кратчайший и наименьший.
Ответ: 00
Uses GraphABC;
Var
R:integer:=70; //радиус Солнца
A:array[1..4,1..5] of integer;
//A[1] - x
//A[2] - y
//A[3] - r
//A[4] - r орбиты
v:real:=0.03;
k:integer:=10; // Коэффициент масштабирования орбит
Begin
Window.Maximize;
A[1,3]:=10;
A[1,4]:=R+A[1,3]*k;
A[2,3]:=13;
A[2,4]:=A[1,4]+A[2,3]*k;
A[3,3]:=17;
A[3,4]:=A[2,4]+A[3,3]*k;
A[4,3]:=A[3,3] div 4;
A[4,4]:=A[3,3]+A[4,3]*k;
LockDrawing;
SetCoordinateOrigin(Window.Width div 2,Window.Height div 2);
Repeat
Window.Clear;
Brush.Color := clYellow;
FillCircle(0,0,R);
Brush.Color := clGray;
A[1,1]:=round(A[1,4]*Cos(v*3));
A[1,2]:=round(A[1,4]*Sin(v*3));
FillCircle(A[1,1],A[1,2],A[1,3]);
Brush.Color := clOrange;
A[2,1]:=round(A[2,4]*Cos(v*3/4));
A[2,2]:=round(A[2,4]*Sin(v*3/4));
FillCircle(A[2,1],A[2,2],A[2,3]);
Brush.Color := clBlue;
A[3,1]:=round(A[3,4]*Cos(v/4));
A[3,2]:=round(A[3,4]*Sin(v/4));
FillCircle(A[3,1],A[3,2],A[3,3]);
Brush.Color := clGray;
A[4,1]:=A[3,1]+round(A[4,4]*Cos(20*v));
A[4,2]:=A[3,2]+round(A[4,4]*Sin(20*v));
FillCircle(A[4,1],A[4,2],A[4,3]);
v:=v+0.03;
Redraw;
Until false;
End.