Собственно, объяснение уже почти написано в самом Вашем вопросе.
Когда мы в любой программе, не обязательно на языке Паскаль, записываем некое изображение числа, это число должно быть преобразовано в форму, понятную компьютеру, который будет эту программу исполнять. Попросту - в двоичную систему счисления.
Такое изображение числа принято называть литералом (от английского слова literal - буквальный, константа). Договорились, что если литерал изображает число, то это число считается представленным в десятичной системе счисления.
Но иногда у нас может возникнуть необходимость указать число в системе счисления, отличной от десятичной - в двоичной, восьмеричной или шестнадцатиричной. Каждый язык программирования решает это по-своему. Паскаль разрешает записывать шестнадцатиричные литералы. И для отличия требует, чтобы перед таким литералом добавляли знак доллара.
Т.е. если мы написали a:=347+263; то a получит значение 610, а если написать a:=347+$263, то 958. Потому что 263₁₆ = 611₁₀
Вот и все.
А:=8 b:=5 с:=2
Ведь не меняется значение
a = 8
Перестановки с повторениями
сообщение содержит 3 или 4 цвета.
Вариантов для 3 цвета 3*3*3 = 27
Для 4 цвета подряд 3*3*3*3 = 81
27+81 = 108
Var
a, n: integer;
begin
n := 0;
read(a);
while a > 0 do
begin
a := a div 10;
n := n + 1;
end;
if(n mod 2 = 0) and (n <> 0) then write('Верно')
else write('Неверно');
end.