// Рассчитываем смещение предыдущей страницы
prevOffset = -1;
if currOffset - perPage >= 0
prevOffset = currOffset - perPage;
// Рассчитываем смещение для следующей страницы
nextOffset = 0;
if currOffset + perPage < N
nextOffset = currOffset + perPage;
// Выводим ссылку(кнопку) на предыдущую страницу
if prevOffset >= 0
print "Previous Page" as <ref> where [offset=prevOffset]
// Номер страницы(для пользователя)
currNum = 0
for i = 0; i < N; i += perPage
currNum++
if i == offset
print currNum
else
// Выводим номер как ссылку на след.
// страницу, определяя ее через новое
// смещение, которое будет == i
print currNum as <ref> where [offset=i]
// Выводим ссылку(кнопку) на следующую страницу
if nextOffset > 0
print "Next Page" as <ref> where [offset=nextOffset]