Ну чтобы меню написать, нужно брать за основу case.
Сначала выводите сообщения:
writeln('задача 1');
writeln('задача 2');
while f do // f типа boolean и в начале программы инициализируете ее как true
begin
readln(k) // где k - это переменная для выбора задачи ( или 2)
case k of
1: (решение первой задачи или ссылка на функцию/процедуру решения);
2: (решение второй задачи или ссылка на функцию/процедуру решения)
0: (выход из программы, f:=false меняете то условие, при котором работает case)


Вот это построение меню)