Контрольный пример
Ниже приведён текст модуля, производящего запросы к базе данных.
unit lab6Unit;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Amzi, StdCtrls, Buttons;
type
TForm1 = class(TForm)
LSEngine: TLSEngine;
OutPut: TListBox;
GroupBox1: TGroupBox;
BitBtn1: TBitBtn;
Label1: TLabel;
Label2: TLabel;
ComboBox1: TComboBox;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
t: TTerm;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
try
LSEngine.InitLS('lab6');
LSEngine.LoadXPL('lab6');
LSEngine.Main;
except
showmessage('База не загружена');
end;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
try
LSEngine.CloseLS;
except
showmessage('База не закрыта');
end;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
var
tf:boolean;
begin
Output.items.Clear;
tf := LSEngine.CallPStr(t, ComboBox1.Text);
while tf do
begin
if LSEngine.GetArity(t)=1 then Output.items.add(LSEngine.GetPStrArg(t, 1)+' is '+LSEngine.GetFunctor(t))
else Output.items.add(LSEngine.GetPStrArg(t, 1)+' is '+LSEngine.GetFunctor(t)+' of '+LSEngine.GetPStrArg(t, 2));
tf := LSEngine.Redo;
end;
end;
end.
Задание к работе
1. Составить программу, которая отображает все данные лабораторной работы № 1 на форме DELPHI приложения.
2. Подобрать тестовые данные, проверяющие работу программы.
3. Провести анализ ошибок и полученных результатов, составить отчет о проделанной работе.
Библиографический список
Братко И. Программирование на языке Пролог для искусственного интеллекта. – М.: Мир, 1990.
Стерлинг Л., Шапиро Э. Искусство программирования на языке Пролог. – М.: Мир, 1990.
Метакидес Г., Нероуд А. Принципы логики и логического программирования. – М.: Факториал, 1998
Хоггер К. Введение в логическое программирование. – М.: Мир, 1988.
Ин Ц., Соломон Д. Использование Турбо-Пролога. – М., 1990.
Марсуллус Д. Программирование на языке пролог для искусственного интеллекта, М.: Мир, 1994
Абилов В. Г., Зинченко Н. И. Turbo и Arity: два подхода к логическому программированию // «Мир ПК». 1990. – №2, 3.
Чень Ч., Ли Р. Математическая логика и автоматическое доказательство теорем. – М.: Наука, 1983.
Nilsson U., Maluszynski J., Logic, Programming and Prolog, 2 end., John Wiley and Sons, 1995.
Оглавление
Логическое программирование 1
Введение 2
Лабораторная работа № 1 5
Ознакомление с оболочкой AMZI! Prolog. Изучение основ программирования на языке Пролог. Отношения между данными 5
Лабораторная работа № 2 9
Использование рекурсивных правил и структурированных данных 9
Лабораторная работа № 3 14
Работа со списками 14
Лабораторная работа N 4 18
Бинарные деревья 18
Лабораторная работа № 5 21
Работа с динамическими базами данных 21
Лабораторная работа № 6 23
Использование возможностей логического сервера AMZI! Prolog в среде Delphi 23
Библиографический список 32
Оглавление 33
Учебное издание
Логическое программирование
Методические указание к выполнению лабораторных работ для студентов специальности 220400 – Программное обеспечение вычислительной техники и автоматизированных систем
Составители: Хачатрян Владимир Ервандович
Лыхин Евгений Валентинович
Шатров Денис Валерьевич
Редактор В. И. Пустовая
Корректор Т. В. Кучеренко
Изд. лиц. ИД № 00434 от 10.11.99.
Подписано в печать 29.12.00. Формат 60x84/16.
Усл. печ. л. 1,8. Уч.-изд. л. 2,0.
Тираж экз. Заказ Цена
Отпечатано в Белгородской государственной технологической академии
строительных материалов
308012, г. Белгород, ул. Костюкова, 46.
