+0

You..............be late for your lesson. The teacher will be angry.

a) shouldn't be b) shouldn't have been

I think both 'a' & 'b' are OK. Am I right?

+0
Omar AhmedYou..............be late ... late for your lesson. The teacher will be angry.
a) shouldn't be b) shouldn't have been

'be' should not occur in the question stem.

Omar AhmedI think both 'a' & 'b' are OK. Am I right?

Yes, but 'b' is a little unusual. It must be said after 'you' were late and before the teacher knows 'you' were late. It's hard to imagine a circumstance like that because if the teacher doesn't know you are late yet, it's probably because the teacher is also late, and if nobody tells the him/her you were late, he will never know, so he/she won't be angry.

You may be able to imagine another situation where 'b' makes sense, but I don't think it will be one that happens often.

CJ

+0

a. You shouldn't be late for your lesson. The teacher will be angry. (This is talking about the future. It is a warning.)

b. You shouldn't have been late for your lesson. That's why the teacher was angry. (This is talking about the past. The teacher was angry at the student because they were late.)