База данных музыкальных инструментов

В этой теме 1 ответ, 2 участника, последнее обновление  Васильев Владимир Сергеевич 4 мес., 4 нед. назад.

Просмотр 2 сообщений - с 1 по 2 (из 2 всего)
  • Автор
    Сообщения
  • #4317

    Roper21
    Участник

    В файле хранится информация о музыкальных инструментах в следующем виде:

    инструмент(название,группа,жанр).

    Под группами инструментов подразумеваются: духовые, струнные, клавишные, ударные и т.д.

    «Жанр» — здесь хранится информация в виде списка, в каких жанрах музыки (поп, рок, классика и т.п.) может быть использован данный инструмент.

    Написать программу, формирующую: 1) список инструментов, используемых в заданном жанре; 2) какие группы инструментов используются в заданном жанре.

    #4321

    У вас есть база данных инструментов, расположенная в файле. Загрузить ее в память в Visual Prolog 5.2 можно с помощью стандартной функции consult. Посмотрите:

    Итак, инструмент у вас должен быть описан примерно таким образом:
    группа = струнные;клавишные;ударные

    жанры = string*
    инструмент(string, группа, жанры)

    Чтобы после загрузки БД найти «список инструментов, используемых в заданном жанре» можно записать примерно такое правило:

    инструменты_жанра(Жанр, Инструмент):-
      инструмент(Инструмент, _Группа, Жанры),
      member(Жанры, Жанр).

    Реализация функции member для Visual Prolog.

    Вторая задача «какие группы инструментов используются в заданном жанре» решается полностью аналогично:

    группы_жанра(Группа, Жанр):-
      инструмент(_Инструмент, Группа, Жанры),
      member(Жанры, Жанр).

Просмотр 2 сообщений - с 1 по 2 (из 2 всего)

Для ответа в этой теме необходимо авторизоваться.