The difference is very small in these sentences.
The past tense is used to talk about an action in the past, while the present perfect is used to talk about a present situation as a result of an action in the past. In these cases, you could use either; British speakers prefer to use the present perfect, while American speakers prefer to use the past tense.
"the rain has stopped" means that "it is not raining now"; while "the rain stopped" simply means that it stopped raining at some point in the past. British speakers would use the first sentence (because the sky is dark
now and it is not raining
now), and Americans would use the second sentence (because it stopped raining in the past).
The first sentence means I
now believe that you have rooms to let, while the second sentence means that at some time in the past, somebody told me that you have rooms to let. Again, the first sentence is more British, and the second sentence is more American (although an American would probably say "for rent" instead of "to let").
The first sentence is asking if John called at any time between the last time I was here and now; in other words, "Do you have a message from John?" The second sentence is asking if John called at some time in the past. Yet again, British speakers prefer the first sentence, and American speakers prefer the second sentence.
Note that you
cannot use the present perfect even in British English if the period of time you are thinking about is completely in the past. For example, you would ask "Has John phoned?" when you come into the office and expect to be given a message from John; but you would ask "Did John phone?" the next day, or the next week:
"...so I told John to phone me on Monday."
"And did he phone?" [Did he phone you on Monday?]
"No; and he still hasn't phoned." [He didn't phone on Monday, and he hasn't phoned between Monday and now.]
The first sentence means "I no longer have your old radio, because I gave it to Philip, and now he has it." The second sentence means "At some time in the past, I gave your old radio to Philip." Yet again, British speakers prefer the first sentence, and American speakers prefer the second.
In sentences like these, there is very little difference (especially in American English), and you can choose either version.
However, you have to know that the present perfect focuses on the
present, not the past, and this means that if you mention a definite time in the past when the action took place, you
cannot use the present perfect, even if you're speaking British English. The following sentences are all incorrect:
The rain has stopped
half an hour ago.

I have heard
yesterday that you have rooms to let.

Has John phoned
on Monday?

I've given your old radio to Philip
in 2003.
