I haven't bought the necessary foods.
私は、必要な食品を買っていません。
現在完了形の否定文は、< have / has + not +過去分詞>で表します。I did not ... は過去の事実だけを表しますが、現在完了形を使った I have not ... では、「必要な食品を買った」という状況を have not(抱えていない)ということです。つまり、「わたしは必要な食品を買っていない。その結果、必要な食品がないので、今は日本食を作れない」という現在の状況も表すことができます。この現在完了形の否定文は、過去のある時点から現在までの間に動作が「完了」していない、そしてその「結果」、現在どのようになっているかも表しているため、「完了・結果」を表す用法です。