"Changes" implies time is passing. If there was no loop then the program would simply finish.
You could take a couple looks without a loop, but when you say, "while a program is running" then what is keeping it running? Generally, it means it's in a loop, or waiting.
When it's waiting, there doesn't need to be a loop IN the program, but the operating system is looping. So, it's an indirect looping command. But that's not relevant since there will likely be an explicit loop.
I assume this is a homework question -- you're not asking, "Why can't I remove the loop from my program?"