На самом деле, когда числа выводят в столбик, их предполагают сравнивать между собой. Чтобы это делать быстро, числа нужно выровнять "по запятой". Но такого способа выравнивания нет.
Если числа целые, можно себе представить, что запятая находится правее последней цифры и мы приходим как раз к записи с выравниванием "по правому краю".
Если же числа нецелые, то мы размещаем их с одинаковым количеством знаков после запятой и при выравнивании "по правому краю" запятые опять же будут друг под другом.
В обоих вариантах числа легко сравнивать между собой по их самой левой позиции. Чем число больше, тем оно "длиннее".
Если я правильно понял условие(Вывести сколько раз в массиве встречается число введенное с клавиатуры), то
for i:=m to n do
if a[i]=x then k:=k+1;
write(k);
П.с. если условие такое как я понял, то переменная USL вообще не нужна.
2017 делим с остатком на 3 до тех пор пока неполное частное не станет меньше 3. В ответ на первое место записываем последнее неполное частное и приписываем к нему все остатки, слева направо, начиная с последнего. Получим 2202201 в троичной системе счисления