回答

前置詞toとforのおおまかなイメージを掴むといいと思います。

まず、前置詞toは「誰に」を表し、後ろに"受け取る人"がいます。また、toは[到達点]を表す前置詞でもあります。
対して、前置詞forは「誰のために」を表し、後ろに"してあげる相手"がいます。それに加え、[方向]を表す前置詞でもあります。
これらがこの2つの前置詞の大まかなイメージです。

問題文を上から訳していきます。
1. あなたの学生証を警備員に見せて下さい。
2. ショウタは私に誕生日ケーキを作ってくれた。
3. 先生は私のために私の席を見つけてくれた。
4. 先生はクラスの生徒たちに短い話をした。

想像した方が分かりやすいかもしれませんが、
1.は、警備員に学生証を見せるという動作があります。このとき、警備員に"直接学生証を渡す"動きになることが予想できます。よって、これに近い前置詞のイメージはtoとなります。
2.は、ケーキを作る動作があります。この動きには"誰かのために"行ったという意味が含まれると思います。よって、これに近い前置詞のイメージはforです。
3.は、2.と同様に"誰かのために"席を探したと解釈できるので、これに近い前置詞のイメージはforです。
4.は、少し迷うかもしれませんが、
実は「動詞と繋がる前置詞はどちらか」という点から考えられます。ここでの動詞はgaveでgiveの過去形ですね。giveは、自動詞を用いた場合、
S V O₂ to O₁
となり、前置詞toを使います。前置詞forは使いません。そのため、4.の解答はtoと考えることが出来ます。

長くなってすみません。参考までにして下さい。

この回答にコメントする
疑問は解決しましたか?