Ответ в теме: Внешние базы данных.

#3829

Можете объяснить что происходит в этой программе вообще?
Вот у вас есть база данных, вы с ней работаете через селектор:
db_selector = mybd
Где эта база открывается и в каком именно файле она хранится? (не нашел сходу в программе).
Что хранится в этой базе? – у вас есть две разных структуры:

      student = stud(fam,name,data,pol)
      studen = stu(fam,name)

И есть два предиката, выполняющих чтение с нее – rb и rbb, в одном выполняется:
ref_term(mybd,student,Ref,Term),
В другом:
ref_term(mybd,studen,Ref,Term),

Теперь, чтобы решить последнюю задачу нужно просто по-очереди извлекать из базы запись (как это делается в предикате вывода содержимого базы на экран) и перед выводом выполнять что-то типа:

length(Name, NameLen),
length(Surname, SurLen),
NameLen > surLen