Large Language Models and Prompt Engineering (A Comprehensive Guide with Practical Applications)