The responsibility does not fall to the students to inform a professor that due to his own laziness they, through entirely moral and acceptable means, had already studied these exact questions.It's not a student's responsibility to tell the professor how to do his job.
He failed his students. Period. Calling it anything else is putting frosting on dogshit.
Moral fiber plays no role here. They didn't stay silent as some unspeakable wrong occurred. They studied a publicly available guide. It comes down to this. Is it the students' responsibility to inform a professor every single time they see a test question that they recognize or is it the professors responsibility to prepare a proper test of their knowledge?