Пусть m/n - текущая несократимая дробь. Покажем, как найти следующую по значению дробь. Понятно, что она будет среди несократимых дробей вида k/p, где p может принимать значения от 2 до 15. Учитывая условие k/p>m/n, можно для каждого p прямо вычислять минимальное значение k следующим образом: k=m*p/n+1. При этом каждая дробь k/p, полученная описанным образом, несократима. Приведем текст программы:

Program Problem2; 
Var
  m,n,i,j,p,k:Word;
Begin
  m:=0; {Начальные значения}
  n:=1; {числителя и знаменателя}
  Repeat
    i:=1; {Эти переменные будут}
    j:=1; {хранить новые значения числителя и знаменателя}
    For p:=2 To 15 Do
     Begin
       k:=m*p div n + 1;
       If k*jThen
           Begin   {Получение}
             i:=k; {новых    }
             j:=p; {значений }
           End;
     End;
    m:=i; {Их вывод и запоминание}
    n:=j; {для получения новой дроби}
    Write(m,'/',n,' ');
  Until i>=j;
  WriteLn;
End.
Текст этой программы можно взять здесь.