<em>// PascalABC.NET 3.3, сборка 1547 от 07.10.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var a:=Arr(30,-30,94,45,-6,1,2,-50,25,-84,-55,-33,-31,-66,
34,72,26,-3,-13,27,-97,57,-42,29,-9);
Writeln('Исходный массив'); a.Println;
Sort(a);
Writeln('Упорядоченный по возрастанию массив'); a.Println;
Writeln('Максимальный элемент ',a.Last,', минимальный ',a.First)
end.
<u>Пример</u>
Исходный массив
30 -30 94 45 -6 1 2 -50 25 -84 -55 -33 -31 -66 34 72 26 -3 -13 27 -97 57 -42 29 -9
Упорядоченный по возрастанию массив
-97 -84 -66 -55 -50 -42 -33 -31 -30 -13 -9 -6 -3 1 2 25 26 27 29 30 34 45 57 72 94
Максимальный элемент 94, минимальный -97
Допустим, дано число в 10й СС: 42;
Переводим в 16ю СС:
42 / 16 = 2 (остаток 10, 10 = A)
Ответ: 2A.
В 8ю:
42 / 8 = 5(остаток 2)
Ответ: 52
В 2ю:
42 / 2 = 21 (ост 0)
22 / 2 = 10 (ост 1)
10 / 2 = 5 (ост 0)
5 / 2 = 2 (ост 1)
2 / 2 = 1 (ост 0)
Ответ: 101010
Т.е. делишь число на основание той СС, в которую хочешь перевести до того момента, когда целая часть будет меньше основания СС в которую переводишь, остатки выписываешь снизу вверх.
Используем закон де Моргана и закон двойного отрицания.
Решение во вложении.
<span>РОТА – роЗа – Поза –поЛа –ПОЛК</span>