How to prevent reopening of all programs after power outage
For others looking for an answer to this, specifically to prevent applications restarting after a power failure, see this other AskDifferent post:

Avoiding all apps reopening when OS X crashes

The important part is to prevent the OS from writing to the ~/Library/Preferences/ByHost/com.apple.loginwindow* file(s) which are used to record which applications are open at any given time, and informs the OS of which applications to restore in the case of a power failure.

If you need to ensure that your system's start-up sequence is the same regardless of a manual or timed power-on, as well as a restart in the case of a power failure, then the details provided at the linked answer above, are the solution you need. This is particularly useful in cases where the system is being used to power a kiosk or a similar setup.

I recommend following the "GUI method" outlined in the linked answer, which first involves emptying the file of any references to currently open applications, then locking the file, using the Get Info window's Lock option. This prevents the file being written to going forwards, and ensures the file remains empty of references to currently running applications. As such the system will restart from a power failure, in the same way as it would under normal start-up conditions.