БД сложение - Prolog
Формулировка задачи:
Всем привет, давно еще спрашивал про списки и БД. понял что надо findall.
Суть в том что бы взять из базы оценки и потом их сложить.
Добавление и удаление вроде правильно.
При сборке выдает ошибки. подскажите где накосячил?
Заранее спасибо)
Решение задачи: «БД сложение»
textual
Листинг программы
m('1'):- findall(S, student(_,_,_, S), L), sum(L,S), !, write(S). readchar(_), menu. m('1'):-write("ERROR!"),readchar(_),menu.
Объяснение кода листинга программы
В этом коде представлена реализация функции m, которая отвечает за сложение оценок студентов.
m('1'):-
- начало реализации функции m, которая вызывается при выборе пункта меню '1'findall(S, student(_,_,_, S), L)
- этот фрагмент кода собирает все оценки студентов в список L из базы данных. Здесь S - это строка, представляющая собой оценку студента, а student - это факт в базе данных, который содержит оценку студента.sum(L,S)
- этот фрагмент кода суммирует все оценки в списке L и сохраняет результат в переменной S.!
- операторcut
, который прекращает выполнение текущего оператора, если он не является целевым для запроса.write(S)
- этот фрагмент кода выводит сумму оценок на экран.readchar(_)
- этот фрагмент кода читает символ с клавиатуры (используется для перехода к следующему пункту меню).menu
- этот фрагмент кода выводит на экран меню программы.m('1'):-write(
ERROR!),readchar(_),menu.
- если при выполнении функции m произошла ошибка (например, не удалось найти оценку студента), то вместо вычисления суммы и вывода результата на экран будет выведено сообщение об ошибке, а затем программа вернется в меню.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д