Вот пример на Java ( см. Также на ideone.com ):
static void go(final int range, final int direction) {
for (int i = 0; i != direction*range; i += direction) {
System.out.println(i);
}
}
Тогда вы можете сделать:
go(5, +1); // 0, 1, 2, 3, 4
go(5, -1); // 0, -1, -2, -3, -4
Если вы хотите учесть шаг, не связанный с единицей, проще всего определить третий параметр следующим образом:
static void go(final int range, final int step, final int direction) {
for (int i = 0; i < range; i += step) {
System.out.println(i * direction);
}
}
Тогда вы можете сделать:
go(10, 3, +1); // 0, 3, 6, 9
go(10, 3, -1); // 0, -3, -6, -9