1. She has begun English five years ago.

2. She has begun English for five years.
3. She began English five years ago.

(Are they grammarical?)

Only # 3 is correct.

Out of the three sentences you provided, sentence 3 is grammatically correct:

3. She began English five years ago.

Here's the breakdown of the sentences:

1. She has begun English five years ago.

This sentence is not grammatically correct. The verb "has begun" is in the present perfect tense, which implies an action that started in the past and is still ongoing or has recently been completed. However, using "five years ago" indicates a specific point in the past, which conflicts with the present perfect tense. To make it grammatically correct, you could say "She began learning English five years ago" if the action of learning English was completed in the past.

2. She has begun English for five years.

Similar to sentence 1, this sentence is also not grammatically correct. The verb "has begun" in the present perfect tense suggests an ongoing or recently completed action, but the phrase "for five years" implies a specific duration that has already ended. To make it grammatically correct, you could say "She has been learning English for five years," which implies that the action began in the past and is still ongoing.

In summary, sentence 3 is the correct and grammatically sound option:

3. She began English five years ago.