For the first part, think about how you calculate the decimal expansion of a fraction. Let's say:
X/Y = 0.abcdefghijklm....... (where X & Y integers, and X < Y)
We can obtain each decimal by multiplying by 10 and taking the integer part. Then subtract that:
(10X - aY)/Y = 0.bcdefghijklm........
Each time, the left-hand side is a fraction < 1 with Y as the denominator. But either:
1. It hits zero. In which case we stop, and we've got a finite-length ('turnacating'?) decimal, or
2. Since there are only Y-1 possible such non-zero fractions, eventually we have to hit one we've had before. And the pattern repeats from this point on.