АВТ
Язык:

Дистанционный практикум по программированию

Задачи Online статус Соревнования
Новости Справка СДО
 
Здравствуйте, Гость! Войдите с паролем или зарегистрируйтесь.

1977. Книги

Ограничение времени: 1 сек.
Ограничение памяти:262144 КБайт
Баллы:100
Статистика Послать на проверку Задачу добавил debug

Вам дана база данных на языке Prolog, содержащая данные о книгах в библиотеке. Фрагмент базы выглядит так:


book(1, "Niklaus Virth", "Algorithms and data structures", 2015, 183).
book(2, "Morris Cohen, Ernest Nagel", "An Introduction to Logic and Scientific Method", 2017, 432).
book(3, "Max Bramer", "Logic Programming with Prolog", 2013, 6452).

Каждая запись о книге содержит порядковый номер, автора, название, год издания и цену (где цена - это целое число).

Для подключения базы к вашей программе напишите в начале программы строчку:

:- use_module(library(books)).

Выведите суммарную стоимость книг, год издания которых меньше или равен заданному году Y.

Подсказка: для решения можно использовать предикат aggregate_all.
Например, данный код найдёт и запишет в переменную Sum сумму первых элементов foo, которые меньше 5:
foo(2, a).
foo(4, b).
foo(5, c).
aggregate_all(sum(A), (foo(A, B), A<5), Sum).

Исходные данные

Одно целое число - интересующий нас год Y.

Результат

Выведите одно целое число - суммарную стоимость книг, изданных в году Y и ранее.

Пример

Исходные данныеРезультат
2015
6635

Пример решения задачи A+B на Prolog


Статистика Послать на проверку Обсуждение задачи Автор/источник:
Учебные курсы / Логика и теория алгоритмов / Язык Пролог, часть 1 /
1972. 04 - Студенты 1977.
 
время генерации 0.109 сек.
© Copyright ВоГУ, АВТ, Носов Д.А., Андрианов И.А.