//PascalABC.NET
uses GraphABC;
var c: integer;
begin
window.IsFixedSize := true;//запрет изменения размера экрана
window.Clear(cllightblue);//очистка экрана синим цветом
pen.Color := clred;//меняем цвет пера на красный
for var i := 0 to 19 do//цикл для отрисовки линий
begin
c := (window.Height div 19) * i;//сдвиг линнии по y
line(0, 0 + c, window.Width, window.Height - c);//рисуем линию
end;
end.
Объяснение:
uses graphabc;
begin
circle(50,50,50);
circle(50,50,20);
circle(150,50,50);
circle(150,50,20);
circle(250,50,50);
circle(250,50,20);
circle(350,50,50);
circle(350,50,20);
circle(450,50,50);
circle(450,50,20);
circle(550,50,50);
circle(550,50,20);
end.
Чтобы сравнить числа в разных системах счисления, нужно привести их к какой-нибудь одной. У нас системы счисления 2, 10, 8=2³, 16=2⁴.
Числа в системах по основанию 2ⁿ всегда проще всего сводить к системе счисления по основанию 2, поскольку при этом каждый исходный разряд числа заменяется n двоичными разрядами. Т.е. перевод 8⇒2 сведется к замене каждой цифры тремя двоичными разрядами, а 16⇒2 - четырьмя.
И единственной "неудобной" операцией у нас будет перевод 101₁₀⇒Х₂
2. Собственно решение
21₈ = 10 001₂ = 10001₂
12₁₆ = 1 0010₂ = 10010₂
101/2 = 50, остаток 1
50/2 = 25, остаток 0
25/2 = 12, остаток 1
12/2 = 6, остаток 0
6/2 = 3, остаток 0
3/2 = 1, остаток 1
1/2 = 0, остаток 1
Выписываем остатки в обратном порядке, получая 101₁₀=1100101₂
Располагаем числа по убыванию:
1100101, 10010, 10001, 11
ответ: 101₁₀, 12₁₆, 21₈, 11₂