Multiprogramming is several programs running at a same time in a processor. And MultiTasking is several Tasks running at a same time in a processor.
It is some times a Task may have many programs and a program may have many tasks.
Like printing a page may be done with several programs - Multiprogramming.
A single program acquiring a data from user, processing and displaying - Multitasking