You must make the puppy stop stalking and harassing the cat. This could take awhile, and some training. Your dog needs to learn the "Leave it" command.
Put the puppy on a leash. Every time she lunges for the cat, say "LEAVE IT" and give her a little correction, just enough to get her attention. The second she turns to look at you, PRAISE like nuts and even give a treat or a favorite toy. Give these special treats and toys ONLY when she leaves the cat alone.
The goal is to make her understand that chasing the cat gets her a correction, and ignoring the cat gets her praise, toys/treats.
If you can't watch the dog, gate her in a room or crate her. This kind of stress on a cat can cause litterbox problems, or other undesirable behaviors.
The only way to keep the dog from eating the cat food is to keep the cat food out of reach. The high protein content in cat food makes it irresistable to dogs!