2 deleted 1 character in body
source | link

QBIC, 2727 26 bytes

g=(:+1)'\2`~(a-g)%2|g=%2|?-g}g\?g

Explanation

g=          set worker var 'g' to
(:+1)           our index (plus one for the ceil() bit)
'\2`            integer divided by 2 (the int div needs a code literal: '..`
~(a-g)%2    IF index - temp result is odd (index 2 minus result 1 = 1)
|g=|?-g        THEN negatePRINT g
}           END IFnegated
\?g          printELSE thePRINT resultg

QBIC, 27 bytes

g=(:+1)'\2`~(a-g)%2|g=-g}?g

Explanation

g=          set worker var 'g' to
(:+1)           our index (plus one for the ceil() bit)
'\2`            integer divided by 2 (the int div needs a code literal: '..`
~(a-g)%2    IF index - temp result is odd (index 2 minus result 1 = 1)
|g=-g       THEN negate g
}           END IF
?g          print the result

QBIC, 27 26 bytes

g=(:+1)'\2`~(a-g)%2|?-g\?g

Explanation

g=          set worker var 'g' to
(:+1)           our index (plus one for the ceil() bit)
'\2`            integer divided by 2 (the int div needs a code literal: '..`
~(a-g)%2    IF index - temp result is odd (index 2 minus result 1 = 1)
|?-g        THEN PRINT g negated
\?g         ELSE PRINT g
1
source | link

QBIC, 27 bytes

g=(:+1)'\2`~(a-g)%2|g=-g}?g

Explanation

g=          set worker var 'g' to
(:+1)           our index (plus one for the ceil() bit)
'\2`            integer divided by 2 (the int div needs a code literal: '..`
~(a-g)%2    IF index - temp result is odd (index 2 minus result 1 = 1)
|g=-g       THEN negate g
}           END IF
?g          print the result